@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
|
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* Internal dependencies
|
|
5
5
|
*/
|
|
6
|
-
import { createUpgradedEmbedBlock, getAttributesFromPreview, getEmbedInfoByProvider } from './util';
|
|
6
|
+
import { createUpgradedEmbedBlock, getClassNames, fallback, getAttributesFromPreview, getEmbedInfoByProvider } from './util';
|
|
7
7
|
import EmbedControls from './embed-controls';
|
|
8
8
|
import { embedContentIcon } from './icons';
|
|
9
9
|
import EmbedLoading from './embed-loading';
|
|
@@ -21,14 +21,22 @@ import classnames from 'classnames';
|
|
|
21
21
|
|
|
22
22
|
import { _x } from '@wordpress/i18n';
|
|
23
23
|
import { useState, useEffect } from '@wordpress/element';
|
|
24
|
-
import { useSelect } from '@wordpress/data';
|
|
24
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
25
25
|
import { useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
|
|
26
26
|
import { store as coreStore } from '@wordpress/core-data';
|
|
27
|
-
import { View } from '@wordpress/primitives';
|
|
27
|
+
import { View } from '@wordpress/primitives'; // The inline preview feature will be released progressible, for this reason
|
|
28
|
+
// the embed will only be considered previewable for the following providers list.
|
|
29
|
+
|
|
30
|
+
const PREVIEWABLE_PROVIDERS = ['youtube', 'twitter', 'instagram', 'vimeo']; // Some providers are rendering the inline preview as a WordPress embed and
|
|
31
|
+
// are not supported yet, so we need to disallow them with a fixed providers list.
|
|
32
|
+
|
|
33
|
+
const NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = ['pinterest'];
|
|
34
|
+
const WP_EMBED_TYPE = 'wp-embed';
|
|
28
35
|
|
|
29
36
|
const EmbedEdit = props => {
|
|
30
37
|
const {
|
|
31
38
|
attributes: {
|
|
39
|
+
align,
|
|
32
40
|
providerNameSlug,
|
|
33
41
|
previewable,
|
|
34
42
|
responsive,
|
|
@@ -46,25 +54,32 @@ const EmbedEdit = props => {
|
|
|
46
54
|
title: _x('Embed', 'block title'),
|
|
47
55
|
icon: embedContentIcon
|
|
48
56
|
};
|
|
57
|
+
const embedInfoByProvider = getEmbedInfoByProvider(providerNameSlug);
|
|
49
58
|
const {
|
|
50
59
|
icon,
|
|
51
60
|
title
|
|
52
|
-
} =
|
|
61
|
+
} = embedInfoByProvider || defaultEmbedInfo;
|
|
53
62
|
const {
|
|
54
63
|
wasBlockJustInserted
|
|
55
64
|
} = useSelect(select => ({
|
|
56
65
|
wasBlockJustInserted: select(blockEditorStore).wasBlockJustInserted(clientId, 'inserter_menu')
|
|
57
66
|
}), [clientId]);
|
|
58
67
|
const [isEditingURL, setIsEditingURL] = useState(isSelected && wasBlockJustInserted && !url);
|
|
68
|
+
const [showEmbedBottomSheet, setShowEmbedBottomSheet] = useState(isEditingURL);
|
|
69
|
+
const {
|
|
70
|
+
invalidateResolution
|
|
71
|
+
} = useDispatch(coreStore);
|
|
59
72
|
const {
|
|
60
73
|
preview,
|
|
61
74
|
fetching,
|
|
75
|
+
themeSupportsResponsive,
|
|
62
76
|
cannotEmbed
|
|
63
77
|
} = useSelect(select => {
|
|
64
78
|
const {
|
|
65
79
|
getEmbedPreview,
|
|
66
80
|
isPreviewEmbedFallback,
|
|
67
|
-
isRequestingEmbedPreview
|
|
81
|
+
isRequestingEmbedPreview,
|
|
82
|
+
getThemeSupports
|
|
68
83
|
} = select(coreStore);
|
|
69
84
|
|
|
70
85
|
if (!url) {
|
|
@@ -91,23 +106,42 @@ const EmbedEdit = props => {
|
|
|
91
106
|
return {
|
|
92
107
|
preview: validPreview ? embedPreview : undefined,
|
|
93
108
|
fetching: isFetching,
|
|
109
|
+
themeSupportsResponsive: getThemeSupports()['responsive-embeds'],
|
|
94
110
|
cannotEmbed: !validPreview || previewIsFallback
|
|
95
111
|
};
|
|
96
112
|
}, [url]);
|
|
97
113
|
/**
|
|
98
|
-
*
|
|
114
|
+
* Returns the attributes derived from the preview, merged with the current attributes.
|
|
115
|
+
*
|
|
116
|
+
* @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.
|
|
117
|
+
* @return {Object} Merged attributes.
|
|
99
118
|
*/
|
|
100
119
|
|
|
101
|
-
const getMergedAttributes = () => {
|
|
120
|
+
const getMergedAttributes = (ignorePreviousClassName = false) => {
|
|
102
121
|
const {
|
|
103
122
|
allowResponsive,
|
|
104
123
|
className
|
|
105
124
|
} = attributes;
|
|
106
125
|
return { ...attributes,
|
|
107
|
-
...getAttributesFromPreview(preview, title, className, responsive, allowResponsive)
|
|
126
|
+
...getAttributesFromPreview(preview, title, ignorePreviousClassName ? undefined : className, responsive, allowResponsive)
|
|
108
127
|
};
|
|
109
128
|
};
|
|
110
129
|
|
|
130
|
+
const toggleResponsive = () => {
|
|
131
|
+
const {
|
|
132
|
+
allowResponsive,
|
|
133
|
+
className
|
|
134
|
+
} = attributes;
|
|
135
|
+
const {
|
|
136
|
+
html
|
|
137
|
+
} = preview;
|
|
138
|
+
const newAllowResponsive = !allowResponsive;
|
|
139
|
+
setAttributes({
|
|
140
|
+
allowResponsive: newAllowResponsive,
|
|
141
|
+
className: getClassNames(html, className, responsive && newAllowResponsive)
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
|
|
111
145
|
useEffect(() => {
|
|
112
146
|
if (!(preview !== null && preview !== void 0 && preview.html) || !cannotEmbed || fetching) {
|
|
113
147
|
return;
|
|
@@ -124,15 +158,11 @@ const EmbedEdit = props => {
|
|
|
124
158
|
|
|
125
159
|
useEffect(() => {
|
|
126
160
|
if (preview && !isEditingURL) {
|
|
127
|
-
//
|
|
128
|
-
//
|
|
129
|
-
// the
|
|
130
|
-
//
|
|
131
|
-
|
|
132
|
-
// clipping or scrollbars. The `getAttributesFromPreview` function
|
|
133
|
-
// that `getMergedAttributes` uses is memoized so that we're not
|
|
134
|
-
// calculating them on every render.
|
|
135
|
-
setAttributes(getMergedAttributes());
|
|
161
|
+
// When obtaining an incoming preview, we set the attributes derived from
|
|
162
|
+
// the preview data. In this case when getting the merged attributes,
|
|
163
|
+
// we ignore the previous classname because it might not match the expected
|
|
164
|
+
// classes by the new preview.
|
|
165
|
+
setAttributes(getMergedAttributes(true));
|
|
136
166
|
|
|
137
167
|
if (onReplace) {
|
|
138
168
|
const upgradedBlock = createUpgradedEmbedBlock(props, getMergedAttributes());
|
|
@@ -143,19 +173,36 @@ const EmbedEdit = props => {
|
|
|
143
173
|
}
|
|
144
174
|
}
|
|
145
175
|
}, [preview, isEditingURL]);
|
|
176
|
+
useEffect(() => setShowEmbedBottomSheet(isEditingURL), [isEditingURL]);
|
|
146
177
|
const blockProps = useBlockProps();
|
|
147
178
|
|
|
148
179
|
if (fetching) {
|
|
149
180
|
return createElement(View, blockProps, createElement(EmbedLoading, null));
|
|
150
181
|
}
|
|
151
182
|
|
|
152
|
-
const showEmbedPlaceholder = !preview || cannotEmbed;
|
|
183
|
+
const showEmbedPlaceholder = !preview || cannotEmbed; // Even though we set attributes that get derived from the preview,
|
|
184
|
+
// we don't access them directly because for the initial render,
|
|
185
|
+
// the `setAttributes` call will not have taken effect. If we're
|
|
186
|
+
// rendering responsive content, setting the responsive classes
|
|
187
|
+
// after the preview has been rendered can result in unwanted
|
|
188
|
+
// clipping or scrollbars. The `getAttributesFromPreview` function
|
|
189
|
+
// that `getMergedAttributes` uses is memoized so that we're not
|
|
190
|
+
// calculating them on every render.
|
|
191
|
+
|
|
153
192
|
const {
|
|
154
193
|
type,
|
|
194
|
+
allowResponsive,
|
|
155
195
|
className: classFromPreview
|
|
156
196
|
} = getMergedAttributes();
|
|
157
197
|
const className = classnames(classFromPreview, props.className);
|
|
158
|
-
|
|
198
|
+
const isProviderPreviewable = PREVIEWABLE_PROVIDERS.includes(providerNameSlug) || // For WordPress embeds, we enable the inline preview for all its providers
|
|
199
|
+
// except the ones that are not supported yet.
|
|
200
|
+
WP_EMBED_TYPE === type && !NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes(providerNameSlug);
|
|
201
|
+
const bottomSheetLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;
|
|
202
|
+
return createElement(Fragment, null, showEmbedPlaceholder ? createElement(Fragment, null, createElement(EmbedControls, {
|
|
203
|
+
showEditButton: cannotEmbed,
|
|
204
|
+
switchBackToURLInput: () => setIsEditingURL(true)
|
|
205
|
+
}), createElement(View, blockProps, createElement(EmbedPlaceholder, {
|
|
159
206
|
icon: icon,
|
|
160
207
|
isSelected: isSelected,
|
|
161
208
|
label: title,
|
|
@@ -163,11 +210,20 @@ const EmbedEdit = props => {
|
|
|
163
210
|
onFocus(event);
|
|
164
211
|
setIsEditingURL(true);
|
|
165
212
|
},
|
|
166
|
-
cannotEmbed: cannotEmbed
|
|
167
|
-
|
|
213
|
+
cannotEmbed: cannotEmbed,
|
|
214
|
+
fallback: () => fallback(url, onReplace),
|
|
215
|
+
tryAgain: () => {
|
|
216
|
+
invalidateResolution('getEmbedPreview', [url]);
|
|
217
|
+
}
|
|
218
|
+
}))) : createElement(Fragment, null, createElement(EmbedControls, {
|
|
168
219
|
showEditButton: preview && !cannotEmbed,
|
|
220
|
+
themeSupportsResponsive: themeSupportsResponsive,
|
|
221
|
+
blockSupportsResponsive: responsive,
|
|
222
|
+
allowResponsive: allowResponsive,
|
|
223
|
+
toggleResponsive: toggleResponsive,
|
|
169
224
|
switchBackToURLInput: () => setIsEditingURL(true)
|
|
170
225
|
}), createElement(View, blockProps, createElement(EmbedPreview, {
|
|
226
|
+
align: align,
|
|
171
227
|
className: className,
|
|
172
228
|
clientId: clientId,
|
|
173
229
|
icon: icon,
|
|
@@ -176,18 +232,24 @@ const EmbedEdit = props => {
|
|
|
176
232
|
label: title,
|
|
177
233
|
onFocus: onFocus,
|
|
178
234
|
preview: preview,
|
|
235
|
+
isProviderPreviewable: isProviderPreviewable,
|
|
179
236
|
previewable: previewable,
|
|
180
237
|
type: type,
|
|
181
|
-
url: url
|
|
238
|
+
url: url,
|
|
239
|
+
isDefaultEmbedInfo: !embedInfoByProvider
|
|
182
240
|
}))), createElement(EmbedBottomSheet, {
|
|
183
241
|
value: url,
|
|
184
|
-
|
|
185
|
-
|
|
242
|
+
label: bottomSheetLabel,
|
|
243
|
+
isVisible: showEmbedBottomSheet,
|
|
244
|
+
onClose: () => setShowEmbedBottomSheet(false),
|
|
186
245
|
onSubmit: value => {
|
|
187
|
-
|
|
246
|
+
// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
|
|
247
|
+
// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
|
|
248
|
+
// for creating the new block.
|
|
188
249
|
setAttributes({
|
|
189
250
|
url: value
|
|
190
251
|
});
|
|
252
|
+
setIsEditingURL(false);
|
|
191
253
|
}
|
|
192
254
|
}));
|
|
193
255
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/edit.native.js"],"names":["createUpgradedEmbedBlock","getAttributesFromPreview","getEmbedInfoByProvider","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedBottomSheet","classnames","_x","useState","useEffect","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","preview","fetching","cannotEmbed","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","isFetching","getMergedAttributes","allowResponsive","className","newURL","replace","upgradedBlock","blockProps","showEmbedPlaceholder","classFromPreview","event","value"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,wBADD,EAECC,wBAFD,EAGCC,sBAHD,QAIO,QAJP;AAKA,OAAOC,aAAP,MAA0B,kBAA1B;AACA,SAASC,gBAAT,QAAiC,SAAjC;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,EAAmBC,SAAnB,QAAoC,oBAApC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SACCC,aADD,EAECC,KAAK,IAAIC,gBAFV,QAGO,yBAHP;AAIA,SAASD,KAAK,IAAIE,SAAlB,QAAmC,sBAAnC;AACA,SAASC,IAAT,QAAqB,uBAArB;;AAEA,MAAMC,SAAS,GAAKC,KAAF,IAAa;AAC9B,QAAM;AACLC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,gBAAF;AAAoBC,MAAAA,WAApB;AAAiCC,MAAAA,UAAjC;AAA6CC,MAAAA;AAA7C,KADP;AAELJ,IAAAA,UAFK;AAGLK,IAAAA,UAHK;AAILC,IAAAA,SAJK;AAKLC,IAAAA,aALK;AAMLC,IAAAA,iBANK;AAOLC,IAAAA,OAPK;AAQLC,IAAAA;AARK,MASFX,KATJ;AAWA,QAAMY,gBAAgB,GAAG;AACxBC,IAAAA,KAAK,EAAEvB,EAAE,CAAE,OAAF,EAAW,aAAX,CADe;AAExBwB,IAAAA,IAAI,EAAE9B;AAFkB,GAAzB;AAIA,QAAM;AAAE8B,IAAAA,IAAF;AAAQD,IAAAA;AAAR,MACL/B,sBAAsB,CAAEoB,gBAAF,CAAtB,IAA8CU,gBAD/C;AAGA,QAAM;AAAEG,IAAAA;AAAF,MAA2BtB,SAAS,CACvCuB,MAAF,KAAgB;AACfD,IAAAA,oBAAoB,EAAEC,MAAM,CAC3BpB,gBAD2B,CAAN,CAEpBmB,oBAFoB,CAEEJ,QAFF,EAEY,eAFZ;AADP,GAAhB,CADyC,EAMzC,CAAEA,QAAF,CANyC,CAA1C;AAQA,QAAM,CAAEM,YAAF,EAAgBC,eAAhB,IAAoC3B,QAAQ,CACjDe,UAAU,IAAIS,oBAAd,IAAsC,CAAEV,GADS,CAAlD;AAIA,QAAM;AAAEc,IAAAA,OAAF;AAAWC,IAAAA,QAAX;AAAqBC,IAAAA;AAArB,MAAqC5B,SAAS,CACjDuB,MAAF,IAAc;AACb,UAAM;AACLM,MAAAA,eADK;AAELC,MAAAA,sBAFK;AAGLC,MAAAA;AAHK,QAIFR,MAAM,CAAEnB,SAAF,CAJV;;AAKA,QAAK,CAAEQ,GAAP,EAAa;AACZ,aAAO;AAAEe,QAAAA,QAAQ,EAAE,KAAZ;AAAmBC,QAAAA,WAAW,EAAE;AAAhC,OAAP;AACA;;AAED,UAAMI,YAAY,GAAGH,eAAe,CAAEjB,GAAF,CAApC;AACA,UAAMqB,iBAAiB,GAAGH,sBAAsB,CAAElB,GAAF,CAAhD,CAXa,CAab;;AACA,UAAMsB,gBAAgB,GACrB,CAAAF,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEG,IAAd,MAAuB,KAAvB,IACA,CAAAH,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEI,IAAd,MAAuBC,SAFxB,CAda,CAiBb;AACA;AACA;;AACA,UAAMC,kBAAkB,GAAG,CAAAN,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEO,IAAd,MAAuB,KAAlD;AACA,UAAMC,YAAY,GACjB,CAAC,CAAER,YAAH,IAAmB,CAAEE,gBAArB,IAAyC,CAAEI,kBAD5C,CArBa,CAwBb;AACA;AACA;AACA;;AACA,UAAMG,UAAU,GACfV,wBAAwB,CAAEnB,GAAF,CAAxB,IAAqCA,GAAG,IAAI,CAAEoB,YAD/C;AAGA,WAAO;AACNN,MAAAA,OAAO,EAAEc,YAAY,GAAGR,YAAH,GAAkBK,SADjC;AAENV,MAAAA,QAAQ,EAAEc,UAFJ;AAGNb,MAAAA,WAAW,EAAE,CAAEY,YAAF,IAAkBP;AAHzB,KAAP;AAKA,GArCkD,EAsCnD,CAAErB,GAAF,CAtCmD,CAApD;AAyCA;AACD;AACA;;AACC,QAAM8B,mBAAmB,GAAG,MAAM;AACjC,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAiCpC,UAAvC;AACA,WAAO,EACN,GAAGA,UADG;AAEN,SAAGpB,wBAAwB,CAC1BsC,OAD0B,EAE1BN,KAF0B,EAG1BwB,SAH0B,EAI1BjC,UAJ0B,EAK1BgC,eAL0B;AAFrB,KAAP;AAUA,GAZD;;AAcA5C,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,EAAE2B,OAAF,aAAEA,OAAF,eAAEA,OAAO,CAAES,IAAX,KAAmB,CAAEP,WAArB,IAAoCD,QAAzC,EAAoD;AACnD;AACA,KAHe,CAIhB;AACA;;;AACA,UAAMkB,MAAM,GAAGjC,GAAG,CAACkC,OAAJ,CAAa,KAAb,EAAoB,EAApB,CAAf;AACArB,IAAAA,eAAe,CAAE,KAAF,CAAf;AACAV,IAAAA,aAAa,CAAE;AAAEH,MAAAA,GAAG,EAAEiC;AAAP,KAAF,CAAb;AACA,GATQ,EASN,CAAEnB,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAES,IAAX,EAAiBvB,GAAjB,CATM,CAAT,CAzF8B,CAoG9B;;AACAb,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK2B,OAAO,IAAI,CAAEF,YAAlB,EAAiC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAT,MAAAA,aAAa,CAAE2B,mBAAmB,EAArB,CAAb;;AACA,UAAK5B,SAAL,EAAiB;AAChB,cAAMiC,aAAa,GAAG5D,wBAAwB,CAC7CoB,KAD6C,EAE7CmC,mBAAmB,EAF0B,CAA9C;;AAKA,YAAKK,aAAL,EAAqB;AACpBjC,UAAAA,SAAS,CAAEiC,aAAF,CAAT;AACA;AACD;AACD;AACD,GAtBQ,EAsBN,CAAErB,OAAF,EAAWF,YAAX,CAtBM,CAAT;AAwBA,QAAMwB,UAAU,GAAG/C,aAAa,EAAhC;;AAEA,MAAK0B,QAAL,EAAgB;AACf,WACC,cAAC,IAAD,EAAWqB,UAAX,EACC,cAAC,YAAD,OADD,CADD;AAKA;;AAED,QAAMC,oBAAoB,GAAG,CAAEvB,OAAF,IAAaE,WAA1C;AACA,QAAM;AAAEQ,IAAAA,IAAF;AAAQQ,IAAAA,SAAS,EAAEM;AAAnB,MAAwCR,mBAAmB,EAAjE;AACA,QAAME,SAAS,GAAGhD,UAAU,CAAEsD,gBAAF,EAAoB3C,KAAK,CAACqC,SAA1B,CAA5B;AAEA,SACC,8BACGK,oBAAoB,GACrB,cAAC,IAAD,EAAWD,UAAX,EACC,cAAC,gBAAD;AACC,IAAA,IAAI,EAAG3B,IADR;AAEC,IAAA,UAAU,EAAGR,UAFd;AAGC,IAAA,KAAK,EAAGO,KAHT;AAIC,IAAA,OAAO,EAAK+B,KAAF,IAAa;AACtBlC,MAAAA,OAAO,CAAEkC,KAAF,CAAP;AACA1B,MAAAA,eAAe,CAAE,IAAF,CAAf;AACA,KAPF;AAQC,IAAA,WAAW,EAAGG;AARf,IADD,CADqB,GAcrB,8BACC,cAAC,aAAD;AACC,IAAA,cAAc,EAAGF,OAAO,IAAI,CAAEE,WAD/B;AAEC,IAAA,oBAAoB,EAAG,MAAMH,eAAe,CAAE,IAAF;AAF7C,IADD,EAKC,cAAC,IAAD,EAAWuB,UAAX,EACC,cAAC,YAAD;AACC,IAAA,SAAS,EAAGJ,SADb;AAEC,IAAA,QAAQ,EAAG1B,QAFZ;AAGC,IAAA,IAAI,EAAGG,IAHR;AAIC,IAAA,iBAAiB,EAAGL,iBAJrB;AAKC,IAAA,UAAU,EAAGH,UALd;AAMC,IAAA,KAAK,EAAGO,KANT;AAOC,IAAA,OAAO,EAAGH,OAPX;AAQC,IAAA,OAAO,EAAGS,OARX;AASC,IAAA,WAAW,EAAGhB,WATf;AAUC,IAAA,IAAI,EAAG0B,IAVR;AAWC,IAAA,GAAG,EAAGxB;AAXP,IADD,CALD,CAfF,EAqCC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAGA,GADT;AAEC,IAAA,SAAS,EAAGY,YAFb;AAGC,IAAA,OAAO,EAAG,MAAMC,eAAe,CAAE,KAAF,CAHhC;AAIC,IAAA,QAAQ,EAAK2B,KAAF,IAAa;AACvB3B,MAAAA,eAAe,CAAE,KAAF,CAAf;AACAV,MAAAA,aAAa,CAAE;AAAEH,QAAAA,GAAG,EAAEwC;AAAP,OAAF,CAAb;AACA;AAPF,IArCD,CADD;AAiDA,CA5LD;;AA8LA,eAAe9C,SAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetAttributesFromPreview,\n\tgetEmbedInfoByProvider,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\nimport EmbedBottomSheet from './embed-bottom-sheet';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { providerNameSlug, previewable, responsive, url },\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t\tclientId,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst { icon, title } =\n\t\tgetEmbedInfoByProvider( providerNameSlug ) || defaultEmbedInfo;\n\n\tconst { wasBlockJustInserted } = useSelect(\n\t\t( select ) => ( {\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst [ isEditingURL, setIsEditingURL ] = useState(\n\t\tisSelected && wasBlockJustInserted && ! url\n\t);\n\n\tconst { preview, fetching, cannotEmbed } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tisRequestingEmbedPreview,\n\t\t\t} = select( coreStore );\n\t\t\tif ( ! url ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\tconst badEmbedProvider =\n\t\t\t\tembedPreview?.html === false &&\n\t\t\t\tembedPreview?.type === undefined;\n\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\n\t\t\t// `isRequestingEmbedPreview` is returning false just before an\n\t\t\t// `apiFetch` is triggered. We're assuming that a fetch is happening\n\t\t\t// if there is an `attributesUrl` set but there is no data in\n\t\t\t// `embedPreview` which represents the response returned from the API.\n\t\t\tconst isFetching =\n\t\t\t\tisRequestingEmbedPreview( url ) || ( url && ! embedPreview );\n\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: isFetching,\n\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t};\n\t\t},\n\t\t[ url ]\n\t);\n\n\t/**\n\t * @return {Object} Attributes derived from the preview, merged with the current attributes.\n\t */\n\tconst getMergedAttributes = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\treturn {\n\t\t\t...attributes,\n\t\t\t...getAttributesFromPreview(\n\t\t\t\tpreview,\n\t\t\t\ttitle,\n\t\t\t\tclassName,\n\t\t\t\tresponsive,\n\t\t\t\tallowResponsive\n\t\t\t),\n\t\t};\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! preview?.html || ! cannotEmbed || fetching ) {\n\t\t\treturn;\n\t\t}\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = url.replace( /\\/$/, '' );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, url ] );\n\n\t// Handle incoming preview\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// Even though we set attributes that get derived from the preview,\n\t\t\t// we don't access them directly because for the initial render,\n\t\t\t// the `setAttributes` call will not have taken effect. If we're\n\t\t\t// rendering responsive content, setting the responsive classes\n\t\t\t// after the preview has been rendered can result in unwanted\n\t\t\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t\t\t// that `getMergedAttributes` uses is memoized so that we're not\n\t\t\t// calculating them on every render.\n\t\t\tsetAttributes( getMergedAttributes() );\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tgetMergedAttributes()\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed;\n\tconst { type, className: classFromPreview } = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPreview\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<EmbedBottomSheet\n\t\t\t\tvalue={ url }\n\t\t\t\tisVisible={ isEditingURL }\n\t\t\t\tonClose={ () => setIsEditingURL( false ) }\n\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\tsetAttributes( { url: value } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/edit.native.js"],"names":["createUpgradedEmbedBlock","getClassNames","fallback","getAttributesFromPreview","getEmbedInfoByProvider","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedBottomSheet","classnames","_x","useState","useEffect","useDispatch","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","PREVIEWABLE_PROVIDERS","NOT_PREVIEWABLE_WP_EMBED_PROVIDERS","WP_EMBED_TYPE","EmbedEdit","props","attributes","align","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedInfoByProvider","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","isFetching","getMergedAttributes","ignorePreviousClassName","allowResponsive","className","toggleResponsive","newAllowResponsive","newURL","replace","upgradedBlock","blockProps","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","bottomSheetLabel","event","value"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tfallback,\n\tgetAttributesFromPreview,\n\tgetEmbedInfoByProvider,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\nimport EmbedBottomSheet from './embed-bottom-sheet';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\n\n// The inline preview feature will be released progressible, for this reason\n// the embed will only be considered previewable for the following providers list.\nconst PREVIEWABLE_PROVIDERS = [ 'youtube', 'twitter', 'instagram', 'vimeo' ];\n// Some providers are rendering the inline preview as a WordPress embed and\n// are not supported yet, so we need to disallow them with a fixed providers list.\nconst NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = [ 'pinterest' ];\n\nconst WP_EMBED_TYPE = 'wp-embed';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { align, providerNameSlug, previewable, responsive, url },\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t\tclientId,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst embedInfoByProvider = getEmbedInfoByProvider( providerNameSlug );\n\tconst { icon, title } = embedInfoByProvider || defaultEmbedInfo;\n\n\tconst { wasBlockJustInserted } = useSelect(\n\t\t( select ) => ( {\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst [ isEditingURL, setIsEditingURL ] = useState(\n\t\tisSelected && wasBlockJustInserted && ! url\n\t);\n\tconst [ showEmbedBottomSheet, setShowEmbedBottomSheet ] = useState(\n\t\tisEditingURL\n\t);\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst {\n\t\tpreview,\n\t\tfetching,\n\t\tthemeSupportsResponsive,\n\t\tcannotEmbed,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tisRequestingEmbedPreview,\n\t\t\t\tgetThemeSupports,\n\t\t\t} = select( coreStore );\n\t\t\tif ( ! url ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\tconst badEmbedProvider =\n\t\t\t\tembedPreview?.html === false &&\n\t\t\t\tembedPreview?.type === undefined;\n\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\n\t\t\t// `isRequestingEmbedPreview` is returning false just before an\n\t\t\t// `apiFetch` is triggered. We're assuming that a fetch is happening\n\t\t\t// if there is an `attributesUrl` set but there is no data in\n\t\t\t// `embedPreview` which represents the response returned from the API.\n\t\t\tconst isFetching =\n\t\t\t\tisRequestingEmbedPreview( url ) || ( url && ! embedPreview );\n\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: isFetching,\n\t\t\t\tthemeSupportsResponsive: getThemeSupports()[\n\t\t\t\t\t'responsive-embeds'\n\t\t\t\t],\n\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t};\n\t\t},\n\t\t[ url ]\n\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = ( ignorePreviousClassName = false ) => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\treturn {\n\t\t\t...attributes,\n\t\t\t...getAttributesFromPreview(\n\t\t\t\tpreview,\n\t\t\t\ttitle,\n\t\t\t\tignorePreviousClassName ? undefined : className,\n\t\t\t\tresponsive,\n\t\t\t\tallowResponsive\n\t\t\t),\n\t\t};\n\t};\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! preview?.html || ! cannotEmbed || fetching ) {\n\t\t\treturn;\n\t\t}\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = url.replace( /\\/$/, '' );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, url ] );\n\n\t// Handle incoming preview\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview, we set the attributes derived from\n\t\t\t// the preview data. In this case when getting the merged attributes,\n\t\t\t// we ignore the previous classname because it might not match the expected\n\t\t\t// classes by the new preview.\n\t\t\tsetAttributes( getMergedAttributes( true ) );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tgetMergedAttributes()\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tuseEffect( () => setShowEmbedBottomSheet( isEditingURL ), [\n\t\tisEditingURL,\n\t] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed;\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\tconst isProviderPreviewable =\n\t\tPREVIEWABLE_PROVIDERS.includes( providerNameSlug ) ||\n\t\t// For WordPress embeds, we enable the inline preview for all its providers\n\t\t// except the ones that are not supported yet.\n\t\t( WP_EMBED_TYPE === type &&\n\t\t\t! NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes( providerNameSlug ) );\n\n\tconst bottomSheetLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tshowEditButton={ cannotEmbed }\n\t\t\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPreview\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tisProviderPreviewable={ isProviderPreviewable }\n\t\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tisDefaultEmbedInfo={ ! embedInfoByProvider }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<EmbedBottomSheet\n\t\t\t\tvalue={ url }\n\t\t\t\tlabel={ bottomSheetLabel }\n\t\t\t\tisVisible={ showEmbedBottomSheet }\n\t\t\t\tonClose={ () => setShowEmbedBottomSheet( false ) }\n\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,\n\t\t\t\t\t// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL\n\t\t\t\t\t// for creating the new block.\n\t\t\t\t\tsetAttributes( { url: value } );\n\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
|
|
@@ -3,30 +3,16 @@ import { createElement } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
|
-
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
7
7
|
import { LinkSettingsNavigation, FooterMessageLink } from '@wordpress/components';
|
|
8
8
|
import { isURL } from '@wordpress/url';
|
|
9
9
|
import { useDispatch } from '@wordpress/data';
|
|
10
10
|
import { store as noticesStore } from '@wordpress/notices';
|
|
11
11
|
import { useCallback, useState } from '@wordpress/element';
|
|
12
|
-
const linkSettingsOptions = {
|
|
13
|
-
url: {
|
|
14
|
-
label: __('Embed link'),
|
|
15
|
-
placeholder: __('Add link'),
|
|
16
|
-
autoFocus: true,
|
|
17
|
-
autoFill: true
|
|
18
|
-
},
|
|
19
|
-
footer: {
|
|
20
|
-
label: createElement(FooterMessageLink, {
|
|
21
|
-
href: __('https://wordpress.org/support/article/embeds/'),
|
|
22
|
-
value: __('Learn more about embeds')
|
|
23
|
-
}),
|
|
24
|
-
separatorType: 'topFullWidth'
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
12
|
|
|
28
13
|
const EmbedBottomSheet = ({
|
|
29
14
|
value,
|
|
15
|
+
label,
|
|
30
16
|
isVisible,
|
|
31
17
|
onClose,
|
|
32
18
|
onSubmit
|
|
@@ -35,6 +21,22 @@ const EmbedBottomSheet = ({
|
|
|
35
21
|
const {
|
|
36
22
|
createErrorNotice
|
|
37
23
|
} = useDispatch(noticesStore);
|
|
24
|
+
const linkSettingsOptions = {
|
|
25
|
+
url: {
|
|
26
|
+
label: sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
|
|
27
|
+
__('%s link'), label),
|
|
28
|
+
placeholder: __('Add link'),
|
|
29
|
+
autoFocus: true,
|
|
30
|
+
autoFill: true
|
|
31
|
+
},
|
|
32
|
+
footer: {
|
|
33
|
+
label: createElement(FooterMessageLink, {
|
|
34
|
+
href: __('https://wordpress.org/support/article/embeds/'),
|
|
35
|
+
value: __('Learn more about embeds')
|
|
36
|
+
}),
|
|
37
|
+
separatorType: 'topFullWidth'
|
|
38
|
+
}
|
|
39
|
+
};
|
|
38
40
|
const onDismiss = useCallback(() => {
|
|
39
41
|
if (url !== '') {
|
|
40
42
|
if (isURL(url)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-bottom-sheet.native.js"],"names":["__","LinkSettingsNavigation","FooterMessageLink","isURL","useDispatch","store","noticesStore","useCallback","useState","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-bottom-sheet.native.js"],"names":["__","sprintf","LinkSettingsNavigation","FooterMessageLink","isURL","useDispatch","store","noticesStore","useCallback","useState","EmbedBottomSheet","value","label","isVisible","onClose","onSubmit","url","setURL","createErrorNotice","linkSettingsOptions","placeholder","autoFocus","autoFill","footer","separatorType","onDismiss","setAttributes","attributes"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SACCC,sBADD,EAECC,iBAFD,QAGO,uBAHP;AAIA,SAASC,KAAT,QAAsB,gBAAtB;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AACA,SAASC,WAAT,EAAsBC,QAAtB,QAAsC,oBAAtC;;AAEA,MAAMC,gBAAgB,GAAG,CAAE;AAAEC,EAAAA,KAAF;AAASC,EAAAA,KAAT;AAAgBC,EAAAA,SAAhB;AAA2BC,EAAAA,OAA3B;AAAoCC,EAAAA;AAApC,CAAF,KAAsD;AAC9E,QAAM,CAAEC,GAAF,EAAOC,MAAP,IAAkBR,QAAQ,CAAEE,KAAF,CAAhC;AACA,QAAM;AAAEO,IAAAA;AAAF,MAAwBb,WAAW,CAAEE,YAAF,CAAzC;AAEA,QAAMY,mBAAmB,GAAG;AAC3BH,IAAAA,GAAG,EAAE;AACJJ,MAAAA,KAAK,EAAEX,OAAO,EACb;AACAD,MAAAA,EAAE,CAAE,SAAF,CAFW,EAGbY,KAHa,CADV;AAMJQ,MAAAA,WAAW,EAAEpB,EAAE,CAAE,UAAF,CANX;AAOJqB,MAAAA,SAAS,EAAE,IAPP;AAQJC,MAAAA,QAAQ,EAAE;AARN,KADsB;AAW3BC,IAAAA,MAAM,EAAE;AACPX,MAAAA,KAAK,EACJ,cAAC,iBAAD;AACC,QAAA,IAAI,EAAGZ,EAAE,CACR,+CADQ,CADV;AAIC,QAAA,KAAK,EAAGA,EAAE,CAAE,yBAAF;AAJX,QAFM;AASPwB,MAAAA,aAAa,EAAE;AATR;AAXmB,GAA5B;AAwBA,QAAMC,SAAS,GAAGjB,WAAW,CAAE,MAAM;AACpC,QAAKQ,GAAG,KAAK,EAAb,EAAkB;AACjB,UAAKZ,KAAK,CAAEY,GAAF,CAAV,EAAoB;AACnBD,QAAAA,QAAQ,CAAEC,GAAF,CAAR;AACA,OAFD,MAEO;AACNE,QAAAA,iBAAiB,CAChBlB,EAAE,CAAE,wCAAF,CADc,CAAjB,CADM,CAIN;;AACA,YAAKW,KAAK,KAAK,EAAf,EAAoB;AACnBI,UAAAA,QAAQ,CAAEJ,KAAF,CAAR;AACA;AACD;AACD,KAZD,MAYO,IAAKA,KAAK,KAAK,EAAf,EAAoB;AAC1B;AACAI,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACA;AACD,GAjB4B,EAiB1B,CAAEC,GAAF,EAAOD,QAAP,EAAiBJ,KAAjB,CAjB0B,CAA7B;;AAmBA,WAASe,aAAT,CAAwBC,UAAxB,EAAqC;AACpCV,IAAAA,MAAM,CAAEU,UAAU,CAACX,GAAb,CAAN;AACA;;AAED,SACC,cAAC,sBAAD;AACC,IAAA,SAAS,EAAGH,SADb;AAEC,IAAA,GAAG,EAAGG,GAFP;AAGC,IAAA,OAAO,EAAGF,OAHX;AAIC,IAAA,SAAS,EAAGW,SAJb;AAKC,IAAA,aAAa,EAAGC,aALjB;AAMC,IAAA,OAAO,EAAGP,mBANX;AAOC,IAAA,eAAe,MAPhB;AAQC,IAAA,QAAQ;AART,IADD;AAYA,CA/DD;;AAiEA,eAAeT,gBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tLinkSettingsNavigation,\n\tFooterMessageLink,\n} from '@wordpress/components';\nimport { isURL } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useCallback, useState } from '@wordpress/element';\n\nconst EmbedBottomSheet = ( { value, label, isVisible, onClose, onSubmit } ) => {\n\tconst [ url, setURL ] = useState( value );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: sprintf(\n\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t__( '%s link' ),\n\t\t\t\tlabel\n\t\t\t),\n\t\t\tplaceholder: __( 'Add link' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: true,\n\t\t},\n\t\tfooter: {\n\t\t\tlabel: (\n\t\t\t\t<FooterMessageLink\n\t\t\t\t\thref={ __(\n\t\t\t\t\t\t'https://wordpress.org/support/article/embeds/'\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ __( 'Learn more about embeds' ) }\n\t\t\t\t/>\n\t\t\t),\n\t\t\tseparatorType: 'topFullWidth',\n\t\t},\n\t};\n\n\tconst onDismiss = useCallback( () => {\n\t\tif ( url !== '' ) {\n\t\t\tif ( isURL( url ) ) {\n\t\t\t\tonSubmit( url );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__( 'Invalid URL. Please enter a valid URL.' )\n\t\t\t\t);\n\t\t\t\t// If the URL was already defined, we submit it to stop showing the embed placeholder.\n\t\t\t\tif ( value !== '' ) {\n\t\t\t\t\tonSubmit( value );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( value !== '' ) {\n\t\t\t// Resets the URL when new value is empty and URL was already defined.\n\t\t\tonSubmit( '' );\n\t\t}\n\t}, [ url, onSubmit, value ] );\n\n\tfunction setAttributes( attributes ) {\n\t\tsetURL( attributes.url );\n\t}\n\n\treturn (\n\t\t<LinkSettingsNavigation\n\t\t\tisVisible={ isVisible }\n\t\t\turl={ url }\n\t\t\tonClose={ onClose }\n\t\t\tonDismiss={ onDismiss }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\toptions={ linkSettingsOptions }\n\t\t\twithBottomSheet\n\t\t\tshowIcon\n\t\t/>\n\t);\n};\n\nexport default EmbedBottomSheet;\n"]}
|
|
@@ -8,12 +8,15 @@ import { ToolbarButton, PanelBody, ToggleControl, ToolbarGroup } from '@wordpres
|
|
|
8
8
|
import { BlockControls, InspectorControls } from '@wordpress/block-editor';
|
|
9
9
|
import { edit } from '@wordpress/icons';
|
|
10
10
|
|
|
11
|
+
function getResponsiveHelp(checked) {
|
|
12
|
+
return checked ? __('This embed will preserve its aspect ratio when the browser is resized.') : __('This embed may not preserve its aspect ratio when the browser is resized.');
|
|
13
|
+
}
|
|
14
|
+
|
|
11
15
|
const EmbedControls = ({
|
|
12
16
|
blockSupportsResponsive,
|
|
13
17
|
showEditButton,
|
|
14
18
|
themeSupportsResponsive,
|
|
15
19
|
allowResponsive,
|
|
16
|
-
getResponsiveHelp,
|
|
17
20
|
toggleResponsive,
|
|
18
21
|
switchBackToURLInput
|
|
19
22
|
}) => createElement(Fragment, null, createElement(BlockControls, null, createElement(ToolbarGroup, null, showEditButton && createElement(ToolbarButton, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-controls.js"],"names":["__","ToolbarButton","PanelBody","ToggleControl","ToolbarGroup","BlockControls","InspectorControls","edit","EmbedControls","blockSupportsResponsive","showEditButton","themeSupportsResponsive","allowResponsive","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-controls.js"],"names":["__","ToolbarButton","PanelBody","ToggleControl","ToolbarGroup","BlockControls","InspectorControls","edit","getResponsiveHelp","checked","EmbedControls","blockSupportsResponsive","showEditButton","themeSupportsResponsive","allowResponsive","toggleResponsive","switchBackToURLInput"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,aADD,EAECC,SAFD,EAGCC,aAHD,EAICC,YAJD,QAKO,uBALP;AAMA,SAASC,aAAT,EAAwBC,iBAAxB,QAAiD,yBAAjD;AACA,SAASC,IAAT,QAAqB,kBAArB;;AAEA,SAASC,iBAAT,CAA4BC,OAA5B,EAAsC;AACrC,SAAOA,OAAO,GACXT,EAAE,CACF,wEADE,CADS,GAIXA,EAAE,CACF,2EADE,CAJL;AAOA;;AAED,MAAMU,aAAa,GAAG,CAAE;AACvBC,EAAAA,uBADuB;AAEvBC,EAAAA,cAFuB;AAGvBC,EAAAA,uBAHuB;AAIvBC,EAAAA,eAJuB;AAKvBC,EAAAA,gBALuB;AAMvBC,EAAAA;AANuB,CAAF,KAQrB,8BACC,cAAC,aAAD,QACC,cAAC,YAAD,QACGJ,cAAc,IACf,cAAC,aAAD;AACC,EAAA,SAAS,EAAC,6BADX;AAEC,EAAA,KAAK,EAAGZ,EAAE,CAAE,UAAF,CAFX;AAGC,EAAA,IAAI,EAAGO,IAHR;AAIC,EAAA,OAAO,EAAGS;AAJX,EAFF,CADD,CADD,EAaGH,uBAAuB,IAAIF,uBAA3B,IACD,cAAC,iBAAD,QACC,cAAC,SAAD;AACC,EAAA,KAAK,EAAGX,EAAE,CAAE,gBAAF,CADX;AAEC,EAAA,SAAS,EAAC;AAFX,GAIC,cAAC,aAAD;AACC,EAAA,KAAK,EAAGA,EAAE,CAAE,4BAAF,CADX;AAEC,EAAA,OAAO,EAAGc,eAFX;AAGC,EAAA,IAAI,EAAGN,iBAHR;AAIC,EAAA,QAAQ,EAAGO;AAJZ,EAJD,CADD,CAdF,CARD;;AAuCA,eAAeL,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tPanelBody,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { BlockControls, InspectorControls } from '@wordpress/block-editor';\nimport { edit } from '@wordpress/icons';\n\nfunction getResponsiveHelp( checked ) {\n\treturn checked\n\t\t? __(\n\t\t\t\t'This embed will preserve its aspect ratio when the browser is resized.'\n\t\t )\n\t\t: __(\n\t\t\t\t'This embed may not preserve its aspect ratio when the browser is resized.'\n\t\t );\n}\n\nconst EmbedControls = ( {\n\tblockSupportsResponsive,\n\tshowEditButton,\n\tthemeSupportsResponsive,\n\tallowResponsive,\n\ttoggleResponsive,\n\tswitchBackToURLInput,\n} ) => (\n\t<>\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t{ showEditButton && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\t\t\tlabel={ __( 'Edit URL' ) }\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ switchBackToURLInput }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t\t{ themeSupportsResponsive && blockSupportsResponsive && (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Media settings' ) }\n\t\t\t\t\tclassName=\"blocks-responsive\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Resize for smaller devices' ) }\n\t\t\t\t\t\tchecked={ allowResponsive }\n\t\t\t\t\t\thelp={ getResponsiveHelp }\n\t\t\t\t\t\tonChange={ toggleResponsive }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t) }\n\t</>\n);\n\nexport default EmbedControls;\n"]}
|
|
@@ -9,7 +9,7 @@ import { TouchableOpacity, TouchableWithoutFeedback, Text } from 'react-native';
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { View } from '@wordpress/primitives';
|
|
12
|
-
import { __ } from '@wordpress/i18n';
|
|
12
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
13
13
|
import { useRef, useState } from '@wordpress/element';
|
|
14
14
|
import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
15
15
|
import { requestPreview } from '@wordpress/react-native-bridge';
|
|
@@ -17,6 +17,7 @@ import { useSelect } from '@wordpress/data';
|
|
|
17
17
|
import { store as editorStore } from '@wordpress/editor';
|
|
18
18
|
import { BottomSheet, Icon, TextControl } from '@wordpress/components';
|
|
19
19
|
import { help } from '@wordpress/icons';
|
|
20
|
+
import { BlockIcon } from '@wordpress/block-editor';
|
|
20
21
|
/**
|
|
21
22
|
* Internal dependencies
|
|
22
23
|
*/
|
|
@@ -27,7 +28,9 @@ const EmbedNoPreview = ({
|
|
|
27
28
|
label,
|
|
28
29
|
icon,
|
|
29
30
|
isSelected,
|
|
30
|
-
onPress
|
|
31
|
+
onPress,
|
|
32
|
+
previewable,
|
|
33
|
+
isDefaultEmbedInfo
|
|
31
34
|
}) => {
|
|
32
35
|
const shouldRequestReview = useRef(false);
|
|
33
36
|
const [isSheetVisible, setIsSheetVisible] = useState(false);
|
|
@@ -38,7 +41,6 @@ const EmbedNoPreview = ({
|
|
|
38
41
|
}));
|
|
39
42
|
const containerStyle = usePreferredColorSchemeStyle(styles.embed__container, styles['embed__container--dark']);
|
|
40
43
|
const labelStyle = usePreferredColorSchemeStyle(styles.embed__label, styles['embed__label--dark']);
|
|
41
|
-
const embedIconStyle = usePreferredColorSchemeStyle(styles.embed__icon, styles['embed__icon--dark']);
|
|
42
44
|
const descriptionStyle = usePreferredColorSchemeStyle(styles.embed__description, styles['embed__description--dark']);
|
|
43
45
|
const helpIconStyle = usePreferredColorSchemeStyle(styles['embed-no-preview__help-icon'], styles['embed-no-preview__help-icon--dark']);
|
|
44
46
|
const sheetIconStyle = usePreferredColorSchemeStyle(styles['embed-no-preview__sheet-icon'], styles['embed-no-preview__sheet-icon--dark']);
|
|
@@ -47,7 +49,9 @@ const EmbedNoPreview = ({
|
|
|
47
49
|
const sheetButtonStyle = usePreferredColorSchemeStyle(styles['embed-no-preview__sheet-button'], styles['embed-no-preview__sheet-button--dark']);
|
|
48
50
|
const previewButtonA11yHint = postType === 'page' ? __('Double tap to preview page.') : __('Double tap to preview post.');
|
|
49
51
|
const previewButtonText = postType === 'page' ? __('Preview page') : __('Preview post');
|
|
50
|
-
const comingSoonDescription = postType === 'page' ?
|
|
52
|
+
const comingSoonDescription = postType === 'page' ? sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
|
|
53
|
+
__('We’re working hard on adding support for %s previews. In the meantime, you can preview the embedded content on the page.'), label) : sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
|
|
54
|
+
__('We’re working hard on adding support for %s previews. In the meantime, you can preview the embedded content on the post.'), label);
|
|
51
55
|
|
|
52
56
|
function onOpenSheet() {
|
|
53
57
|
setIsSheetVisible(true);
|
|
@@ -76,21 +80,21 @@ const EmbedNoPreview = ({
|
|
|
76
80
|
onPressContainer();
|
|
77
81
|
}
|
|
78
82
|
|
|
79
|
-
|
|
83
|
+
const embedNoProviderPreview = createElement(Fragment, null, createElement(TouchableWithoutFeedback, {
|
|
80
84
|
accessibilityRole: 'button',
|
|
81
85
|
accessibilityHint: previewButtonA11yHint,
|
|
82
86
|
disabled: !isSelected,
|
|
83
87
|
onPress: onPressContainer
|
|
84
88
|
}, createElement(View, {
|
|
85
89
|
style: containerStyle
|
|
86
|
-
}, createElement(
|
|
87
|
-
icon: icon
|
|
88
|
-
fill: embedIconStyle.fill
|
|
90
|
+
}, createElement(BlockIcon, {
|
|
91
|
+
icon: icon
|
|
89
92
|
}), createElement(Text, {
|
|
90
93
|
style: labelStyle
|
|
91
94
|
}, label), createElement(Text, {
|
|
92
95
|
style: descriptionStyle
|
|
93
|
-
},
|
|
96
|
+
}, sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
|
|
97
|
+
__('%s previews not yet available'), label)), createElement(Text, {
|
|
94
98
|
style: styles.embed__action
|
|
95
99
|
}, previewButtonText.toUpperCase()), createElement(TouchableOpacity, {
|
|
96
100
|
accessibilityHint: __('Tap here to show help'),
|
|
@@ -118,7 +122,8 @@ const EmbedNoPreview = ({
|
|
|
118
122
|
size: sheetIconStyle.width
|
|
119
123
|
})), createElement(Text, {
|
|
120
124
|
style: sheetTitleStyle
|
|
121
|
-
}, __('Embed block previews are coming soon')
|
|
125
|
+
}, isDefaultEmbedInfo ? __('Embed block previews are coming soon') : sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
|
|
126
|
+
__('%s embed block previews are coming soon'), label)), createElement(Text, {
|
|
122
127
|
style: sheetDescriptionStyle
|
|
123
128
|
}, comingSoonDescription)), createElement(TextControl, {
|
|
124
129
|
label: previewButtonText,
|
|
@@ -134,6 +139,13 @@ const EmbedNoPreview = ({
|
|
|
134
139
|
onPress: onCloseSheet,
|
|
135
140
|
labelStyle: sheetButtonStyle
|
|
136
141
|
})));
|
|
142
|
+
return createElement(Fragment, null, previewable ? embedNoProviderPreview : createElement(View, {
|
|
143
|
+
style: containerStyle
|
|
144
|
+
}, createElement(BlockIcon, {
|
|
145
|
+
icon: icon
|
|
146
|
+
}), createElement(Text, {
|
|
147
|
+
style: labelStyle
|
|
148
|
+
}, __('No preview available'))));
|
|
137
149
|
};
|
|
138
150
|
|
|
139
151
|
export default EmbedNoPreview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-no-preview.native.js"],"names":["TouchableOpacity","TouchableWithoutFeedback","Text","View","__","useRef","useState","usePreferredColorSchemeStyle","requestPreview","useSelect","store","editorStore","BottomSheet","Icon","TextControl","help","styles","EmbedNoPreview","label","icon","isSelected","onPress","shouldRequestReview","isSheetVisible","setIsSheetVisible","postType","select","getEditedPostAttribute","containerStyle","embed__container","labelStyle","embed__label","embedIconStyle","embed__icon","descriptionStyle","embed__description","helpIconStyle","sheetIconStyle","sheetTitleStyle","sheetDescriptionStyle","sheetButtonStyle","previewButtonA11yHint","previewButtonText","comingSoonDescription","onOpenSheet","onCloseSheet","onDismissSheet","current","onPressContainer","onPressHelp","fill","embed__action","toUpperCase","width"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableOpacity, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\n\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { requestPreview } from '@wordpress/react-native-bridge';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { BottomSheet, Icon, TextControl } from '@wordpress/components';\nimport { help } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst EmbedNoPreview = ( { label, icon, isSelected, onPress } ) => {\n\tconst shouldRequestReview = useRef( false );\n\tconst [ isSheetVisible, setIsSheetVisible ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => ( {\n\t\tpostType: select( editorStore ).getEditedPostAttribute( 'type' ),\n\t} ) );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__container,\n\t\tstyles[ 'embed__container--dark' ]\n\t);\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__label,\n\t\tstyles[ 'embed__label--dark' ]\n\t);\n\tconst embedIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__icon,\n\t\tstyles[ 'embed__icon--dark' ]\n\t);\n\tconst descriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__description,\n\t\tstyles[ 'embed__description--dark' ]\n\t);\n\tconst helpIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__help-icon' ],\n\t\tstyles[ 'embed-no-preview__help-icon--dark' ]\n\t);\n\n\tconst sheetIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-icon' ],\n\t\tstyles[ 'embed-no-preview__sheet-icon--dark' ]\n\t);\n\tconst sheetTitleStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-title' ],\n\t\tstyles[ 'embed-no-preview__sheet-title--dark' ]\n\t);\n\tconst sheetDescriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-description' ],\n\t\tstyles[ 'embed-no-preview__sheet-description--dark' ]\n\t);\n\tconst sheetButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-button' ],\n\t\tstyles[ 'embed-no-preview__sheet-button--dark' ]\n\t);\n\n\tconst previewButtonA11yHint =\n\t\tpostType === 'page'\n\t\t\t? __( 'Double tap to preview page.' )\n\t\t\t: __( 'Double tap to preview post.' );\n\tconst previewButtonText =\n\t\tpostType === 'page' ? __( 'Preview page' ) : __( 'Preview post' );\n\tconst comingSoonDescription =\n\t\tpostType === 'page'\n\t\t\t? __(\n\t\t\t\t\t'We’re working hard on adding support for embed previews. In the meantime, you can preview the embedded content on the page.'\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'We’re working hard on adding support for embed previews. In the meantime, you can preview the embedded content on the post.'\n\t\t\t );\n\n\tfunction onOpenSheet() {\n\t\tsetIsSheetVisible( true );\n\t}\n\n\tfunction onCloseSheet() {\n\t\tsetIsSheetVisible( false );\n\t}\n\n\tfunction onDismissSheet() {\n\t\t// The preview request has to be done after the bottom sheet modal is dismissed,\n\t\t// otherwise the preview native modal is not displayed.\n\t\tif ( shouldRequestReview.current ) {\n\t\t\trequestPreview();\n\t\t}\n\t\tshouldRequestReview.current = false;\n\t}\n\n\tfunction onPressContainer() {\n\t\tonPress();\n\t\tonOpenSheet();\n\t}\n\n\tfunction onPressHelp() {\n\t\tonPressContainer();\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ previewButtonA11yHint }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\tonPress={ onPressContainer }\n\t\t\t>\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t<Icon icon={ icon } fill={ embedIconStyle.fill } />\n\t\t\t\t\t<Text style={ labelStyle }>{ label }</Text>\n\t\t\t\t\t<Text style={ descriptionStyle }>\n\t\t\t\t\t\t{ __( 'Embed previews not yet available' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ styles.embed__action }>\n\t\t\t\t\t\t{ previewButtonText.toUpperCase() }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\tonPress={ onPressHelp }\n\t\t\t\t\t\tstyle={ helpIconStyle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\t\tfill={ helpIconStyle.fill }\n\t\t\t\t\t\t\tsize={ helpIconStyle.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ isSheetVisible }\n\t\t\t\thideHeader\n\t\t\t\tonDismiss={ onDismissSheet }\n\t\t\t\tonClose={ onCloseSheet }\n\t\t\t>\n\t\t\t\t<View style={ styles[ 'embed-no-preview__container' ] }>\n\t\t\t\t\t<View style={ sheetIconStyle }>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\t\tfill={ sheetIconStyle.fill }\n\t\t\t\t\t\t\tsize={ sheetIconStyle.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t\t<Text style={ sheetTitleStyle }>\n\t\t\t\t\t\t{ __( 'Embed block previews are coming soon' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ sheetDescriptionStyle }>\n\t\t\t\t\t\t{ comingSoonDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ previewButtonText }\n\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\tshouldRequestReview.current = true;\n\t\t\t\t\t\tonCloseSheet();\n\t\t\t\t\t} }\n\t\t\t\t\tlabelStyle={ sheetButtonStyle }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Dismiss' ) }\n\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\tonPress={ onCloseSheet }\n\t\t\t\t\tlabelStyle={ sheetButtonStyle }\n\t\t\t\t/>\n\t\t\t</BottomSheet>\n\t\t</>\n\t);\n};\n\nexport default EmbedNoPreview;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-no-preview.native.js"],"names":["TouchableOpacity","TouchableWithoutFeedback","Text","View","__","sprintf","useRef","useState","usePreferredColorSchemeStyle","requestPreview","useSelect","store","editorStore","BottomSheet","Icon","TextControl","help","BlockIcon","styles","EmbedNoPreview","label","icon","isSelected","onPress","previewable","isDefaultEmbedInfo","shouldRequestReview","isSheetVisible","setIsSheetVisible","postType","select","getEditedPostAttribute","containerStyle","embed__container","labelStyle","embed__label","descriptionStyle","embed__description","helpIconStyle","sheetIconStyle","sheetTitleStyle","sheetDescriptionStyle","sheetButtonStyle","previewButtonA11yHint","previewButtonText","comingSoonDescription","onOpenSheet","onCloseSheet","onDismissSheet","current","onPressContainer","onPressHelp","embedNoProviderPreview","embed__action","toUpperCase","fill","width"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableOpacity, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\n\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, useState } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { requestPreview } from '@wordpress/react-native-bridge';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { BottomSheet, Icon, TextControl } from '@wordpress/components';\nimport { help } from '@wordpress/icons';\nimport { BlockIcon } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst EmbedNoPreview = ( {\n\tlabel,\n\ticon,\n\tisSelected,\n\tonPress,\n\tpreviewable,\n\tisDefaultEmbedInfo,\n} ) => {\n\tconst shouldRequestReview = useRef( false );\n\tconst [ isSheetVisible, setIsSheetVisible ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => ( {\n\t\tpostType: select( editorStore ).getEditedPostAttribute( 'type' ),\n\t} ) );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__container,\n\t\tstyles[ 'embed__container--dark' ]\n\t);\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__label,\n\t\tstyles[ 'embed__label--dark' ]\n\t);\n\tconst descriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__description,\n\t\tstyles[ 'embed__description--dark' ]\n\t);\n\tconst helpIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__help-icon' ],\n\t\tstyles[ 'embed-no-preview__help-icon--dark' ]\n\t);\n\n\tconst sheetIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-icon' ],\n\t\tstyles[ 'embed-no-preview__sheet-icon--dark' ]\n\t);\n\tconst sheetTitleStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-title' ],\n\t\tstyles[ 'embed-no-preview__sheet-title--dark' ]\n\t);\n\tconst sheetDescriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-description' ],\n\t\tstyles[ 'embed-no-preview__sheet-description--dark' ]\n\t);\n\tconst sheetButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-button' ],\n\t\tstyles[ 'embed-no-preview__sheet-button--dark' ]\n\t);\n\n\tconst previewButtonA11yHint =\n\t\tpostType === 'page'\n\t\t\t? __( 'Double tap to preview page.' )\n\t\t\t: __( 'Double tap to preview post.' );\n\tconst previewButtonText =\n\t\tpostType === 'page' ? __( 'Preview page' ) : __( 'Preview post' );\n\tconst comingSoonDescription =\n\t\tpostType === 'page'\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t\t__(\n\t\t\t\t\t\t'We’re working hard on adding support for %s previews. In the meantime, you can preview the embedded content on the page.'\n\t\t\t\t\t),\n\t\t\t\t\tlabel\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t\t__(\n\t\t\t\t\t\t'We’re working hard on adding support for %s previews. In the meantime, you can preview the embedded content on the post.'\n\t\t\t\t\t),\n\t\t\t\t\tlabel\n\t\t\t );\n\n\tfunction onOpenSheet() {\n\t\tsetIsSheetVisible( true );\n\t}\n\n\tfunction onCloseSheet() {\n\t\tsetIsSheetVisible( false );\n\t}\n\n\tfunction onDismissSheet() {\n\t\t// The preview request has to be done after the bottom sheet modal is dismissed,\n\t\t// otherwise the preview native modal is not displayed.\n\t\tif ( shouldRequestReview.current ) {\n\t\t\trequestPreview();\n\t\t}\n\t\tshouldRequestReview.current = false;\n\t}\n\n\tfunction onPressContainer() {\n\t\tonPress();\n\t\tonOpenSheet();\n\t}\n\n\tfunction onPressHelp() {\n\t\tonPressContainer();\n\t}\n\n\tconst embedNoProviderPreview = (\n\t\t<>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ previewButtonA11yHint }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\tonPress={ onPressContainer }\n\t\t\t>\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t<Text style={ labelStyle }>{ label }</Text>\n\t\t\t\t\t<Text style={ descriptionStyle }>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t\t\t\t__( '%s previews not yet available' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ styles.embed__action }>\n\t\t\t\t\t\t{ previewButtonText.toUpperCase() }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\tonPress={ onPressHelp }\n\t\t\t\t\t\tstyle={ helpIconStyle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\t\tfill={ helpIconStyle.fill }\n\t\t\t\t\t\t\tsize={ helpIconStyle.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ isSheetVisible }\n\t\t\t\thideHeader\n\t\t\t\tonDismiss={ onDismissSheet }\n\t\t\t\tonClose={ onCloseSheet }\n\t\t\t>\n\t\t\t\t<View style={ styles[ 'embed-no-preview__container' ] }>\n\t\t\t\t\t<View style={ sheetIconStyle }>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\t\tfill={ sheetIconStyle.fill }\n\t\t\t\t\t\t\tsize={ sheetIconStyle.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t\t<Text style={ sheetTitleStyle }>\n\t\t\t\t\t\t{ isDefaultEmbedInfo\n\t\t\t\t\t\t\t? __( 'Embed block previews are coming soon' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'%s embed block previews are coming soon'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ sheetDescriptionStyle }>\n\t\t\t\t\t\t{ comingSoonDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ previewButtonText }\n\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\tshouldRequestReview.current = true;\n\t\t\t\t\t\tonCloseSheet();\n\t\t\t\t\t} }\n\t\t\t\t\tlabelStyle={ sheetButtonStyle }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Dismiss' ) }\n\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\tonPress={ onCloseSheet }\n\t\t\t\t\tlabelStyle={ sheetButtonStyle }\n\t\t\t\t/>\n\t\t\t</BottomSheet>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ previewable ? (\n\t\t\t\tembedNoProviderPreview\n\t\t\t) : (\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t<Text style={ labelStyle }>\n\t\t\t\t\t\t{ __( 'No preview available' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default EmbedNoPreview;\n"]}
|