@wordpress/block-library 8.24.1 → 8.25.1-next.79a6196f.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 +2 -0
- package/LICENSE.md +1 -1
- package/build/audio/edit.js +15 -62
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +1 -1
- package/build/audio/edit.native.js.map +1 -1
- package/build/audio/index.js +2 -2
- package/build/block/edit.js +157 -19
- package/build/block/edit.js.map +1 -1
- package/build/block/index.js +3 -2
- package/build/block/index.js.map +1 -1
- package/build/block/v1/edit.js +116 -0
- package/build/block/v1/edit.js.map +1 -0
- package/build/block/{edit.native.js → v1/edit.native.js} +2 -2
- package/build/block/v1/edit.native.js.map +1 -0
- package/build/button/index.js +2 -2
- package/build/button/save.js +1 -1
- package/build/button/save.js.map +1 -1
- package/build/code/edit.native.js +13 -14
- package/build/code/edit.native.js.map +1 -1
- package/build/code/index.js +2 -2
- package/build/code/save.js +6 -2
- package/build/code/save.js.map +1 -1
- package/build/comments-title/deprecated.js +1 -1
- package/build/comments-title/index.js +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit.native.js +1 -0
- package/build/cover/edit.native.js.map +1 -1
- package/build/details/index.js +2 -2
- package/build/embed/deprecated.js +2 -2
- package/build/embed/embed-preview.native.js +1 -1
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/embed/icons.js +1 -1
- package/build/embed/icons.js.map +1 -1
- package/build/embed/index.js +2 -2
- package/build/embed/transforms.js +2 -2
- package/build/embed/util.js +6 -6
- package/build/embed/util.js.map +1 -1
- package/build/file/edit.js +20 -28
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/index.js +4 -4
- package/build/file/save.js +4 -1
- package/build/file/save.js.map +1 -1
- package/build/form-input/deprecated.js +147 -0
- package/build/form-input/deprecated.js.map +1 -0
- package/build/form-input/edit.js +1 -1
- package/build/form-input/edit.js.map +1 -1
- package/build/form-input/index.js +4 -2
- package/build/form-input/index.js.map +1 -1
- package/build/form-input/save.js +7 -9
- package/build/form-input/save.js.map +1 -1
- package/build/gallery/edit.js +38 -58
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +19 -24
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +1 -1
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/index.js +8 -4
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/transforms.js +4 -68
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/v1/gallery.native.js +1 -1
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/group/edit.js +6 -1
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +5 -1
- package/build/group/index.js.map +1 -1
- package/build/heading/index.js +3 -6
- package/build/heading/index.js.map +1 -1
- package/build/image/deprecated.js +11 -0
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.native.js +4 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +35 -71
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +2 -2
- package/build/image/save.js +3 -1
- package/build/image/save.js.map +1 -1
- package/build/image/view.js +7 -1
- package/build/image/view.js.map +1 -1
- package/build/list/edit.js +10 -15
- package/build/list/edit.js.map +1 -1
- package/build/list-item/edit.js +17 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/use-enter.js +5 -3
- package/build/list-item/hooks/use-enter.js.map +1 -1
- package/build/list-item/hooks/use-enter.native.js +4 -3
- package/build/list-item/hooks/use-enter.native.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +2 -3
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +1 -1
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +3 -17
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +8 -4
- package/build/list-item/hooks/use-space.js.map +1 -1
- package/build/list-item/index.js +10 -3
- package/build/list-item/index.js.map +1 -1
- package/build/media-text/media-container.native.js +3 -0
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/navigation/constants.js +3 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/index.js +5 -1
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/view.js +25 -1
- package/build/navigation/view.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +2 -2
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/paragraph/edit.js +54 -32
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/index.js +2 -4
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +2 -4
- package/build/paragraph/transforms.js.map +1 -1
- package/build/pattern/edit.js +24 -2
- package/build/pattern/edit.js.map +1 -1
- package/build/pattern/recursion-detector.js +147 -0
- package/build/pattern/recursion-detector.js.map +1 -0
- package/build/post-featured-image/edit.js +19 -2
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +4 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-title/index.js +1 -3
- package/build/post-title/index.js.map +1 -1
- package/build/preformatted/index.js +2 -3
- package/build/preformatted/index.js.map +1 -1
- package/build/pullquote/index.js +5 -7
- package/build/pullquote/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +3 -1
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -0
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query-pagination-numbers/index.js +1 -1
- package/build/query-title/index.js +1 -3
- package/build/query-title/index.js.map +1 -1
- package/build/quote/index.js +3 -5
- package/build/quote/index.js.map +1 -1
- package/build/quote/transforms.js +7 -6
- package/build/quote/transforms.js.map +1 -1
- package/build/search/edit.js +3 -5
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +0 -4
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +7 -6
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-title/index.js +1 -5
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/icons/gravatar.js +22 -0
- package/build/social-link/icons/gravatar.js.map +1 -0
- package/build/social-link/icons/index.js +11 -0
- package/build/social-link/icons/index.js.map +1 -1
- package/build/social-link/variations.js +7 -0
- package/build/social-link/variations.js.map +1 -1
- package/build/spacer/edit.native.js +2 -2
- package/build/spacer/edit.native.js.map +1 -1
- package/build/table/edit.js +3 -1
- package/build/table/edit.js.map +1 -1
- package/build/table/index.js +9 -10
- package/build/table/index.js.map +1 -1
- package/build/table-of-contents/edit.js +2 -2
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/index.js +5 -2
- package/build/table-of-contents/index.js.map +1 -1
- package/build/tag-cloud/edit.js +5 -9
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/utils/caption.js +90 -0
- package/build/utils/caption.js.map +1 -0
- package/build/utils/constants.js +16 -0
- package/build/utils/constants.js.map +1 -0
- package/build/utils/remove-anchor-tag.js +2 -1
- package/build/utils/remove-anchor-tag.js.map +1 -1
- package/build/verse/index.js +3 -5
- package/build/verse/index.js.map +1 -1
- package/build/video/deprecated.js +2 -2
- package/build/video/edit.js +16 -57
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +1 -1
- package/build/video/edit.native.js.map +1 -1
- package/build/video/index.js +2 -2
- package/build-module/audio/edit.js +19 -66
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +2 -2
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/audio/index.js +2 -2
- package/build-module/block/edit.js +160 -22
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/index.js +3 -2
- package/build-module/block/index.js.map +1 -1
- package/build-module/block/v1/edit.js +108 -0
- package/build-module/block/v1/edit.js.map +1 -0
- package/build-module/block/{edit.native.js → v1/edit.native.js} +2 -2
- package/build-module/block/v1/edit.native.js.map +1 -0
- package/build-module/button/index.js +2 -2
- package/build-module/button/save.js +1 -1
- package/build-module/button/save.js.map +1 -1
- package/build-module/code/edit.native.js +14 -16
- package/build-module/code/edit.native.js.map +1 -1
- package/build-module/code/index.js +2 -2
- package/build-module/code/save.js +6 -2
- package/build-module/code/save.js.map +1 -1
- package/build-module/comments-title/deprecated.js +1 -1
- package/build-module/comments-title/index.js +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit.native.js +1 -0
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/details/index.js +2 -2
- package/build-module/embed/deprecated.js +2 -2
- package/build-module/embed/embed-preview.native.js +2 -2
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/embed/icons.js +1 -1
- package/build-module/embed/icons.js.map +1 -1
- package/build-module/embed/index.js +2 -2
- package/build-module/embed/transforms.js +2 -2
- package/build-module/embed/util.js +6 -6
- package/build-module/embed/util.js.map +1 -1
- package/build-module/file/edit.js +20 -28
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/index.js +4 -4
- package/build-module/file/save.js +4 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/form-input/deprecated.js +138 -0
- package/build-module/form-input/deprecated.js.map +1 -0
- package/build-module/form-input/edit.js +1 -1
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/form-input/index.js +4 -2
- package/build-module/form-input/index.js.map +1 -1
- package/build-module/form-input/save.js +8 -10
- package/build-module/form-input/save.js.map +1 -1
- package/build-module/gallery/edit.js +41 -61
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +18 -21
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gallery.native.js +2 -2
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/index.js +8 -4
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/transforms.js +4 -68
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/v1/gallery.native.js +2 -2
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/group/edit.js +6 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +5 -1
- package/build-module/group/index.js.map +1 -1
- package/build-module/heading/index.js +3 -6
- package/build-module/heading/index.js.map +1 -1
- package/build-module/image/deprecated.js +11 -0
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.native.js +5 -2
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +35 -71
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +2 -2
- package/build-module/image/save.js +3 -1
- package/build-module/image/save.js.map +1 -1
- package/build-module/image/view.js +7 -1
- package/build-module/image/view.js.map +1 -1
- package/build-module/list/edit.js +10 -15
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list-item/edit.js +18 -3
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.js +5 -3
- package/build-module/list-item/hooks/use-enter.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.native.js +4 -3
- package/build-module/list-item/hooks/use-enter.native.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +2 -3
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +1 -1
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +3 -17
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +8 -4
- package/build-module/list-item/hooks/use-space.js.map +1 -1
- package/build-module/list-item/index.js +10 -3
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/media-text/media-container.native.js +3 -0
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/navigation/constants.js +1 -0
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/index.js +7 -3
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/view.js +25 -1
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/page-list/convert-to-links-modal.js +2 -2
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/paragraph/edit.js +54 -32
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/index.js +2 -4
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +2 -4
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/pattern/edit.js +26 -4
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/pattern/recursion-detector.js +139 -0
- package/build-module/pattern/recursion-detector.js.map +1 -0
- package/build-module/post-featured-image/edit.js +19 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +4 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-title/index.js +1 -3
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/preformatted/index.js +2 -3
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/pullquote/index.js +5 -7
- package/build-module/pullquote/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +3 -1
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -0
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +1 -1
- package/build-module/query-title/index.js +1 -3
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/quote/index.js +3 -5
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/transforms.js +7 -6
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/search/edit.js +3 -5
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/index.js +0 -4
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +7 -6
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-title/index.js +1 -5
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/icons/gravatar.js +14 -0
- package/build-module/social-link/icons/gravatar.js.map +1 -0
- package/build-module/social-link/icons/index.js +1 -0
- package/build-module/social-link/icons/index.js.map +1 -1
- package/build-module/social-link/variations.js +8 -1
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/spacer/edit.native.js +2 -2
- package/build-module/spacer/edit.native.js.map +1 -1
- package/build-module/table/edit.js +3 -1
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/index.js +9 -10
- package/build-module/table/index.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/index.js +5 -1
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/tag-cloud/edit.js +6 -10
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/utils/caption.js +82 -0
- package/build-module/utils/caption.js.map +1 -0
- package/build-module/utils/constants.js +9 -0
- package/build-module/utils/constants.js.map +1 -0
- package/build-module/utils/remove-anchor-tag.js +2 -1
- package/build-module/utils/remove-anchor-tag.js.map +1 -1
- package/build-module/verse/index.js +3 -5
- package/build-module/verse/index.js.map +1 -1
- package/build-module/video/deprecated.js +2 -2
- package/build-module/video/edit.js +21 -62
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +2 -2
- package/build-module/video/edit.native.js.map +1 -1
- package/build-module/video/index.js +2 -2
- package/build-style/button/editor-rtl.css +0 -37
- package/build-style/button/editor.css +0 -37
- package/build-style/button/style-rtl.css +6 -6
- package/build-style/button/style.css +6 -6
- package/build-style/editor-rtl.css +3 -55
- package/build-style/editor.css +3 -55
- package/build-style/navigation/editor-rtl.css +2 -4
- package/build-style/navigation/editor.css +2 -4
- package/build-style/navigation/style-rtl.css +14 -18
- package/build-style/navigation/style.css +14 -18
- package/build-style/search/style-rtl.css +26 -27
- package/build-style/search/style.css +26 -27
- package/build-style/social-links/style-rtl.css +14 -2
- package/build-style/social-links/style.css +14 -2
- package/build-style/style-rtl.css +60 -53
- package/build-style/style.css +60 -53
- package/build-style/table/editor-rtl.css +1 -14
- package/build-style/table/editor.css +1 -14
- package/package.json +32 -32
- package/src/audio/block.json +2 -2
- package/src/audio/edit.js +29 -92
- package/src/audio/edit.native.js +2 -1
- package/src/audio/test/__snapshots__/edit.native.js.snap +12 -0
- package/src/audio/test/edit.native.js +29 -0
- package/src/block/edit.js +218 -37
- package/src/block/index.js +3 -2
- package/src/block/index.php +48 -0
- package/src/block/v1/edit.js +163 -0
- package/src/block/{edit.native.js → v1/edit.native.js} +2 -2
- package/src/button/block.json +2 -2
- package/src/button/editor.scss +0 -43
- package/src/button/save.js +1 -1
- package/src/button/style.scss +6 -6
- package/src/buttons/test/__snapshots__/edit.native.js.snap +6 -0
- package/src/buttons/test/edit.native.js +49 -0
- package/src/code/block.json +2 -2
- package/src/code/edit.native.js +11 -13
- package/src/code/save.js +4 -1
- package/src/code/test/edit.native.js +2 -2
- package/src/comments-title/block.json +1 -1
- package/src/cover/edit/inspector-controls.js +1 -1
- package/src/cover/edit.native.js +1 -0
- package/src/cover/test/edit.native.js +7 -1
- package/src/details/block.json +2 -2
- package/src/embed/block.json +2 -2
- package/src/embed/embed-preview.native.js +2 -1
- package/src/embed/icons.js +1 -1
- package/src/embed/util.js +2 -2
- package/src/file/block.json +4 -4
- package/src/file/edit.js +18 -25
- package/src/file/edit.native.js +1 -1
- package/src/file/save.js +5 -1
- package/src/form-input/block.json +2 -2
- package/src/form-input/deprecated.js +142 -0
- package/src/form-input/edit.js +1 -1
- package/src/form-input/index.js +2 -0
- package/src/form-input/save.js +27 -24
- package/src/gallery/block.json +8 -4
- package/src/gallery/edit.js +70 -98
- package/src/gallery/gallery.js +22 -36
- package/src/gallery/gallery.native.js +6 -2
- package/src/gallery/index.php +15 -0
- package/src/gallery/transforms.js +2 -55
- package/src/gallery/v1/gallery.native.js +2 -1
- package/src/group/block.json +5 -1
- package/src/group/edit.js +4 -1
- package/src/heading/block.json +3 -6
- package/src/image/block.json +2 -2
- package/src/image/deprecated.js +8 -0
- package/src/image/edit.native.js +5 -3
- package/src/image/image.js +77 -127
- package/src/image/index.php +1 -6
- package/src/image/save.js +3 -1
- package/src/image/view.js +5 -2
- package/src/list/edit.js +27 -35
- package/src/list-item/block.json +10 -3
- package/src/list-item/edit.js +18 -2
- package/src/list-item/hooks/use-enter.js +63 -62
- package/src/list-item/hooks/use-enter.native.js +9 -5
- package/src/list-item/hooks/use-indent-list-item.js +43 -53
- package/src/list-item/hooks/use-merge.js +1 -1
- package/src/list-item/hooks/use-outdent-list-item.js +50 -69
- package/src/list-item/hooks/use-space.js +7 -4
- package/src/media-text/media-container.native.js +3 -1
- package/src/navigation/constants.js +2 -0
- package/src/navigation/edit/index.js +18 -3
- package/src/navigation/editor.scss +1 -1
- package/src/navigation/index.php +1 -1
- package/src/navigation/style.scss +18 -16
- package/src/navigation/view.js +29 -3
- package/src/navigation-link/test/__snapshots__/hooks.js.snap +6 -3
- package/src/page-list/convert-to-links-modal.js +2 -2
- package/src/paragraph/block.json +2 -4
- package/src/paragraph/edit.js +53 -40
- package/src/paragraph/test/__snapshots__/edit.native.js.snap +12 -0
- package/src/paragraph/test/edit.native.js +114 -0
- package/src/pattern/edit.js +35 -3
- package/src/pattern/index.php +16 -0
- package/src/pattern/recursion-detector.js +145 -0
- package/src/pattern/test/index.js +74 -0
- package/src/post-featured-image/block.json +4 -0
- package/src/post-featured-image/edit.js +32 -1
- package/src/post-featured-image/index.php +31 -0
- package/src/post-title/block.json +1 -3
- package/src/preformatted/block.json +2 -3
- package/src/pullquote/block.json +5 -7
- package/src/query/edit/inspector-controls/index.js +2 -0
- package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -0
- package/src/query-pagination-numbers/block.json +1 -1
- package/src/query-title/block.json +1 -3
- package/src/quote/block.json +3 -5
- package/src/quote/transforms.js +12 -11
- package/src/search/block.json +0 -4
- package/src/search/edit.js +2 -8
- package/src/search/index.php +3 -7
- package/src/search/style.scss +27 -29
- package/src/site-logo/edit.js +3 -4
- package/src/site-title/block.json +1 -5
- package/src/social-link/icons/gravatar.js +10 -0
- package/src/social-link/icons/index.js +1 -0
- package/src/social-link/index.php +5 -1
- package/src/social-link/socials-with-bg.scss +5 -0
- package/src/social-link/socials-without-bg.scss +4 -0
- package/src/social-link/variations.js +7 -0
- package/src/social-links/style.scss +14 -8
- package/src/spacer/edit.native.js +4 -2
- package/src/table/block.json +9 -10
- package/src/table/edit.js +3 -1
- package/src/table/editor.scss +1 -17
- package/src/table-of-contents/edit.js +1 -1
- package/src/table-of-contents/index.js +5 -1
- package/src/tag-cloud/edit.js +7 -7
- package/src/template-part/index.php +6 -0
- package/src/utils/caption.js +108 -0
- package/src/utils/constants.js +8 -0
- package/src/utils/remove-anchor-tag.js +2 -1
- package/src/verse/block.json +3 -5
- package/src/video/block.json +2 -2
- package/src/video/edit.js +40 -100
- package/src/video/edit.native.js +2 -1
- package/build/block/edit.native.js.map +0 -1
- package/build/table-of-contents/icon.js +0 -22
- package/build/table-of-contents/icon.js.map +0 -1
- package/build-module/block/edit.native.js.map +0 -1
- package/build-module/table-of-contents/icon.js +0 -15
- package/build-module/table-of-contents/icon.js.map +0 -1
- package/src/table-of-contents/icon.js +0 -18
|
@@ -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","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","sprintf","clientId","onBlur","insertBlocksAfter","_default","compose","withSelect","select","blockEditorStore","withDispatch","dispatch","noticesStore","withPreferredColorScheme","exports"],"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\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={ 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\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\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\t! 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","compose","withSelect","select","blockEditorStore","withDispatch","dispatch","noticesStore","withPreferredColorScheme","exports"],"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={ 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\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\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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"}
|
package/build/video/index.js
CHANGED
|
@@ -8,51 +8,44 @@ import classnames from 'classnames';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
import { getBlobByURL, isBlobURL } from '@wordpress/blob';
|
|
11
|
-
import { Disabled, PanelBody, SelectControl, Spinner, ToggleControl
|
|
12
|
-
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow,
|
|
13
|
-
import { useEffect
|
|
11
|
+
import { Disabled, PanelBody, SelectControl, Spinner, ToggleControl } from '@wordpress/components';
|
|
12
|
+
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
|
|
13
|
+
import { useEffect } from '@wordpress/element';
|
|
14
14
|
import { __, _x } from '@wordpress/i18n';
|
|
15
15
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
16
|
-
import { audio as icon
|
|
17
|
-
import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
16
|
+
import { audio as icon } from '@wordpress/icons';
|
|
18
17
|
import { store as noticesStore } from '@wordpress/notices';
|
|
19
|
-
import { usePrevious } from '@wordpress/compose';
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
20
|
* Internal dependencies
|
|
23
21
|
*/
|
|
24
22
|
import { createUpgradedEmbedBlock } from '../embed/util';
|
|
23
|
+
import { Caption } from '../utils/caption';
|
|
25
24
|
const ALLOWED_MEDIA_TYPES = ['audio'];
|
|
26
25
|
function AudioEdit({
|
|
27
26
|
attributes,
|
|
28
27
|
className,
|
|
29
28
|
setAttributes,
|
|
30
29
|
onReplace,
|
|
31
|
-
isSelected,
|
|
30
|
+
isSelected: isSingleSelected,
|
|
32
31
|
insertBlocksAfter
|
|
33
32
|
}) {
|
|
34
33
|
const {
|
|
35
34
|
id,
|
|
36
35
|
autoplay,
|
|
37
|
-
caption,
|
|
38
36
|
loop,
|
|
39
37
|
preload,
|
|
40
38
|
src
|
|
41
39
|
} = attributes;
|
|
42
|
-
const prevCaption = usePrevious(caption);
|
|
43
|
-
const [showCaption, setShowCaption] = useState(!!caption);
|
|
44
40
|
const isTemporaryAudio = !id && isBlobURL(src);
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
} = select(blockEditorStore);
|
|
49
|
-
return getSettings().mediaUpload;
|
|
50
|
-
}, []);
|
|
41
|
+
const {
|
|
42
|
+
getSettings
|
|
43
|
+
} = useSelect(blockEditorStore);
|
|
51
44
|
useEffect(() => {
|
|
52
45
|
if (!id && isBlobURL(src)) {
|
|
53
46
|
const file = getBlobByURL(src);
|
|
54
47
|
if (file) {
|
|
55
|
-
mediaUpload({
|
|
48
|
+
getSettings().mediaUpload({
|
|
56
49
|
filesList: [file],
|
|
57
50
|
onFileChange: ([media]) => onSelectAudio(media),
|
|
58
51
|
onError: e => onUploadError(e),
|
|
@@ -61,26 +54,6 @@ function AudioEdit({
|
|
|
61
54
|
}
|
|
62
55
|
}
|
|
63
56
|
}, []);
|
|
64
|
-
|
|
65
|
-
// We need to show the caption when changes come from
|
|
66
|
-
// history navigation(undo/redo).
|
|
67
|
-
useEffect(() => {
|
|
68
|
-
if (caption && !prevCaption) {
|
|
69
|
-
setShowCaption(true);
|
|
70
|
-
}
|
|
71
|
-
}, [caption, prevCaption]);
|
|
72
|
-
|
|
73
|
-
// Focus the caption when we click to add one.
|
|
74
|
-
const captionRef = useCallback(node => {
|
|
75
|
-
if (node && !caption) {
|
|
76
|
-
node.focus();
|
|
77
|
-
}
|
|
78
|
-
}, [caption]);
|
|
79
|
-
useEffect(() => {
|
|
80
|
-
if (!isSelected && !caption) {
|
|
81
|
-
setShowCaption(false);
|
|
82
|
-
}
|
|
83
|
-
}, [isSelected, caption]);
|
|
84
57
|
function toggleAttribute(attribute) {
|
|
85
58
|
return newValue => {
|
|
86
59
|
setAttributes({
|
|
@@ -159,21 +132,7 @@ function AudioEdit({
|
|
|
159
132
|
onError: onUploadError
|
|
160
133
|
}));
|
|
161
134
|
}
|
|
162
|
-
return createElement(Fragment, null, createElement(BlockControls, {
|
|
163
|
-
group: "block"
|
|
164
|
-
}, createElement(ToolbarButton, {
|
|
165
|
-
onClick: () => {
|
|
166
|
-
setShowCaption(!showCaption);
|
|
167
|
-
if (showCaption && caption) {
|
|
168
|
-
setAttributes({
|
|
169
|
-
caption: undefined
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
icon: captionIcon,
|
|
174
|
-
isPressed: showCaption,
|
|
175
|
-
label: showCaption ? __('Remove caption') : __('Add caption')
|
|
176
|
-
})), createElement(BlockControls, {
|
|
135
|
+
return createElement(Fragment, null, isSingleSelected && createElement(BlockControls, {
|
|
177
136
|
group: "other"
|
|
178
137
|
}, createElement(MediaReplaceFlow, {
|
|
179
138
|
mediaId: id,
|
|
@@ -221,23 +180,17 @@ function AudioEdit({
|
|
|
221
180
|
}))), createElement("figure", {
|
|
222
181
|
...blockProps
|
|
223
182
|
}, createElement(Disabled, {
|
|
224
|
-
isDisabled: !
|
|
183
|
+
isDisabled: !isSingleSelected
|
|
225
184
|
}, createElement("audio", {
|
|
226
185
|
controls: "controls",
|
|
227
186
|
src: src
|
|
228
|
-
})), isTemporaryAudio && createElement(Spinner, null),
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
value: caption,
|
|
236
|
-
onChange: value => setAttributes({
|
|
237
|
-
caption: value
|
|
238
|
-
}),
|
|
239
|
-
inlineToolbar: true,
|
|
240
|
-
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
|
|
187
|
+
})), isTemporaryAudio && createElement(Spinner, null), createElement(Caption, {
|
|
188
|
+
attributes: attributes,
|
|
189
|
+
setAttributes: setAttributes,
|
|
190
|
+
isSelected: isSingleSelected,
|
|
191
|
+
insertBlocksAfter: insertBlocksAfter,
|
|
192
|
+
label: __('Audio caption text'),
|
|
193
|
+
showToolbarButton: isSingleSelected
|
|
241
194
|
})));
|
|
242
195
|
}
|
|
243
196
|
export default AudioEdit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","getBlobByURL","isBlobURL","Disabled","PanelBody","SelectControl","Spinner","ToggleControl","ToolbarButton","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useEffect","useState","useCallback","__","_x","useDispatch","useSelect","audio","icon","caption","captionIcon","createBlock","getDefaultBlockName","noticesStore","usePrevious","createUpgradedEmbedBlock","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","insertBlocksAfter","id","autoplay","loop","preload","src","prevCaption","showCaption","setShowCaption","isTemporaryAudio","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","captionRef","node","focus","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","url","undefined","createErrorNotice","message","type","getAutoplayHelp","checked","classes","blockProps","createElement","onSelect","accept","value","Fragment","group","onClick","isPressed","label","mediaId","mediaURL","title","__nextHasNoMarginBottom","onChange","help","options","isDisabled","controls","isEmpty","identifier","tagName","ref","placeholder","inlineToolbar","__unstableOnSplitAtEnd"],"sources":["@wordpress/block-library/src/audio/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\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon, caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\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\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\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 } );\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\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed 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\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\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={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\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/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio 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\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t{ showCaption &&\n\t\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","getBlobByURL","isBlobURL","Disabled","PanelBody","SelectControl","Spinner","ToggleControl","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","useEffect","__","_x","useDispatch","useSelect","audio","icon","noticesStore","createUpgradedEmbedBlock","Caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","getSettings","file","mediaUpload","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","url","undefined","createErrorNotice","message","type","getAutoplayHelp","checked","caption","classes","blockProps","createElement","onSelect","accept","value","Fragment","group","mediaId","mediaURL","title","__nextHasNoMarginBottom","label","onChange","help","options","isDisabled","controls","showToolbarButton"],"sources":["@wordpress/block-library/src/audio/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\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! 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\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 ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\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\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\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 } );\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\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed 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\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\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={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\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/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio 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\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <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={ __( 'Audio 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 AudioEdit;\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { TouchableWithoutFeedback } from 'react-native';
|
|
|
9
9
|
*/
|
|
10
10
|
import { View } from '@wordpress/primitives';
|
|
11
11
|
import { PanelBody, SelectControl, ToggleControl, ToolbarButton, ToolbarGroup, AudioPlayer } from '@wordpress/components';
|
|
12
|
-
import { BlockCaption, BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadProgress, store as blockEditorStore } from '@wordpress/block-editor';
|
|
12
|
+
import { BlockCaption, BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadProgress, RichText, store as blockEditorStore } from '@wordpress/block-editor';
|
|
13
13
|
import { __, _x, sprintf } from '@wordpress/i18n';
|
|
14
14
|
import { audio as icon, replace } from '@wordpress/icons';
|
|
15
15
|
import { useState } from '@wordpress/element';
|
|
@@ -194,7 +194,7 @@ function AudioEdit({
|
|
|
194
194
|
}
|
|
195
195
|
}), createElement(BlockCaption, {
|
|
196
196
|
accessible: true,
|
|
197
|
-
accessibilityLabelCreator: caption =>
|
|
197
|
+
accessibilityLabelCreator: caption => RichText.isEmpty(caption) ? /* translators: accessibility text. Empty Audio caption. */
|
|
198
198
|
__('Audio caption. Empty') : sprintf( /* translators: accessibility text. %s: Audio caption. */
|
|
199
199
|
__('Audio caption. %s'), caption),
|
|
200
200
|
clientId: clientId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TouchableWithoutFeedback","View","PanelBody","SelectControl","ToggleControl","ToolbarButton","ToolbarGroup","AudioPlayer","BlockCaption","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadProgress","store","blockEditorStore","__","_x","sprintf","audio","icon","replace","useState","useDispatch","useSelect","noticesStore","isURL","getProtocol","styles","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","setAttributes","isSelected","insertBlocksAfter","onFocus","onBlur","clientId","id","autoplay","loop","preload","src","isCaptionSelected","setIsCaptionSelected","onFileChange","mediaId","mediaUrl","wasBlockJustInserted","select","createErrorNotice","toggleAttribute","attribute","newValue","onSelectURL","newSrc","test","undefined","onSelectAudio","media","url","onAudioPress","onFocusCaption","createElement","onSelect","accept","allowedTypes","value","autoOpenMediaUpload","getBlockControls","open","title","onClick","getBlockUI","getMediaOptions","onFinishMediaUploadWithSuccess","onMediaUploadStateReset","containerStyle","progressContainer","progressBarStyle","progressBar","spinnerStyle","spinner","renderContent","isUploadInProgress","isUploadFailed","retryMessage","Fragment","accessible","onPress","disabled","label","onChange","checked","help","options","hideCancelButton","isReplacingMedia","render","accessibilityLabelCreator","caption"],"sources":["@wordpress/block-library/src/audio/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tAudioPlayer,\n} from '@wordpress/components';\nimport {\n\tBlockCaption,\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { audio as icon, replace } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isURL, getProtocol } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonFocus,\n\tonBlur,\n\tclientId,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\n\tconst onFileChange = ( { mediaId, mediaUrl } ) => {\n\t\tsetAttributes( { id: mediaId, src: mediaUrl } );\n\t};\n\n\tconst { wasBlockJustInserted } = useSelect( ( select ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tif ( isURL( newSrc ) && /^https?:/.test( getProtocol( newSrc ) ) ) {\n\t\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice( __( 'Invalid URL. Audio file not found.' ) );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tfunction onAudioPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction getBlockControls( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Replace audio' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tfunction getBlockUI( open, getMediaOptions ) {\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonFinishMediaUploadWithSuccess={ onFileChange }\n\t\t\t\tonMediaUploadStateReset={ onFileChange }\n\t\t\t\tcontainerStyle={ styles.progressContainer }\n\t\t\t\tprogressBarStyle={ styles.progressBar }\n\t\t\t\tspinnerStyle={ styles.spinner }\n\t\t\t\trenderContent={ ( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isCaptionSelected &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\tgetBlockControls( open ) }\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<AudioPlayer\n\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\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} }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onAudioPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Autoplay may cause usability issues for some users.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Preload',\n\t\t\t\t\t\t\t\t'noun; Audio block parameter'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\t\tlabel: _x( 'None', '\"Preload\" value' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\treturn getBlockUI( open, getMediaOptions );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\t! caption\n\t\t\t\t\t\t\t? /* translators: accessibility text. Empty Audio caption. */\n\t\t\t\t\t\t\t __( 'Audio caption. Empty' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: Audio caption. */\n\t\t\t\t\t\t\t\t\t__( 'Audio caption. %s' ),\n\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\nexport default AudioEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["TouchableWithoutFeedback","View","PanelBody","SelectControl","ToggleControl","ToolbarButton","ToolbarGroup","AudioPlayer","BlockCaption","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadProgress","RichText","store","blockEditorStore","__","_x","sprintf","audio","icon","replace","useState","useDispatch","useSelect","noticesStore","isURL","getProtocol","styles","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","setAttributes","isSelected","insertBlocksAfter","onFocus","onBlur","clientId","id","autoplay","loop","preload","src","isCaptionSelected","setIsCaptionSelected","onFileChange","mediaId","mediaUrl","wasBlockJustInserted","select","createErrorNotice","toggleAttribute","attribute","newValue","onSelectURL","newSrc","test","undefined","onSelectAudio","media","url","onAudioPress","onFocusCaption","createElement","onSelect","accept","allowedTypes","value","autoOpenMediaUpload","getBlockControls","open","title","onClick","getBlockUI","getMediaOptions","onFinishMediaUploadWithSuccess","onMediaUploadStateReset","containerStyle","progressContainer","progressBarStyle","progressBar","spinnerStyle","spinner","renderContent","isUploadInProgress","isUploadFailed","retryMessage","Fragment","accessible","onPress","disabled","label","onChange","checked","help","options","hideCancelButton","isReplacingMedia","render","accessibilityLabelCreator","caption","isEmpty"],"sources":["@wordpress/block-library/src/audio/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tAudioPlayer,\n} from '@wordpress/components';\nimport {\n\tBlockCaption,\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { audio as icon, replace } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isURL, getProtocol } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonFocus,\n\tonBlur,\n\tclientId,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\n\tconst onFileChange = ( { mediaId, mediaUrl } ) => {\n\t\tsetAttributes( { id: mediaId, src: mediaUrl } );\n\t};\n\n\tconst { wasBlockJustInserted } = useSelect( ( select ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tif ( isURL( newSrc ) && /^https?:/.test( getProtocol( newSrc ) ) ) {\n\t\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice( __( 'Invalid URL. Audio file not found.' ) );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tfunction onAudioPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction getBlockControls( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Replace audio' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tfunction getBlockUI( open, getMediaOptions ) {\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonFinishMediaUploadWithSuccess={ onFileChange }\n\t\t\t\tonMediaUploadStateReset={ onFileChange }\n\t\t\t\tcontainerStyle={ styles.progressContainer }\n\t\t\t\tprogressBarStyle={ styles.progressBar }\n\t\t\t\tspinnerStyle={ styles.spinner }\n\t\t\t\trenderContent={ ( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isCaptionSelected &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\tgetBlockControls( open ) }\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<AudioPlayer\n\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\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} }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onAudioPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Autoplay may cause usability issues for some users.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Preload',\n\t\t\t\t\t\t\t\t'noun; Audio block parameter'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\t\tlabel: _x( 'None', '\"Preload\" value' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\treturn getBlockUI( open, getMediaOptions );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t? /* translators: accessibility text. Empty Audio caption. */\n\t\t\t\t\t\t\t __( 'Audio caption. Empty' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: Audio caption. */\n\t\t\t\t\t\t\t\t\t__( 'Audio caption. %s' ),\n\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\nexport default AudioEdit;\n"],"mappings":"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"}
|