@wordpress/block-library 6.0.17-next.33ec3857e2.0 → 6.0.20
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 +0 -4
- package/build/archives/index.js +0 -1
- package/build/archives/index.js.map +1 -1
- package/build/audio/index.js +0 -1
- package/build/audio/index.js.map +1 -1
- package/build/block/index.js +0 -1
- package/build/block/index.js.map +1 -1
- package/build/button/edit.native.js +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/button/index.js +1 -5
- package/build/button/index.js.map +1 -1
- package/build/buttons/index.js +0 -1
- package/build/buttons/index.js.map +1 -1
- package/build/buttons/transforms.js +0 -1
- package/build/buttons/transforms.js.map +1 -1
- package/build/calendar/index.js +0 -1
- package/build/calendar/index.js.map +1 -1
- package/build/categories/index.js +0 -1
- package/build/categories/index.js.map +1 -1
- package/build/code/index.js +1 -6
- package/build/code/index.js.map +1 -1
- package/build/column/index.js +0 -1
- package/build/column/index.js.map +1 -1
- package/build/columns/index.js +1 -3
- package/build/columns/index.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -2
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/comment-author-avatar/index.js +2 -7
- package/build/comment-author-avatar/index.js.map +1 -1
- package/build/comment-author-name/index.js +0 -1
- package/build/comment-author-name/index.js.map +1 -1
- package/build/comment-content/index.js +0 -1
- package/build/comment-content/index.js.map +1 -1
- package/build/comment-date/index.js +0 -1
- package/build/comment-date/index.js.map +1 -1
- package/build/comment-edit-link/index.js +1 -2
- package/build/comment-edit-link/index.js.map +1 -1
- package/build/comment-reply-link/index.js +0 -1
- package/build/comment-reply-link/index.js.map +1 -1
- package/build/comment-template/edit.js +23 -98
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/index.js +2 -4
- package/build/comment-template/index.js.map +1 -1
- package/build/comments-query-loop/edit.js +2 -2
- package/build/comments-query-loop/edit.js.map +1 -1
- package/build/comments-query-loop/index.js +7 -4
- package/build/comments-query-loop/index.js.map +1 -1
- package/build/comments-query-loop/toolbar.js +3 -3
- package/build/comments-query-loop/toolbar.js.map +1 -1
- package/build/cover/edit.js +1 -2
- package/build/cover/edit.js.map +1 -1
- package/build/cover/index.js +0 -1
- package/build/cover/index.js.map +1 -1
- package/build/embed/deprecated.js +0 -1
- package/build/embed/deprecated.js.map +1 -1
- package/build/embed/edit.native.js +20 -23
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/embed-bottom-sheet.native.js +85 -0
- package/build/embed/embed-bottom-sheet.native.js.map +1 -0
- package/build/embed/embed-placeholder.native.js +2 -9
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/embed/index.js +0 -1
- package/build/embed/index.js.map +1 -1
- package/build/embed/transforms.js +0 -1
- package/build/embed/transforms.js.map +1 -1
- package/build/embed/util.js +0 -1
- package/build/embed/util.js.map +1 -1
- package/build/file/index.js +0 -1
- package/build/file/index.js.map +1 -1
- package/build/freeform/index.js +0 -1
- package/build/freeform/index.js.map +1 -1
- package/build/gallery/deprecated.js +1 -5
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit.js +1 -12
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/index.js +0 -1
- package/build/gallery/index.js.map +1 -1
- package/build/group/edit.native.js +1 -1
- package/build/group/edit.native.js.map +1 -1
- package/build/group/index.js +4 -9
- package/build/group/index.js.map +1 -1
- package/build/heading/index.js +0 -1
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +0 -1
- package/build/heading/transforms.js.map +1 -1
- package/build/home-link/index.js +0 -1
- package/build/home-link/index.js.map +1 -1
- package/build/html/index.js +0 -1
- package/build/html/index.js.map +1 -1
- package/build/image/edit.js +5 -56
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +4 -15
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +1 -5
- package/build/image/index.js.map +1 -1
- package/build/index.js +1 -5
- package/build/index.js.map +1 -1
- package/build/latest-comments/index.js +0 -1
- package/build/latest-comments/index.js.map +1 -1
- package/build/latest-posts/deprecated.js +0 -1
- package/build/latest-posts/deprecated.js.map +1 -1
- package/build/latest-posts/index.js +0 -1
- package/build/latest-posts/index.js.map +1 -1
- package/build/list/index.js +0 -1
- package/build/list/index.js.map +1 -1
- package/build/loginout/index.js +0 -1
- package/build/loginout/index.js.map +1 -1
- package/build/media-text/index.js +0 -1
- package/build/media-text/index.js.map +1 -1
- package/build/missing/index.js +0 -1
- package/build/missing/index.js.map +1 -1
- package/build/more/index.js +0 -1
- package/build/more/index.js.map +1 -1
- package/build/navigation/deprecated.js +1 -3
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/index.js +106 -59
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +3 -2
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +15 -7
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +9 -7
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +3 -11
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-navigation-notice.js +54 -0
- package/build/navigation/edit/use-navigation-notice.js.map +1 -0
- package/build/navigation/index.js +2 -9
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/menu-items-to-blocks.js +1 -4
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +9 -2
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation/view.js +12 -7
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-area/edit.js +1 -2
- package/build/navigation-area/edit.js.map +1 -1
- package/build/navigation-area/index.js +1 -2
- package/build/navigation-area/index.js.map +1 -1
- package/build/navigation-link/edit.js +0 -7
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +0 -1
- package/build/navigation-link/index.js.map +1 -1
- package/build/navigation-submenu/edit.js +0 -1
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/navigation-submenu/index.js +0 -1
- package/build/navigation-submenu/index.js.map +1 -1
- package/build/nextpage/index.js +0 -1
- package/build/nextpage/index.js.map +1 -1
- package/build/page-list/index.js +1 -6
- package/build/page-list/index.js.map +1 -1
- package/build/paragraph/edit.js +2 -12
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/index.js +0 -1
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +0 -1
- package/build/paragraph/transforms.js.map +1 -1
- package/build/pattern/index.js +0 -1
- package/build/pattern/index.js.map +1 -1
- package/build/post-author/edit.js +1 -1
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author/index.js +0 -1
- package/build/post-author/index.js.map +1 -1
- package/build/post-comment/index.js +0 -1
- package/build/post-comment/index.js.map +1 -1
- package/build/post-comments/index.js +0 -1
- package/build/post-comments/index.js.map +1 -1
- package/build/post-comments-count/index.js +0 -1
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/index.js +0 -1
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +0 -1
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +1 -1
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +0 -1
- package/build/post-content/index.js.map +1 -1
- package/build/post-date/edit.js +1 -1
- package/build/post-date/edit.js.map +1 -1
- package/build/post-date/index.js +0 -1
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-excerpt/index.js +0 -1
- package/build/post-excerpt/index.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +30 -50
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +4 -8
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +0 -1
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/index.js +0 -1
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-template/index.js +0 -1
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/index.js +0 -1
- package/build/post-terms/index.js.map +1 -1
- package/build/post-title/edit.js +1 -1
- package/build/post-title/edit.js.map +1 -1
- package/build/post-title/index.js +0 -1
- package/build/post-title/index.js.map +1 -1
- package/build/preformatted/edit.native.js +1 -2
- package/build/preformatted/edit.native.js.map +1 -1
- package/build/preformatted/index.js +0 -1
- package/build/preformatted/index.js.map +1 -1
- package/build/pullquote/index.js +1 -8
- package/build/pullquote/index.js.map +1 -1
- package/build/query/index.js +0 -1
- package/build/query/index.js.map +1 -1
- package/build/query-pagination/index.js +0 -1
- package/build/query-pagination/index.js.map +1 -1
- package/build/query-pagination-next/index.js +0 -1
- package/build/query-pagination-next/index.js.map +1 -1
- package/build/query-pagination-numbers/index.js +0 -1
- package/build/query-pagination-numbers/index.js.map +1 -1
- package/build/query-pagination-previous/index.js +0 -1
- package/build/query-pagination-previous/index.js.map +1 -1
- package/build/query-title/index.js +0 -1
- package/build/query-title/index.js.map +1 -1
- package/build/quote/index.js +0 -1
- package/build/quote/index.js.map +1 -1
- package/build/rss/index.js +0 -1
- package/build/rss/index.js.map +1 -1
- package/build/search/edit.js +3 -5
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +1 -8
- package/build/search/index.js.map +1 -1
- package/build/separator/index.js +0 -1
- package/build/separator/index.js.map +1 -1
- package/build/shortcode/index.js +0 -1
- package/build/shortcode/index.js.map +1 -1
- package/build/site-logo/edit.js +119 -18
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +5 -5
- package/build/site-tagline/index.js +1 -2
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/index.js +0 -1
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/index.js +1 -2
- package/build/social-link/index.js.map +1 -1
- package/build/social-links/index.js +1 -2
- package/build/social-links/index.js.map +1 -1
- package/build/spacer/index.js +0 -1
- package/build/spacer/index.js.map +1 -1
- package/build/table/index.js +1 -7
- package/build/table/index.js.map +1 -1
- package/build/table-of-contents/index.js +0 -1
- package/build/table-of-contents/index.js.map +1 -1
- package/build/tag-cloud/index.js +0 -1
- package/build/tag-cloud/index.js.map +1 -1
- package/build/template-part/index.js +0 -1
- package/build/template-part/index.js.map +1 -1
- package/build/term-description/index.js +0 -1
- package/build/term-description/index.js.map +1 -1
- package/build/text-columns/index.js +0 -1
- package/build/text-columns/index.js.map +1 -1
- package/build/verse/index.js +0 -1
- package/build/verse/index.js.map +1 -1
- package/build/video/index.js +0 -1
- package/build/video/index.js.map +1 -1
- package/build-module/archives/index.js +0 -1
- package/build-module/archives/index.js.map +1 -1
- package/build-module/audio/index.js +0 -1
- package/build-module/audio/index.js.map +1 -1
- package/build-module/block/index.js +0 -1
- package/build-module/block/index.js.map +1 -1
- package/build-module/button/edit.native.js +1 -1
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/button/index.js +1 -5
- package/build-module/button/index.js.map +1 -1
- package/build-module/buttons/index.js +0 -1
- package/build-module/buttons/index.js.map +1 -1
- package/build-module/buttons/transforms.js +0 -1
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/calendar/index.js +0 -1
- package/build-module/calendar/index.js.map +1 -1
- package/build-module/categories/index.js +0 -1
- package/build-module/categories/index.js.map +1 -1
- package/build-module/code/index.js +1 -6
- package/build-module/code/index.js.map +1 -1
- package/build-module/column/index.js +0 -1
- package/build-module/column/index.js.map +1 -1
- package/build-module/columns/index.js +1 -3
- package/build-module/columns/index.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +2 -3
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/comment-author-avatar/index.js +2 -7
- package/build-module/comment-author-avatar/index.js.map +1 -1
- package/build-module/comment-author-name/index.js +0 -1
- package/build-module/comment-author-name/index.js.map +1 -1
- package/build-module/comment-content/index.js +0 -1
- package/build-module/comment-content/index.js.map +1 -1
- package/build-module/comment-date/index.js +0 -1
- package/build-module/comment-date/index.js.map +1 -1
- package/build-module/comment-edit-link/index.js +1 -2
- package/build-module/comment-edit-link/index.js.map +1 -1
- package/build-module/comment-reply-link/index.js +0 -1
- package/build-module/comment-reply-link/index.js.map +1 -1
- package/build-module/comment-template/edit.js +23 -97
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/index.js +2 -4
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/comments-query-loop/edit.js +2 -2
- package/build-module/comments-query-loop/edit.js.map +1 -1
- package/build-module/comments-query-loop/index.js +7 -4
- package/build-module/comments-query-loop/index.js.map +1 -1
- package/build-module/comments-query-loop/toolbar.js +3 -3
- package/build-module/comments-query-loop/toolbar.js.map +1 -1
- package/build-module/cover/edit.js +1 -2
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/cover/index.js +0 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/embed/deprecated.js +0 -1
- package/build-module/embed/deprecated.js.map +1 -1
- package/build-module/embed/edit.native.js +21 -24
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/embed-bottom-sheet.native.js +74 -0
- package/build-module/embed/embed-bottom-sheet.native.js.map +1 -0
- package/build-module/embed/embed-placeholder.native.js +2 -9
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/embed/index.js +0 -1
- package/build-module/embed/index.js.map +1 -1
- package/build-module/embed/transforms.js +0 -1
- package/build-module/embed/transforms.js.map +1 -1
- package/build-module/embed/util.js +0 -1
- package/build-module/embed/util.js.map +1 -1
- package/build-module/file/index.js +0 -1
- package/build-module/file/index.js.map +1 -1
- package/build-module/freeform/index.js +0 -1
- package/build-module/freeform/index.js.map +1 -1
- package/build-module/gallery/deprecated.js +2 -6
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit.js +1 -11
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/index.js +0 -1
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/group/edit.native.js +1 -1
- package/build-module/group/edit.native.js.map +1 -1
- package/build-module/group/index.js +4 -9
- package/build-module/group/index.js.map +1 -1
- package/build-module/heading/index.js +0 -1
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +0 -1
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/home-link/index.js +0 -1
- package/build-module/home-link/index.js.map +1 -1
- package/build-module/html/index.js +0 -1
- package/build-module/html/index.js.map +1 -1
- package/build-module/image/edit.js +4 -52
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +5 -16
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +1 -5
- package/build-module/image/index.js.map +1 -1
- package/build-module/index.js +1 -3
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/index.js +0 -1
- package/build-module/latest-comments/index.js.map +1 -1
- package/build-module/latest-posts/deprecated.js +0 -1
- package/build-module/latest-posts/deprecated.js.map +1 -1
- package/build-module/latest-posts/index.js +0 -1
- package/build-module/latest-posts/index.js.map +1 -1
- package/build-module/list/index.js +0 -1
- package/build-module/list/index.js.map +1 -1
- package/build-module/loginout/index.js +0 -1
- package/build-module/loginout/index.js.map +1 -1
- package/build-module/media-text/index.js +0 -1
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/missing/index.js +0 -1
- package/build-module/missing/index.js.map +1 -1
- package/build-module/more/index.js +0 -1
- package/build-module/more/index.js.map +1 -1
- package/build-module/navigation/deprecated.js +1 -3
- package/build-module/navigation/deprecated.js.map +1 -1
- package/build-module/navigation/edit/index.js +104 -59
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +3 -2
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +15 -7
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +9 -7
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +4 -13
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-navigation-notice.js +44 -0
- package/build-module/navigation/edit/use-navigation-notice.js.map +1 -0
- package/build-module/navigation/index.js +2 -9
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/menu-items-to-blocks.js +1 -4
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +9 -2
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation/view.js +12 -7
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-area/edit.js +1 -2
- package/build-module/navigation-area/edit.js.map +1 -1
- package/build-module/navigation-area/index.js +1 -2
- package/build-module/navigation-area/index.js.map +1 -1
- package/build-module/navigation-link/edit.js +0 -7
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +0 -1
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +0 -1
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/navigation-submenu/index.js +0 -1
- package/build-module/navigation-submenu/index.js.map +1 -1
- package/build-module/nextpage/index.js +0 -1
- package/build-module/nextpage/index.js.map +1 -1
- package/build-module/page-list/index.js +1 -6
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/paragraph/edit.js +3 -13
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/index.js +0 -1
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +0 -1
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/pattern/index.js +0 -1
- package/build-module/pattern/index.js.map +1 -1
- package/build-module/post-author/edit.js +1 -1
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author/index.js +0 -1
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-comment/index.js +0 -1
- package/build-module/post-comment/index.js.map +1 -1
- package/build-module/post-comments/index.js +0 -1
- package/build-module/post-comments/index.js.map +1 -1
- package/build-module/post-comments-count/index.js +0 -1
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/index.js +0 -1
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +0 -1
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +1 -1
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +0 -1
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-date/edit.js +1 -1
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-date/index.js +0 -1
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-excerpt/index.js +0 -1
- package/build-module/post-excerpt/index.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +29 -52
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +5 -9
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +0 -1
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/index.js +0 -1
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-template/index.js +0 -1
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/index.js +0 -1
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-title/edit.js +1 -1
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/post-title/index.js +0 -1
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/preformatted/edit.native.js +1 -2
- package/build-module/preformatted/edit.native.js.map +1 -1
- package/build-module/preformatted/index.js +0 -1
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/pullquote/index.js +1 -8
- package/build-module/pullquote/index.js.map +1 -1
- package/build-module/query/index.js +0 -1
- package/build-module/query/index.js.map +1 -1
- package/build-module/query-pagination/index.js +0 -1
- package/build-module/query-pagination/index.js.map +1 -1
- package/build-module/query-pagination-next/index.js +0 -1
- package/build-module/query-pagination-next/index.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +0 -1
- package/build-module/query-pagination-numbers/index.js.map +1 -1
- package/build-module/query-pagination-previous/index.js +0 -1
- package/build-module/query-pagination-previous/index.js.map +1 -1
- package/build-module/query-title/index.js +0 -1
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/quote/index.js +0 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/rss/index.js +0 -1
- package/build-module/rss/index.js.map +1 -1
- package/build-module/search/edit.js +3 -5
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/index.js +1 -8
- package/build-module/search/index.js.map +1 -1
- package/build-module/separator/index.js +0 -1
- package/build-module/separator/index.js.map +1 -1
- package/build-module/shortcode/index.js +0 -1
- package/build-module/shortcode/index.js.map +1 -1
- package/build-module/site-logo/edit.js +120 -19
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +5 -5
- package/build-module/site-tagline/index.js +1 -2
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/index.js +0 -1
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/index.js +1 -2
- package/build-module/social-link/index.js.map +1 -1
- package/build-module/social-links/index.js +1 -2
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/spacer/index.js +0 -1
- package/build-module/spacer/index.js.map +1 -1
- package/build-module/table/index.js +1 -7
- package/build-module/table/index.js.map +1 -1
- package/build-module/table-of-contents/index.js +0 -1
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/tag-cloud/index.js +0 -1
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-module/template-part/index.js +0 -1
- package/build-module/template-part/index.js.map +1 -1
- package/build-module/term-description/index.js +0 -1
- package/build-module/term-description/index.js.map +1 -1
- package/build-module/text-columns/index.js +0 -1
- package/build-module/text-columns/index.js.map +1 -1
- package/build-module/verse/index.js +0 -1
- package/build-module/verse/index.js.map +1 -1
- package/build-module/video/index.js +0 -1
- package/build-module/video/index.js.map +1 -1
- package/build-style/columns/style-rtl.css +3 -4
- package/build-style/columns/style.css +3 -4
- package/build-style/common-rtl.css +2 -21
- package/build-style/common.css +2 -21
- package/build-style/cover/style-rtl.css +0 -4
- package/build-style/cover/style.css +0 -4
- package/build-style/editor-rtl.css +46 -56
- package/build-style/editor.css +46 -59
- package/build-style/gallery/editor-rtl.css +12 -0
- package/build-style/gallery/editor.css +12 -0
- package/build-style/gallery/style-rtl.css +0 -3
- package/build-style/gallery/style.css +0 -3
- package/build-style/group/theme-rtl.css +1 -1
- package/build-style/group/theme.css +1 -1
- package/build-style/{comments-pagination → home-link}/style-rtl.css +21 -21
- package/build-style/{comments-pagination/editor.css → home-link/style.css} +22 -20
- package/build-style/navigation/editor-rtl.css +15 -6
- package/build-style/navigation/editor.css +15 -6
- package/build-style/navigation/style-rtl.css +45 -18
- package/build-style/navigation/style.css +45 -18
- package/build-style/page-list/style-rtl.css +4 -4
- package/build-style/page-list/style.css +4 -4
- package/build-style/post-comments/style-rtl.css +0 -1
- package/build-style/post-comments/style.css +0 -1
- package/build-style/post-featured-image/editor-rtl.css +7 -0
- package/build-style/post-featured-image/editor.css +7 -0
- package/build-style/post-featured-image/style-rtl.css +1 -1
- package/build-style/post-featured-image/style.css +1 -1
- package/build-style/post-template/style-rtl.css +2 -29
- package/build-style/post-template/style.css +2 -29
- package/build-style/post-title/style-rtl.css +0 -3
- package/build-style/post-title/style.css +0 -3
- package/build-style/pullquote/style-rtl.css +0 -1
- package/build-style/pullquote/style.css +0 -1
- package/build-style/query-pagination/editor-rtl.css +4 -0
- package/build-style/query-pagination/editor.css +4 -0
- package/build-style/query-pagination/style-rtl.css +2 -6
- package/build-style/query-pagination/style.css +2 -6
- package/build-style/site-logo/editor-rtl.css +1 -11
- package/build-style/site-logo/editor.css +1 -11
- package/build-style/site-logo/style-rtl.css +3 -1
- package/build-style/site-logo/style.css +3 -1
- package/build-style/style-rtl.css +107 -158
- package/build-style/style.css +107 -160
- package/build-style/table/style-rtl.css +0 -1
- package/build-style/table/style.css +0 -1
- package/build-style/theme-rtl.css +1 -1
- package/build-style/theme.css +1 -1
- package/package.json +30 -31
- package/src/archives/block.json +0 -1
- package/src/audio/block.json +0 -1
- package/src/block/block.json +0 -1
- package/src/button/block.json +1 -5
- package/src/button/edit.native.js +1 -1
- package/src/buttons/block.json +1 -2
- package/src/calendar/block.json +0 -1
- package/src/calendar/index.php +39 -35
- package/src/categories/block.json +0 -1
- package/src/code/block.json +1 -6
- package/src/column/block.json +0 -1
- package/src/columns/block.json +1 -3
- package/src/columns/style.scss +5 -8
- package/src/comment-author-avatar/block.json +2 -7
- package/src/comment-author-avatar/edit.js +2 -7
- package/src/comment-author-avatar/index.php +6 -25
- package/src/comment-author-name/block.json +0 -1
- package/src/comment-content/block.json +0 -1
- package/src/comment-date/block.json +0 -1
- package/src/comment-edit-link/block.json +0 -1
- package/src/comment-edit-link/index.js +1 -1
- package/src/comment-reply-link/block.json +0 -1
- package/src/comment-template/block.json +2 -4
- package/src/comment-template/edit.js +37 -111
- package/src/comment-template/index.php +19 -46
- package/src/comments-query-loop/block.json +7 -4
- package/src/comments-query-loop/edit.js +5 -2
- package/src/comments-query-loop/toolbar.js +3 -3
- package/src/common.scss +2 -21
- package/src/cover/block.json +0 -1
- package/src/cover/edit.js +0 -1
- package/src/cover/style.scss +0 -4
- package/src/editor.scss +7 -6
- package/src/embed/block.json +0 -1
- package/src/embed/edit.native.js +18 -23
- package/src/embed/embed-bottom-sheet.native.js +78 -0
- package/src/embed/embed-placeholder.native.js +0 -8
- package/src/embed/test/__snapshots__/index.native.js.snap +0 -10
- package/src/embed/test/index.native.js +88 -228
- package/src/file/block.json +0 -1
- package/src/freeform/block.json +0 -1
- package/src/gallery/block.json +0 -1
- package/src/gallery/deprecated.js +2 -5
- package/src/gallery/edit.js +0 -20
- package/src/gallery/editor.scss +14 -0
- package/src/gallery/index.php +1 -1
- package/src/gallery/style.scss +0 -4
- package/src/group/block.json +4 -9
- package/src/group/edit.native.js +1 -1
- package/src/group/theme.scss +5 -4
- package/src/heading/block.json +0 -1
- package/src/home-link/block.json +0 -1
- package/src/home-link/index.php +3 -3
- package/src/home-link/style.scss +51 -0
- package/src/html/block.json +0 -1
- package/src/image/block.json +1 -5
- package/src/image/edit.js +0 -44
- package/src/image/edit.native.js +1 -1
- package/src/image/image.js +3 -14
- package/src/index.js +0 -4
- package/src/latest-comments/block.json +0 -1
- package/src/latest-posts/block.json +0 -1
- package/src/list/block.json +0 -1
- package/src/loginout/block.json +0 -1
- package/src/media-text/block.json +0 -1
- package/src/missing/block.json +0 -1
- package/src/more/block.json +0 -1
- package/src/navigation/block.json +11 -11
- package/src/navigation/deprecated.js +0 -2
- package/src/navigation/edit/index.js +172 -89
- package/src/navigation/edit/navigation-menu-selector.js +19 -13
- package/src/navigation/edit/placeholder/index.js +40 -24
- package/src/navigation/edit/responsive-wrapper.js +10 -7
- package/src/navigation/edit/unsaved-inner-blocks.js +13 -25
- package/src/navigation/edit/use-navigation-notice.js +37 -0
- package/src/navigation/editor.scss +20 -8
- package/src/navigation/index.php +23 -12
- package/src/navigation/menu-items-to-blocks.js +1 -2
- package/src/navigation/style.scss +58 -19
- package/src/navigation/use-navigation-menu.js +20 -0
- package/src/navigation/view.js +13 -7
- package/src/navigation-area/block.json +7 -3
- package/src/navigation-area/edit.js +1 -2
- package/src/navigation-link/block.json +3 -2
- package/src/navigation-link/edit.js +0 -5
- package/src/navigation-link/index.php +3 -3
- package/src/navigation-submenu/block.json +3 -2
- package/src/navigation-submenu/index.php +5 -5
- package/src/nextpage/block.json +0 -1
- package/src/page-list/block.json +0 -4
- package/src/page-list/index.php +4 -4
- package/src/page-list/style.scss +4 -4
- package/src/paragraph/block.json +0 -1
- package/src/paragraph/edit.js +4 -12
- package/src/pattern/block.json +0 -1
- package/src/post-author/block.json +0 -1
- package/src/post-author/edit.js +1 -1
- package/src/post-comment/block.json +0 -1
- package/src/post-comments/block.json +0 -1
- package/src/post-comments/style.scss +0 -1
- package/src/post-comments-count/block.json +0 -1
- package/src/post-comments-form/block.json +1 -6
- package/src/post-comments-link/block.json +0 -1
- package/src/post-content/block.json +0 -1
- package/src/post-content/edit.js +1 -1
- package/src/post-content/index.php +11 -1
- package/src/post-date/block.json +0 -1
- package/src/post-date/edit.js +1 -1
- package/src/post-excerpt/block.json +0 -1
- package/src/post-excerpt/edit.js +1 -1
- package/src/post-excerpt/index.php +1 -1
- package/src/post-featured-image/block.json +0 -1
- package/src/post-featured-image/dimension-controls.js +50 -75
- package/src/post-featured-image/edit.js +6 -13
- package/src/post-featured-image/editor.scss +8 -0
- package/src/post-featured-image/style.scss +1 -1
- package/src/post-navigation-link/block.json +0 -1
- package/src/post-template/block.json +0 -1
- package/src/post-template/style.scss +2 -13
- package/src/post-terms/block.json +0 -1
- package/src/post-title/block.json +0 -1
- package/src/post-title/edit.js +1 -1
- package/src/post-title/index.php +1 -1
- package/src/post-title/style.scss +2 -6
- package/src/preformatted/block.json +0 -1
- package/src/preformatted/edit.native.js +1 -3
- package/src/pullquote/block.json +1 -8
- package/src/pullquote/style.scss +0 -1
- package/src/query/block.json +0 -1
- package/src/query-pagination/block.json +0 -1
- package/src/query-pagination/editor.scss +4 -0
- package/src/query-pagination/style.scss +2 -12
- package/src/query-pagination-next/block.json +0 -1
- package/src/query-pagination-next/index.php +20 -42
- package/src/query-pagination-numbers/block.json +0 -1
- package/src/query-pagination-previous/block.json +0 -1
- package/src/query-pagination-previous/index.php +13 -45
- package/src/query-title/block.json +0 -1
- package/src/quote/block.json +0 -1
- package/src/rss/block.json +0 -1
- package/src/search/block.json +1 -8
- package/src/search/edit.js +1 -2
- package/src/search/index.php +19 -29
- package/src/separator/block.json +0 -1
- package/src/shortcode/block.json +0 -1
- package/src/site-logo/block.json +5 -5
- package/src/site-logo/edit.js +133 -14
- package/src/site-logo/editor.scss +1 -15
- package/src/site-logo/index.php +17 -4
- package/src/site-logo/style.scss +3 -1
- package/src/site-tagline/block.json +1 -2
- package/src/site-title/block.json +0 -1
- package/src/social-link/block.json +1 -2
- package/src/social-links/block.json +8 -3
- package/src/spacer/block.json +0 -1
- package/src/style.scss +2 -3
- package/src/table/block.json +1 -7
- package/src/table/style.scss +0 -1
- package/src/table-of-contents/block.json +0 -1
- package/src/tag-cloud/block.json +0 -1
- package/src/template-part/block.json +0 -1
- package/src/term-description/block.json +0 -1
- package/src/text-columns/block.json +0 -1
- package/src/verse/block.json +0 -1
- package/src/video/block.json +0 -1
- package/build/comment-template/util.js +0 -66
- package/build/comment-template/util.js.map +0 -1
- package/build/comments-pagination/comments-pagination-arrow-controls.js +0 -39
- package/build/comments-pagination/comments-pagination-arrow-controls.js.map +0 -1
- package/build/comments-pagination/edit.js +0 -80
- package/build/comments-pagination/edit.js.map +0 -1
- package/build/comments-pagination/index.js +0 -71
- package/build/comments-pagination/index.js.map +0 -1
- package/build/comments-pagination/save.js +0 -18
- package/build/comments-pagination/save.js.map +0 -1
- package/build/comments-pagination-numbers/edit.js +0 -47
- package/build/comments-pagination-numbers/edit.js.map +0 -1
- package/build/comments-pagination-numbers/index.js +0 -47
- package/build/comments-pagination-numbers/index.js.map +0 -1
- package/build/embed/embed-controls.native.js +0 -69
- package/build/embed/embed-controls.native.js.map +0 -1
- package/build/embed/embed-link-settings.native.js +0 -101
- package/build/embed/embed-link-settings.native.js.map +0 -1
- package/build/gallery/use-mobile-warning.js +0 -43
- package/build/gallery/use-mobile-warning.js.map +0 -1
- package/build-module/comment-template/util.js +0 -57
- package/build-module/comment-template/util.js.map +0 -1
- package/build-module/comments-pagination/comments-pagination-arrow-controls.js +0 -30
- package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +0 -1
- package/build-module/comments-pagination/edit.js +0 -67
- package/build-module/comments-pagination/edit.js.map +0 -1
- package/build-module/comments-pagination/index.js +0 -57
- package/build-module/comments-pagination/index.js.map +0 -1
- package/build-module/comments-pagination/save.js +0 -10
- package/build-module/comments-pagination/save.js.map +0 -1
- package/build-module/comments-pagination-numbers/edit.js +0 -40
- package/build-module/comments-pagination-numbers/edit.js.map +0 -1
- package/build-module/comments-pagination-numbers/index.js +0 -34
- package/build-module/comments-pagination-numbers/index.js.map +0 -1
- package/build-module/embed/embed-controls.native.js +0 -54
- package/build-module/embed/embed-controls.native.js.map +0 -1
- package/build-module/embed/embed-link-settings.native.js +0 -90
- package/build-module/embed/embed-link-settings.native.js.map +0 -1
- package/build-module/gallery/use-mobile-warning.js +0 -32
- package/build-module/gallery/use-mobile-warning.js.map +0 -1
- package/build-style/comment-template/style-rtl.css +0 -91
- package/build-style/comment-template/style.css +0 -91
- package/build-style/comments-pagination/editor-rtl.css +0 -100
- package/build-style/comments-pagination/style.css +0 -106
- package/build-style/comments-pagination-numbers/editor-rtl.css +0 -85
- package/build-style/comments-pagination-numbers/editor.css +0 -86
- package/src/comment-template/style.scss +0 -17
- package/src/comment-template/test/index.js +0 -45
- package/src/comment-template/util.js +0 -56
- package/src/comments-pagination/block.json +0 -37
- package/src/comments-pagination/comments-pagination-arrow-controls.js +0 -44
- package/src/comments-pagination/edit.js +0 -78
- package/src/comments-pagination/editor.scss +0 -34
- package/src/comments-pagination/index.js +0 -20
- package/src/comments-pagination/index.php +0 -39
- package/src/comments-pagination/save.js +0 -8
- package/src/comments-pagination/style.scss +0 -38
- package/src/comments-pagination-numbers/block.json +0 -16
- package/src/comments-pagination-numbers/edit.js +0 -22
- package/src/comments-pagination-numbers/editor.scss +0 -12
- package/src/comments-pagination-numbers/index.js +0 -18
- package/src/comments-pagination-numbers/index.php +0 -69
- package/src/embed/embed-controls.native.js +0 -65
- package/src/embed/embed-link-settings.native.js +0 -100
- package/src/gallery/test/use-get-new-images.js +0 -93
- package/src/gallery/use-mobile-warning.js +0 -28
- package/src/navigation/README.md +0 -13
package/build/cover/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/edit.js"],"names":["namesPlugin","__Visualizer","BoxControlVisualizer","BoxControl","getInnerBlocksTemplate","attributes","align","placeholder","retrieveFastAverageColor","fastAverageColor","FastAverageColor","CoverHeightInput","onChange","onUnitChange","unit","value","temporaryInput","setTemporaryInput","instanceId","UnitControl","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","handleOnBlur","min","COVER_MIN_HEIGHT","maxWidth","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCover","className","onResizeStart","onResize","onResizeStop","props","isResizing","setIsResizing","_event","_direction","elt","clientHeight","useCoverIsDark","url","dimRatio","overlayColor","elementRef","isDark","setIsDark","current","getColorAsync","color","mediaPosition","x","y","Math","round","isTemporaryMedia","id","CoverPlaceholder","disableMediaButtons","children","noticeUI","noticeOperations","onSelectMedia","style","removeAllNotices","createErrorNotice","icon","title","instructions","ALLOWED_MEDIA_TYPES","message","CoverEdit","clientId","isSelected","setAttributes","setOverlayColor","toggleSelection","markNextChangeAsNotPersistent","contentPosition","backgroundType","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","styleAttribute","alt","allowedBlocks","templateLock","gradientClass","gradientValue","setGradient","isUploadingMedia","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","toggleParallax","toggleIsRepeated","isDarkElement","isCoverDark","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","temporaryMinHeight","setTemporaryMinHeight","minHeightWithUnit","isImgElement","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","ref","hasInnerBlocks","select","blockEditorStore","getBlock","innerBlocks","length","controls","nextPosition","newFocalPoint","newAlt","colorValue","onColorChange","onGradientChange","label","newDimRation","newMinHeight","nextUnit","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","template","templateInsertUpdatesSelection","classes","spacing","padding","visualizers","class","backgroundImage","dispatch","__unstableMarkNextChangeAsNotPersistent","withNotices","withInstanceId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport FastAverageColor from 'fast-average-color';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment, useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tBaseControl,\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tToggleControl,\n\twithNotices,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { compose, withInstanceId, useInstanceId } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\t__experimentalPanelColorGradientSettings as PanelColorGradientSettings,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { cover as icon } from '@wordpress/icons';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_MIN_HEIGHT,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nextend( [ namesPlugin ] );\n\nconst { __Visualizer: BoxControlVisualizer } = BoxControl;\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst [ temporaryInput, setTemporaryInput ] = useState( null );\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', 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\tsetTemporaryInput( unprocessedValue );\n\t\t\treturn;\n\t\t}\n\t\tsetTemporaryInput( null );\n\t\tonChange( inputValue );\n\t\tif ( inputValue === undefined ) {\n\t\t\tonUnitChange();\n\t\t}\n\t};\n\n\tconst handleOnBlur = () => {\n\t\tif ( temporaryInput !== null ) {\n\t\t\tsetTemporaryInput( null );\n\t\t}\n\t};\n\n\tconst inputValue = temporaryInput !== null ? temporaryInput : value;\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<BaseControl label={ __( 'Minimum height of cover' ) } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ min }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tonUnitChange={ onUnitChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tunit={ unit }\n\t\t\t\tunits={ units }\n\t\t\t\tvalue={ inputValue }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nfunction ResizableCover( {\n\tclassName,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tenable={ RESIZABLE_BOX_ENABLE_OPTION }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStart( elt.clientHeight );\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStop( elt.clientHeight );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\n/**\n * useCoverIsDark is a hook that returns a boolean variable specifying if the cover\n * background is dark or not.\n *\n * @param {?string} url Url of the media background.\n * @param {?number} dimRatio Transparency of the overlay color. If an image and\n * color are set, dimRatio is used to decide what is used\n * for background darkness checking purposes.\n * @param {?string} overlayColor String containing the overlay color value if one exists.\n * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a\n * dom element that renders that media.\n *\n * @return {boolean} True if the cover background is considered \"dark\" and false otherwise.\n */\nfunction useCoverIsDark( url, dimRatio = 50, overlayColor, elementRef ) {\n\tconst [ isDark, setIsDark ] = useState( false );\n\tuseEffect( () => {\n\t\t// If opacity is lower than 50 the dominant color is the image or video color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( url && dimRatio <= 50 && elementRef.current ) {\n\t\t\tretrieveFastAverageColor().getColorAsync(\n\t\t\t\telementRef.current,\n\t\t\t\t( color ) => {\n\t\t\t\t\tsetIsDark( color.isDark );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [ url, url && dimRatio <= 50 && elementRef.current, setIsDark ] );\n\tuseEffect( () => {\n\t\t// If opacity is greater than 50 the dominant color is the overlay color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( dimRatio > 50 || ! url ) {\n\t\t\tif ( ! overlayColor ) {\n\t\t\t\t// If no overlay color exists the overlay color is black (isDark )\n\t\t\t\tsetIsDark( true );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDark( colord( overlayColor ).isDark() );\n\t\t}\n\t}, [ overlayColor, dimRatio > 50 || ! url, setIsDark ] );\n\tuseEffect( () => {\n\t\tif ( ! url && ! overlayColor ) {\n\t\t\t// Reset isDark\n\t\t\tsetIsDark( false );\n\t\t}\n\t}, [ ! url && ! overlayColor, setIsDark ] );\n\treturn isDark;\n}\n\nfunction mediaPosition( { x, y } ) {\n\treturn `${ Math.round( x * 100 ) }% ${ Math.round( y * 100 ) }%`;\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tnoticeUI,\n\tnoticeOperations,\n\tonSelectMedia,\n\tstyle,\n} ) {\n\tconst { removeAllNotices, createErrorNotice } = noticeOperations;\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\tinstructions: __(\n\t\t\t\t\t'Drag and drop onto this block, upload, or select existing media from your library.'\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tnotices={ noticeUI }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonError={ ( message ) => {\n\t\t\t\tremoveAllNotices();\n\t\t\t\tcreateErrorNotice( message );\n\t\t\t} }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\tnoticeUI,\n\tnoticeOperations,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tmarkNextChangeAsNotPersistent,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tstyle: styleAttribute,\n\t\turl,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\tconst {\n\t\tgradientClass,\n\t\tgradientValue,\n\t\tsetGradient,\n\t} = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] = useState(\n\t\tminHeightUnit\n\t);\n\tconst isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t} );\n\t};\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 isDarkElement = useRef();\n\tconst isCoverDark = useCoverIsDark(\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColor.color,\n\t\tisDarkElement\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\tmarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ temporaryMinHeight, setTemporaryMinHeight ] = useState( null );\n\n\tconst minHeightWithUnit = minHeightUnit\n\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: undefined ),\n\t\tminHeight: temporaryMinHeight || minHeightWithUnit || undefined,\n\t};\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = isDarkElement.current\n\t\t\t? [ isDarkElement.current.style, 'objectPosition' ]\n\t\t\t: [ ref.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tname={ ! url ? __( 'Add Media' ) : __( 'Replace' ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\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<Fragment>\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</Fragment>\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\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{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\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{ __(\n\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) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\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) }\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<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} )\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\t<PanelColorGradientSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Overlay' ) }\n\t\t\t\t\tinitialOpen={ true }\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\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( '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</PanelColorGradientSettings>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"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={ temporaryMinHeight || 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</>\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tif ( ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight:\n\t\t\t\t\t\t\t\ttemporaryMinHeight ||\n\t\t\t\t\t\t\t\tminHeightWithUnit ||\n\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t<BoxControlVisualizer\n\t\t\t\t\tvalues={ styleAttribute?.spacing?.padding }\n\t\t\t\t\tshowValues={ styleAttribute?.visualizers?.padding }\n\t\t\t\t\tclassName=\"block-library-cover__padding-visualizer\"\n\t\t\t\t/>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{ [ overlayColor.class ]: overlayColor.class },\n\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\tgradientClass,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t/>\n\n\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\ttoggleSelection,\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t} = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\ttoggleSelection,\n\t\t\tmarkNextChangeAsNotPersistent: __unstableMarkNextChangeAsNotPersistent,\n\t\t};\n\t} ),\n\twithColors( { overlayColor: 'background-color' } ),\n\twithNotices,\n\twithInstanceId,\n] )( CoverEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/edit.js"],"names":["namesPlugin","__Visualizer","BoxControlVisualizer","BoxControl","getInnerBlocksTemplate","attributes","align","placeholder","retrieveFastAverageColor","fastAverageColor","FastAverageColor","CoverHeightInput","onChange","onUnitChange","unit","value","temporaryInput","setTemporaryInput","instanceId","UnitControl","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","handleOnBlur","min","COVER_MIN_HEIGHT","maxWidth","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCover","className","onResizeStart","onResize","onResizeStop","props","isResizing","setIsResizing","_event","_direction","elt","clientHeight","useCoverIsDark","url","dimRatio","overlayColor","elementRef","isDark","setIsDark","current","getColorAsync","color","mediaPosition","x","y","Math","round","isTemporaryMedia","id","CoverPlaceholder","disableMediaButtons","children","noticeUI","noticeOperations","onSelectMedia","style","removeAllNotices","createErrorNotice","icon","title","instructions","ALLOWED_MEDIA_TYPES","message","CoverEdit","clientId","isSelected","setAttributes","setOverlayColor","toggleSelection","markNextChangeAsNotPersistent","contentPosition","backgroundType","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","styleAttribute","alt","allowedBlocks","templateLock","gradientClass","gradientValue","setGradient","isUploadingMedia","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","toggleParallax","toggleIsRepeated","isDarkElement","isCoverDark","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","temporaryMinHeight","setTemporaryMinHeight","minHeightWithUnit","isImgElement","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","ref","hasInnerBlocks","select","blockEditorStore","getBlock","innerBlocks","length","controls","nextPosition","newFocalPoint","newAlt","colorValue","onColorChange","onGradientChange","label","newDimRation","newMinHeight","nextUnit","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","template","templateInsertUpdatesSelection","classes","spacing","padding","visualizers","class","backgroundImage","dispatch","__unstableMarkNextChangeAsNotPersistent","withNotices","withInstanceId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport FastAverageColor from 'fast-average-color';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment, useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tBaseControl,\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tToggleControl,\n\twithNotices,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { compose, withInstanceId, useInstanceId } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\t__experimentalPanelColorGradientSettings as PanelColorGradientSettings,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { cover as icon } from '@wordpress/icons';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_MIN_HEIGHT,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nextend( [ namesPlugin ] );\n\nconst { __Visualizer: BoxControlVisualizer } = BoxControl;\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst [ temporaryInput, setTemporaryInput ] = useState( null );\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', 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\tsetTemporaryInput( unprocessedValue );\n\t\t\treturn;\n\t\t}\n\t\tsetTemporaryInput( null );\n\t\tonChange( inputValue );\n\t\tif ( inputValue === undefined ) {\n\t\t\tonUnitChange();\n\t\t}\n\t};\n\n\tconst handleOnBlur = () => {\n\t\tif ( temporaryInput !== null ) {\n\t\t\tsetTemporaryInput( null );\n\t\t}\n\t};\n\n\tconst inputValue = temporaryInput !== null ? temporaryInput : value;\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<BaseControl label={ __( 'Minimum height of cover' ) } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ min }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tonUnitChange={ onUnitChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tunit={ unit }\n\t\t\t\tunits={ units }\n\t\t\t\tvalue={ inputValue }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nfunction ResizableCover( {\n\tclassName,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tenable={ RESIZABLE_BOX_ENABLE_OPTION }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStart( elt.clientHeight );\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStop( elt.clientHeight );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\n/**\n * useCoverIsDark is a hook that returns a boolean variable specifying if the cover\n * background is dark or not.\n *\n * @param {?string} url Url of the media background.\n * @param {?number} dimRatio Transparency of the overlay color. If an image and\n * color are set, dimRatio is used to decide what is used\n * for background darkness checking purposes.\n * @param {?string} overlayColor String containing the overlay color value if one exists.\n * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a\n * dom element that renders that media.\n *\n * @return {boolean} True if the cover background is considered \"dark\" and false otherwise.\n */\nfunction useCoverIsDark( url, dimRatio = 50, overlayColor, elementRef ) {\n\tconst [ isDark, setIsDark ] = useState( false );\n\tuseEffect( () => {\n\t\t// If opacity is lower than 50 the dominant color is the image or video color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( url && dimRatio <= 50 && elementRef.current ) {\n\t\t\tretrieveFastAverageColor().getColorAsync(\n\t\t\t\telementRef.current,\n\t\t\t\t( color ) => {\n\t\t\t\t\tsetIsDark( color.isDark );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [ url, url && dimRatio <= 50 && elementRef.current, setIsDark ] );\n\tuseEffect( () => {\n\t\t// If opacity is greater than 50 the dominant color is the overlay color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( dimRatio > 50 || ! url ) {\n\t\t\tif ( ! overlayColor ) {\n\t\t\t\t// If no overlay color exists the overlay color is black (isDark )\n\t\t\t\tsetIsDark( true );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDark( colord( overlayColor ).isDark() );\n\t\t}\n\t}, [ overlayColor, dimRatio > 50 || ! url, setIsDark ] );\n\tuseEffect( () => {\n\t\tif ( ! url && ! overlayColor ) {\n\t\t\t// Reset isDark\n\t\t\tsetIsDark( false );\n\t\t}\n\t}, [ ! url && ! overlayColor, setIsDark ] );\n\treturn isDark;\n}\n\nfunction mediaPosition( { x, y } ) {\n\treturn `${ Math.round( x * 100 ) }% ${ Math.round( y * 100 ) }%`;\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tnoticeUI,\n\tnoticeOperations,\n\tonSelectMedia,\n\tstyle,\n} ) {\n\tconst { removeAllNotices, createErrorNotice } = noticeOperations;\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\tinstructions: __(\n\t\t\t\t\t'Drag and drop onto this block, upload, or select existing media from your library.'\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tnotices={ noticeUI }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonError={ ( message ) => {\n\t\t\t\tremoveAllNotices();\n\t\t\t\tcreateErrorNotice( message );\n\t\t\t} }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\tnoticeUI,\n\tnoticeOperations,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tmarkNextChangeAsNotPersistent,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tstyle: styleAttribute,\n\t\turl,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\tconst {\n\t\tgradientClass,\n\t\tgradientValue,\n\t\tsetGradient,\n\t} = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] = useState(\n\t\tminHeightUnit\n\t);\n\tconst isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t} );\n\t};\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 isDarkElement = useRef();\n\tconst isCoverDark = useCoverIsDark(\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColor.color,\n\t\tisDarkElement\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\tmarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ temporaryMinHeight, setTemporaryMinHeight ] = useState( null );\n\n\tconst minHeightWithUnit = minHeightUnit\n\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: undefined ),\n\t\tminHeight: temporaryMinHeight || minHeightWithUnit || undefined,\n\t};\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = isDarkElement.current\n\t\t\t? [ isDarkElement.current.style, 'objectPosition' ]\n\t\t\t: [ ref.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tname={ ! url ? __( 'Add Media' ) : __( 'Replace' ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\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<Fragment>\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</Fragment>\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\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{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\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{ __(\n\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) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\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) }\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<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} )\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\t<PanelColorGradientSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Overlay' ) }\n\t\t\t\t\tinitialOpen={ true }\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\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( '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</PanelColorGradientSettings>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"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={ temporaryMinHeight || 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</>\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tif ( ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight:\n\t\t\t\t\t\t\t\ttemporaryMinHeight ||\n\t\t\t\t\t\t\t\tminHeightWithUnit ||\n\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t<BoxControlVisualizer\n\t\t\t\t\tvalues={ styleAttribute?.spacing?.padding }\n\t\t\t\t\tshowValues={ styleAttribute?.visualizers?.padding }\n\t\t\t\t/>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{ [ overlayColor.class ]: overlayColor.class },\n\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\tgradientClass,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t/>\n\n\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\ttoggleSelection,\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t} = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\ttoggleSelection,\n\t\t\tmarkNextChangeAsNotPersistent: __unstableMarkNextChangeAsNotPersistent,\n\t\t};\n\t} ),\n\twithColors( { overlayColor: 'background-color' } ),\n\twithNotices,\n\twithInstanceId,\n] )( CoverEdit );\n"]}
|
package/build/cover/index.js
CHANGED
package/build/cover/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["name","metadata","settings","icon","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","customFontSize","content","align","transforms","save","edit","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["name","metadata","settings","icon","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","customFontSize","content","align","transforms","save","edit","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,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;AACCT,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXK,QAAAA,cAAc,EAAE,EADL;AAEXC,QAAAA,OAAO,EAAE,cAAI,8BAAJ,CAFE;AAGXC,QAAAA,KAAK,EAAE;AAHI;AAFb,KADY;AANL,GAFc;AAmBvBC,EAAAA,UAAU,EAAVA,mBAnBuB;AAoBvBC,EAAAA,IAAI,EAAJA,aApBuB;AAqBvBC,EAAAA,IAAI,EAAJA,aArBuB;AAsBvBC,EAAAA,UAAU,EAAVA;AAtBuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\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\tcustomFontSize: 48,\n\t\t\t\t\tcontent: __( '<strong>Snow Patrol</strong>' ),\n\t\t\t\t\talign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/deprecated.js"],"names":["attributes","blockAttributes","metadata","deprecated","save","url","caption","type","providerNameSlug","embedClassName","RichText","isEmpty"],"mappings":";;;;;;;;;;;AAGA;;AAUA;;AAbA;AACA;AACA;;AAGA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/deprecated.js"],"names":["attributes","blockAttributes","metadata","deprecated","save","url","caption","type","providerNameSlug","embedClassName","RichText","isEmpty"],"mappings":";;;;;;;;;;;AAGA;;AAUA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;;AAGA,MAAM;AAAEA,EAAAA,UAAU,EAAEC;AAAd,IAAkCC,QAAxC;AAEA,MAAMC,UAAU,GAAG,CAClB;AACCH,EAAAA,UAAU,EAAEC,eADb;;AAECG,EAAAA,IAAI,OAA6D;AAAA,QAA3D;AAAEJ,MAAAA,UAAU,EAAE;AAAEK,QAAAA,GAAF;AAAOC,QAAAA,OAAP;AAAgBC,QAAAA,IAAhB;AAAsBC,QAAAA;AAAtB;AAAd,KAA2D;;AAChE,QAAK,CAAEH,GAAP,EAAa;AACZ,aAAO,IAAP;AACA;;AAED,UAAMI,cAAc,GAAG,yBAAY,gBAAZ,EAA8B;AACpD,OAAG,WAAWF,IAAM,EAApB,GAAyBA,IAD2B;AAEpD,OAAG,eAAeC,gBAAkB,EAApC,GAAyCA;AAFW,KAA9B,CAAvB;AAKA,WACC;AAAQ,MAAA,SAAS,EAAGC;AAApB,OACI,KAAKJ,GAAK;AAAI;AADlB,MAEG,CAAEK,sBAASC,OAAT,CAAkBL,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,KAAK,EAAGA;AAFT,MAHF,CADD;AAWA;;AAvBF,CADkB,CAAnB;eA4BeH,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\n\n/**\n * WordPress dependencies\n */\nimport { RichText } from '@wordpress/block-editor';\n\nconst { attributes: blockAttributes } = metadata;\n\nconst deprecated = [\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes: { url, caption, type, providerNameSlug } } ) {\n\t\t\tif ( ! url ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst embedClassName = classnames( 'wp-block-embed', {\n\t\t\t\t[ `is-type-${ type }` ]: type,\n\t\t\t\t[ `is-provider-${ providerNameSlug }` ]: providerNameSlug,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<figure className={ embedClassName }>\n\t\t\t\t\t{ `\\n${ url }\\n` /* URL needs to be on its own line. */ }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
|
|
@@ -21,7 +21,7 @@ var _embedPlaceholder = _interopRequireDefault(require("./embed-placeholder"));
|
|
|
21
21
|
|
|
22
22
|
var _embedPreview = _interopRequireDefault(require("./embed-preview"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _embedBottomSheet = _interopRequireDefault(require("./embed-bottom-sheet"));
|
|
25
25
|
|
|
26
26
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
27
|
|
|
@@ -192,15 +192,6 @@ const EmbedEdit = props => {
|
|
|
192
192
|
}
|
|
193
193
|
}, [preview, isEditingURL]);
|
|
194
194
|
(0, _element.useEffect)(() => setShowEmbedBottomSheet(isEditingURL), [isEditingURL]);
|
|
195
|
-
const onEditURL = (0, _element.useCallback)(value => {
|
|
196
|
-
// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
|
|
197
|
-
// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
|
|
198
|
-
// for creating the new block.
|
|
199
|
-
setAttributes({
|
|
200
|
-
url: value
|
|
201
|
-
});
|
|
202
|
-
setIsEditingURL(false);
|
|
203
|
-
}, []);
|
|
204
195
|
const blockProps = (0, _blockEditor.useBlockProps)();
|
|
205
196
|
|
|
206
197
|
if (fetching) {
|
|
@@ -225,8 +216,11 @@ const EmbedEdit = props => {
|
|
|
225
216
|
const isProviderPreviewable = PREVIEWABLE_PROVIDERS.includes(providerNameSlug) || // For WordPress embeds, we enable the inline preview for all its providers
|
|
226
217
|
// except the ones that are not supported yet.
|
|
227
218
|
WP_EMBED_TYPE === type && !NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes(providerNameSlug);
|
|
228
|
-
const
|
|
229
|
-
return (0, _element.createElement)(_element.Fragment, null, showEmbedPlaceholder ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(
|
|
219
|
+
const bottomSheetLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;
|
|
220
|
+
return (0, _element.createElement)(_element.Fragment, null, showEmbedPlaceholder ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_embedControls.default, {
|
|
221
|
+
showEditButton: cannotEmbed,
|
|
222
|
+
switchBackToURLInput: () => setIsEditingURL(true)
|
|
223
|
+
}), (0, _element.createElement)(_primitives.View, blockProps, (0, _element.createElement)(_embedPlaceholder.default, {
|
|
230
224
|
icon: icon,
|
|
231
225
|
isSelected: isSelected,
|
|
232
226
|
label: title,
|
|
@@ -238,16 +232,14 @@ const EmbedEdit = props => {
|
|
|
238
232
|
fallback: () => (0, _util.fallback)(url, onReplace),
|
|
239
233
|
tryAgain: () => {
|
|
240
234
|
invalidateResolution('getEmbedPreview', [url]);
|
|
241
|
-
}
|
|
242
|
-
openEmbedLinkSettings: () => setShowEmbedBottomSheet(true)
|
|
235
|
+
}
|
|
243
236
|
}))) : (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_embedControls.default, {
|
|
237
|
+
showEditButton: preview && !cannotEmbed,
|
|
244
238
|
themeSupportsResponsive: themeSupportsResponsive,
|
|
245
239
|
blockSupportsResponsive: responsive,
|
|
246
240
|
allowResponsive: allowResponsive,
|
|
247
241
|
toggleResponsive: toggleResponsive,
|
|
248
|
-
|
|
249
|
-
linkLabel: linkLabel,
|
|
250
|
-
onEditURL: onEditURL
|
|
242
|
+
switchBackToURLInput: () => setIsEditingURL(true)
|
|
251
243
|
}), (0, _element.createElement)(_primitives.View, blockProps, (0, _element.createElement)(_embedPreview.default, {
|
|
252
244
|
align: align,
|
|
253
245
|
className: className,
|
|
@@ -263,15 +255,20 @@ const EmbedEdit = props => {
|
|
|
263
255
|
type: type,
|
|
264
256
|
url: url,
|
|
265
257
|
isDefaultEmbedInfo: !embedInfoByProvider
|
|
266
|
-
}))), (0, _element.createElement)(
|
|
267
|
-
, {
|
|
268
|
-
autoFocus: true,
|
|
258
|
+
}))), (0, _element.createElement)(_embedBottomSheet.default, {
|
|
269
259
|
value: url,
|
|
270
|
-
label:
|
|
260
|
+
label: bottomSheetLabel,
|
|
271
261
|
isVisible: showEmbedBottomSheet,
|
|
272
262
|
onClose: () => setShowEmbedBottomSheet(false),
|
|
273
|
-
onSubmit:
|
|
274
|
-
|
|
263
|
+
onSubmit: value => {
|
|
264
|
+
// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
|
|
265
|
+
// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
|
|
266
|
+
// for creating the new block.
|
|
267
|
+
setAttributes({
|
|
268
|
+
url: value
|
|
269
|
+
});
|
|
270
|
+
setIsEditingURL(false);
|
|
271
|
+
}
|
|
275
272
|
}));
|
|
276
273
|
};
|
|
277
274
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/edit.native.js"],"names":["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","embedContentIcon","embedInfoByProvider","wasBlockJustInserted","select","blockEditorStore","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","ignorePreviousClassName","allowResponsive","className","toggleResponsive","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\tgetAttributesFromPreview,\n\tgetEmbedInfoByProvider,\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 ] = useState(\n\t\tisEditingURL\n\t);\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst {\n\t\tpreview,\n\t\tfetching,\n\t\tthemeSupportsResponsive,\n\t\tcannotEmbed,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tgetThemeSupports,\n\t\t\t} = select( coreStore );\n\t\t\tif ( ! url ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\tconst hasResolvedEmbedPreview = hasFinishedResolution(\n\t\t\t\t'getEmbedPreview',\n\t\t\t\t[ url ]\n\t\t\t);\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\tconst badEmbedProvider =\n\t\t\t\tembedPreview?.html === false &&\n\t\t\t\tembedPreview?.type === undefined;\n\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: ! hasResolvedEmbedPreview,\n\t\t\t\tthemeSupportsResponsive: getThemeSupports()[\n\t\t\t\t\t'responsive-embeds'\n\t\t\t\t],\n\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t};\n\t\t},\n\t\t[ url ]\n\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\tconst { allowResponsive, className } = attributes;\n\t\treturn {\n\t\t\t...attributes,\n\t\t\t...getAttributesFromPreview(\n\t\t\t\tpreview,\n\t\t\t\ttitle,\n\t\t\t\tignorePreviousClassName ? undefined : className,\n\t\t\t\tresponsive,\n\t\t\t\tallowResponsive\n\t\t\t),\n\t\t};\n\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( () => setShowEmbedBottomSheet( isEditingURL ), [\n\t\tisEditingURL,\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":["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","embedContentIcon","embedInfoByProvider","wasBlockJustInserted","select","blockEditorStore","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","ignorePreviousClassName","allowResponsive","className","toggleResponsive","newAllowResponsive","newURL","replace","upgradedBlock","blockProps","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","bottomSheetLabel","event","value"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tfallback,\n\tgetAttributesFromPreview,\n\tgetEmbedInfoByProvider,\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 EmbedBottomSheet from './embed-bottom-sheet';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { 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 ] = useState(\n\t\tisEditingURL\n\t);\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst {\n\t\tpreview,\n\t\tfetching,\n\t\tthemeSupportsResponsive,\n\t\tcannotEmbed,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tgetThemeSupports,\n\t\t\t} = select( coreStore );\n\t\t\tif ( ! url ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\tconst hasResolvedEmbedPreview = hasFinishedResolution(\n\t\t\t\t'getEmbedPreview',\n\t\t\t\t[ url ]\n\t\t\t);\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\tconst badEmbedProvider =\n\t\t\t\tembedPreview?.html === false &&\n\t\t\t\tembedPreview?.type === undefined;\n\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: ! hasResolvedEmbedPreview,\n\t\t\t\tthemeSupportsResponsive: getThemeSupports()[\n\t\t\t\t\t'responsive-embeds'\n\t\t\t\t],\n\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t};\n\t\t},\n\t\t[ url ]\n\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\tconst { allowResponsive, className } = attributes;\n\t\treturn {\n\t\t\t...attributes,\n\t\t\t...getAttributesFromPreview(\n\t\t\t\tpreview,\n\t\t\t\ttitle,\n\t\t\t\tignorePreviousClassName ? undefined : className,\n\t\t\t\tresponsive,\n\t\t\t\tallowResponsive\n\t\t\t),\n\t\t};\n\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( () => setShowEmbedBottomSheet( isEditingURL ), [\n\t\tisEditingURL,\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 bottomSheetLabel = 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<EmbedControls\n\t\t\t\t\t\tshowEditButton={ cannotEmbed }\n\t\t\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\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/>\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\tshowEditButton={ preview && ! cannotEmbed }\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\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\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<EmbedBottomSheet\n\t\t\t\tvalue={ url }\n\t\t\t\tlabel={ bottomSheetLabel }\n\t\t\t\tisVisible={ showEmbedBottomSheet }\n\t\t\t\tonClose={ () => setShowEmbedBottomSheet( false ) }\n\t\t\t\tonSubmit={ ( value ) => {\n\t\t\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\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\t\t// for creating the new block.\n\t\t\t\t\tsetAttributes( { url: value } );\n\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _i18n = require("@wordpress/i18n");
|
|
11
|
+
|
|
12
|
+
var _components = require("@wordpress/components");
|
|
13
|
+
|
|
14
|
+
var _url = require("@wordpress/url");
|
|
15
|
+
|
|
16
|
+
var _data = require("@wordpress/data");
|
|
17
|
+
|
|
18
|
+
var _notices = require("@wordpress/notices");
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* WordPress dependencies
|
|
22
|
+
*/
|
|
23
|
+
const EmbedBottomSheet = _ref => {
|
|
24
|
+
let {
|
|
25
|
+
value,
|
|
26
|
+
label,
|
|
27
|
+
isVisible,
|
|
28
|
+
onClose,
|
|
29
|
+
onSubmit
|
|
30
|
+
} = _ref;
|
|
31
|
+
const [url, setURL] = (0, _element.useState)(value);
|
|
32
|
+
const {
|
|
33
|
+
createErrorNotice
|
|
34
|
+
} = (0, _data.useDispatch)(_notices.store);
|
|
35
|
+
const linkSettingsOptions = {
|
|
36
|
+
url: {
|
|
37
|
+
label: (0, _i18n.sprintf)( // translators: %s: embed block variant's label e.g: "Twitter".
|
|
38
|
+
(0, _i18n.__)('%s link'), label),
|
|
39
|
+
placeholder: (0, _i18n.__)('Add link'),
|
|
40
|
+
autoFocus: true,
|
|
41
|
+
autoFill: true
|
|
42
|
+
},
|
|
43
|
+
footer: {
|
|
44
|
+
label: (0, _element.createElement)(_components.FooterMessageLink, {
|
|
45
|
+
href: (0, _i18n.__)('https://wordpress.org/support/article/embeds/'),
|
|
46
|
+
value: (0, _i18n.__)('Learn more about embeds')
|
|
47
|
+
}),
|
|
48
|
+
separatorType: 'topFullWidth'
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const onDismiss = (0, _element.useCallback)(() => {
|
|
52
|
+
if (url !== '') {
|
|
53
|
+
if ((0, _url.isURL)(url)) {
|
|
54
|
+
onSubmit(url);
|
|
55
|
+
} else {
|
|
56
|
+
createErrorNotice((0, _i18n.__)('Invalid URL. Please enter a valid URL.')); // If the URL was already defined, we submit it to stop showing the embed placeholder.
|
|
57
|
+
|
|
58
|
+
onSubmit(value);
|
|
59
|
+
}
|
|
60
|
+
} else {
|
|
61
|
+
// Resets the URL when new value is empty
|
|
62
|
+
onSubmit('');
|
|
63
|
+
}
|
|
64
|
+
}, [url, onSubmit, value]);
|
|
65
|
+
|
|
66
|
+
function setAttributes(attributes) {
|
|
67
|
+
setURL(attributes.url);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return (0, _element.createElement)(_components.LinkSettingsNavigation, {
|
|
71
|
+
isVisible: isVisible,
|
|
72
|
+
url: url,
|
|
73
|
+
onClose: onClose,
|
|
74
|
+
onDismiss: onDismiss,
|
|
75
|
+
setAttributes: setAttributes,
|
|
76
|
+
options: linkSettingsOptions,
|
|
77
|
+
testID: "embed-edit-url-modal",
|
|
78
|
+
withBottomSheet: true,
|
|
79
|
+
showIcon: true
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
var _default = EmbedBottomSheet;
|
|
84
|
+
exports.default = _default;
|
|
85
|
+
//# sourceMappingURL=embed-bottom-sheet.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-bottom-sheet.native.js"],"names":["EmbedBottomSheet","value","label","isVisible","onClose","onSubmit","url","setURL","createErrorNotice","noticesStore","linkSettingsOptions","placeholder","autoFocus","autoFill","footer","separatorType","onDismiss","setAttributes","attributes"],"mappings":";;;;;;;AAWA;;AARA;;AACA;;AAIA;;AACA;;AACA;;AAVA;AACA;AACA;AAWA,MAAMA,gBAAgB,GAAG,QAAsD;AAAA,MAApD;AAAEC,IAAAA,KAAF;AAASC,IAAAA,KAAT;AAAgBC,IAAAA,SAAhB;AAA2BC,IAAAA,OAA3B;AAAoCC,IAAAA;AAApC,GAAoD;AAC9E,QAAM,CAAEC,GAAF,EAAOC,MAAP,IAAkB,uBAAUN,KAAV,CAAxB;AACA,QAAM;AAAEO,IAAAA;AAAF,MAAwB,uBAAaC,cAAb,CAA9B;AAEA,QAAMC,mBAAmB,GAAG;AAC3BJ,IAAAA,GAAG,EAAE;AACJJ,MAAAA,KAAK,EAAE,oBACN;AACA,oBAAI,SAAJ,CAFM,EAGNA,KAHM,CADH;AAMJS,MAAAA,WAAW,EAAE,cAAI,UAAJ,CANT;AAOJC,MAAAA,SAAS,EAAE,IAPP;AAQJC,MAAAA,QAAQ,EAAE;AARN,KADsB;AAW3BC,IAAAA,MAAM,EAAE;AACPZ,MAAAA,KAAK,EACJ,4BAAC,6BAAD;AACC,QAAA,IAAI,EAAG,cACN,+CADM,CADR;AAIC,QAAA,KAAK,EAAG,cAAI,yBAAJ;AAJT,QAFM;AASPa,MAAAA,aAAa,EAAE;AATR;AAXmB,GAA5B;AAwBA,QAAMC,SAAS,GAAG,0BAAa,MAAM;AACpC,QAAKV,GAAG,KAAK,EAAb,EAAkB;AACjB,UAAK,gBAAOA,GAAP,CAAL,EAAoB;AACnBD,QAAAA,QAAQ,CAAEC,GAAF,CAAR;AACA,OAFD,MAEO;AACNE,QAAAA,iBAAiB,CAChB,cAAI,wCAAJ,CADgB,CAAjB,CADM,CAIN;;AACAH,QAAAA,QAAQ,CAAEJ,KAAF,CAAR;AACA;AACD,KAVD,MAUO;AACN;AACAI,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACA;AACD,GAfiB,EAef,CAAEC,GAAF,EAAOD,QAAP,EAAiBJ,KAAjB,CAfe,CAAlB;;AAiBA,WAASgB,aAAT,CAAwBC,UAAxB,EAAqC;AACpCX,IAAAA,MAAM,CAAEW,UAAU,CAACZ,GAAb,CAAN;AACA;;AAED,SACC,4BAAC,kCAAD;AACC,IAAA,SAAS,EAAGH,SADb;AAEC,IAAA,GAAG,EAAGG,GAFP;AAGC,IAAA,OAAO,EAAGF,OAHX;AAIC,IAAA,SAAS,EAAGY,SAJb;AAKC,IAAA,aAAa,EAAGC,aALjB;AAMC,IAAA,OAAO,EAAGP,mBANX;AAOC,IAAA,MAAM,EAAC,sBAPR;AAQC,IAAA,eAAe,MARhB;AASC,IAAA,QAAQ;AATT,IADD;AAaA,CA9DD;;eAgEeV,gB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tLinkSettingsNavigation,\n\tFooterMessageLink,\n} from '@wordpress/components';\nimport { isURL } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useCallback, useState } from '@wordpress/element';\n\nconst EmbedBottomSheet = ( { value, label, isVisible, onClose, onSubmit } ) => {\n\tconst [ url, setURL ] = useState( value );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: sprintf(\n\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t__( '%s link' ),\n\t\t\t\tlabel\n\t\t\t),\n\t\t\tplaceholder: __( 'Add link' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: true,\n\t\t},\n\t\tfooter: {\n\t\t\tlabel: (\n\t\t\t\t<FooterMessageLink\n\t\t\t\t\thref={ __(\n\t\t\t\t\t\t'https://wordpress.org/support/article/embeds/'\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ __( 'Learn more about embeds' ) }\n\t\t\t\t/>\n\t\t\t),\n\t\t\tseparatorType: 'topFullWidth',\n\t\t},\n\t};\n\n\tconst onDismiss = useCallback( () => {\n\t\tif ( url !== '' ) {\n\t\t\tif ( isURL( url ) ) {\n\t\t\t\tonSubmit( url );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__( 'Invalid URL. Please enter a valid URL.' )\n\t\t\t\t);\n\t\t\t\t// If the URL was already defined, we submit it to stop showing the embed placeholder.\n\t\t\t\tonSubmit( value );\n\t\t\t}\n\t\t} else {\n\t\t\t// Resets the URL when new value is empty\n\t\t\tonSubmit( '' );\n\t\t}\n\t}, [ url, onSubmit, value ] );\n\n\tfunction setAttributes( attributes ) {\n\t\tsetURL( attributes.url );\n\t}\n\n\treturn (\n\t\t<LinkSettingsNavigation\n\t\t\tisVisible={ isVisible }\n\t\t\turl={ url }\n\t\t\tonClose={ onClose }\n\t\t\tonDismiss={ onDismiss }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\toptions={ linkSettingsOptions }\n\t\t\ttestID=\"embed-edit-url-modal\"\n\t\t\twithBottomSheet\n\t\t\tshowIcon\n\t\t/>\n\t);\n};\n\nexport default EmbedBottomSheet;\n"]}
|
|
@@ -44,8 +44,7 @@ const EmbedPlaceholder = _ref => {
|
|
|
44
44
|
onPress,
|
|
45
45
|
cannotEmbed,
|
|
46
46
|
fallback,
|
|
47
|
-
tryAgain
|
|
48
|
-
openEmbedLinkSettings
|
|
47
|
+
tryAgain
|
|
49
48
|
} = _ref;
|
|
50
49
|
const containerStyle = (0, _compose.usePreferredColorSchemeStyle)(_styles.default.embed__container, _styles.default['embed__container--dark']);
|
|
51
50
|
const labelStyle = (0, _compose.usePreferredColorSchemeStyle)(_styles.default.embed__label, _styles.default['embed__label--dark']);
|
|
@@ -66,15 +65,9 @@ const EmbedPlaceholder = _ref => {
|
|
|
66
65
|
label: (0, _i18n.__)('Convert to link'),
|
|
67
66
|
value: 'convertToLinkOption',
|
|
68
67
|
onSelect: fallback
|
|
69
|
-
},
|
|
70
|
-
editLink: {
|
|
71
|
-
id: 'editLinkOption',
|
|
72
|
-
label: (0, _i18n.__)('Edit link'),
|
|
73
|
-
value: 'editLinkOption',
|
|
74
|
-
onSelect: openEmbedLinkSettings
|
|
75
68
|
}
|
|
76
69
|
};
|
|
77
|
-
const options = (0, _lodash.compact)([cannotEmbed && errorPickerOptions.retry, cannotEmbed && errorPickerOptions.convertToLink
|
|
70
|
+
const options = (0, _lodash.compact)([cannotEmbed && errorPickerOptions.retry, cannotEmbed && errorPickerOptions.convertToLink]);
|
|
78
71
|
|
|
79
72
|
function onPickerSelect(value) {
|
|
80
73
|
const selectedItem = options.find(item => item.value === value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-placeholder.native.js"],"names":["EmbedPlaceholder","icon","isSelected","label","onPress","cannotEmbed","fallback","tryAgain","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-placeholder.native.js"],"names":["EmbedPlaceholder","icon","isSelected","label","onPress","cannotEmbed","fallback","tryAgain","containerStyle","styles","embed__container","labelStyle","embed__label","descriptionStyle","embed__description","descriptionErrorStyle","actionStyle","embed__action","embedIconErrorStyle","cannotEmbedMenuPickerRef","errorPickerOptions","retry","id","value","onSelect","convertToLink","options","onPickerSelect","selectedItem","find","item","resolveOnPressEvent","current","presentPicker","noticeOutline","fill"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\nimport { compact } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { Icon, Picker } from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { noticeOutline } from '../../../components/src/mobile/gridicons';\n\nconst EmbedPlaceholder = ( {\n\ticon,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tcannotEmbed,\n\tfallback,\n\ttryAgain,\n} ) => {\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__container,\n\t\tstyles[ 'embed__container--dark' ]\n\t);\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__label,\n\t\tstyles[ 'embed__label--dark' ]\n\t);\n\tconst descriptionStyle = styles.embed__description;\n\tconst descriptionErrorStyle = styles[ 'embed__description--error' ];\n\tconst actionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__action,\n\t\tstyles[ 'embed__action--dark' ]\n\t);\n\tconst embedIconErrorStyle = styles[ 'embed__icon--error' ];\n\n\tconst cannotEmbedMenuPickerRef = useRef();\n\n\tconst errorPickerOptions = {\n\t\tretry: {\n\t\t\tid: 'retryOption',\n\t\t\tlabel: __( 'Retry' ),\n\t\t\tvalue: 'retryOption',\n\t\t\tonSelect: tryAgain,\n\t\t},\n\t\tconvertToLink: {\n\t\t\tid: 'convertToLinkOption',\n\t\t\tlabel: __( 'Convert to link' ),\n\t\t\tvalue: 'convertToLinkOption',\n\t\t\tonSelect: fallback,\n\t\t},\n\t};\n\n\tconst options = compact( [\n\t\tcannotEmbed && errorPickerOptions.retry,\n\t\tcannotEmbed && errorPickerOptions.convertToLink,\n\t] );\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\t// When the content cannot be embedded the onPress should trigger the Picker instead of the onPress prop.\n\tfunction resolveOnPressEvent() {\n\t\tif ( cannotEmbed ) {\n\t\t\tcannotEmbedMenuPickerRef.current?.presentPicker();\n\t\t} else {\n\t\t\tonPress();\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={\n\t\t\t\t\tcannotEmbed\n\t\t\t\t\t\t? __( 'Double tap to view embed options.' )\n\t\t\t\t\t\t: __( 'Double tap to add a link.' )\n\t\t\t\t}\n\t\t\t\tonPress={ resolveOnPressEvent }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t>\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t{ cannotEmbed ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ noticeOutline }\n\t\t\t\t\t\t\t\tfill={ embedIconErrorStyle.fill }\n\t\t\t\t\t\t\t\tstyle={ embedIconErrorStyle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tdescriptionStyle,\n\t\t\t\t\t\t\t\t\tdescriptionErrorStyle,\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{ __( 'Unable to embed media' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text style={ actionStyle }>\n\t\t\t\t\t\t\t\t{ __( 'More options' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Picker\n\t\t\t\t\t\t\t\ttitle={ __( 'Embed options' ) }\n\t\t\t\t\t\t\t\tref={ cannotEmbedMenuPickerRef }\n\t\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\tleftAlign\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\t\t<>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t\t\t<Text style={ labelStyle }>{ label }</Text>\n\t\t\t\t\t\t\t<Text style={ actionStyle }>\n\t\t\t\t\t\t\t\t{ __( 'ADD LINK' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</>\n\t);\n};\n\nexport default EmbedPlaceholder;\n"]}
|