@wordpress/block-library 5.0.1 → 6.0.1
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 +6 -0
- package/README.md +1 -1
- package/build/audio/edit.js +2 -2
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +2 -2
- package/build/audio/edit.native.js.map +1 -1
- package/build/button/edit.js +97 -87
- package/build/button/edit.js.map +1 -1
- package/build/button/edit.native.js +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/button/index.js +4 -1
- package/build/button/index.js.map +1 -1
- package/build/buttons/edit.js +2 -1
- package/build/buttons/edit.js.map +1 -1
- package/build/buttons/index.js +2 -1
- package/build/buttons/index.js.map +1 -1
- package/build/buttons/transforms.js +2 -1
- package/build/buttons/transforms.js.map +1 -1
- package/build/column/index.js +4 -1
- package/build/column/index.js.map +1 -1
- package/build/column/save.js +9 -1
- package/build/column/save.js.map +1 -1
- package/build/columns/edit.native.js +5 -2
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/index.js +10 -1
- package/build/columns/index.js.map +1 -1
- package/build/cover/deprecated.js +0 -27
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit.js +57 -27
- package/build/cover/edit.js.map +1 -1
- package/build/cover/index.js +11 -1
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +2 -1
- package/build/cover/save.js.map +1 -1
- package/build/cover/shared.js +1 -0
- package/build/cover/shared.js.map +1 -1
- package/build/cover/transforms.js +4 -0
- package/build/cover/transforms.js.map +1 -1
- package/build/embed/edit.js +1 -5
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +85 -22
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/embed-bottom-sheet.native.js +17 -16
- package/build/embed/embed-bottom-sheet.native.js.map +1 -1
- package/build/embed/embed-controls.js +4 -1
- package/build/embed/embed-controls.js.map +1 -1
- package/build/embed/embed-no-preview.native.js +22 -9
- package/build/embed/embed-no-preview.native.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +51 -7
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/embed/embed-preview.native.js +28 -10
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/embed/variations.js +0 -10
- package/build/embed/variations.js.map +1 -1
- package/build/embed/wp-embed-preview.js +44 -56
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/embed/wp-embed-preview.native.js +95 -0
- package/build/embed/wp-embed-preview.native.js.map +1 -0
- package/build/file/deprecated.js +108 -0
- package/build/file/deprecated.js.map +1 -0
- package/build/file/edit.js +8 -1
- package/build/file/edit.js.map +1 -1
- package/build/file/index.js +9 -0
- package/build/file/index.js.map +1 -1
- package/build/file/inspector.js +1 -1
- package/build/file/inspector.js.map +1 -1
- package/build/file/save.js +4 -1
- package/build/file/save.js.map +1 -1
- package/build/file/transforms.js +3 -1
- package/build/file/transforms.js.map +1 -1
- package/build/gallery/constants.js +2 -2
- package/build/gallery/constants.js.map +1 -1
- package/build/gallery/deprecated.js +17 -8
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit-wrapper.js +63 -0
- package/build/gallery/edit-wrapper.js.map +1 -0
- package/build/gallery/edit.js +225 -231
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +67 -49
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +42 -79
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/index.js +31 -7
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/save.js +26 -43
- package/build/gallery/save.js.map +1 -1
- package/build/gallery/shared.js +9 -2
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +211 -12
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-media.js +58 -0
- package/build/gallery/use-get-media.js.map +1 -0
- package/build/gallery/use-get-new-images.js +58 -0
- package/build/gallery/use-get-new-images.js.map +1 -0
- package/build/gallery/use-image-sizes.js +73 -0
- package/build/gallery/use-image-sizes.js.map +1 -0
- package/build/gallery/use-short-code-transform.js +63 -0
- package/build/gallery/use-short-code-transform.js.map +1 -0
- package/build/gallery/utils.js +51 -0
- package/build/gallery/utils.js.map +1 -0
- package/build/gallery/v1/constants.js +13 -0
- package/build/gallery/v1/constants.js.map +1 -0
- package/build/gallery/v1/edit.js +459 -0
- package/build/gallery/v1/edit.js.map +1 -0
- package/build/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/build/gallery/v1/gallery-button.native.js.map +1 -0
- package/build/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/build/gallery/v1/gallery-image.js.map +1 -0
- package/build/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/build/gallery/v1/gallery-image.native.js.map +1 -0
- package/build/gallery/v1/gallery.js +122 -0
- package/build/gallery/v1/gallery.js.map +1 -0
- package/build/gallery/v1/gallery.native.js +159 -0
- package/build/gallery/v1/gallery.native.js.map +1 -0
- package/build/gallery/v1/save.js +75 -0
- package/build/gallery/v1/save.js.map +1 -0
- package/build/gallery/v1/shared.js +26 -0
- package/build/gallery/v1/shared.js.map +1 -0
- package/build/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/build/gallery/v1/tiles.native.js.map +1 -0
- package/build/gallery/v1/update-gallery-modal.js +110 -0
- package/build/gallery/v1/update-gallery-modal.js.map +1 -0
- package/build/group/edit.js +21 -5
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +8 -2
- package/build/group/index.js.map +1 -1
- package/build/group/variations.js +31 -0
- package/build/group/variations.js.map +1 -0
- package/build/heading/heading-level-dropdown.js +11 -37
- package/build/heading/heading-level-dropdown.js.map +1 -1
- package/build/home-link/edit.js +2 -2
- package/build/home-link/edit.js.map +1 -1
- package/build/image/edit.js +8 -6
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +46 -17
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +11 -17
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +1 -0
- package/build/image/index.js.map +1 -1
- package/build/image/transforms.js +30 -7
- package/build/image/transforms.js.map +1 -1
- package/build/image/utils.js +23 -0
- package/build/image/utils.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +7 -1
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +12 -6
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/media-text/edit.js +1 -1
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +2 -0
- package/build/media-text/index.js.map +1 -1
- package/build/navigation/block-navigation-list.js +14 -3
- package/build/navigation/block-navigation-list.js.map +1 -1
- package/build/navigation/edit.js +44 -14
- package/build/navigation/edit.js.map +1 -1
- package/build/navigation/index.js +7 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/menu-items-to-blocks.js +6 -5
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation/placeholder-preview.js +3 -3
- package/build/navigation/placeholder-preview.js.map +1 -1
- package/build/navigation/placeholder.js +1 -1
- package/build/navigation/placeholder.js.map +1 -1
- package/build/navigation/use-block-navigator.js +2 -1
- package/build/navigation/use-block-navigator.js.map +1 -1
- package/build/navigation/variations.js +2 -3
- package/build/navigation/variations.js.map +1 -1
- package/build/navigation/view.js +53 -1
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +56 -72
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +6 -2
- package/build/navigation-link/index.js.map +1 -1
- package/build/navigation-link/transforms.js +83 -0
- package/build/navigation-link/transforms.js.map +1 -0
- package/build/navigation-submenu/edit.js +651 -0
- package/build/navigation-submenu/edit.js.map +1 -0
- package/build/navigation-submenu/icons.js +27 -0
- package/build/navigation-submenu/icons.js.map +1 -0
- package/build/navigation-submenu/index.js +89 -0
- package/build/navigation-submenu/index.js.map +1 -0
- package/build/navigation-submenu/save.js +18 -0
- package/build/navigation-submenu/save.js.map +1 -0
- package/build/navigation-submenu/transforms.js +82 -0
- package/build/navigation-submenu/transforms.js.map +1 -0
- package/build/navigation-submenu/view.js +51 -0
- package/build/navigation-submenu/view.js.map +1 -0
- package/build/page-list/convert-to-links-modal.js +19 -1
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/edit.js +16 -5
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +10 -1
- package/build/page-list/index.js.map +1 -1
- package/build/post-author/index.js +2 -1
- package/build/post-author/index.js.map +1 -1
- package/build/post-comment/edit.js +7 -4
- package/build/post-comment/edit.js.map +1 -1
- package/build/post-comment-author/edit.js +1 -1
- package/build/post-comment-author/edit.js.map +1 -1
- package/build/post-comment-content/edit.js +16 -12
- package/build/post-comment-content/edit.js.map +1 -1
- package/build/post-content/edit.js +1 -3
- package/build/post-content/edit.js.map +1 -1
- package/build/post-date/edit.js +35 -14
- package/build/post-date/edit.js.map +1 -1
- package/build/post-date/index.js +2 -1
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/edit.js +2 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +24 -10
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/index.js +5 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +19 -3
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/index.js +9 -1
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-template/index.js +5 -2
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/edit.js +4 -2
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/index.js +2 -1
- package/build/post-terms/index.js.map +1 -1
- package/build/post-title/edit.js +3 -3
- package/build/post-title/edit.js.map +1 -1
- package/build/post-title/index.js +4 -1
- package/build/post-title/index.js.map +1 -1
- package/build/query/edit/index.js +3 -1
- package/build/query/edit/index.js.map +1 -1
- package/build/query/variations.js +4 -4
- package/build/query/variations.js.map +1 -1
- package/build/query-pagination/deprecated.js +24 -0
- package/build/query-pagination/deprecated.js.map +1 -0
- package/build/query-pagination/edit.js +54 -3
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination/index.js +20 -1
- package/build/query-pagination/index.js.map +1 -1
- package/build/query-pagination/query-pagination-arrow-controls.js +38 -0
- package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -0
- package/build/query-pagination/save.js +1 -1
- package/build/query-pagination/save.js.map +1 -1
- package/build/query-pagination-next/edit.js +19 -4
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-next/index.js +1 -1
- package/build/query-pagination-previous/edit.js +19 -4
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/query-pagination-previous/index.js +1 -1
- package/build/site-logo/edit.js +75 -30
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +7 -2
- package/build/site-logo/index.js.map +1 -1
- package/build/site-tagline/index.js +1 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/edit/index.js +25 -6
- package/build/site-title/edit/index.js.map +1 -1
- package/build/site-title/index.js +9 -2
- package/build/site-title/index.js.map +1 -1
- package/build/social-links/deprecated.js +106 -2
- package/build/social-links/deprecated.js.map +1 -1
- package/build/social-links/edit.js +15 -19
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/index.js +16 -1
- package/build/social-links/index.js.map +1 -1
- package/build/social-links/save.js +1 -3
- package/build/social-links/save.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/template-part/edit/advanced-controls.js +3 -1
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +1 -4
- package/build/template-part/edit/index.js.map +1 -1
- package/build/video/edit-common-settings.js +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +10 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +3 -1
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/audio/edit.js +3 -3
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +3 -3
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/button/edit.js +101 -91
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/edit.native.js +2 -2
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/button/index.js +4 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/buttons/edit.js +2 -1
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/buttons/index.js +2 -1
- package/build-module/buttons/index.js.map +1 -1
- package/build-module/buttons/transforms.js +2 -1
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/column/index.js +4 -1
- package/build-module/column/index.js.map +1 -1
- package/build-module/column/save.js +9 -1
- package/build-module/column/save.js.map +1 -1
- package/build-module/columns/edit.native.js +6 -3
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/columns/index.js +10 -1
- package/build-module/columns/index.js.map +1 -1
- package/build-module/cover/deprecated.js +0 -27
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit.js +57 -28
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/cover/index.js +11 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +2 -1
- package/build-module/cover/save.js.map +1 -1
- package/build-module/cover/shared.js +1 -0
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/cover/transforms.js +4 -0
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/embed/edit.js +1 -5
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +87 -25
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/embed-bottom-sheet.native.js +18 -16
- package/build-module/embed/embed-bottom-sheet.native.js.map +1 -1
- package/build-module/embed/embed-controls.js +4 -1
- package/build-module/embed/embed-controls.js.map +1 -1
- package/build-module/embed/embed-no-preview.native.js +22 -10
- package/build-module/embed/embed-no-preview.native.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +51 -8
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/embed/embed-preview.native.js +26 -11
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/embed/variations.js +0 -10
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/embed/wp-embed-preview.js +39 -56
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/embed/wp-embed-preview.native.js +83 -0
- package/build-module/embed/wp-embed-preview.native.js.map +1 -0
- package/build-module/file/deprecated.js +98 -0
- package/build-module/file/deprecated.js.map +1 -0
- package/build-module/file/edit.js +8 -1
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/index.js +8 -0
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/inspector.js +1 -1
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/file/save.js +4 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/file/transforms.js +2 -1
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/gallery/constants.js +2 -2
- package/build-module/gallery/constants.js.map +1 -1
- package/build-module/gallery/deprecated.js +15 -7
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit-wrapper.js +50 -0
- package/build-module/gallery/edit-wrapper.js.map +1 -0
- package/build-module/gallery/edit.js +222 -234
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +70 -51
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gallery.native.js +43 -78
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/index.js +30 -6
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/save.js +24 -43
- package/build-module/gallery/save.js.map +1 -1
- package/build-module/gallery/shared.js +8 -2
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +207 -12
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-media.js +48 -0
- package/build-module/gallery/use-get-media.js.map +1 -0
- package/build-module/gallery/use-get-new-images.js +50 -0
- package/build-module/gallery/use-get-new-images.js.map +1 -0
- package/build-module/gallery/use-image-sizes.js +64 -0
- package/build-module/gallery/use-image-sizes.js.map +1 -0
- package/build-module/gallery/use-short-code-transform.js +53 -0
- package/build-module/gallery/use-short-code-transform.js.map +1 -0
- package/build-module/gallery/utils.js +42 -0
- package/build-module/gallery/utils.js.map +1 -0
- package/build-module/gallery/v1/constants.js +4 -0
- package/build-module/gallery/v1/constants.js.map +1 -0
- package/build-module/gallery/v1/edit.js +430 -0
- package/build-module/gallery/v1/edit.js.map +1 -0
- package/build-module/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/build-module/gallery/v1/gallery-button.native.js.map +1 -0
- package/build-module/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/build-module/gallery/v1/gallery-image.js.map +1 -0
- package/build-module/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/build-module/gallery/v1/gallery-image.native.js.map +1 -0
- package/build-module/gallery/v1/gallery.js +102 -0
- package/build-module/gallery/v1/gallery.js.map +1 -0
- package/build-module/gallery/v1/gallery.native.js +136 -0
- package/build-module/gallery/v1/gallery.native.js.map +1 -0
- package/build-module/gallery/v1/save.js +65 -0
- package/build-module/gallery/v1/save.js.map +1 -0
- package/build-module/gallery/v1/shared.js +16 -0
- package/build-module/gallery/v1/shared.js.map +1 -0
- package/build-module/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/build-module/gallery/v1/tiles.native.js.map +1 -0
- package/build-module/gallery/v1/update-gallery-modal.js +93 -0
- package/build-module/gallery/v1/update-gallery-modal.js.map +1 -0
- package/build-module/group/edit.js +21 -6
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +7 -2
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/variations.js +22 -0
- package/build-module/group/variations.js.map +1 -0
- package/build-module/heading/heading-level-dropdown.js +12 -37
- package/build-module/heading/heading-level-dropdown.js.map +1 -1
- package/build-module/home-link/edit.js +2 -2
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/image/edit.js +8 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +48 -19
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +11 -15
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +1 -0
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/transforms.js +26 -7
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/image/utils.js +22 -1
- package/build-module/image/utils.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +7 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +12 -6
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/media-text/edit.js +1 -1
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +2 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/navigation/block-navigation-list.js +15 -3
- package/build-module/navigation/block-navigation-list.js.map +1 -1
- package/build-module/navigation/edit.js +45 -15
- package/build-module/navigation/edit.js.map +1 -1
- package/build-module/navigation/index.js +7 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/menu-items-to-blocks.js +6 -5
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation/placeholder-preview.js +3 -3
- package/build-module/navigation/placeholder-preview.js.map +1 -1
- package/build-module/navigation/placeholder.js +1 -1
- package/build-module/navigation/placeholder.js.map +1 -1
- package/build-module/navigation/use-block-navigator.js +2 -1
- package/build-module/navigation/use-block-navigator.js.map +1 -1
- package/build-module/navigation/variations.js +2 -3
- package/build-module/navigation/variations.js.map +1 -1
- package/build-module/navigation/view.js +53 -2
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +59 -74
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +5 -2
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/navigation-link/transforms.js +74 -0
- package/build-module/navigation-link/transforms.js.map +1 -0
- package/build-module/navigation-submenu/edit.js +628 -0
- package/build-module/navigation-submenu/edit.js.map +1 -0
- package/build-module/navigation-submenu/icons.js +17 -0
- package/build-module/navigation-submenu/icons.js.map +1 -0
- package/build-module/navigation-submenu/index.js +74 -0
- package/build-module/navigation-submenu/index.js.map +1 -0
- package/build-module/navigation-submenu/save.js +10 -0
- package/build-module/navigation-submenu/save.js.map +1 -0
- package/build-module/navigation-submenu/transforms.js +73 -0
- package/build-module/navigation-submenu/transforms.js.map +1 -0
- package/build-module/navigation-submenu/view.js +49 -0
- package/build-module/navigation-submenu/view.js.map +1 -0
- package/build-module/page-list/convert-to-links-modal.js +19 -1
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/edit.js +16 -5
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +10 -1
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/post-author/index.js +2 -1
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-comment/edit.js +8 -6
- package/build-module/post-comment/edit.js.map +1 -1
- package/build-module/post-comment-author/edit.js +1 -1
- package/build-module/post-comment-author/edit.js.map +1 -1
- package/build-module/post-comment-content/edit.js +16 -13
- package/build-module/post-comment-content/edit.js.map +1 -1
- package/build-module/post-content/edit.js +1 -3
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-date/edit.js +36 -16
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-date/index.js +2 -1
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +2 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +22 -11
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/index.js +5 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +19 -3
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/index.js +9 -1
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-template/index.js +6 -3
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/edit.js +5 -3
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/index.js +2 -1
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-title/edit.js +3 -3
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/post-title/index.js +4 -1
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/query/edit/index.js +4 -2
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/variations.js +4 -4
- package/build-module/query/variations.js.map +1 -1
- package/build-module/query-pagination/deprecated.js +15 -0
- package/build-module/query-pagination/deprecated.js.map +1 -0
- package/build-module/query-pagination/edit.js +52 -5
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination/index.js +19 -1
- package/build-module/query-pagination/index.js.map +1 -1
- package/build-module/query-pagination/query-pagination-arrow-controls.js +29 -0
- package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -0
- package/build-module/query-pagination/save.js +2 -2
- package/build-module/query-pagination/save.js.map +1 -1
- package/build-module/query-pagination-next/edit.js +18 -4
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-next/index.js +1 -1
- package/build-module/query-pagination-previous/edit.js +18 -4
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/query-pagination-previous/index.js +1 -1
- package/build-module/site-logo/edit.js +79 -34
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +7 -2
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/edit/index.js +25 -7
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/site-title/index.js +9 -2
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-links/deprecated.js +106 -2
- package/build-module/social-links/deprecated.js.map +1 -1
- package/build-module/social-links/edit.js +16 -20
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/index.js +16 -1
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/social-links/save.js +1 -3
- package/build-module/social-links/save.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/template-part/edit/advanced-controls.js +4 -2
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -4
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/video/edit-common-settings.js +2 -2
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +10 -5
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +2 -1
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/button/style-rtl.css +1 -1
- package/build-style/button/style.css +1 -1
- package/build-style/columns/editor-rtl.css +2 -2
- package/build-style/columns/editor.css +2 -2
- package/build-style/columns/style-rtl.css +4 -4
- package/build-style/columns/style.css +4 -4
- package/build-style/common-rtl.css +4 -105
- package/build-style/common.css +4 -105
- package/build-style/editor-rtl.css +188 -205
- package/build-style/editor.css +188 -205
- package/build-style/embed/style-rtl.css +1 -0
- package/build-style/embed/style.css +1 -0
- package/build-style/gallery/editor-rtl.css +89 -21
- package/build-style/gallery/editor.css +89 -21
- package/build-style/gallery/style-rtl.css +202 -39
- package/build-style/gallery/style.css +202 -39
- package/build-style/group/theme-rtl.css +1 -3
- package/build-style/group/theme.css +1 -3
- package/build-style/heading/style-rtl.css +8 -0
- package/build-style/heading/style.css +8 -0
- package/build-style/html/editor-rtl.css +12 -11
- package/build-style/html/editor.css +12 -11
- package/build-style/list/style-rtl.css +4 -0
- package/build-style/list/style.css +4 -0
- package/build-style/navigation/editor-rtl.css +12 -7
- package/build-style/navigation/editor.css +12 -7
- package/build-style/navigation/style-rtl.css +140 -134
- package/build-style/navigation/style.css +140 -134
- package/build-style/navigation-link/editor-rtl.css +22 -13
- package/build-style/navigation-link/editor.css +22 -13
- package/build-style/{post-content → navigation-submenu}/editor-rtl.css +29 -8
- package/build-style/{post-content → navigation-submenu}/editor.css +29 -8
- package/build-style/{heading/editor.css → navigation-submenu/style-rtl.css} +13 -7
- package/build-style/{heading/editor-rtl.css → navigation-submenu/style.css} +13 -7
- package/build-style/page-list/editor-rtl.css +8 -0
- package/build-style/page-list/editor.css +8 -0
- package/build-style/page-list/style-rtl.css +2 -8
- package/build-style/page-list/style.css +2 -8
- package/build-style/paragraph/style-rtl.css +5 -1
- package/build-style/paragraph/style.css +5 -1
- package/build-style/post-featured-image/editor-rtl.css +4 -8
- package/build-style/post-featured-image/editor.css +4 -8
- package/build-style/post-featured-image/style-rtl.css +1 -0
- package/build-style/post-featured-image/style.css +1 -0
- package/build-style/post-template/style-rtl.css +2 -0
- package/build-style/post-template/style.css +2 -0
- package/build-style/pullquote/style-rtl.css +1 -0
- package/build-style/pullquote/style.css +1 -0
- package/build-style/query-pagination/editor-rtl.css +2 -5
- package/build-style/query-pagination/editor.css +2 -5
- package/build-style/query-pagination/style-rtl.css +17 -6
- package/build-style/query-pagination/style.css +17 -6
- package/build-style/quote/style-rtl.css +3 -0
- package/build-style/quote/style.css +3 -0
- package/build-style/reset-rtl.css +2 -1
- package/build-style/reset.css +2 -1
- package/build-style/social-links/style-rtl.css +0 -5
- package/build-style/social-links/style.css +0 -5
- package/build-style/style-rtl.css +415 -307
- package/build-style/style.css +415 -307
- package/build-style/theme-rtl.css +1 -11
- package/build-style/theme.css +1 -11
- package/package.json +30 -31
- package/src/audio/edit.js +6 -3
- package/src/audio/edit.native.js +9 -3
- package/src/button/block.json +4 -1
- package/src/button/edit.js +107 -115
- package/src/button/edit.native.js +5 -2
- package/src/button/style.scss +1 -1
- package/src/buttons/block.json +2 -1
- package/src/buttons/edit.js +1 -1
- package/src/column/block.json +4 -1
- package/src/column/save.js +11 -1
- package/src/columns/block.json +8 -1
- package/src/columns/edit.native.js +8 -3
- package/src/columns/editor.scss +2 -2
- package/src/columns/index.js +1 -0
- package/src/columns/style.scss +4 -4
- package/src/common.scss +3 -9
- package/src/cover/block.json +11 -1
- package/src/cover/deprecated.js +0 -27
- package/src/cover/edit.js +82 -32
- package/src/cover/save.js +2 -1
- package/src/cover/shared.js +1 -0
- package/src/cover/transforms.js +4 -2
- package/src/editor.scss +4 -20
- package/src/embed/edit.js +1 -11
- package/src/embed/edit.native.js +120 -32
- package/src/embed/embed-bottom-sheet.native.js +26 -20
- package/src/embed/embed-controls.js +10 -1
- package/src/embed/embed-no-preview.native.js +53 -14
- package/src/embed/embed-placeholder.native.js +58 -9
- package/src/embed/embed-preview.native.js +58 -41
- package/src/embed/style.scss +1 -0
- package/src/embed/styles.native.scss +18 -8
- package/src/embed/variations.js +0 -8
- package/src/embed/wp-embed-preview.js +41 -62
- package/src/embed/wp-embed-preview.native.js +80 -0
- package/src/file/block.json +6 -0
- package/src/file/deprecated.js +123 -0
- package/src/file/edit.js +6 -0
- package/src/file/index.js +2 -0
- package/src/file/inspector.js +12 -10
- package/src/file/save.js +3 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +4 -0
- package/src/file/transforms.js +3 -1
- package/src/gallery/block.json +18 -0
- package/src/gallery/constants.js +2 -2
- package/src/gallery/deprecated.js +15 -7
- package/src/gallery/deprecated.scss +132 -0
- package/src/gallery/edit-wrapper.js +47 -0
- package/src/gallery/edit.js +317 -276
- package/src/gallery/editor.scss +106 -22
- package/src/gallery/gallery-styles.native.scss +4 -2
- package/src/gallery/gallery.js +82 -71
- package/src/gallery/gallery.native.js +49 -85
- package/src/gallery/index.js +12 -6
- package/src/gallery/save.js +20 -60
- package/src/gallery/shared.js +9 -2
- package/src/gallery/style.scss +113 -75
- package/src/gallery/transforms.js +212 -11
- package/src/gallery/use-get-media.js +59 -0
- package/src/gallery/use-get-new-images.js +68 -0
- package/src/gallery/use-image-sizes.js +66 -0
- package/src/gallery/use-short-code-transform.js +52 -0
- package/src/gallery/utils.js +46 -0
- package/src/gallery/v1/constants.js +3 -0
- package/src/gallery/v1/edit.js +509 -0
- package/src/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/src/gallery/{gallery-image-style.native.scss → v1/gallery-image-style.native.scss} +0 -0
- package/src/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/src/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/src/gallery/v1/gallery-styles.native.scss +8 -0
- package/src/gallery/v1/gallery.js +119 -0
- package/src/gallery/v1/gallery.native.js +162 -0
- package/src/gallery/v1/save.js +81 -0
- package/src/gallery/v1/shared.js +19 -0
- package/src/gallery/{tiles-styles.native.scss → v1/tiles-styles.native.scss} +0 -0
- package/src/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/src/gallery/v1/update-gallery-modal.js +97 -0
- package/src/group/block.json +4 -1
- package/src/group/edit.js +31 -7
- package/src/group/index.js +2 -0
- package/src/group/theme.scss +1 -3
- package/src/group/variations.js +18 -0
- package/src/heading/heading-level-dropdown.js +26 -58
- package/src/heading/style.scss +3 -0
- package/src/home-link/edit.js +2 -2
- package/src/home-link/index.php +2 -2
- package/src/html/editor.scss +16 -10
- package/src/image/block.json +1 -0
- package/src/image/edit.js +9 -7
- package/src/image/edit.native.js +75 -35
- package/src/image/image.js +10 -14
- package/src/image/styles.native.scss +5 -0
- package/src/image/transforms.js +32 -9
- package/src/image/utils.js +17 -1
- package/src/index.js +2 -0
- package/src/latest-comments/edit.js +4 -0
- package/src/latest-comments/index.php +2 -1
- package/src/latest-posts/edit.native.js +10 -8
- package/src/list/style.scss +8 -3
- package/src/media-text/edit.js +1 -1
- package/src/media-text/index.js +1 -0
- package/src/navigation/block-navigation-list.js +16 -7
- package/src/navigation/block.json +7 -1
- package/src/navigation/edit.js +60 -17
- package/src/navigation/editor.scss +38 -19
- package/src/navigation/index.php +12 -4
- package/src/navigation/menu-items-to-blocks.js +8 -7
- package/src/navigation/placeholder-preview.js +3 -3
- package/src/navigation/placeholder.js +1 -1
- package/src/navigation/style.scss +191 -145
- package/src/navigation/test/menu-items-to-blocks.js +6 -6
- package/src/navigation/use-block-navigator.js +1 -0
- package/src/navigation/variations.js +2 -3
- package/src/navigation/view.js +74 -4
- package/src/navigation-link/block.json +2 -1
- package/src/navigation-link/edit.js +63 -90
- package/src/navigation-link/editor.scss +30 -15
- package/src/navigation-link/index.js +2 -0
- package/src/navigation-link/index.php +8 -8
- package/src/navigation-link/transforms.js +93 -0
- package/src/navigation-submenu/block.json +65 -0
- package/src/navigation-submenu/edit.js +662 -0
- package/src/navigation-submenu/editor.scss +42 -0
- package/src/navigation-submenu/icons.js +16 -0
- package/src/navigation-submenu/index.js +29 -0
- package/src/navigation-submenu/index.php +299 -0
- package/src/navigation-submenu/save.js +8 -0
- package/src/navigation-submenu/style.scss +20 -0
- package/src/navigation-submenu/transforms.js +58 -0
- package/src/navigation-submenu/view.js +62 -0
- package/src/page-list/block.json +11 -1
- package/src/page-list/convert-to-links-modal.js +20 -0
- package/src/page-list/edit.js +18 -4
- package/src/page-list/editor.scss +14 -0
- package/src/page-list/index.php +48 -12
- package/src/page-list/style.scss +2 -14
- package/src/page-list/test/convert-to-links-modal.js +6 -6
- package/src/paragraph/style.scss +10 -1
- package/src/post-author/block.json +2 -1
- package/src/post-comment/edit.js +14 -7
- package/src/post-comment-author/edit.js +13 -10
- package/src/post-comment-content/edit.js +17 -9
- package/src/post-comment-content/index.php +6 -3
- package/src/post-content/edit.js +1 -3
- package/src/post-date/block.json +2 -1
- package/src/post-date/edit.js +36 -22
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-featured-image/block.json +5 -0
- package/src/post-featured-image/dimension-controls.js +43 -35
- package/src/post-featured-image/editor.scss +4 -9
- package/src/post-featured-image/style.scss +1 -0
- package/src/post-navigation-link/block.json +9 -1
- package/src/post-navigation-link/edit.js +29 -2
- package/src/post-navigation-link/index.php +28 -3
- package/src/post-template/block.json +4 -1
- package/src/post-template/index.js +2 -2
- package/src/post-template/index.php +11 -0
- package/src/post-template/style.scss +2 -0
- package/src/post-terms/block.json +2 -1
- package/src/post-terms/edit.js +4 -5
- package/src/post-title/block.json +4 -1
- package/src/post-title/edit.js +4 -6
- package/src/post-title/index.php +1 -1
- package/src/pullquote/style.scss +1 -0
- package/src/query/edit/index.js +3 -3
- package/src/query/variations.js +4 -0
- package/src/query-pagination/block.json +16 -0
- package/src/query-pagination/deprecated.js +19 -0
- package/src/query-pagination/edit.js +58 -3
- package/src/query-pagination/editor.scss +3 -6
- package/src/query-pagination/index.js +2 -0
- package/src/query-pagination/index.php +24 -1
- package/src/query-pagination/query-pagination-arrow-controls.js +44 -0
- package/src/query-pagination/save.js +2 -6
- package/src/query-pagination/style.scss +22 -5
- package/src/query-pagination-next/block.json +1 -1
- package/src/query-pagination-next/edit.js +30 -8
- package/src/query-pagination-next/index.php +5 -1
- package/src/query-pagination-previous/block.json +1 -1
- package/src/query-pagination-previous/edit.js +30 -8
- package/src/query-pagination-previous/index.php +5 -1
- package/src/quote/style.scss +2 -0
- package/src/reset.scss +2 -1
- package/src/search/index.php +12 -15
- package/src/search/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/site-logo/block.json +7 -2
- package/src/site-logo/edit.js +98 -30
- package/src/site-logo/index.php +31 -2
- package/src/site-tagline/block.json +1 -0
- package/src/site-title/block.json +9 -2
- package/src/site-title/edit/index.js +36 -9
- package/src/site-title/index.php +12 -2
- package/src/social-links/block.json +22 -1
- package/src/social-links/deprecated.js +99 -0
- package/src/social-links/edit.js +13 -24
- package/src/social-links/save.js +1 -7
- package/src/social-links/style.scss +0 -8
- package/src/style.scss +1 -5
- package/src/table/block.json +1 -1
- package/src/template-part/edit/advanced-controls.js +3 -3
- package/src/template-part/edit/index.js +0 -3
- package/src/template-part/index.php +1 -1
- package/src/theme.scss +0 -10
- package/src/video/edit-common-settings.js +2 -2
- package/src/video/edit.js +15 -5
- package/src/video/tracks-editor.js +2 -3
- package/build/embed/embed-controls.native.js +0 -32
- package/build/embed/embed-controls.native.js.map +0 -1
- package/build/embed/variations.native.js +0 -10
- package/build/embed/variations.native.js.map +0 -1
- package/build/gallery/gallery-button.native.js.map +0 -1
- package/build/gallery/gallery-image.js.map +0 -1
- package/build/gallery/gallery-image.native.js.map +0 -1
- package/build/gallery/tiles.native.js.map +0 -1
- package/build/image/image-editing/aspect-ratio-dropdown.js +0 -126
- package/build/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
- package/build/image/image-editing/constants.js +0 -16
- package/build/image/image-editing/constants.js.map +0 -1
- package/build/image/image-editing/context.js +0 -59
- package/build/image/image-editing/context.js.map +0 -1
- package/build/image/image-editing/cropper.js +0 -83
- package/build/image/image-editing/cropper.js.map +0 -1
- package/build/image/image-editing/form-controls.js +0 -36
- package/build/image/image-editing/form-controls.js.map +0 -1
- package/build/image/image-editing/index.js +0 -60
- package/build/image/image-editing/index.js.map +0 -1
- package/build/image/image-editing/rotation-button.js +0 -37
- package/build/image/image-editing/rotation-button.js.map +0 -1
- package/build/image/image-editing/use-save-image.js +0 -84
- package/build/image/image-editing/use-save-image.js.map +0 -1
- package/build/image/image-editing/use-transform-image.js +0 -135
- package/build/image/image-editing/use-transform-image.js.map +0 -1
- package/build/image/image-editing/zoom-dropdown.js +0 -55
- package/build/image/image-editing/zoom-dropdown.js.map +0 -1
- package/build-module/embed/embed-controls.native.js +0 -21
- package/build-module/embed/embed-controls.native.js.map +0 -1
- package/build-module/embed/variations.native.js +0 -3
- package/build-module/embed/variations.native.js.map +0 -1
- package/build-module/gallery/gallery-button.native.js.map +0 -1
- package/build-module/gallery/gallery-image.js.map +0 -1
- package/build-module/gallery/gallery-image.native.js.map +0 -1
- package/build-module/gallery/tiles.native.js.map +0 -1
- package/build-module/image/image-editing/aspect-ratio-dropdown.js +0 -115
- package/build-module/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
- package/build-module/image/image-editing/constants.js +0 -7
- package/build-module/image/image-editing/constants.js.map +0 -1
- package/build-module/image/image-editing/context.js +0 -44
- package/build-module/image/image-editing/context.js.map +0 -1
- package/build-module/image/image-editing/cropper.js +0 -69
- package/build-module/image/image-editing/cropper.js.map +0 -1
- package/build-module/image/image-editing/form-controls.js +0 -26
- package/build-module/image/image-editing/form-controls.js.map +0 -1
- package/build-module/image/image-editing/index.js +0 -37
- package/build-module/image/image-editing/index.js.map +0 -1
- package/build-module/image/image-editing/rotation-button.js +0 -26
- package/build-module/image/image-editing/rotation-button.js.map +0 -1
- package/build-module/image/image-editing/use-save-image.js +0 -70
- package/build-module/image/image-editing/use-save-image.js.map +0 -1
- package/build-module/image/image-editing/use-transform-image.js +0 -127
- package/build-module/image/image-editing/use-transform-image.js.map +0 -1
- package/build-module/image/image-editing/zoom-dropdown.js +0 -43
- package/build-module/image/image-editing/zoom-dropdown.js.map +0 -1
- package/src/embed/embed-controls.native.js +0 -23
- package/src/embed/variations.native.js +0 -3
- package/src/heading/editor.scss +0 -20
- package/src/image/image-editing/aspect-ratio-dropdown.js +0 -129
- package/src/image/image-editing/constants.js +0 -6
- package/src/image/image-editing/context.js +0 -56
- package/src/image/image-editing/cropper.js +0 -74
- package/src/image/image-editing/form-controls.js +0 -22
- package/src/image/image-editing/index.js +0 -52
- package/src/image/image-editing/rotation-button.js +0 -24
- package/src/image/image-editing/use-save-image.js +0 -97
- package/src/image/image-editing/use-transform-image.js +0 -162
- package/src/image/image-editing/zoom-dropdown.js +0 -40
- package/src/post-content/editor.scss +0 -11
package/build/video/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","noticeUI","attributes","className","setAttributes","insertBlocksAfter","onReplace","noticeOperations","instanceId","videoPlayer","posterImageButton","id","caption","controls","poster","src","tracks","isTemporaryVideo","mediaUpload","select","blockEditorStore","getSettings","file","filesList","onFileChange","url","onError","message","createErrorNotice","allowedTypes","current","load","onSelectVideo","media","undefined","onSelectURL","newSrc","embedBlock","onUploadError","removeAllNotices","classes","blockProps","icon","onSelectPoster","image","onRemovePoster","focus","videoPosterDescription","newTracks","open","RichText","isEmpty","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tnoticeUI,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n\tnoticeOperations,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ { url } ] ) => {\n\t\t\t\t\t\tsetAttributes( { src: url } );\n\t\t\t\t\t},\n\t\t\t\t\tonError: ( message ) => {\n\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t},\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// in this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls\n\t\t\tsetAttributes( { 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\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\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\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tnotices={ noticeUI }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: '' } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tthis.posterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\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=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\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={ __( 'Video settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter( createBlock( 'core/paragraph' ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default withNotices( VideoEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","noticeUI","attributes","className","setAttributes","insertBlocksAfter","onReplace","noticeOperations","instanceId","videoPlayer","posterImageButton","id","caption","controls","poster","src","tracks","isTemporaryVideo","mediaUpload","select","blockEditorStore","getSettings","file","filesList","onFileChange","url","onError","message","createErrorNotice","allowedTypes","current","load","onSelectVideo","media","undefined","image","icon","onSelectURL","newSrc","embedBlock","onUploadError","removeAllNotices","classes","blockProps","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","open","RichText","isEmpty","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tnoticeUI,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n\tnoticeOperations,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ { url } ] ) => {\n\t\t\t\t\t\tsetAttributes( { src: url } );\n\t\t\t\t\t},\n\t\t\t\t\tonError: ( message ) => {\n\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t},\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// in this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// sets the block's attribute and updates the edit component from the\n\t\t// selected media\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tnotices={ noticeUI }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\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=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\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={ __( 'Video settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter( createBlock( 'core/paragraph' ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default withNotices( VideoEdit );\n"]}
|
|
@@ -17,6 +17,8 @@ var _icons = require("@wordpress/icons");
|
|
|
17
17
|
|
|
18
18
|
var _data = require("@wordpress/data");
|
|
19
19
|
|
|
20
|
+
var _url = require("@wordpress/url");
|
|
21
|
+
|
|
20
22
|
/**
|
|
21
23
|
* WordPress dependencies
|
|
22
24
|
*/
|
|
@@ -106,7 +108,7 @@ function SingleTrackEditor({
|
|
|
106
108
|
srcLang = '',
|
|
107
109
|
kind = DEFAULT_KIND
|
|
108
110
|
} = track;
|
|
109
|
-
const fileName = src.startsWith('blob:') ? '' :
|
|
111
|
+
const fileName = src.startsWith('blob:') ? '' : (0, _url.getFilename)(src) || '';
|
|
110
112
|
return (0, _element.createElement)(_components.NavigableMenu, null, (0, _element.createElement)("div", {
|
|
111
113
|
className: "block-library-video-tracks-editor__single-track-editor"
|
|
112
114
|
}, (0, _element.createElement)("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"names":["ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","captionIcon","TrackList","tracks","onEditPress","content","length","map","track","index","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","substring","lastIndexOf","newLabel","newSrcLang","newKind","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","isOpen","onToggle","newTrack","newTracks","filter","_track","url","trackIndex","open","media","event","files","target","allowedTypes","filesList","onFileChange","openFileDialog","upload"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarButton,\n\tDropdown,\n\tSVG,\n\tRect,\n\tPath,\n\tButton,\n\tTextControl,\n\tSelectControl,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nconst captionIcon = (\n\t<SVG width=\"18\" height=\"14\" viewBox=\"0 0 18 14\" role=\"img\" fill=\"none\">\n\t\t<Rect\n\t\t\tx=\"0.75\"\n\t\t\ty=\"0.75\"\n\t\t\twidth=\"16.5\"\n\t\t\theight=\"12.5\"\n\t\t\trx=\"1.25\"\n\t\t\tstroke=\"black\"\n\t\t\tstrokeWidth=\"1.5\"\n\t\t\tfill=\"none\"\n\t\t/>\n\t\t<Path d=\"M3 7H15\" stroke=\"black\" strokeWidth=\"1.5\" />\n\t\t<Path d=\"M3 10L15 10\" stroke=\"black\" strokeWidth=\"1.5\" />\n\t</SVG>\n);\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tlet content;\n\tif ( tracks.length === 0 ) {\n\t\tcontent = (\n\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t{ __(\n\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\tcontent = tracks.map( ( track, index ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t\t>\n\t\t\t\t\t<span>{ track.label } </span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\" */\n\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} );\n\t}\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' )\n\t\t? ''\n\t\t: src.substring( src.lastIndexOf( '/' ) + 1 );\n\treturn (\n\t\t<NavigableMenu>\n\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor\">\n\t\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t\t</span>\n\t\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor-label-language\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<SelectControl\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Close' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button isDestructive variant=\"link\" onClick={ onRemove }>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NavigableMenu>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\tshowTooltip\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ ( {} ) => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\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\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\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\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\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\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\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\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\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\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\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\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\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} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\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{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"names":["ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","captionIcon","TrackList","tracks","onEditPress","content","length","map","track","index","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","newLabel","newSrcLang","newKind","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","isOpen","onToggle","newTrack","newTracks","filter","_track","url","trackIndex","open","media","event","files","target","allowedTypes","filesList","onFileChange","openFileDialog","upload"],"mappings":";;;;;;;AAyBA;;AAtBA;;AACA;;AAcA;;AAKA;;AACA;;AAEA;;AA1BA;AACA;AACA;AA0BA,MAAMA,aAAa,GAAG,CAAE,UAAF,CAAtB;AAEA,MAAMC,YAAY,GAAG,WAArB;AAEA,MAAMC,YAAY,GAAG,CACpB;AAAEC,EAAAA,KAAK,EAAE,cAAI,WAAJ,CAAT;AAA4BC,EAAAA,KAAK,EAAE;AAAnC,CADoB,EAEpB;AAAED,EAAAA,KAAK,EAAE,cAAI,UAAJ,CAAT;AAA2BC,EAAAA,KAAK,EAAE;AAAlC,CAFoB,EAGpB;AAAED,EAAAA,KAAK,EAAE,cAAI,cAAJ,CAAT;AAA+BC,EAAAA,KAAK,EAAE;AAAtC,CAHoB,EAIpB;AAAED,EAAAA,KAAK,EAAE,cAAI,UAAJ,CAAT;AAA2BC,EAAAA,KAAK,EAAE;AAAlC,CAJoB,EAKpB;AAAED,EAAAA,KAAK,EAAE,cAAI,UAAJ,CAAT;AAA2BC,EAAAA,KAAK,EAAE;AAAlC,CALoB,CAArB;AAQA,MAAMC,WAAW,GAChB,4BAAC,eAAD;AAAK,EAAA,KAAK,EAAC,IAAX;AAAgB,EAAA,MAAM,EAAC,IAAvB;AAA4B,EAAA,OAAO,EAAC,WAApC;AAAgD,EAAA,IAAI,EAAC,KAArD;AAA2D,EAAA,IAAI,EAAC;AAAhE,GACC,4BAAC,gBAAD;AACC,EAAA,CAAC,EAAC,MADH;AAEC,EAAA,CAAC,EAAC,MAFH;AAGC,EAAA,KAAK,EAAC,MAHP;AAIC,EAAA,MAAM,EAAC,MAJR;AAKC,EAAA,EAAE,EAAC,MALJ;AAMC,EAAA,MAAM,EAAC,OANR;AAOC,EAAA,WAAW,EAAC,KAPb;AAQC,EAAA,IAAI,EAAC;AARN,EADD,EAWC,4BAAC,gBAAD;AAAM,EAAA,CAAC,EAAC,SAAR;AAAkB,EAAA,MAAM,EAAC,OAAzB;AAAiC,EAAA,WAAW,EAAC;AAA7C,EAXD,EAYC,4BAAC,gBAAD;AAAM,EAAA,CAAC,EAAC,aAAR;AAAsB,EAAA,MAAM,EAAC,OAA7B;AAAqC,EAAA,WAAW,EAAC;AAAjD,EAZD,CADD;;AAiBA,SAASC,SAAT,CAAoB;AAAEC,EAAAA,MAAF;AAAUC,EAAAA;AAAV,CAApB,EAA8C;AAC7C,MAAIC,OAAJ;;AACA,MAAKF,MAAM,CAACG,MAAP,KAAkB,CAAvB,EAA2B;AAC1BD,IAAAA,OAAO,GACN;AAAG,MAAA,SAAS,EAAC;AAAb,OACG,cACD,sIADC,CADH,CADD;AAOA,GARD,MAQO;AACNA,IAAAA,OAAO,GAAGF,MAAM,CAACI,GAAP,CAAY,CAAEC,KAAF,EAASC,KAAT,KAAoB;AACzC,aACC;AACC,QAAA,GAAG,EAAGA,KADP;AAEC,QAAA,SAAS,EAAC;AAFX,SAIC,0CAAQD,KAAK,CAACT,KAAd,MAJD,EAKC,4BAAC,kBAAD;AACC,QAAA,OAAO,EAAC,UADT;AAEC,QAAA,OAAO,EAAG,MAAMK,WAAW,CAAEK,KAAF,CAF5B;AAGC,sBAAa;AACZ;AACA,sBAAI,SAAJ,CAFY,EAGZD,KAAK,CAACT,KAHM;AAHd,SASG,cAAI,MAAJ,CATH,CALD,CADD;AAmBA,KApBS,CAAV;AAqBA;;AACD,SACC,4BAAC,qBAAD;AACC,IAAA,KAAK,EAAG,cAAI,aAAJ,CADT;AAEC,IAAA,SAAS,EAAC;AAFX,KAIGM,OAJH,CADD;AAQA;;AAED,SAASK,iBAAT,CAA4B;AAAEF,EAAAA,KAAF;AAASG,EAAAA,QAAT;AAAmBC,EAAAA,OAAnB;AAA4BC,EAAAA;AAA5B,CAA5B,EAAqE;AACpE,QAAM;AAAEC,IAAAA,GAAG,GAAG,EAAR;AAAYf,IAAAA,KAAK,GAAG,EAApB;AAAwBgB,IAAAA,OAAO,GAAG,EAAlC;AAAsCC,IAAAA,IAAI,GAAGnB;AAA7C,MAA8DW,KAApE;AACA,QAAMS,QAAQ,GAAGH,GAAG,CAACI,UAAJ,CAAgB,OAAhB,IAA4B,EAA5B,GAAiC,sBAAaJ,GAAb,KAAsB,EAAxE;AACA,SACC,4BAAC,yBAAD,QACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACG,cAAI,YAAJ,CADH,CADD,EAIC,0CACG,cAAI,MAAJ,CADH,QACmB,uCAAKG,QAAL,CADnB,CAJD,EAOC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC;AACA;AADD;AAEC,IAAA,SAAS;AACT;AAHD;AAIC,IAAA,QAAQ,EAAKE,QAAF,IACVR,QAAQ,CAAE,EACT,GAAGH,KADM;AAETT,MAAAA,KAAK,EAAEoB;AAFE,KAAF,CALV;AAUC,IAAA,KAAK,EAAG,cAAI,OAAJ,CAVT;AAWC,IAAA,KAAK,EAAGpB,KAXT;AAYC,IAAA,IAAI,EAAG,cAAI,gBAAJ;AAZR,IADD,EAeC,4BAAC,uBAAD;AACC,IAAA,QAAQ,EAAKqB,UAAF,IACVT,QAAQ,CAAE,EACT,GAAGH,KADM;AAETO,MAAAA,OAAO,EAAEK;AAFA,KAAF,CAFV;AAOC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CAPT;AAQC,IAAA,KAAK,EAAGL,OART;AASC,IAAA,IAAI,EAAG,cAAI,6BAAJ;AATR,IAfD,CAPD,EAkCC,4BAAC,yBAAD;AACC,IAAA,SAAS,EAAC,oEADX;AAEC,IAAA,OAAO,EAAGjB,YAFX;AAGC,IAAA,KAAK,EAAGkB,IAHT;AAIC,IAAA,KAAK,EAAG,cAAI,MAAJ,CAJT;AAKC,IAAA,QAAQ,EAAKK,OAAF,IAAe;AACzBV,MAAAA,QAAQ,CAAE,EACT,GAAGH,KADM;AAETQ,QAAAA,IAAI,EAAEK;AAFG,OAAF,CAAR;AAIA;AAVF,IAlCD,EA8CC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,WADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACf,YAAMC,OAAO,GAAG,EAAhB;AACA,UAAIC,UAAU,GAAG,KAAjB;;AACA,UAAKxB,KAAK,KAAK,EAAf,EAAoB;AACnBuB,QAAAA,OAAO,CAACvB,KAAR,GAAgB,cAAI,SAAJ,CAAhB;AACAwB,QAAAA,UAAU,GAAG,IAAb;AACA;;AACD,UAAKR,OAAO,KAAK,EAAjB,EAAsB;AACrBO,QAAAA,OAAO,CAACP,OAAR,GAAkB,IAAlB;AACAQ,QAAAA,UAAU,GAAG,IAAb;AACA;;AACD,UAAKf,KAAK,CAACQ,IAAN,KAAeQ,SAApB,EAAgC;AAC/BF,QAAAA,OAAO,CAACN,IAAR,GAAenB,YAAf;AACA0B,QAAAA,UAAU,GAAG,IAAb;AACA;;AACD,UAAKA,UAAL,EAAkB;AACjBZ,QAAAA,QAAQ,CAAE,EACT,GAAGH,KADM;AAET,aAAGc;AAFM,SAAF,CAAR;AAIA;;AACDV,MAAAA,OAAO;AACP;AAxBF,KA0BG,cAAI,OAAJ,CA1BH,CADD,EA6BC,4BAAC,kBAAD;AAAQ,IAAA,aAAa,MAArB;AAAsB,IAAA,OAAO,EAAC,MAA9B;AAAqC,IAAA,OAAO,EAAGC;AAA/C,KACG,cAAI,cAAJ,CADH,CA7BD,CA9CD,CADD,CADD;AAoFA;;AAEc,SAASY,YAAT,CAAuB;AAAEtB,EAAAA,MAAM,GAAG,EAAX;AAAeQ,EAAAA;AAAf,CAAvB,EAAmD;AACjE,QAAMe,WAAW,GAAG,qBAAaC,MAAF,IAAc;AAC5C,WAAOA,MAAM,CAAEC,kBAAF,CAAN,CAA2BC,WAA3B,GAAyCH,WAAhD;AACA,GAFmB,EAEjB,EAFiB,CAApB;AAGA,QAAM,CAAEI,gBAAF,EAAoBC,mBAApB,IAA4C,uBAAU,IAAV,CAAlD;;AAEA,MAAK,CAAEL,WAAP,EAAqB;AACpB,WAAO,IAAP;AACA;;AACD,SACC,4BAAC,oBAAD;AACC,IAAA,gBAAgB,EAAC,mCADlB;AAEC,IAAA,YAAY,EAAG,CAAE;AAAEM,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KAAF,KACd,4BAAC,yBAAD;AACC,MAAA,KAAK,EAAG,cAAI,aAAJ,CADT;AAEC,MAAA,WAAW,MAFZ;AAGC,uBAAgBD,MAHjB;AAIC,uBAAc,MAJf;AAKC,MAAA,OAAO,EAAGC,QALX;AAMC,MAAA,IAAI,EAAGhC;AANR,MAHF;AAYC,IAAA,aAAa,EAAG,CAAE,EAAF,KAAU;AACzB,UAAK6B,gBAAgB,KAAK,IAA1B,EAAiC;AAChC,eACC,4BAAC,iBAAD;AACC,UAAA,KAAK,EAAG3B,MAAM,CAAE2B,gBAAF,CADf;AAEC,UAAA,QAAQ,EAAKI,QAAF,IAAgB;AAC1B,kBAAMC,SAAS,GAAG,CAAE,GAAGhC,MAAL,CAAlB;AACAgC,YAAAA,SAAS,CAAEL,gBAAF,CAAT,GAAgCI,QAAhC;AACAvB,YAAAA,QAAQ,CAAEwB,SAAF,CAAR;AACA,WANF;AAOC,UAAA,OAAO,EAAG,MAAMJ,mBAAmB,CAAE,IAAF,CAPpC;AAQC,UAAA,QAAQ,EAAG,MAAM;AAChBpB,YAAAA,QAAQ,CACPR,MAAM,CAACiC,MAAP,CACC,CAAEC,MAAF,EAAU5B,KAAV,KACCA,KAAK,KAAKqB,gBAFZ,CADO,CAAR;AAMAC,YAAAA,mBAAmB,CAAE,IAAF,CAAnB;AACA;AAhBF,UADD;AAoBA;;AACD,aACC,qDACC,4BAAC,yBAAD,QACC,4BAAC,SAAD;AACC,QAAA,MAAM,EAAG5B,MADV;AAEC,QAAA,WAAW,EAAG4B;AAFf,QADD,EAKC,4BAAC,qBAAD;AACC,QAAA,SAAS,EAAC,yDADX;AAEC,QAAA,KAAK,EAAG,cAAI,YAAJ;AAFT,SAIC,4BAAC,wBAAD;AACC,QAAA,QAAQ,EAAG,CAAE;AAAEO,UAAAA;AAAF,SAAF,KAAe;AACzB,gBAAMC,UAAU,GAAGpC,MAAM,CAACG,MAA1B;AACAK,UAAAA,QAAQ,CAAE,CAAE,GAAGR,MAAL,EAAa;AAAEW,YAAAA,GAAG,EAAEwB;AAAP,WAAb,CAAF,CAAR;AACAP,UAAAA,mBAAmB,CAAEQ,UAAF,CAAnB;AACA,SALF;AAMC,QAAA,YAAY,EAAG3C,aANhB;AAOC,QAAA,MAAM,EAAG,CAAE;AAAE4C,UAAAA;AAAF,SAAF,KACR,4BAAC,oBAAD;AACC,UAAA,IAAI,EAAGC,YADR;AAEC,UAAA,OAAO,EAAGD;AAFX,WAIG,cAAI,oBAAJ,CAJH;AARF,QAJD,EAoBC,4BAAC,6BAAD,QACC,4BAAC,0BAAD;AACC,QAAA,QAAQ,EAAKE,KAAF,IAAa;AACvB,gBAAMC,KAAK,GAAGD,KAAK,CAACE,MAAN,CAAaD,KAA3B;AACA,gBAAMJ,UAAU,GAAGpC,MAAM,CAACG,MAA1B;AACAoB,UAAAA,WAAW,CAAE;AACZmB,YAAAA,YAAY,EAAEjD,aADF;AAEZkD,YAAAA,SAAS,EAAEH,KAFC;AAGZI,YAAAA,YAAY,EAAE,CAAE,CACf;AAAET,cAAAA;AAAF,aADe,CAAF,KAEP;AACN,oBAAMH,SAAS,GAAG,CACjB,GAAGhC,MADc,CAAlB;;AAGA,kBACC,CAAEgC,SAAS,CACVI,UADU,CADZ,EAIE;AACDJ,gBAAAA,SAAS,CACRI,UADQ,CAAT,GAEI,EAFJ;AAGA;;AACDJ,cAAAA,SAAS,CAAEI,UAAF,CAAT,GAA0B,EACzB,GAAGpC,MAAM,CAAEoC,UAAF,CADgB;AAEzBzB,gBAAAA,GAAG,EAAEwB;AAFoB,eAA1B;AAIA3B,cAAAA,QAAQ,CAAEwB,SAAF,CAAR;AACAJ,cAAAA,mBAAmB,CAClBQ,UADkB,CAAnB;AAGA;AA1BW,WAAF,CAAX;AA4BA,SAhCF;AAiCC,QAAA,MAAM,EAAC,eAjCR;AAkCC,QAAA,MAAM,EAAG,CAAE;AAAES,UAAAA;AAAF,SAAF,KAA0B;AAClC,iBACC,4BAAC,oBAAD;AACC,YAAA,IAAI,EAAGC,aADR;AAEC,YAAA,OAAO,EAAG,MAAM;AACfD,cAAAA,cAAc;AACd;AAJF,aAMG,cAAI,QAAJ,CANH,CADD;AAUA;AA7CF,QADD,CApBD,CALD,CADD,CADD;AAgFA;AAnHF,IADD;AAuHA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarButton,\n\tDropdown,\n\tSVG,\n\tRect,\n\tPath,\n\tButton,\n\tTextControl,\n\tSelectControl,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nconst captionIcon = (\n\t<SVG width=\"18\" height=\"14\" viewBox=\"0 0 18 14\" role=\"img\" fill=\"none\">\n\t\t<Rect\n\t\t\tx=\"0.75\"\n\t\t\ty=\"0.75\"\n\t\t\twidth=\"16.5\"\n\t\t\theight=\"12.5\"\n\t\t\trx=\"1.25\"\n\t\t\tstroke=\"black\"\n\t\t\tstrokeWidth=\"1.5\"\n\t\t\tfill=\"none\"\n\t\t/>\n\t\t<Path d=\"M3 7H15\" stroke=\"black\" strokeWidth=\"1.5\" />\n\t\t<Path d=\"M3 10L15 10\" stroke=\"black\" strokeWidth=\"1.5\" />\n\t</SVG>\n);\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tlet content;\n\tif ( tracks.length === 0 ) {\n\t\tcontent = (\n\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t{ __(\n\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\tcontent = tracks.map( ( track, index ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t\t>\n\t\t\t\t\t<span>{ track.label } </span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\" */\n\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} );\n\t}\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<NavigableMenu>\n\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor\">\n\t\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t\t</span>\n\t\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor-label-language\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<SelectControl\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Close' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button isDestructive variant=\"link\" onClick={ onRemove }>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NavigableMenu>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\tshowTooltip\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ ( {} ) => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\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\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\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\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\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\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\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\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\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\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\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\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\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} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\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{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -7,7 +7,7 @@ import { getBlobByURL, isBlobURL } from '@wordpress/blob';
|
|
|
7
7
|
import { Disabled, PanelBody, SelectControl, ToggleControl, withNotices } from '@wordpress/components';
|
|
8
8
|
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, RichText, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
|
|
9
9
|
import { useEffect } from '@wordpress/element';
|
|
10
|
-
import { __ } from '@wordpress/i18n';
|
|
10
|
+
import { __, _x } from '@wordpress/i18n';
|
|
11
11
|
import { useSelect } from '@wordpress/data';
|
|
12
12
|
import { audio as icon } from '@wordpress/icons';
|
|
13
13
|
import { createBlock } from '@wordpress/blocks';
|
|
@@ -168,7 +168,7 @@ function AudioEdit({
|
|
|
168
168
|
onChange: toggleAttribute('loop'),
|
|
169
169
|
checked: loop
|
|
170
170
|
}), createElement(SelectControl, {
|
|
171
|
-
label:
|
|
171
|
+
label: _x('Preload', 'noun; Audio block parameter'),
|
|
172
172
|
value: preload || '' // `undefined` is required for the preload attribute to be unset.
|
|
173
173
|
,
|
|
174
174
|
onChange: value => setAttributes({
|
|
@@ -185,7 +185,7 @@ function AudioEdit({
|
|
|
185
185
|
label: __('Metadata')
|
|
186
186
|
}, {
|
|
187
187
|
value: 'none',
|
|
188
|
-
label:
|
|
188
|
+
label: _x('None', '"Preload" value')
|
|
189
189
|
}]
|
|
190
190
|
}))), createElement("figure", blockProps, createElement(Disabled, {
|
|
191
191
|
isDisabled: !isSelected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/audio/edit.js"],"names":["getBlobByURL","isBlobURL","Disabled","PanelBody","SelectControl","ToggleControl","withNotices","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","useEffect","__","useSelect","audio","icon","createBlock","createUpgradedEmbedBlock","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","noticeOperations","setAttributes","onReplace","isSelected","noticeUI","insertBlocksAfter","id","autoplay","caption","loop","preload","src","blockProps","mediaUpload","select","getSettings","file","filesList","onFileChange","mediaId","url","onError","e","undefined","createErrorNotice","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","onUploadError","message","removeAllNotices","getAutoplayHelp","checked","onSelectAudio","media","value","label","isEmpty"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tnoticeOperations,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tnoticeUI,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst blockProps = useBlockProps();\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: ( [ { id: mediaId, url } ] ) => {\n\t\t\t\t\t\tsetAttributes( { id: mediaId, src: url } );\n\t\t\t\t\t},\n\t\t\t\t\tonError: ( e ) => {\n\t\t\t\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\t\t\t\tnoticeOperations.createErrorNotice( e );\n\t\t\t\t\t},\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 ) {\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\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\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\t// const { setAttributes, isSelected, noticeUI } = this.props;\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\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\tnotices={ noticeUI }\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=\"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={ __( 'Audio settings' ) }>\n\t\t\t\t\t<ToggleControl\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\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\tlabel={ __( 'Preload' ) }\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{ value: 'none', label: __( 'None' ) },\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{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter( createBlock( 'core/paragraph' ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\nexport default withNotices( AudioEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/audio/edit.js"],"names":["getBlobByURL","isBlobURL","Disabled","PanelBody","SelectControl","ToggleControl","withNotices","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","useEffect","__","_x","useSelect","audio","icon","createBlock","createUpgradedEmbedBlock","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","noticeOperations","setAttributes","onReplace","isSelected","noticeUI","insertBlocksAfter","id","autoplay","caption","loop","preload","src","blockProps","mediaUpload","select","getSettings","file","filesList","onFileChange","mediaId","url","onError","e","undefined","createErrorNotice","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","onUploadError","message","removeAllNotices","getAutoplayHelp","checked","onSelectAudio","media","value","label","isEmpty"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tnoticeOperations,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tnoticeUI,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst blockProps = useBlockProps();\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: ( [ { id: mediaId, url } ] ) => {\n\t\t\t\t\t\tsetAttributes( { id: mediaId, src: url } );\n\t\t\t\t\t},\n\t\t\t\t\tonError: ( e ) => {\n\t\t\t\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\t\t\t\tnoticeOperations.createErrorNotice( e );\n\t\t\t\t\t},\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 ) {\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\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\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\t// const { setAttributes, isSelected, noticeUI } = this.props;\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\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\tnotices={ noticeUI }\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=\"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={ __( 'Audio settings' ) }>\n\t\t\t\t\t<ToggleControl\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\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\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{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter( createBlock( 'core/paragraph' ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\nexport default withNotices( AudioEdit );\n"]}
|
|
@@ -12,7 +12,7 @@ import { isEmpty } from 'lodash';
|
|
|
12
12
|
import { View } from '@wordpress/primitives';
|
|
13
13
|
import { PanelBody, SelectControl, ToggleControl, ToolbarButton, ToolbarGroup, AudioPlayer } from '@wordpress/components';
|
|
14
14
|
import { BlockCaption, BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadProgress, store as blockEditorStore } from '@wordpress/block-editor';
|
|
15
|
-
import { __, sprintf } from '@wordpress/i18n';
|
|
15
|
+
import { __, _x, sprintf } from '@wordpress/i18n';
|
|
16
16
|
import { audio as icon, replace } from '@wordpress/icons';
|
|
17
17
|
import { useState } from '@wordpress/element';
|
|
18
18
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
@@ -180,7 +180,7 @@ function AudioEdit({
|
|
|
180
180
|
onChange: toggleAttribute('loop'),
|
|
181
181
|
checked: loop
|
|
182
182
|
}), createElement(SelectControl, {
|
|
183
|
-
label:
|
|
183
|
+
label: _x('Preload', 'noun; Audio block parameter'),
|
|
184
184
|
value: preload || '' // `undefined` is required for the preload attribute to be unset.
|
|
185
185
|
,
|
|
186
186
|
onChange: value => setAttributes({
|
|
@@ -197,7 +197,7 @@ function AudioEdit({
|
|
|
197
197
|
label: __('Metadata')
|
|
198
198
|
}, {
|
|
199
199
|
value: 'none',
|
|
200
|
-
label:
|
|
200
|
+
label: _x('None', '"Preload" value')
|
|
201
201
|
}],
|
|
202
202
|
hideCancelButton: true
|
|
203
203
|
}))), createElement(MediaUpload, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/audio/edit.native.js"],"names":["TouchableWithoutFeedback","isEmpty","View","PanelBody","SelectControl","ToggleControl","ToolbarButton","ToolbarGroup","AudioPlayer","BlockCaption","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadProgress","store","blockEditorStore","__","sprintf","audio","icon","replace","useState","useDispatch","useSelect","noticesStore","isURL","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","onError","toggleAttribute","attribute","newValue","onSelectURL","newSrc","undefined","onSelectAudio","media","url","onAudioPress","onFocusCaption","getBlockControls","open","getBlockUI","getMediaOptions","progressContainer","progressBar","spinner","isUploadInProgress","isUploadFailed","retryMessage","value","label","caption"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\nimport { isEmpty } from 'lodash';\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 { __, 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 } 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\tconst onError = () => {\n\t\tcreateErrorNotice( __( 'Failed to insert audio file.' ) );\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\tif ( newSrc !== src ) {\n\t\t\tif ( isURL( 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\tonFinishMediaUploadWithFailure={ onError }\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={ __( 'Audio 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={ __( 'Preload' ) }\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{ value: 'none', label: __( 'None' ) },\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\tisEmpty( 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"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/audio/edit.native.js"],"names":["TouchableWithoutFeedback","isEmpty","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","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","onError","toggleAttribute","attribute","newValue","onSelectURL","newSrc","undefined","onSelectAudio","media","url","onAudioPress","onFocusCaption","getBlockControls","open","getBlockUI","getMediaOptions","progressContainer","progressBar","spinner","isUploadInProgress","isUploadFailed","retryMessage","value","label","caption"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\nimport { isEmpty } from 'lodash';\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 } 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\tconst onError = () => {\n\t\tcreateErrorNotice( __( 'Failed to insert audio file.' ) );\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\tif ( newSrc !== src ) {\n\t\t\tif ( isURL( 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\tonFinishMediaUploadWithFailure={ onError }\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={ __( 'Audio 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\tisEmpty( 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"]}
|
|
@@ -10,10 +10,10 @@ import classnames from 'classnames';
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
|
-
import { useCallback, useState, useRef } from '@wordpress/element';
|
|
14
|
-
import { Button, ButtonGroup,
|
|
15
|
-
import { BlockControls, InspectorControls,
|
|
16
|
-
import {
|
|
13
|
+
import { useCallback, useEffect, useState, useRef } from '@wordpress/element';
|
|
14
|
+
import { Button, ButtonGroup, PanelBody, TextControl, ToolbarButton, Popover } from '@wordpress/components';
|
|
15
|
+
import { BlockControls, InspectorControls, RichText, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalLinkControl as LinkControl } from '@wordpress/block-editor';
|
|
16
|
+
import { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';
|
|
17
17
|
import { link, linkOff } from '@wordpress/icons';
|
|
18
18
|
import { createBlock } from '@wordpress/blocks';
|
|
19
19
|
const NEW_TAB_REL = 'noreferrer noopener';
|
|
@@ -45,79 +45,6 @@ function WidthPanel({
|
|
|
45
45
|
})));
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
function URLPicker({
|
|
49
|
-
isSelected,
|
|
50
|
-
url,
|
|
51
|
-
setAttributes,
|
|
52
|
-
opensInNewTab,
|
|
53
|
-
onToggleOpenInNewTab,
|
|
54
|
-
anchorRef
|
|
55
|
-
}) {
|
|
56
|
-
const [isURLPickerOpen, setIsURLPickerOpen] = useState(false);
|
|
57
|
-
const urlIsSet = !!url;
|
|
58
|
-
const urlIsSetandSelected = urlIsSet && isSelected;
|
|
59
|
-
|
|
60
|
-
const openLinkControl = () => {
|
|
61
|
-
setIsURLPickerOpen(true);
|
|
62
|
-
return false; // prevents default behaviour for event
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
const unlinkButton = () => {
|
|
66
|
-
setAttributes({
|
|
67
|
-
url: undefined,
|
|
68
|
-
linkTarget: undefined,
|
|
69
|
-
rel: undefined
|
|
70
|
-
});
|
|
71
|
-
setIsURLPickerOpen(false);
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
const linkControl = (isURLPickerOpen || urlIsSetandSelected) && createElement(Popover, {
|
|
75
|
-
position: "bottom center",
|
|
76
|
-
onClose: () => setIsURLPickerOpen(false),
|
|
77
|
-
anchorRef: anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current
|
|
78
|
-
}, createElement(LinkControl, {
|
|
79
|
-
className: "wp-block-navigation-link__inline-link-input",
|
|
80
|
-
value: {
|
|
81
|
-
url,
|
|
82
|
-
opensInNewTab
|
|
83
|
-
},
|
|
84
|
-
onChange: ({
|
|
85
|
-
url: newURL = '',
|
|
86
|
-
opensInNewTab: newOpensInNewTab
|
|
87
|
-
}) => {
|
|
88
|
-
setAttributes({
|
|
89
|
-
url: newURL
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
if (opensInNewTab !== newOpensInNewTab) {
|
|
93
|
-
onToggleOpenInNewTab(newOpensInNewTab);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}));
|
|
97
|
-
return createElement(Fragment, null, createElement(BlockControls, {
|
|
98
|
-
group: "block"
|
|
99
|
-
}, !urlIsSet && createElement(ToolbarButton, {
|
|
100
|
-
name: "link",
|
|
101
|
-
icon: link,
|
|
102
|
-
title: __('Link'),
|
|
103
|
-
shortcut: displayShortcut.primary('k'),
|
|
104
|
-
onClick: openLinkControl
|
|
105
|
-
}), urlIsSetandSelected && createElement(ToolbarButton, {
|
|
106
|
-
name: "link",
|
|
107
|
-
icon: linkOff,
|
|
108
|
-
title: __('Unlink'),
|
|
109
|
-
shortcut: displayShortcut.primaryShift('k'),
|
|
110
|
-
onClick: unlinkButton,
|
|
111
|
-
isActive: true
|
|
112
|
-
})), isSelected && createElement(KeyboardShortcuts, {
|
|
113
|
-
bindGlobal: true,
|
|
114
|
-
shortcuts: {
|
|
115
|
-
[rawShortcut.primary('k')]: openLinkControl,
|
|
116
|
-
[rawShortcut.primaryShift('k')]: unlinkButton
|
|
117
|
-
}
|
|
118
|
-
}), linkControl);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
48
|
function ButtonEdit(props) {
|
|
122
49
|
var _style$border;
|
|
123
50
|
|
|
@@ -143,7 +70,8 @@ function ButtonEdit(props) {
|
|
|
143
70
|
rel: value
|
|
144
71
|
});
|
|
145
72
|
}, [setAttributes]);
|
|
146
|
-
|
|
73
|
+
|
|
74
|
+
function onToggleOpenInNewTab(value) {
|
|
147
75
|
const newLinkTarget = value ? '_blank' : undefined;
|
|
148
76
|
let updatedRel = rel;
|
|
149
77
|
|
|
@@ -157,28 +85,65 @@ function ButtonEdit(props) {
|
|
|
157
85
|
linkTarget: newLinkTarget,
|
|
158
86
|
rel: updatedRel
|
|
159
87
|
});
|
|
160
|
-
}
|
|
88
|
+
}
|
|
161
89
|
|
|
162
|
-
|
|
90
|
+
function setButtonText(newText) {
|
|
163
91
|
// Remove anchor tags from button text content.
|
|
164
92
|
setAttributes({
|
|
165
93
|
text: newText.replace(/<\/?a[^>]*>/g, '')
|
|
166
94
|
});
|
|
167
|
-
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function onKeyDown(event) {
|
|
98
|
+
if (isKeyboardEvent.primary(event, 'k')) {
|
|
99
|
+
startEditing(event);
|
|
100
|
+
} else if (isKeyboardEvent.primaryShift(event, 'k')) {
|
|
101
|
+
var _richTextRef$current;
|
|
102
|
+
|
|
103
|
+
unlink();
|
|
104
|
+
(_richTextRef$current = richTextRef.current) === null || _richTextRef$current === void 0 ? void 0 : _richTextRef$current.focus();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
168
107
|
|
|
169
108
|
const borderProps = useBorderProps(attributes);
|
|
170
109
|
const colorProps = useColorProps(attributes);
|
|
171
110
|
const spacingProps = useSpacingProps(attributes);
|
|
172
111
|
const ref = useRef();
|
|
112
|
+
const richTextRef = useRef();
|
|
173
113
|
const blockProps = useBlockProps({
|
|
174
|
-
ref
|
|
114
|
+
ref,
|
|
115
|
+
onKeyDown
|
|
175
116
|
});
|
|
117
|
+
const [isEditingURL, setIsEditingURL] = useState(false);
|
|
118
|
+
const isURLSet = !!url;
|
|
119
|
+
const opensInNewTab = linkTarget === '_blank';
|
|
120
|
+
|
|
121
|
+
function startEditing(event) {
|
|
122
|
+
event.preventDefault();
|
|
123
|
+
setIsEditingURL(true);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function unlink() {
|
|
127
|
+
setAttributes({
|
|
128
|
+
url: undefined,
|
|
129
|
+
linkTarget: undefined,
|
|
130
|
+
rel: undefined
|
|
131
|
+
});
|
|
132
|
+
setIsEditingURL(false);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
useEffect(() => {
|
|
136
|
+
if (!isSelected) {
|
|
137
|
+
setIsEditingURL(false);
|
|
138
|
+
}
|
|
139
|
+
}, [isSelected]);
|
|
176
140
|
return createElement(Fragment, null, createElement("div", _extends({}, blockProps, {
|
|
177
141
|
className: classnames(blockProps.className, {
|
|
178
142
|
[`has-custom-width wp-block-button__width-${width}`]: width,
|
|
179
143
|
[`has-custom-font-size`]: blockProps.style.fontSize
|
|
180
144
|
})
|
|
181
145
|
}), createElement(RichText, {
|
|
146
|
+
ref: richTextRef,
|
|
182
147
|
"aria-label": __('Button text'),
|
|
183
148
|
placeholder: placeholder || __('Add text…'),
|
|
184
149
|
value: text,
|
|
@@ -199,17 +164,62 @@ function ButtonEdit(props) {
|
|
|
199
164
|
onReplace: onReplace,
|
|
200
165
|
onMerge: mergeBlocks,
|
|
201
166
|
identifier: "text"
|
|
202
|
-
})), createElement(
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
167
|
+
})), createElement(BlockControls, {
|
|
168
|
+
group: "block"
|
|
169
|
+
}, !isURLSet && createElement(ToolbarButton, {
|
|
170
|
+
name: "link",
|
|
171
|
+
icon: link,
|
|
172
|
+
title: __('Link'),
|
|
173
|
+
shortcut: displayShortcut.primary('k'),
|
|
174
|
+
onClick: startEditing
|
|
175
|
+
}), isURLSet && createElement(ToolbarButton, {
|
|
176
|
+
name: "link",
|
|
177
|
+
icon: linkOff,
|
|
178
|
+
title: __('Unlink'),
|
|
179
|
+
shortcut: displayShortcut.primaryShift('k'),
|
|
180
|
+
onClick: unlink,
|
|
181
|
+
isActive: true
|
|
182
|
+
})), isSelected && (isEditingURL || isURLSet) && createElement(Popover, {
|
|
183
|
+
position: "bottom center",
|
|
184
|
+
onClose: () => {
|
|
185
|
+
var _richTextRef$current2;
|
|
186
|
+
|
|
187
|
+
setIsEditingURL(false);
|
|
188
|
+
(_richTextRef$current2 = richTextRef.current) === null || _richTextRef$current2 === void 0 ? void 0 : _richTextRef$current2.focus();
|
|
189
|
+
},
|
|
190
|
+
anchorRef: ref === null || ref === void 0 ? void 0 : ref.current,
|
|
191
|
+
focusOnMount: isEditingURL ? 'firstElement' : false
|
|
192
|
+
}, createElement(LinkControl, {
|
|
193
|
+
className: "wp-block-navigation-link__inline-link-input",
|
|
194
|
+
value: {
|
|
195
|
+
url,
|
|
196
|
+
opensInNewTab
|
|
197
|
+
},
|
|
198
|
+
onChange: ({
|
|
199
|
+
url: newURL = '',
|
|
200
|
+
opensInNewTab: newOpensInNewTab
|
|
201
|
+
}) => {
|
|
202
|
+
setAttributes({
|
|
203
|
+
url: newURL
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
if (opensInNewTab !== newOpensInNewTab) {
|
|
207
|
+
onToggleOpenInNewTab(newOpensInNewTab);
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
onRemove: () => {
|
|
211
|
+
var _richTextRef$current3;
|
|
212
|
+
|
|
213
|
+
unlink();
|
|
214
|
+
(_richTextRef$current3 = richTextRef.current) === null || _richTextRef$current3 === void 0 ? void 0 : _richTextRef$current3.focus();
|
|
215
|
+
},
|
|
216
|
+
forceIsEditingLink: isEditingURL
|
|
217
|
+
})), createElement(InspectorControls, null, createElement(WidthPanel, {
|
|
210
218
|
selectedWidth: width,
|
|
211
219
|
setAttributes: setAttributes
|
|
212
|
-
})), createElement(
|
|
220
|
+
})), createElement(InspectorControls, {
|
|
221
|
+
__experimentalGroup: "advanced"
|
|
222
|
+
}, createElement(TextControl, {
|
|
213
223
|
label: __('Link rel'),
|
|
214
224
|
value: rel || '',
|
|
215
225
|
onChange: onSetLinkRel
|