@wordpress/block-library 8.29.0 → 8.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/audio/edit.js +7 -17
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js.map +1 -1
- package/build/avatar/edit.js.map +1 -1
- package/build/block/deprecated.js +71 -11
- package/build/block/deprecated.js.map +1 -1
- package/build/block/edit.js +65 -31
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +2 -2
- package/build/button/edit.js.map +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/buttons/transforms.js +16 -2
- package/build/buttons/transforms.js.map +1 -1
- package/build/code/save.js +3 -1
- package/build/code/save.js.map +1 -1
- package/build/code/transforms.js +17 -6
- package/build/code/transforms.js.map +1 -1
- package/build/columns/edit.js +3 -2
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -1
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/edit/block-controls.js +14 -3
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/resizable-cover-popover.js +0 -6
- package/build/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build/cover/edit.native.js.map +1 -1
- package/build/details/edit.js +1 -0
- package/build/details/edit.js.map +1 -1
- package/build/file/deprecated.js.map +1 -1
- package/build/file/edit.js +8 -13
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/save.js.map +1 -1
- package/build/form-input/edit.js +1 -1
- package/build/form-input/edit.js.map +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/heading/index.js +4 -3
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +17 -4
- package/build/heading/transforms.js.map +1 -1
- package/build/image/edit.js +8 -4
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +22 -8
- package/build/image/image.js.map +1 -1
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/list/ordered-list-settings.js +1 -1
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list-item/edit.js +1 -3
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/hooks/index.js +0 -7
- package/build/list-item/hooks/index.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +1 -0
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +1 -0
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +16 -7
- package/build/list-item/hooks/use-space.js.map +1 -1
- package/build/list-item/index.js +4 -1
- package/build/list-item/index.js.map +1 -1
- package/build/media-text/edit.js +33 -9
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +5 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +30 -11
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/media-container.native.js +1 -1
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/media-text/save.js +2 -2
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/edit/index.js +23 -29
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +24 -23
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -4
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +15 -12
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +12 -10
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/paragraph/edit.native.js.map +1 -1
- package/build/pattern/edit.js +11 -0
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +12 -12
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +6 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/edit.js +2 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-title/edit.js +2 -2
- package/build/post-title/edit.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/utils.js +7 -5
- package/build/query/utils.js.map +1 -1
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/quote/deprecated.js +111 -12
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/edit.js +7 -7
- package/build/quote/edit.js.map +1 -1
- package/build/quote/index.js +1 -1
- package/build/quote/index.js.map +1 -1
- package/build/quote/save.js +2 -2
- package/build/quote/save.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +3 -1
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +2 -2
- package/build/search/edit.native.js.map +1 -1
- package/build/site-logo/edit.js +7 -2
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-title/{edit/index.js → edit.js} +1 -1
- package/build/site-title/edit.js.map +1 -0
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/icons/medium.js +1 -1
- package/build/social-link/icons/medium.js.map +1 -1
- package/build/social-link/icons/reddit.js +1 -1
- package/build/social-link/icons/reddit.js.map +1 -1
- package/build/social-links/edit.native.js.map +1 -1
- package/build/spacer/edit.js.map +1 -1
- package/build/table/deprecated.js +285 -175
- package/build/table/deprecated.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/template-part/edit/index.js +53 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +2 -8
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
- package/build/utils/caption.js +15 -5
- package/build/utils/caption.js.map +1 -1
- package/build/utils/get-transformed-metadata.js +57 -0
- package/build/utils/get-transformed-metadata.js.map +1 -0
- package/build/utils/hooks.js +55 -4
- package/build/utils/hooks.js.map +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +7 -16
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +3 -8
- package/build/video/edit.native.js.map +1 -1
- package/build-module/audio/edit.js +10 -20
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/block/deprecated.js +71 -11
- package/build-module/block/deprecated.js.map +1 -1
- package/build-module/block/edit.js +66 -32
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +3 -3
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/buttons/transforms.js +16 -2
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/code/save.js +3 -1
- package/build-module/code/save.js.map +1 -1
- package/build-module/code/transforms.js +17 -6
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/columns/edit.js +3 -2
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -1
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +15 -4
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/resizable-cover-popover.js +1 -7
- package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/details/edit.js +1 -0
- package/build-module/details/edit.js.map +1 -1
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/edit.js +9 -14
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/form-input/edit.js +1 -1
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/heading/index.js +4 -3
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +17 -4
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/image/edit.js +9 -5
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +23 -9
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +1 -1
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list-item/edit.js +2 -4
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/hooks/index.js +0 -1
- package/build-module/list-item/hooks/index.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +17 -8
- package/build-module/list-item/hooks/use-space.js.map +1 -1
- package/build-module/list-item/index.js +4 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/media-text/edit.js +34 -10
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +5 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +31 -12
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/media-container.native.js +1 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/media-text/save.js +2 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/edit/index.js +24 -30
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -4
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +15 -12
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +13 -11
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -0
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/paragraph/edit.native.js.map +1 -1
- package/build-module/pattern/edit.js +11 -0
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +1 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +13 -13
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +6 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-title/edit.js +2 -2
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
- package/build-module/query/utils.js +7 -5
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/quote/deprecated.js +112 -13
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/edit.js +7 -7
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/quote/index.js +1 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/save.js +2 -2
- package/build-module/quote/save.js.map +1 -1
- package/build-module/read-more/edit.js +1 -0
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +3 -1
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +2 -2
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/site-logo/edit.js +7 -2
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-title/{edit/index.js → edit.js} +1 -1
- package/build-module/site-title/edit.js.map +1 -0
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/icons/medium.js +1 -1
- package/build-module/social-link/icons/medium.js.map +1 -1
- package/build-module/social-link/icons/reddit.js +1 -1
- package/build-module/social-link/icons/reddit.js.map +1 -1
- package/build-module/social-links/edit.native.js.map +1 -1
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/table/deprecated.js +286 -176
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +57 -5
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +2 -8
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
- package/build-module/utils/caption.js +13 -3
- package/build-module/utils/caption.js.map +1 -1
- package/build-module/utils/get-transformed-metadata.js +51 -0
- package/build-module/utils/get-transformed-metadata.js.map +1 -0
- package/build-module/utils/hooks.js +54 -3
- package/build-module/utils/hooks.js.map +1 -1
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +10 -19
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +3 -8
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/common-rtl.css +1 -0
- package/build-style/common.css +1 -0
- package/build-style/cover/style-rtl.css +2 -1
- package/build-style/cover/style.css +2 -1
- package/build-style/editor-rtl.css +11 -2
- package/build-style/editor.css +11 -2
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/group/editor-rtl.css +1 -1
- package/build-style/group/editor.css +1 -1
- package/build-style/media-text/editor-rtl.css +7 -1
- package/build-style/media-text/editor.css +7 -1
- package/build-style/search/style-rtl.css +2 -0
- package/build-style/search/style.css +2 -0
- package/build-style/social-links/style-rtl.css +2 -2
- package/build-style/social-links/style.css +2 -2
- package/build-style/style-rtl.css +6 -3
- package/build-style/style.css +6 -3
- package/package.json +34 -34
- package/src/archives/index.php +4 -0
- package/src/audio/edit.js +9 -19
- package/src/audio/edit.native.js +3 -3
- package/src/avatar/edit.js +1 -1
- package/src/avatar/index.php +6 -0
- package/src/block/deprecated.js +76 -11
- package/src/block/edit.js +100 -32
- package/src/block/index.php +27 -12
- package/src/block/test/edit.native.js +67 -0
- package/src/button/edit.js +4 -3
- package/src/buttons/edit.native.js +1 -1
- package/src/buttons/transforms.js +14 -4
- package/src/calendar/index.php +17 -0
- package/src/categories/index.php +6 -0
- package/src/code/save.js +7 -1
- package/src/code/transforms.js +20 -5
- package/src/columns/edit.js +3 -2
- package/src/comment-author-avatar/edit.js +1 -1
- package/src/comment-author-name/index.php +4 -0
- package/src/comment-content/index.php +4 -0
- package/src/comment-date/index.php +4 -0
- package/src/comment-edit-link/index.php +4 -0
- package/src/comment-reply-link/index.php +4 -0
- package/src/comment-template/index.php +4 -0
- package/src/comments/index.php +12 -0
- package/src/comments-pagination/index.php +4 -0
- package/src/comments-pagination-next/index.php +4 -0
- package/src/comments-pagination-numbers/index.php +4 -0
- package/src/comments-pagination-previous/index.php +4 -0
- package/src/comments-title/index.php +4 -0
- package/src/cover/edit/block-controls.js +16 -2
- package/src/cover/edit/index.js +6 -3
- package/src/cover/edit/inspector-controls.js +1 -1
- package/src/cover/edit/resizable-cover-popover.js +1 -6
- package/src/cover/edit.native.js +1 -1
- package/src/cover/index.php +4 -0
- package/src/cover/style.scss +3 -2
- package/src/details/edit.js +1 -0
- package/src/file/deprecated.js +3 -3
- package/src/file/edit.js +10 -15
- package/src/file/edit.native.js +4 -4
- package/src/file/editor.scss +3 -0
- package/src/file/index.php +4 -0
- package/src/file/save.js +1 -1
- package/src/footnotes/index.php +1 -1
- package/src/form-input/edit.js +1 -1
- package/src/gallery/edit.js +3 -3
- package/src/gallery/gallery.native.js +1 -1
- package/src/gallery/index.php +6 -0
- package/src/gallery/test/index.native.js +1 -1
- package/src/gallery/v1/edit.js +2 -2
- package/src/gallery/v1/gallery.native.js +1 -1
- package/src/group/editor.scss +1 -1
- package/src/heading/index.js +4 -3
- package/src/heading/index.php +4 -0
- package/src/heading/transforms.js +27 -8
- package/src/home-link/index.php +10 -0
- package/src/image/edit.js +13 -5
- package/src/image/edit.native.js +1 -1
- package/src/image/editor.scss +1 -0
- package/src/image/image.js +34 -22
- package/src/image/index.php +12 -1
- package/src/latest-comments/index.php +4 -0
- package/src/latest-posts/edit.native.js +1 -1
- package/src/latest-posts/index.php +8 -0
- package/src/list/ordered-list-settings.js +1 -1
- package/src/list-item/edit.js +1 -2
- package/src/list-item/edit.native.js +1 -1
- package/src/list-item/hooks/index.js +0 -1
- package/src/list-item/hooks/use-indent-list-item.js +2 -0
- package/src/list-item/hooks/use-outdent-list-item.js +2 -0
- package/src/list-item/hooks/use-space.js +16 -9
- package/src/list-item/index.js +3 -0
- package/src/loginout/index.php +4 -0
- package/src/media-text/block.json +5 -0
- package/src/media-text/edit.js +70 -19
- package/src/media-text/editor.scss +7 -1
- package/src/media-text/index.php +70 -0
- package/src/media-text/media-container.js +49 -9
- package/src/media-text/media-container.native.js +5 -3
- package/src/media-text/save.js +2 -2
- package/src/media-text/test/edit.native.js +58 -0
- package/src/missing/test/edit-integration.native.js +2 -1
- package/src/navigation/edit/index.js +68 -72
- package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
- package/src/navigation/edit/navigation-menu-selector.js +39 -21
- package/src/navigation/edit/placeholder/index.js +4 -4
- package/src/navigation/edit/test/navigation-menu-selector.js +77 -55
- package/src/navigation/index.php +118 -34
- package/src/navigation/test/use-navigation-menu.js +21 -21
- package/src/navigation/use-navigation-menu.js +23 -9
- package/src/navigation-link/edit.js +12 -13
- package/src/navigation-link/index.php +14 -0
- package/src/navigation-link/link-ui.js +2 -2
- package/src/navigation-submenu/edit.js +4 -0
- package/src/navigation-submenu/index.php +8 -0
- package/src/page-list/index.php +12 -0
- package/src/page-list-item/index.php +2 -0
- package/src/paragraph/edit.native.js +1 -1
- package/src/paragraph/test/edit.native.js +36 -0
- package/src/pattern/edit.js +14 -0
- package/src/pattern/index.php +2 -0
- package/src/post-author/edit.js +1 -0
- package/src/post-author/index.php +4 -0
- package/src/post-author-biography/index.php +4 -0
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/index.php +6 -0
- package/src/post-content/index.php +4 -0
- package/src/post-date/index.php +4 -0
- package/src/post-excerpt/edit.js +2 -1
- package/src/post-excerpt/index.php +4 -0
- package/src/post-featured-image/block.json +6 -0
- package/src/post-featured-image/dimension-controls.js +4 -4
- package/src/post-featured-image/edit.js +14 -12
- package/src/post-featured-image/index.php +15 -0
- package/src/post-navigation-link/edit.js +2 -1
- package/src/post-navigation-link/index.php +4 -0
- package/src/post-template/index.php +6 -0
- package/src/post-terms/edit.js +2 -0
- package/src/post-terms/index.php +6 -0
- package/src/post-title/edit.js +49 -43
- package/src/post-title/index.php +2 -0
- package/src/query/edit/pattern-selection-modal.js +1 -1
- package/src/query/index.php +2 -0
- package/src/query/utils.js +6 -4
- package/src/query-no-results/index.php +4 -0
- package/src/query-pagination/index.php +4 -0
- package/src/query-pagination-next/edit.js +1 -1
- package/src/query-pagination-next/index.php +4 -0
- package/src/query-pagination-numbers/index.php +4 -0
- package/src/query-pagination-previous/edit.js +1 -1
- package/src/query-pagination-previous/index.php +4 -0
- package/src/query-title/index.php +4 -0
- package/src/quote/block.json +1 -1
- package/src/quote/deprecated.js +110 -15
- package/src/quote/edit.js +16 -10
- package/src/quote/save.js +2 -2
- package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
- package/src/read-more/edit.js +2 -1
- package/src/read-more/index.php +4 -0
- package/src/rss/index.php +4 -0
- package/src/search/edit.js +3 -1
- package/src/search/edit.native.js +6 -6
- package/src/search/index.php +20 -2
- package/src/search/style.scss +2 -0
- package/src/shortcode/index.php +4 -0
- package/src/site-logo/edit.js +11 -6
- package/src/site-logo/index.php +20 -0
- package/src/site-tagline/index.php +4 -0
- package/src/site-title/index.php +4 -0
- package/src/social-link/edit.js +2 -2
- package/src/social-link/icons/medium.js +1 -1
- package/src/social-link/icons/reddit.js +1 -1
- package/src/social-link/index.php +22 -9
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/social-links/edit.native.js +1 -1
- package/src/spacer/edit.js +1 -1
- package/src/table/block.json +1 -1
- package/src/table/deprecated.js +308 -175
- package/src/table-of-contents/edit.js +1 -1
- package/src/tag-cloud/index.php +4 -0
- package/src/template-part/edit/index.js +91 -4
- package/src/template-part/edit/selection-modal.js +4 -8
- package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
- package/src/template-part/index.php +10 -0
- package/src/term-description/index.php +4 -0
- package/src/utils/caption.js +10 -1
- package/src/utils/get-transformed-metadata.js +65 -0
- package/src/utils/hooks.js +53 -3
- package/src/video/edit-common-settings.js +1 -1
- package/src/video/edit.js +10 -18
- package/src/video/edit.native.js +7 -8
- package/src/video/test/edit.native.js +0 -14
- package/tsconfig.json +1 -0
- package/build/list-item/hooks/use-copy.js +0 -39
- package/build/list-item/hooks/use-copy.js.map +0 -1
- package/build/site-title/edit/index.js.map +0 -1
- package/build-module/list-item/hooks/use-copy.js +0 -32
- package/build-module/list-item/hooks/use-copy.js.map +0 -1
- package/build-module/site-title/edit/index.js.map +0 -1
- package/src/list-item/hooks/use-copy.js +0 -38
- /package/src/site-title/{edit/index.js → edit.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_compose","_i18n","_blockEditor","_components","_icons","_blocks","Caption","key","attributes","setAttributes","isSelected","insertBlocksAfter","placeholder","__","label","showToolbarButton","className","caption","prevCaption","usePrevious","isCaptionEmpty","
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_compose","_i18n","_blockEditor","_components","_icons","_blocks","_lockUnlock","PrivateRichText","RichText","unlock","blockEditorPrivateApis","Caption","key","attributes","setAttributes","isSelected","insertBlocksAfter","placeholder","__","label","showToolbarButton","className","disableEditing","caption","prevCaption","usePrevious","isCaptionEmpty","isEmpty","isPrevCaptionEmpty","showCaption","setShowCaption","useState","useEffect","ref","useCallback","node","focus","_react","createElement","Fragment","BlockControls","group","ToolbarButton","onClick","undefined","icon","captionIcon","isPressed","identifier","tagName","classnames","__experimentalGetElementClassName","value","onChange","inlineToolbar","__unstableOnSplitAtEnd","createBlock","getDefaultBlockName"],"sources":["@wordpress/block-library/src/utils/caption.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\t__experimentalGetElementClassName,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { ToolbarButton } from '@wordpress/components';\nimport { caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateRichText: RichText } = unlock( blockEditorPrivateApis );\n\nexport function Caption( {\n\tkey = 'caption',\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tplaceholder = __( 'Add caption' ),\n\tlabel = __( 'Caption text' ),\n\tshowToolbarButton = true,\n\tclassName,\n\tdisableEditing,\n} ) {\n\tconst caption = attributes[ key ];\n\tconst prevCaption = usePrevious( caption );\n\tconst isCaptionEmpty = RichText.isEmpty( caption );\n\tconst isPrevCaptionEmpty = RichText.isEmpty( prevCaption );\n\tconst [ showCaption, setShowCaption ] = useState( ! isCaptionEmpty );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( ! isCaptionEmpty && isPrevCaptionEmpty ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ isCaptionEmpty, isPrevCaptionEmpty ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && isCaptionEmpty ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, isCaptionEmpty ] );\n\n\t// Focus the caption when we click to add one.\n\tconst ref = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && isCaptionEmpty ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ isCaptionEmpty ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ showToolbarButton && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ showCaption &&\n\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier={ key }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisableEditing={ disableEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getTransformedMetadata = getTransformedMetadata;
|
|
7
|
+
var _blocks = require("@wordpress/blocks");
|
|
8
|
+
/**
|
|
9
|
+
* WordPress dependencies
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Transform the metadata attribute with only the values and bindings specified by each transform.
|
|
14
|
+
* Returns `undefined` if the input metadata is falsy.
|
|
15
|
+
*
|
|
16
|
+
* @param {Object} metadata Original metadata attribute from the block that is being transformed.
|
|
17
|
+
* @param {Object} newBlockName Name of the final block after the transformation.
|
|
18
|
+
* @param {Function} bindingsCallback Optional callback to transform the `bindings` property object.
|
|
19
|
+
* @return {Object|undefined} New metadata object only with the relevant properties.
|
|
20
|
+
*/
|
|
21
|
+
function getTransformedMetadata(metadata, newBlockName, bindingsCallback) {
|
|
22
|
+
if (!metadata) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const {
|
|
26
|
+
supports
|
|
27
|
+
} = (0, _blocks.getBlockType)(newBlockName);
|
|
28
|
+
// Fixed until an opt-in mechanism is implemented.
|
|
29
|
+
const BLOCK_BINDINGS_SUPPORTED_BLOCKS = ['core/paragraph', 'core/heading', 'core/image', 'core/button'];
|
|
30
|
+
// The metadata properties that should be preserved after the transform.
|
|
31
|
+
const transformSupportedProps = [];
|
|
32
|
+
// If it support bindings, and there is a transform bindings callback, add the `id` and `bindings` properties.
|
|
33
|
+
if (BLOCK_BINDINGS_SUPPORTED_BLOCKS.includes(newBlockName) && bindingsCallback) {
|
|
34
|
+
transformSupportedProps.push('id', 'bindings');
|
|
35
|
+
}
|
|
36
|
+
// If it support block naming (true by default), add the `name` property.
|
|
37
|
+
if (supports.renaming !== false) {
|
|
38
|
+
transformSupportedProps.push('name');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Return early if no supported properties.
|
|
42
|
+
if (!transformSupportedProps.length) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const newMetadata = Object.entries(metadata).reduce((obj, [prop, value]) => {
|
|
46
|
+
// If prop is not supported, don't add it to the new metadata object.
|
|
47
|
+
if (!transformSupportedProps.includes(prop)) {
|
|
48
|
+
return obj;
|
|
49
|
+
}
|
|
50
|
+
obj[prop] = prop === 'bindings' ? bindingsCallback(value) : value;
|
|
51
|
+
return obj;
|
|
52
|
+
}, {});
|
|
53
|
+
|
|
54
|
+
// Return undefined if object is empty.
|
|
55
|
+
return Object.keys(newMetadata).length ? newMetadata : undefined;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=get-transformed-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_blocks","require","getTransformedMetadata","metadata","newBlockName","bindingsCallback","supports","getBlockType","BLOCK_BINDINGS_SUPPORTED_BLOCKS","transformSupportedProps","includes","push","renaming","length","newMetadata","Object","entries","reduce","obj","prop","value","keys","undefined"],"sources":["@wordpress/block-library/src/utils/get-transformed-metadata.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\n\n/**\n * Transform the metadata attribute with only the values and bindings specified by each transform.\n * Returns `undefined` if the input metadata is falsy.\n *\n * @param {Object} metadata Original metadata attribute from the block that is being transformed.\n * @param {Object} newBlockName Name of the final block after the transformation.\n * @param {Function} bindingsCallback Optional callback to transform the `bindings` property object.\n * @return {Object|undefined} New metadata object only with the relevant properties.\n */\nexport function getTransformedMetadata(\n\tmetadata,\n\tnewBlockName,\n\tbindingsCallback\n) {\n\tif ( ! metadata ) {\n\t\treturn;\n\t}\n\tconst { supports } = getBlockType( newBlockName );\n\t// Fixed until an opt-in mechanism is implemented.\n\tconst BLOCK_BINDINGS_SUPPORTED_BLOCKS = [\n\t\t'core/paragraph',\n\t\t'core/heading',\n\t\t'core/image',\n\t\t'core/button',\n\t];\n\t// The metadata properties that should be preserved after the transform.\n\tconst transformSupportedProps = [];\n\t// If it support bindings, and there is a transform bindings callback, add the `id` and `bindings` properties.\n\tif (\n\t\tBLOCK_BINDINGS_SUPPORTED_BLOCKS.includes( newBlockName ) &&\n\t\tbindingsCallback\n\t) {\n\t\ttransformSupportedProps.push( 'id', 'bindings' );\n\t}\n\t// If it support block naming (true by default), add the `name` property.\n\tif ( supports.renaming !== false ) {\n\t\ttransformSupportedProps.push( 'name' );\n\t}\n\n\t// Return early if no supported properties.\n\tif ( ! transformSupportedProps.length ) {\n\t\treturn;\n\t}\n\n\tconst newMetadata = Object.entries( metadata ).reduce(\n\t\t( obj, [ prop, value ] ) => {\n\t\t\t// If prop is not supported, don't add it to the new metadata object.\n\t\t\tif ( ! transformSupportedProps.includes( prop ) ) {\n\t\t\t\treturn obj;\n\t\t\t}\n\t\t\tobj[ prop ] =\n\t\t\t\tprop === 'bindings' ? bindingsCallback( value ) : value;\n\t\t\treturn obj;\n\t\t},\n\t\t{}\n\t);\n\n\t// Return undefined if object is empty.\n\treturn Object.keys( newMetadata ).length ? newMetadata : undefined;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CACrCC,QAAQ,EACRC,YAAY,EACZC,gBAAgB,EACf;EACD,IAAK,CAAEF,QAAQ,EAAG;IACjB;EACD;EACA,MAAM;IAAEG;EAAS,CAAC,GAAG,IAAAC,oBAAY,EAAEH,YAAa,CAAC;EACjD;EACA,MAAMI,+BAA+B,GAAG,CACvC,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,aAAa,CACb;EACD;EACA,MAAMC,uBAAuB,GAAG,EAAE;EAClC;EACA,IACCD,+BAA+B,CAACE,QAAQ,CAAEN,YAAa,CAAC,IACxDC,gBAAgB,EACf;IACDI,uBAAuB,CAACE,IAAI,CAAE,IAAI,EAAE,UAAW,CAAC;EACjD;EACA;EACA,IAAKL,QAAQ,CAACM,QAAQ,KAAK,KAAK,EAAG;IAClCH,uBAAuB,CAACE,IAAI,CAAE,MAAO,CAAC;EACvC;;EAEA;EACA,IAAK,CAAEF,uBAAuB,CAACI,MAAM,EAAG;IACvC;EACD;EAEA,MAAMC,WAAW,GAAGC,MAAM,CAACC,OAAO,CAAEb,QAAS,CAAC,CAACc,MAAM,CACpD,CAAEC,GAAG,EAAE,CAAEC,IAAI,EAAEC,KAAK,CAAE,KAAM;IAC3B;IACA,IAAK,CAAEX,uBAAuB,CAACC,QAAQ,CAAES,IAAK,CAAC,EAAG;MACjD,OAAOD,GAAG;IACX;IACAA,GAAG,CAAEC,IAAI,CAAE,GACVA,IAAI,KAAK,UAAU,GAAGd,gBAAgB,CAAEe,KAAM,CAAC,GAAGA,KAAK;IACxD,OAAOF,GAAG;EACX,CAAC,EACD,CAAC,CACF,CAAC;;EAED;EACA,OAAOH,MAAM,CAACM,IAAI,CAAEP,WAAY,CAAC,CAACD,MAAM,GAAGC,WAAW,GAAGQ,SAAS;AACnE"}
|
package/build/utils/hooks.js
CHANGED
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
7
6
|
exports.useCanEditEntity = useCanEditEntity;
|
|
7
|
+
exports.useUploadMediaFromBlobURL = useUploadMediaFromBlobURL;
|
|
8
8
|
var _data = require("@wordpress/data");
|
|
9
|
+
var _element = require("@wordpress/element");
|
|
10
|
+
var _blob = require("@wordpress/blob");
|
|
11
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
9
12
|
var _coreData = require("@wordpress/core-data");
|
|
10
13
|
/**
|
|
11
14
|
* WordPress dependencies
|
|
@@ -21,7 +24,55 @@ var _coreData = require("@wordpress/core-data");
|
|
|
21
24
|
function useCanEditEntity(kind, name, recordId) {
|
|
22
25
|
return (0, _data.useSelect)(select => select(_coreData.store).canUserEditEntityRecord(kind, name, recordId), [kind, name, recordId]);
|
|
23
26
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Handles uploading a media file from a blob URL on mount.
|
|
30
|
+
*
|
|
31
|
+
* @param {Object} args Upload media arguments.
|
|
32
|
+
* @param {string} args.url Blob URL.
|
|
33
|
+
* @param {?Array} args.allowedTypes Array of allowed media types.
|
|
34
|
+
* @param {Function} args.onChange Function called when the media is uploaded.
|
|
35
|
+
* @param {Function} args.onError Function called when an error happens.
|
|
36
|
+
*/
|
|
37
|
+
function useUploadMediaFromBlobURL(args = {}) {
|
|
38
|
+
const latestArgs = (0, _element.useRef)(args);
|
|
39
|
+
const {
|
|
40
|
+
getSettings
|
|
41
|
+
} = (0, _data.useSelect)(_blockEditor.store);
|
|
42
|
+
(0, _element.useLayoutEffect)(() => {
|
|
43
|
+
latestArgs.current = args;
|
|
44
|
+
});
|
|
45
|
+
(0, _element.useEffect)(() => {
|
|
46
|
+
if (!latestArgs.current.url || !(0, _blob.isBlobURL)(latestArgs.current.url)) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const file = (0, _blob.getBlobByURL)(latestArgs.current.url);
|
|
50
|
+
if (!file) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const {
|
|
54
|
+
url,
|
|
55
|
+
allowedTypes,
|
|
56
|
+
onChange,
|
|
57
|
+
onError
|
|
58
|
+
} = latestArgs.current;
|
|
59
|
+
const {
|
|
60
|
+
mediaUpload
|
|
61
|
+
} = getSettings();
|
|
62
|
+
mediaUpload({
|
|
63
|
+
filesList: [file],
|
|
64
|
+
allowedTypes,
|
|
65
|
+
onFileChange: ([media]) => {
|
|
66
|
+
if ((0, _blob.isBlobURL)(media?.url)) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
(0, _blob.revokeBlobURL)(url);
|
|
70
|
+
onChange(media);
|
|
71
|
+
},
|
|
72
|
+
onError: message => {
|
|
73
|
+
onError(message);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}, [getSettings]);
|
|
77
|
+
}
|
|
27
78
|
//# sourceMappingURL=hooks.js.map
|
package/build/utils/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_coreData","useCanEditEntity","kind","name","recordId","useSelect","select","coreStore","canUserEditEntityRecord","
|
|
1
|
+
{"version":3,"names":["_data","require","_element","_blob","_blockEditor","_coreData","useCanEditEntity","kind","name","recordId","useSelect","select","coreStore","canUserEditEntityRecord","useUploadMediaFromBlobURL","args","latestArgs","useRef","getSettings","blockEditorStore","useLayoutEffect","current","useEffect","url","isBlobURL","file","getBlobByURL","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","revokeBlobURL","message"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUserEditEntityRecord( kind, name, recordId ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgs = useRef( args );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgs.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! latestArgs.current.url ||\n\t\t\t! isBlobURL( latestArgs.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgs.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgs.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\tonError( message );\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAPA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAO,IAAAC,eAAS,EACbC,MAAM,IACPA,MAAM,CAAEC,eAAU,CAAC,CAACC,uBAAuB,CAAEN,IAAI,EAAEC,IAAI,EAAEC,QAAS,CAAC,EACpE,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAG,IAAAC,eAAM,EAAEF,IAAK,CAAC;EACjC,MAAM;IAAEG;EAAY,CAAC,GAAG,IAAAR,eAAS,EAAES,kBAAiB,CAAC;EAErD,IAAAC,wBAAe,EAAE,MAAM;IACtBJ,UAAU,CAACK,OAAO,GAAGN,IAAI;EAC1B,CAAE,CAAC;EAEH,IAAAO,kBAAS,EAAE,MAAM;IAChB,IACC,CAAEN,UAAU,CAACK,OAAO,CAACE,GAAG,IACxB,CAAE,IAAAC,eAAS,EAAER,UAAU,CAACK,OAAO,CAACE,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAME,IAAI,GAAG,IAAAC,kBAAY,EAAEV,UAAU,CAACK,OAAO,CAACE,GAAI,CAAC;IACnD,IAAK,CAAEE,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAEF,GAAG;MAAEI,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGb,UAAU,CAACK,OAAO;IACnE,MAAM;MAAES;IAAY,CAAC,GAAGZ,WAAW,CAAC,CAAC;IAErCY,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEN,IAAI,CAAE;MACnBE,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAK,IAAAT,eAAS,EAAES,KAAK,EAAEV,GAAI,CAAC,EAAG;UAC9B;QACD;QAEA,IAAAW,mBAAa,EAAEX,GAAI,CAAC;QACpBK,QAAQ,CAAEK,KAAM,CAAC;MAClB,CAAC;MACDJ,OAAO,EAAIM,OAAO,IAAM;QACvBN,OAAO,CAAEM,OAAQ,CAAC;MACnB;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEjB,WAAW,CAAG,CAAC;AACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_element","options","value","label","__","_x","VideoSettings","setAttributes","attributes","autoplay","controls","loop","muted","playsInline","preload","autoPlayHelpText","getAutoplayHelp","Platform","select","web","useCallback","checked","native","toggleFactory","useMemo","toggleAttribute","attribute","newValue","onChangePreload","_react","createElement","Fragment","ToggleControl","__nextHasNoMarginBottom","onChange","help","SelectControl","hideCancelButton","_default","exports","default"],"sources":["@wordpress/block-library/src/video/edit-common-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { ToggleControl, SelectControl } from '@wordpress/components';\nimport { useMemo, useCallback, Platform } from '@wordpress/element';\n\nconst options = [\n\t{ value: 'auto', label: __( 'Auto' ) },\n\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t{ value: 'none', label: _x( 'None', 'Preload value' ) },\n];\n\nconst VideoSettings = ( { setAttributes, attributes } ) => {\n\tconst { autoplay, controls, loop, muted, playsInline, preload } =\n\t\tattributes;\n\n\tconst autoPlayHelpText = __(\n\t\t'Autoplay may cause usability issues for some users.'\n\t);\n\tconst getAutoplayHelp = Platform.select( {\n\t\tweb: useCallback( ( checked ) => {\n\t\t\treturn checked ? autoPlayHelpText : null;\n\t\t}, [] ),\n\t\tnative: autoPlayHelpText,\n\t} );\n\n\tconst toggleFactory = useMemo( () => {\n\t\tconst toggleAttribute = ( attribute ) => {\n\t\t\treturn ( newValue ) => {\n\t\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tautoplay: toggleAttribute( 'autoplay' ),\n\t\t\tloop: toggleAttribute( 'loop' ),\n\t\t\tmuted: toggleAttribute( 'muted' ),\n\t\t\tcontrols: toggleAttribute( 'controls' ),\n\t\t\tplaysInline: toggleAttribute( 'playsInline' ),\n\t\t};\n\t}, [] );\n\n\tconst onChangePreload = useCallback( ( value ) => {\n\t\tsetAttributes( { preload: value } );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\tonChange={ toggleFactory.autoplay }\n\t\t\t\tchecked={ !! autoplay }\n\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\tonChange={ toggleFactory.loop }\n\t\t\t\tchecked={ !! loop }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\tonChange={ toggleFactory.muted }\n\t\t\t\tchecked={ !! muted }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\tonChange={ toggleFactory.controls }\n\t\t\t\tchecked={ !! controls }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\tonChange={ toggleFactory.playsInline }\n\t\t\t\tchecked={ !! playsInline }\n\t\t\t/>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\tvalue={ preload }\n\t\t\t\tonChange={ onChangePreload }\n\t\t\t\toptions={ options }\n\t\t\t\thideCancelButton
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_element","options","value","label","__","_x","VideoSettings","setAttributes","attributes","autoplay","controls","loop","muted","playsInline","preload","autoPlayHelpText","getAutoplayHelp","Platform","select","web","useCallback","checked","native","toggleFactory","useMemo","toggleAttribute","attribute","newValue","onChangePreload","_react","createElement","Fragment","ToggleControl","__nextHasNoMarginBottom","onChange","help","SelectControl","hideCancelButton","_default","exports","default"],"sources":["@wordpress/block-library/src/video/edit-common-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { ToggleControl, SelectControl } from '@wordpress/components';\nimport { useMemo, useCallback, Platform } from '@wordpress/element';\n\nconst options = [\n\t{ value: 'auto', label: __( 'Auto' ) },\n\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t{ value: 'none', label: _x( 'None', 'Preload value' ) },\n];\n\nconst VideoSettings = ( { setAttributes, attributes } ) => {\n\tconst { autoplay, controls, loop, muted, playsInline, preload } =\n\t\tattributes;\n\n\tconst autoPlayHelpText = __(\n\t\t'Autoplay may cause usability issues for some users.'\n\t);\n\tconst getAutoplayHelp = Platform.select( {\n\t\tweb: useCallback( ( checked ) => {\n\t\t\treturn checked ? autoPlayHelpText : null;\n\t\t}, [] ),\n\t\tnative: autoPlayHelpText,\n\t} );\n\n\tconst toggleFactory = useMemo( () => {\n\t\tconst toggleAttribute = ( attribute ) => {\n\t\t\treturn ( newValue ) => {\n\t\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tautoplay: toggleAttribute( 'autoplay' ),\n\t\t\tloop: toggleAttribute( 'loop' ),\n\t\t\tmuted: toggleAttribute( 'muted' ),\n\t\t\tcontrols: toggleAttribute( 'controls' ),\n\t\t\tplaysInline: toggleAttribute( 'playsInline' ),\n\t\t};\n\t}, [] );\n\n\tconst onChangePreload = useCallback( ( value ) => {\n\t\tsetAttributes( { preload: value } );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\tonChange={ toggleFactory.autoplay }\n\t\t\t\tchecked={ !! autoplay }\n\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\tonChange={ toggleFactory.loop }\n\t\t\t\tchecked={ !! loop }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\tonChange={ toggleFactory.muted }\n\t\t\t\tchecked={ !! muted }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\tonChange={ toggleFactory.controls }\n\t\t\t\tchecked={ !! controls }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\tonChange={ toggleFactory.playsInline }\n\t\t\t\tchecked={ !! playsInline }\n\t\t\t/>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\tvalue={ preload }\n\t\t\t\tonChange={ onChangePreload }\n\t\t\t\toptions={ options }\n\t\t\t\thideCancelButton\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default VideoSettings;\n"],"mappings":"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"}
|
package/build/video/edit.js
CHANGED
|
@@ -17,6 +17,7 @@ var _data = require("@wordpress/data");
|
|
|
17
17
|
var _icons = require("@wordpress/icons");
|
|
18
18
|
var _notices = require("@wordpress/notices");
|
|
19
19
|
var _util = require("../embed/util");
|
|
20
|
+
var _hooks = require("../utils/hooks");
|
|
20
21
|
var _editCommonSettings = _interopRequireDefault(require("./edit-common-settings"));
|
|
21
22
|
var _tracksEditor = _interopRequireDefault(require("./tracks-editor"));
|
|
22
23
|
var _tracks = _interopRequireDefault(require("./tracks"));
|
|
@@ -64,22 +65,12 @@ function VideoEdit({
|
|
|
64
65
|
tracks
|
|
65
66
|
} = attributes;
|
|
66
67
|
const isTemporaryVideo = !id && (0, _blob.isBlobURL)(src);
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if (file) {
|
|
74
|
-
getSettings().mediaUpload({
|
|
75
|
-
filesList: [file],
|
|
76
|
-
onFileChange: ([media]) => onSelectVideo(media),
|
|
77
|
-
onError: onUploadError,
|
|
78
|
-
allowedTypes: ALLOWED_MEDIA_TYPES
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}, []);
|
|
68
|
+
(0, _hooks.useUploadMediaFromBlobURL)({
|
|
69
|
+
url: src,
|
|
70
|
+
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
71
|
+
onChange: onSelectVideo,
|
|
72
|
+
onError: onUploadError
|
|
73
|
+
});
|
|
83
74
|
(0, _element.useEffect)(() => {
|
|
84
75
|
// Placeholder may be rendered.
|
|
85
76
|
if (videoPlayer.current) {
|
package/build/video/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_compose","_data","_icons","_notices","_util","_editCommonSettings","_tracksEditor","_tracks","_caption","placeholder","content","_react","createElement","Placeholder","className","withIllustration","icon","label","__","instructions","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","setAttributes","insertBlocksAfter","onReplace","instanceId","useInstanceId","videoPlayer","useRef","posterImageButton","id","controls","poster","src","tracks","isTemporaryVideo","isBlobURL","getSettings","useSelect","blockEditorStore","useEffect","file","getBlobByURL","mediaUpload","filesList","onFileChange","media","onSelectVideo","onError","onUploadError","allowedTypes","current","load","url","undefined","caption","image","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","createErrorNotice","useDispatch","noticesStore","message","type","classes","classnames","blockProps","useBlockProps","MediaPlaceholder","BlockIcon","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","Fragment","BlockControls","default","onChange","newTracks","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","MediaUploadCheck","BaseControl","VisualLabel","MediaUpload","render","open","Button","variant","onClick","ref","hidden","sprintf","Disabled","isDisabled","Spinner","Caption","showToolbarButton","_default","exports"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\n// Much of this description is duplicated from MediaPlaceholder.\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t\ticon={ icon }\n\t\t\tlabel={ __( 'Video' ) }\n\t\t\tinstructions={ __(\n\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t) }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tgetSettings().mediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: onUploadError,\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\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\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\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<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\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'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\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\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_compose","_data","_icons","_notices","_util","_hooks","_editCommonSettings","_tracksEditor","_tracks","_caption","placeholder","content","_react","createElement","Placeholder","className","withIllustration","icon","label","__","instructions","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","setAttributes","insertBlocksAfter","onReplace","instanceId","useInstanceId","videoPlayer","useRef","posterImageButton","id","controls","poster","src","tracks","isTemporaryVideo","isBlobURL","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","useEffect","current","load","media","undefined","caption","image","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","createErrorNotice","useDispatch","noticesStore","message","type","classes","classnames","blockProps","useBlockProps","MediaPlaceholder","BlockIcon","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","Fragment","BlockControls","default","newTracks","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","MediaUploadCheck","BaseControl","VisualLabel","MediaUpload","render","open","Button","variant","onClick","ref","hidden","sprintf","Disabled","isDisabled","Spinner","Caption","showToolbarButton","_default","exports"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\n// Much of this description is duplicated from MediaPlaceholder.\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration\n\t\t\ticon={ icon }\n\t\t\tlabel={ __( 'Video' ) }\n\t\t\tinstructions={ __(\n\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t) }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: src,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\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\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\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<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\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'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\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\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],"mappings":"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"}
|
|
@@ -225,8 +225,7 @@ class VideoEdit extends _element.Component {
|
|
|
225
225
|
} = this.props;
|
|
226
226
|
const {
|
|
227
227
|
id,
|
|
228
|
-
src
|
|
229
|
-
guid
|
|
228
|
+
src
|
|
230
229
|
} = attributes;
|
|
231
230
|
const {
|
|
232
231
|
videoContainerHeight
|
|
@@ -247,11 +246,7 @@ class VideoEdit extends _element.Component {
|
|
|
247
246
|
}));
|
|
248
247
|
}
|
|
249
248
|
});
|
|
250
|
-
|
|
251
|
-
// NOTE: `guid` is not part of the block's attribute definition. This case
|
|
252
|
-
// handled here is a temporary fix until a we find a better approach.
|
|
253
|
-
const isSourcePresent = src || guid && id;
|
|
254
|
-
if (!isSourcePresent) {
|
|
249
|
+
if (!src) {
|
|
255
250
|
return (0, _react.createElement)(_reactNative.View, {
|
|
256
251
|
style: {
|
|
257
252
|
flex: 1
|
|
@@ -289,7 +284,7 @@ class VideoEdit extends _element.Component {
|
|
|
289
284
|
isUploadFailed,
|
|
290
285
|
retryMessage
|
|
291
286
|
}) => {
|
|
292
|
-
const showVideo = (0, _url.isURL)(src) && !isUploadInProgress && !isUploadFailed;
|
|
287
|
+
const showVideo = (0, _url.isURL)(src) && (0, _url.getProtocol)(attributes.src) !== 'file:' && !isUploadInProgress && !isUploadFailed;
|
|
293
288
|
const icon = this.getIcon(isUploadFailed ? ICON_TYPE.RETRY : ICON_TYPE.UPLOAD);
|
|
294
289
|
const styleIconContainer = isUploadFailed ? _style.default.modalIconRetry : _style.default.modalIcon;
|
|
295
290
|
const iconContainer = (0, _react.createElement)(_reactNative.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_element","_reactNativeBridge","_components","_compose","_blockEditor","_i18n","_url","_hooks","_icons","_data","_notices","_util","_style","_interopRequireDefault","_iconRetry","_editCommonSettings","ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","VideoEdit","Component","constructor","props","state","isCaptionSelected","videoContainerHeight","mediaUploadStateReset","bind","onSelectMediaUploadOption","onSelectURL","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","updateMediaProgress","onVideoPressed","onVideoContanerLayout","onFocusCaption","componentDidMount","attributes","id","getProtocol","src","mediaUploadSync","componentWillUnmount","hasAction","isUploadInProgress","doAction","getDerivedStateFromProps","isSelected","requestImageUploadCancelDialog","requestImageFailedRetryDialog","setState","payload","setAttributes","mediaUrl","url","mediaServerId","mediaId","createErrorNotice","onReplace","isURL","test","embedBlock","createUpgradedEmbedBlock","undefined","poster","__","event","width","nativeEvent","layout","height","VIDEO_ASPECT_RATIO","getIcon","iconType","iconStyle","_react","createElement","Icon","icon","SvgIconRetry","style","getStylesFromColorScheme","iconDark","iconUploading","iconUploadingDark","SvgIcon","render","wasBlockJustInserted","guid","toolbarEditButton","MediaUpload","allowedTypes","MEDIA_TYPE_VIDEO","isReplacingMedia","onSelect","open","getMediaOptions","ToolbarGroup","ToolbarButton","label","replace","onClick","isSourcePresent","View","flex","MediaPlaceholder","onFocus","autoOpenMediaUpload","TouchableWithoutFeedback","accessible","onPress","disabled","BlockControls","InspectorControls","PanelBody","title","default","MediaUploadProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onUpdateMediaProgress","onMediaUploadStateReset","renderContent","isUploadFailed","retryMessage","showVideo","styleIconContainer","modalIconRetry","modalIcon","iconContainer","videoStyle","video","containerStyle","containerFocused","container","onLayout","videoContainer","VideoPlayer","source","uri","paused","placeholderContainer","placeholderContainerDark","Text","uploadFailedText","BlockCaption","accessibilityLabelCreator","caption","RichText","isEmpty","sprintf","clientId","onBlur","insertBlocksAfter","_default","exports","compose","withSelect","select","blockEditorStore","withDispatch","dispatch","noticesStore","withPreferredColorScheme"],"sources":["@wordpress/block-library/src/video/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n} from '@wordpress/react-native-bridge';\nimport {\n\tIcon,\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n} from '@wordpress/components';\nimport { withPreferredColorScheme, compose } from '@wordpress/compose';\nimport {\n\tBlockCaption,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tMEDIA_TYPE_VIDEO,\n\tBlockControls,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n\tInspectorControls,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { doAction, hasAction } from '@wordpress/hooks';\nimport { video as SvgIcon, replace } from '@wordpress/icons';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport style from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport VideoCommonSettings from './edit-common-settings';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nclass VideoEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisCaptionSelected: false,\n\t\t\tvideoContainerHeight: 0,\n\t\t};\n\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption =\n\t\t\tthis.onSelectMediaUploadOption.bind( this );\n\t\tthis.onSelectURL = this.onSelectURL.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.onVideoPressed = this.onVideoPressed.bind( this );\n\t\tthis.onVideoContanerLayout = this.onVideoContanerLayout.bind( this );\n\t\tthis.onFocusCaption = this.onFocusCaption.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes } = this.props;\n\t\tif ( attributes.id && getProtocol( attributes.src ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\t// This action will only exist if the user pressed the trash button on the block holder.\n\t\tif (\n\t\t\thasAction( 'blocks.onRemoveBlockCheckUpload' ) &&\n\t\t\tthis.state.isUploadInProgress\n\t\t) {\n\t\t\tdoAction(\n\t\t\t\t'blocks.onRemoveBlockCheckUpload',\n\t\t\t\tthis.props.attributes.id\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\t// Avoid a UI flicker in the toolbar by insuring that isCaptionSelected\n\t\t// is updated immediately any time the isSelected prop becomes false.\n\t\treturn {\n\t\t\tisCaptionSelected: props.isSelected && state.isCaptionSelected,\n\t\t};\n\t}\n\n\tonVideoPressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.src ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tisCaptionSelected: false,\n\t\t} );\n\t}\n\n\tonFocusCaption() {\n\t\tif ( ! this.state.isCaptionSelected ) {\n\t\t\tthis.setState( { isCaptionSelected: true } );\n\t\t}\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { src: payload.mediaUrl, id: payload.mediaServerId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: null, src: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonSelectMediaUploadOption( { id, url } ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id, src: url } );\n\t}\n\n\tonSelectURL( url ) {\n\t\tconst { createErrorNotice, onReplace, setAttributes } = this.props;\n\n\t\tif ( isURL( url ) && /^https?:/.test( getProtocol( url ) ) ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetAttributes( { src: url, id: undefined, poster: undefined } );\n\t\t} else {\n\t\t\tcreateErrorNotice( __( 'Invalid URL.' ) );\n\t\t}\n\t}\n\n\tonVideoContanerLayout( event ) {\n\t\tconst { width } = event.nativeEvent.layout;\n\t\tconst height = width / VIDEO_ASPECT_RATIO;\n\t\tif ( height !== this.state.videoContainerHeight ) {\n\t\t\tthis.setState( { videoContainerHeight: height } );\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...style.icon } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.icon,\n\t\t\t\t\tstyle.iconDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.iconUploading,\n\t\t\t\t\tstyle.iconUploadingDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn <Icon icon={ SvgIcon } { ...iconStyle } />;\n\t}\n\n\trender() {\n\t\tconst { setAttributes, attributes, isSelected, wasBlockJustInserted } =\n\t\t\tthis.props;\n\t\tconst { id, src, guid } = attributes;\n\t\tconst { videoContainerHeight } = this.state;\n\n\t\tconst toolbarEditButton = (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\tisReplacingMedia={ true }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit video' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t></MediaUpload>\n\t\t);\n\n\t\t// NOTE: `guid` is not part of the block's attribute definition. This case\n\t\t// handled here is a temporary fix until a we find a better approach.\n\t\tconst isSourcePresent = src || ( guid && id );\n\t\tif ( ! isSourcePresent ) {\n\t\t\treturn (\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\t\tautoOpenMediaUpload={\n\t\t\t\t\t\t\tisSelected && wasBlockJustInserted\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessible={ ! isSelected }\n\t\t\t\tonPress={ this.onVideoPressed }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t>\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t{ ! this.state.isCaptionSelected && (\n\t\t\t\t\t\t<BlockControls>{ toolbarEditButton }</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\t\t\trenderContent={ ( {\n\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\tisUploadFailed,\n\t\t\t\t\t\t\tretryMessage,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tconst showVideo =\n\t\t\t\t\t\t\t\tisURL( src ) &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\t! isUploadFailed;\n\t\t\t\t\t\t\tconst icon = this.getIcon(\n\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t? ICON_TYPE.RETRY\n\t\t\t\t\t\t\t\t\t: ICON_TYPE.UPLOAD\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst styleIconContainer = isUploadFailed\n\t\t\t\t\t\t\t\t? style.modalIconRetry\n\t\t\t\t\t\t\t\t: style.modalIcon;\n\n\t\t\t\t\t\t\tconst iconContainer = (\n\t\t\t\t\t\t\t\t<View style={ styleIconContainer }>\n\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tconst videoStyle = {\n\t\t\t\t\t\t\t\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t...style.video,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tconst containerStyle =\n\t\t\t\t\t\t\t\tshowVideo && isSelected\n\t\t\t\t\t\t\t\t\t? style.containerFocused\n\t\t\t\t\t\t\t\t\t: style.container;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\tonLayout={ this.onVideoContanerLayout }\n\t\t\t\t\t\t\t\t\tstyle={ containerStyle }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t\t\t<View style={ style.videoContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t! this.state\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.isCaptionSelected\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ videoStyle }\n\t\t\t\t\t\t\t\t\t\t\t\tsource={ { uri: src } }\n\t\t\t\t\t\t\t\t\t\t\t\tpaused={ true }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\t\t...this.props.getStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainerDark\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ videoContainerHeight > 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\ticonContainer }\n\t\t\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.uploadFailedText\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\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<BlockCaption\n\t\t\t\t\t\taccessible={ true }\n\t\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t\t? /* translators: accessibility text. Empty video caption. */\n\t\t\t\t\t\t\t\t __( 'Video caption. Empty' )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: video caption. */\n\t\t\t\t\t\t\t\t\t\t__( 'Video caption. %s' ),\n\t\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclientId={ this.props.clientId }\n\t\t\t\t\t\tisSelected={ this.state.isCaptionSelected }\n\t\t\t\t\t\tonFocus={ this.onFocusCaption }\n\t\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as props.\n\t\t\t\t\t\tinsertBlocksAfter={ this.props.insertBlocksAfter }\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 compose( [\n\twithSelect( ( select, { clientId } ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\n\t\treturn { createErrorNotice };\n\t} ),\n\twithPreferredColorScheme,\n] )( VideoEdit );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_element","_reactNativeBridge","_components","_compose","_blockEditor","_i18n","_url","_hooks","_icons","_data","_notices","_util","_style","_interopRequireDefault","_iconRetry","_editCommonSettings","ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","VideoEdit","Component","constructor","props","state","isCaptionSelected","videoContainerHeight","mediaUploadStateReset","bind","onSelectMediaUploadOption","onSelectURL","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","updateMediaProgress","onVideoPressed","onVideoContanerLayout","onFocusCaption","componentDidMount","attributes","id","getProtocol","src","mediaUploadSync","componentWillUnmount","hasAction","isUploadInProgress","doAction","getDerivedStateFromProps","isSelected","requestImageUploadCancelDialog","requestImageFailedRetryDialog","setState","payload","setAttributes","mediaUrl","url","mediaServerId","mediaId","createErrorNotice","onReplace","isURL","test","embedBlock","createUpgradedEmbedBlock","undefined","poster","__","event","width","nativeEvent","layout","height","VIDEO_ASPECT_RATIO","getIcon","iconType","iconStyle","_react","createElement","Icon","icon","SvgIconRetry","style","getStylesFromColorScheme","iconDark","iconUploading","iconUploadingDark","SvgIcon","render","wasBlockJustInserted","toolbarEditButton","MediaUpload","allowedTypes","MEDIA_TYPE_VIDEO","isReplacingMedia","onSelect","open","getMediaOptions","ToolbarGroup","ToolbarButton","label","replace","onClick","View","flex","MediaPlaceholder","onFocus","autoOpenMediaUpload","TouchableWithoutFeedback","accessible","onPress","disabled","BlockControls","InspectorControls","PanelBody","title","default","MediaUploadProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onUpdateMediaProgress","onMediaUploadStateReset","renderContent","isUploadFailed","retryMessage","showVideo","styleIconContainer","modalIconRetry","modalIcon","iconContainer","videoStyle","video","containerStyle","containerFocused","container","onLayout","videoContainer","VideoPlayer","source","uri","paused","placeholderContainer","placeholderContainerDark","Text","uploadFailedText","BlockCaption","accessibilityLabelCreator","caption","RichText","isEmpty","sprintf","clientId","onBlur","insertBlocksAfter","_default","exports","compose","withSelect","select","blockEditorStore","withDispatch","dispatch","noticesStore","withPreferredColorScheme"],"sources":["@wordpress/block-library/src/video/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n} from '@wordpress/react-native-bridge';\nimport {\n\tIcon,\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n} from '@wordpress/components';\nimport { withPreferredColorScheme, compose } from '@wordpress/compose';\nimport {\n\tBlockCaption,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tMEDIA_TYPE_VIDEO,\n\tBlockControls,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n\tInspectorControls,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { doAction, hasAction } from '@wordpress/hooks';\nimport { video as SvgIcon, replace } from '@wordpress/icons';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport style from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport VideoCommonSettings from './edit-common-settings';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nclass VideoEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisCaptionSelected: false,\n\t\t\tvideoContainerHeight: 0,\n\t\t};\n\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption =\n\t\t\tthis.onSelectMediaUploadOption.bind( this );\n\t\tthis.onSelectURL = this.onSelectURL.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.onVideoPressed = this.onVideoPressed.bind( this );\n\t\tthis.onVideoContanerLayout = this.onVideoContanerLayout.bind( this );\n\t\tthis.onFocusCaption = this.onFocusCaption.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes } = this.props;\n\t\tif ( attributes.id && getProtocol( attributes.src ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\t// This action will only exist if the user pressed the trash button on the block holder.\n\t\tif (\n\t\t\thasAction( 'blocks.onRemoveBlockCheckUpload' ) &&\n\t\t\tthis.state.isUploadInProgress\n\t\t) {\n\t\t\tdoAction(\n\t\t\t\t'blocks.onRemoveBlockCheckUpload',\n\t\t\t\tthis.props.attributes.id\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\t// Avoid a UI flicker in the toolbar by insuring that isCaptionSelected\n\t\t// is updated immediately any time the isSelected prop becomes false.\n\t\treturn {\n\t\t\tisCaptionSelected: props.isSelected && state.isCaptionSelected,\n\t\t};\n\t}\n\n\tonVideoPressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.src ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tisCaptionSelected: false,\n\t\t} );\n\t}\n\n\tonFocusCaption() {\n\t\tif ( ! this.state.isCaptionSelected ) {\n\t\t\tthis.setState( { isCaptionSelected: true } );\n\t\t}\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { src: payload.mediaUrl, id: payload.mediaServerId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: null, src: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonSelectMediaUploadOption( { id, url } ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id, src: url } );\n\t}\n\n\tonSelectURL( url ) {\n\t\tconst { createErrorNotice, onReplace, setAttributes } = this.props;\n\n\t\tif ( isURL( url ) && /^https?:/.test( getProtocol( url ) ) ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetAttributes( { src: url, id: undefined, poster: undefined } );\n\t\t} else {\n\t\t\tcreateErrorNotice( __( 'Invalid URL.' ) );\n\t\t}\n\t}\n\n\tonVideoContanerLayout( event ) {\n\t\tconst { width } = event.nativeEvent.layout;\n\t\tconst height = width / VIDEO_ASPECT_RATIO;\n\t\tif ( height !== this.state.videoContainerHeight ) {\n\t\t\tthis.setState( { videoContainerHeight: height } );\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...style.icon } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.icon,\n\t\t\t\t\tstyle.iconDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.iconUploading,\n\t\t\t\t\tstyle.iconUploadingDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn <Icon icon={ SvgIcon } { ...iconStyle } />;\n\t}\n\n\trender() {\n\t\tconst { setAttributes, attributes, isSelected, wasBlockJustInserted } =\n\t\t\tthis.props;\n\t\tconst { id, src } = attributes;\n\t\tconst { videoContainerHeight } = this.state;\n\n\t\tconst toolbarEditButton = (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\tisReplacingMedia\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit video' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t></MediaUpload>\n\t\t);\n\n\t\tif ( ! src ) {\n\t\t\treturn (\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\t\tautoOpenMediaUpload={\n\t\t\t\t\t\t\tisSelected && wasBlockJustInserted\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessible={ ! isSelected }\n\t\t\t\tonPress={ this.onVideoPressed }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t>\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t{ ! this.state.isCaptionSelected && (\n\t\t\t\t\t\t<BlockControls>{ toolbarEditButton }</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\t\t\trenderContent={ ( {\n\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\tisUploadFailed,\n\t\t\t\t\t\t\tretryMessage,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tconst showVideo =\n\t\t\t\t\t\t\t\tisURL( src ) &&\n\t\t\t\t\t\t\t\tgetProtocol( attributes.src ) !== 'file:' &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\t! isUploadFailed;\n\n\t\t\t\t\t\t\tconst icon = this.getIcon(\n\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t? ICON_TYPE.RETRY\n\t\t\t\t\t\t\t\t\t: ICON_TYPE.UPLOAD\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst styleIconContainer = isUploadFailed\n\t\t\t\t\t\t\t\t? style.modalIconRetry\n\t\t\t\t\t\t\t\t: style.modalIcon;\n\n\t\t\t\t\t\t\tconst iconContainer = (\n\t\t\t\t\t\t\t\t<View style={ styleIconContainer }>\n\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tconst videoStyle = {\n\t\t\t\t\t\t\t\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t...style.video,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tconst containerStyle =\n\t\t\t\t\t\t\t\tshowVideo && isSelected\n\t\t\t\t\t\t\t\t\t? style.containerFocused\n\t\t\t\t\t\t\t\t\t: style.container;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\tonLayout={ this.onVideoContanerLayout }\n\t\t\t\t\t\t\t\t\tstyle={ containerStyle }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t\t\t<View style={ style.videoContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t! this.state\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.isCaptionSelected\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ videoStyle }\n\t\t\t\t\t\t\t\t\t\t\t\tsource={ { uri: src } }\n\t\t\t\t\t\t\t\t\t\t\t\tpaused\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\t\t...this.props.getStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainerDark\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ videoContainerHeight > 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\ticonContainer }\n\t\t\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.uploadFailedText\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\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<BlockCaption\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t\t? /* translators: accessibility text. Empty video caption. */\n\t\t\t\t\t\t\t\t __( 'Video caption. Empty' )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: video caption. */\n\t\t\t\t\t\t\t\t\t\t__( 'Video caption. %s' ),\n\t\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclientId={ this.props.clientId }\n\t\t\t\t\t\tisSelected={ this.state.isCaptionSelected }\n\t\t\t\t\t\tonFocus={ this.onFocusCaption }\n\t\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as props.\n\t\t\t\t\t\tinsertBlocksAfter={ this.props.insertBlocksAfter }\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 compose( [\n\twithSelect( ( select, { clientId } ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\n\t\treturn { createErrorNotice };\n\t} ),\n\twithPreferredColorScheme,\n] )( VideoEdit );\n"],"mappings":"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"}
|
|
@@ -7,12 +7,11 @@ import classnames from 'classnames';
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { isBlobURL } from '@wordpress/blob';
|
|
11
11
|
import { Disabled, PanelBody, SelectControl, Spinner, ToggleControl } from '@wordpress/components';
|
|
12
|
-
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps
|
|
13
|
-
import { useEffect } from '@wordpress/element';
|
|
12
|
+
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps } from '@wordpress/block-editor';
|
|
14
13
|
import { __, _x } from '@wordpress/i18n';
|
|
15
|
-
import { useDispatch
|
|
14
|
+
import { useDispatch } from '@wordpress/data';
|
|
16
15
|
import { audio as icon } from '@wordpress/icons';
|
|
17
16
|
import { store as noticesStore } from '@wordpress/notices';
|
|
18
17
|
|
|
@@ -20,6 +19,7 @@ import { store as noticesStore } from '@wordpress/notices';
|
|
|
20
19
|
* Internal dependencies
|
|
21
20
|
*/
|
|
22
21
|
import { createUpgradedEmbedBlock } from '../embed/util';
|
|
22
|
+
import { useUploadMediaFromBlobURL } from '../utils/hooks';
|
|
23
23
|
import { Caption } from '../utils/caption';
|
|
24
24
|
const ALLOWED_MEDIA_TYPES = ['audio'];
|
|
25
25
|
function AudioEdit({
|
|
@@ -38,22 +38,12 @@ function AudioEdit({
|
|
|
38
38
|
src
|
|
39
39
|
} = attributes;
|
|
40
40
|
const isTemporaryAudio = !id && isBlobURL(src);
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (file) {
|
|
48
|
-
getSettings().mediaUpload({
|
|
49
|
-
filesList: [file],
|
|
50
|
-
onFileChange: ([media]) => onSelectAudio(media),
|
|
51
|
-
onError: e => onUploadError(e),
|
|
52
|
-
allowedTypes: ALLOWED_MEDIA_TYPES
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}, []);
|
|
41
|
+
useUploadMediaFromBlobURL({
|
|
42
|
+
url: src,
|
|
43
|
+
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
44
|
+
onChange: onSelectAudio,
|
|
45
|
+
onError: onUploadError
|
|
46
|
+
});
|
|
57
47
|
function toggleAttribute(attribute) {
|
|
58
48
|
return newValue => {
|
|
59
49
|
setAttributes({
|