@wordpress/block-library 5.0.1 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +1 -1
- package/build/audio/edit.js +2 -2
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +2 -2
- package/build/audio/edit.native.js.map +1 -1
- package/build/button/edit.js +97 -87
- package/build/button/edit.js.map +1 -1
- package/build/button/edit.native.js +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/button/index.js +4 -1
- package/build/button/index.js.map +1 -1
- package/build/buttons/edit.js +2 -1
- package/build/buttons/edit.js.map +1 -1
- package/build/buttons/index.js +2 -1
- package/build/buttons/index.js.map +1 -1
- package/build/buttons/transforms.js +2 -1
- package/build/buttons/transforms.js.map +1 -1
- package/build/column/index.js +4 -1
- package/build/column/index.js.map +1 -1
- package/build/column/save.js +9 -1
- package/build/column/save.js.map +1 -1
- package/build/columns/edit.native.js +5 -2
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/index.js +10 -1
- package/build/columns/index.js.map +1 -1
- package/build/cover/deprecated.js +0 -27
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit.js +57 -27
- package/build/cover/edit.js.map +1 -1
- package/build/cover/index.js +11 -1
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +2 -1
- package/build/cover/save.js.map +1 -1
- package/build/cover/shared.js +1 -0
- package/build/cover/shared.js.map +1 -1
- package/build/cover/transforms.js +4 -0
- package/build/cover/transforms.js.map +1 -1
- package/build/embed/edit.js +1 -5
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +85 -22
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/embed-bottom-sheet.native.js +17 -16
- package/build/embed/embed-bottom-sheet.native.js.map +1 -1
- package/build/embed/embed-controls.js +4 -1
- package/build/embed/embed-controls.js.map +1 -1
- package/build/embed/embed-no-preview.native.js +22 -9
- package/build/embed/embed-no-preview.native.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +51 -7
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/embed/embed-preview.native.js +28 -10
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/embed/variations.js +0 -10
- package/build/embed/variations.js.map +1 -1
- package/build/embed/wp-embed-preview.js +44 -56
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/embed/wp-embed-preview.native.js +95 -0
- package/build/embed/wp-embed-preview.native.js.map +1 -0
- package/build/file/deprecated.js +108 -0
- package/build/file/deprecated.js.map +1 -0
- package/build/file/edit.js +8 -1
- package/build/file/edit.js.map +1 -1
- package/build/file/index.js +9 -0
- package/build/file/index.js.map +1 -1
- package/build/file/inspector.js +1 -1
- package/build/file/inspector.js.map +1 -1
- package/build/file/save.js +4 -1
- package/build/file/save.js.map +1 -1
- package/build/file/transforms.js +3 -1
- package/build/file/transforms.js.map +1 -1
- package/build/gallery/constants.js +2 -2
- package/build/gallery/constants.js.map +1 -1
- package/build/gallery/deprecated.js +17 -8
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit-wrapper.js +63 -0
- package/build/gallery/edit-wrapper.js.map +1 -0
- package/build/gallery/edit.js +225 -231
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +67 -49
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +42 -79
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/index.js +31 -7
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/save.js +26 -43
- package/build/gallery/save.js.map +1 -1
- package/build/gallery/shared.js +9 -2
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +211 -12
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-media.js +58 -0
- package/build/gallery/use-get-media.js.map +1 -0
- package/build/gallery/use-get-new-images.js +58 -0
- package/build/gallery/use-get-new-images.js.map +1 -0
- package/build/gallery/use-image-sizes.js +73 -0
- package/build/gallery/use-image-sizes.js.map +1 -0
- package/build/gallery/use-short-code-transform.js +63 -0
- package/build/gallery/use-short-code-transform.js.map +1 -0
- package/build/gallery/utils.js +51 -0
- package/build/gallery/utils.js.map +1 -0
- package/build/gallery/v1/constants.js +13 -0
- package/build/gallery/v1/constants.js.map +1 -0
- package/build/gallery/v1/edit.js +459 -0
- package/build/gallery/v1/edit.js.map +1 -0
- package/build/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/build/gallery/v1/gallery-button.native.js.map +1 -0
- package/build/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/build/gallery/v1/gallery-image.js.map +1 -0
- package/build/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/build/gallery/v1/gallery-image.native.js.map +1 -0
- package/build/gallery/v1/gallery.js +122 -0
- package/build/gallery/v1/gallery.js.map +1 -0
- package/build/gallery/v1/gallery.native.js +159 -0
- package/build/gallery/v1/gallery.native.js.map +1 -0
- package/build/gallery/v1/save.js +75 -0
- package/build/gallery/v1/save.js.map +1 -0
- package/build/gallery/v1/shared.js +26 -0
- package/build/gallery/v1/shared.js.map +1 -0
- package/build/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/build/gallery/v1/tiles.native.js.map +1 -0
- package/build/gallery/v1/update-gallery-modal.js +110 -0
- package/build/gallery/v1/update-gallery-modal.js.map +1 -0
- package/build/group/edit.js +21 -5
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +8 -2
- package/build/group/index.js.map +1 -1
- package/build/group/variations.js +31 -0
- package/build/group/variations.js.map +1 -0
- package/build/heading/heading-level-dropdown.js +11 -37
- package/build/heading/heading-level-dropdown.js.map +1 -1
- package/build/home-link/edit.js +2 -2
- package/build/home-link/edit.js.map +1 -1
- package/build/image/edit.js +8 -6
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +46 -17
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +11 -17
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +1 -0
- package/build/image/index.js.map +1 -1
- package/build/image/transforms.js +30 -7
- package/build/image/transforms.js.map +1 -1
- package/build/image/utils.js +23 -0
- package/build/image/utils.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +7 -1
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +12 -6
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/media-text/edit.js +1 -1
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +2 -0
- package/build/media-text/index.js.map +1 -1
- package/build/navigation/block-navigation-list.js +14 -3
- package/build/navigation/block-navigation-list.js.map +1 -1
- package/build/navigation/edit.js +44 -14
- package/build/navigation/edit.js.map +1 -1
- package/build/navigation/index.js +7 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/menu-items-to-blocks.js +6 -5
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation/placeholder-preview.js +3 -3
- package/build/navigation/placeholder-preview.js.map +1 -1
- package/build/navigation/placeholder.js +1 -1
- package/build/navigation/placeholder.js.map +1 -1
- package/build/navigation/use-block-navigator.js +2 -1
- package/build/navigation/use-block-navigator.js.map +1 -1
- package/build/navigation/variations.js +2 -3
- package/build/navigation/variations.js.map +1 -1
- package/build/navigation/view.js +53 -1
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +56 -72
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +6 -2
- package/build/navigation-link/index.js.map +1 -1
- package/build/navigation-link/transforms.js +83 -0
- package/build/navigation-link/transforms.js.map +1 -0
- package/build/navigation-submenu/edit.js +651 -0
- package/build/navigation-submenu/edit.js.map +1 -0
- package/build/navigation-submenu/icons.js +27 -0
- package/build/navigation-submenu/icons.js.map +1 -0
- package/build/navigation-submenu/index.js +89 -0
- package/build/navigation-submenu/index.js.map +1 -0
- package/build/navigation-submenu/save.js +18 -0
- package/build/navigation-submenu/save.js.map +1 -0
- package/build/navigation-submenu/transforms.js +82 -0
- package/build/navigation-submenu/transforms.js.map +1 -0
- package/build/navigation-submenu/view.js +51 -0
- package/build/navigation-submenu/view.js.map +1 -0
- package/build/page-list/convert-to-links-modal.js +19 -1
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/edit.js +16 -5
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +10 -1
- package/build/page-list/index.js.map +1 -1
- package/build/post-author/index.js +2 -1
- package/build/post-author/index.js.map +1 -1
- package/build/post-comment/edit.js +7 -4
- package/build/post-comment/edit.js.map +1 -1
- package/build/post-comment-author/edit.js +1 -1
- package/build/post-comment-author/edit.js.map +1 -1
- package/build/post-comment-content/edit.js +16 -12
- package/build/post-comment-content/edit.js.map +1 -1
- package/build/post-content/edit.js +1 -3
- package/build/post-content/edit.js.map +1 -1
- package/build/post-date/edit.js +35 -14
- package/build/post-date/edit.js.map +1 -1
- package/build/post-date/index.js +2 -1
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/edit.js +2 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +24 -10
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/index.js +5 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +19 -3
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/index.js +9 -1
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-template/index.js +5 -2
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/edit.js +4 -2
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/index.js +2 -1
- package/build/post-terms/index.js.map +1 -1
- package/build/post-title/edit.js +3 -3
- package/build/post-title/edit.js.map +1 -1
- package/build/post-title/index.js +4 -1
- package/build/post-title/index.js.map +1 -1
- package/build/query/edit/index.js +3 -1
- package/build/query/edit/index.js.map +1 -1
- package/build/query/variations.js +4 -4
- package/build/query/variations.js.map +1 -1
- package/build/query-pagination/deprecated.js +24 -0
- package/build/query-pagination/deprecated.js.map +1 -0
- package/build/query-pagination/edit.js +54 -3
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination/index.js +20 -1
- package/build/query-pagination/index.js.map +1 -1
- package/build/query-pagination/query-pagination-arrow-controls.js +38 -0
- package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -0
- package/build/query-pagination/save.js +1 -1
- package/build/query-pagination/save.js.map +1 -1
- package/build/query-pagination-next/edit.js +19 -4
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-next/index.js +1 -1
- package/build/query-pagination-previous/edit.js +19 -4
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/query-pagination-previous/index.js +1 -1
- package/build/site-logo/edit.js +75 -30
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +7 -2
- package/build/site-logo/index.js.map +1 -1
- package/build/site-tagline/index.js +1 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/edit/index.js +25 -6
- package/build/site-title/edit/index.js.map +1 -1
- package/build/site-title/index.js +9 -2
- package/build/site-title/index.js.map +1 -1
- package/build/social-links/deprecated.js +106 -2
- package/build/social-links/deprecated.js.map +1 -1
- package/build/social-links/edit.js +15 -19
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/index.js +16 -1
- package/build/social-links/index.js.map +1 -1
- package/build/social-links/save.js +1 -3
- package/build/social-links/save.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/template-part/edit/advanced-controls.js +3 -1
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +1 -4
- package/build/template-part/edit/index.js.map +1 -1
- package/build/video/edit-common-settings.js +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +10 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +3 -1
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/audio/edit.js +3 -3
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +3 -3
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/button/edit.js +101 -91
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/edit.native.js +2 -2
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/button/index.js +4 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/buttons/edit.js +2 -1
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/buttons/index.js +2 -1
- package/build-module/buttons/index.js.map +1 -1
- package/build-module/buttons/transforms.js +2 -1
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/column/index.js +4 -1
- package/build-module/column/index.js.map +1 -1
- package/build-module/column/save.js +9 -1
- package/build-module/column/save.js.map +1 -1
- package/build-module/columns/edit.native.js +6 -3
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/columns/index.js +10 -1
- package/build-module/columns/index.js.map +1 -1
- package/build-module/cover/deprecated.js +0 -27
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit.js +57 -28
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/cover/index.js +11 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +2 -1
- package/build-module/cover/save.js.map +1 -1
- package/build-module/cover/shared.js +1 -0
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/cover/transforms.js +4 -0
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/embed/edit.js +1 -5
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +87 -25
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/embed-bottom-sheet.native.js +18 -16
- package/build-module/embed/embed-bottom-sheet.native.js.map +1 -1
- package/build-module/embed/embed-controls.js +4 -1
- package/build-module/embed/embed-controls.js.map +1 -1
- package/build-module/embed/embed-no-preview.native.js +22 -10
- package/build-module/embed/embed-no-preview.native.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +51 -8
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/embed/embed-preview.native.js +26 -11
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/embed/variations.js +0 -10
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/embed/wp-embed-preview.js +39 -56
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/embed/wp-embed-preview.native.js +83 -0
- package/build-module/embed/wp-embed-preview.native.js.map +1 -0
- package/build-module/file/deprecated.js +98 -0
- package/build-module/file/deprecated.js.map +1 -0
- package/build-module/file/edit.js +8 -1
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/index.js +8 -0
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/inspector.js +1 -1
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/file/save.js +4 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/file/transforms.js +2 -1
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/gallery/constants.js +2 -2
- package/build-module/gallery/constants.js.map +1 -1
- package/build-module/gallery/deprecated.js +15 -7
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit-wrapper.js +50 -0
- package/build-module/gallery/edit-wrapper.js.map +1 -0
- package/build-module/gallery/edit.js +222 -234
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +70 -51
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gallery.native.js +43 -78
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/index.js +30 -6
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/save.js +24 -43
- package/build-module/gallery/save.js.map +1 -1
- package/build-module/gallery/shared.js +8 -2
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +207 -12
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-media.js +48 -0
- package/build-module/gallery/use-get-media.js.map +1 -0
- package/build-module/gallery/use-get-new-images.js +50 -0
- package/build-module/gallery/use-get-new-images.js.map +1 -0
- package/build-module/gallery/use-image-sizes.js +64 -0
- package/build-module/gallery/use-image-sizes.js.map +1 -0
- package/build-module/gallery/use-short-code-transform.js +53 -0
- package/build-module/gallery/use-short-code-transform.js.map +1 -0
- package/build-module/gallery/utils.js +42 -0
- package/build-module/gallery/utils.js.map +1 -0
- package/build-module/gallery/v1/constants.js +4 -0
- package/build-module/gallery/v1/constants.js.map +1 -0
- package/build-module/gallery/v1/edit.js +430 -0
- package/build-module/gallery/v1/edit.js.map +1 -0
- package/build-module/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/build-module/gallery/v1/gallery-button.native.js.map +1 -0
- package/build-module/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/build-module/gallery/v1/gallery-image.js.map +1 -0
- package/build-module/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/build-module/gallery/v1/gallery-image.native.js.map +1 -0
- package/build-module/gallery/v1/gallery.js +102 -0
- package/build-module/gallery/v1/gallery.js.map +1 -0
- package/build-module/gallery/v1/gallery.native.js +136 -0
- package/build-module/gallery/v1/gallery.native.js.map +1 -0
- package/build-module/gallery/v1/save.js +65 -0
- package/build-module/gallery/v1/save.js.map +1 -0
- package/build-module/gallery/v1/shared.js +16 -0
- package/build-module/gallery/v1/shared.js.map +1 -0
- package/build-module/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/build-module/gallery/v1/tiles.native.js.map +1 -0
- package/build-module/gallery/v1/update-gallery-modal.js +93 -0
- package/build-module/gallery/v1/update-gallery-modal.js.map +1 -0
- package/build-module/group/edit.js +21 -6
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +7 -2
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/variations.js +22 -0
- package/build-module/group/variations.js.map +1 -0
- package/build-module/heading/heading-level-dropdown.js +12 -37
- package/build-module/heading/heading-level-dropdown.js.map +1 -1
- package/build-module/home-link/edit.js +2 -2
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/image/edit.js +8 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +48 -19
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +11 -15
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +1 -0
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/transforms.js +26 -7
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/image/utils.js +22 -1
- package/build-module/image/utils.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +7 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +12 -6
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/media-text/edit.js +1 -1
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +2 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/navigation/block-navigation-list.js +15 -3
- package/build-module/navigation/block-navigation-list.js.map +1 -1
- package/build-module/navigation/edit.js +45 -15
- package/build-module/navigation/edit.js.map +1 -1
- package/build-module/navigation/index.js +7 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/menu-items-to-blocks.js +6 -5
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation/placeholder-preview.js +3 -3
- package/build-module/navigation/placeholder-preview.js.map +1 -1
- package/build-module/navigation/placeholder.js +1 -1
- package/build-module/navigation/placeholder.js.map +1 -1
- package/build-module/navigation/use-block-navigator.js +2 -1
- package/build-module/navigation/use-block-navigator.js.map +1 -1
- package/build-module/navigation/variations.js +2 -3
- package/build-module/navigation/variations.js.map +1 -1
- package/build-module/navigation/view.js +53 -2
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +59 -74
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +5 -2
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/navigation-link/transforms.js +74 -0
- package/build-module/navigation-link/transforms.js.map +1 -0
- package/build-module/navigation-submenu/edit.js +628 -0
- package/build-module/navigation-submenu/edit.js.map +1 -0
- package/build-module/navigation-submenu/icons.js +17 -0
- package/build-module/navigation-submenu/icons.js.map +1 -0
- package/build-module/navigation-submenu/index.js +74 -0
- package/build-module/navigation-submenu/index.js.map +1 -0
- package/build-module/navigation-submenu/save.js +10 -0
- package/build-module/navigation-submenu/save.js.map +1 -0
- package/build-module/navigation-submenu/transforms.js +73 -0
- package/build-module/navigation-submenu/transforms.js.map +1 -0
- package/build-module/navigation-submenu/view.js +49 -0
- package/build-module/navigation-submenu/view.js.map +1 -0
- package/build-module/page-list/convert-to-links-modal.js +19 -1
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/edit.js +16 -5
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +10 -1
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/post-author/index.js +2 -1
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-comment/edit.js +8 -6
- package/build-module/post-comment/edit.js.map +1 -1
- package/build-module/post-comment-author/edit.js +1 -1
- package/build-module/post-comment-author/edit.js.map +1 -1
- package/build-module/post-comment-content/edit.js +16 -13
- package/build-module/post-comment-content/edit.js.map +1 -1
- package/build-module/post-content/edit.js +1 -3
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-date/edit.js +36 -16
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-date/index.js +2 -1
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +2 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +22 -11
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/index.js +5 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +19 -3
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/index.js +9 -1
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-template/index.js +6 -3
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/edit.js +5 -3
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/index.js +2 -1
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-title/edit.js +3 -3
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/post-title/index.js +4 -1
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/query/edit/index.js +4 -2
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/variations.js +4 -4
- package/build-module/query/variations.js.map +1 -1
- package/build-module/query-pagination/deprecated.js +15 -0
- package/build-module/query-pagination/deprecated.js.map +1 -0
- package/build-module/query-pagination/edit.js +52 -5
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination/index.js +19 -1
- package/build-module/query-pagination/index.js.map +1 -1
- package/build-module/query-pagination/query-pagination-arrow-controls.js +29 -0
- package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -0
- package/build-module/query-pagination/save.js +2 -2
- package/build-module/query-pagination/save.js.map +1 -1
- package/build-module/query-pagination-next/edit.js +18 -4
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-next/index.js +1 -1
- package/build-module/query-pagination-previous/edit.js +18 -4
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/query-pagination-previous/index.js +1 -1
- package/build-module/site-logo/edit.js +79 -34
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +7 -2
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/edit/index.js +25 -7
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/site-title/index.js +9 -2
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-links/deprecated.js +106 -2
- package/build-module/social-links/deprecated.js.map +1 -1
- package/build-module/social-links/edit.js +16 -20
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/index.js +16 -1
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/social-links/save.js +1 -3
- package/build-module/social-links/save.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/template-part/edit/advanced-controls.js +4 -2
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -4
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/video/edit-common-settings.js +2 -2
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +10 -5
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +2 -1
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/button/style-rtl.css +1 -1
- package/build-style/button/style.css +1 -1
- package/build-style/columns/editor-rtl.css +2 -2
- package/build-style/columns/editor.css +2 -2
- package/build-style/columns/style-rtl.css +4 -4
- package/build-style/columns/style.css +4 -4
- package/build-style/common-rtl.css +4 -105
- package/build-style/common.css +4 -105
- package/build-style/editor-rtl.css +188 -205
- package/build-style/editor.css +188 -205
- package/build-style/embed/style-rtl.css +1 -0
- package/build-style/embed/style.css +1 -0
- package/build-style/gallery/editor-rtl.css +89 -21
- package/build-style/gallery/editor.css +89 -21
- package/build-style/gallery/style-rtl.css +202 -39
- package/build-style/gallery/style.css +202 -39
- package/build-style/group/theme-rtl.css +1 -3
- package/build-style/group/theme.css +1 -3
- package/build-style/heading/style-rtl.css +8 -0
- package/build-style/heading/style.css +8 -0
- package/build-style/html/editor-rtl.css +12 -11
- package/build-style/html/editor.css +12 -11
- package/build-style/list/style-rtl.css +4 -0
- package/build-style/list/style.css +4 -0
- package/build-style/navigation/editor-rtl.css +12 -7
- package/build-style/navigation/editor.css +12 -7
- package/build-style/navigation/style-rtl.css +140 -134
- package/build-style/navigation/style.css +140 -134
- package/build-style/navigation-link/editor-rtl.css +22 -13
- package/build-style/navigation-link/editor.css +22 -13
- package/build-style/{post-content → navigation-submenu}/editor-rtl.css +29 -8
- package/build-style/{post-content → navigation-submenu}/editor.css +29 -8
- package/build-style/{heading/editor.css → navigation-submenu/style-rtl.css} +13 -7
- package/build-style/{heading/editor-rtl.css → navigation-submenu/style.css} +13 -7
- package/build-style/page-list/editor-rtl.css +8 -0
- package/build-style/page-list/editor.css +8 -0
- package/build-style/page-list/style-rtl.css +2 -8
- package/build-style/page-list/style.css +2 -8
- package/build-style/paragraph/style-rtl.css +5 -1
- package/build-style/paragraph/style.css +5 -1
- package/build-style/post-featured-image/editor-rtl.css +4 -8
- package/build-style/post-featured-image/editor.css +4 -8
- package/build-style/post-featured-image/style-rtl.css +1 -0
- package/build-style/post-featured-image/style.css +1 -0
- package/build-style/post-template/style-rtl.css +2 -0
- package/build-style/post-template/style.css +2 -0
- package/build-style/pullquote/style-rtl.css +1 -0
- package/build-style/pullquote/style.css +1 -0
- package/build-style/query-pagination/editor-rtl.css +2 -5
- package/build-style/query-pagination/editor.css +2 -5
- package/build-style/query-pagination/style-rtl.css +17 -6
- package/build-style/query-pagination/style.css +17 -6
- package/build-style/quote/style-rtl.css +3 -0
- package/build-style/quote/style.css +3 -0
- package/build-style/reset-rtl.css +2 -1
- package/build-style/reset.css +2 -1
- package/build-style/social-links/style-rtl.css +0 -5
- package/build-style/social-links/style.css +0 -5
- package/build-style/style-rtl.css +415 -307
- package/build-style/style.css +415 -307
- package/build-style/theme-rtl.css +1 -11
- package/build-style/theme.css +1 -11
- package/package.json +30 -31
- package/src/audio/edit.js +6 -3
- package/src/audio/edit.native.js +9 -3
- package/src/button/block.json +4 -1
- package/src/button/edit.js +107 -115
- package/src/button/edit.native.js +5 -2
- package/src/button/style.scss +1 -1
- package/src/buttons/block.json +2 -1
- package/src/buttons/edit.js +1 -1
- package/src/column/block.json +4 -1
- package/src/column/save.js +11 -1
- package/src/columns/block.json +8 -1
- package/src/columns/edit.native.js +8 -3
- package/src/columns/editor.scss +2 -2
- package/src/columns/index.js +1 -0
- package/src/columns/style.scss +4 -4
- package/src/common.scss +3 -9
- package/src/cover/block.json +11 -1
- package/src/cover/deprecated.js +0 -27
- package/src/cover/edit.js +82 -32
- package/src/cover/save.js +2 -1
- package/src/cover/shared.js +1 -0
- package/src/cover/transforms.js +4 -2
- package/src/editor.scss +4 -20
- package/src/embed/edit.js +1 -11
- package/src/embed/edit.native.js +120 -32
- package/src/embed/embed-bottom-sheet.native.js +26 -20
- package/src/embed/embed-controls.js +10 -1
- package/src/embed/embed-no-preview.native.js +53 -14
- package/src/embed/embed-placeholder.native.js +58 -9
- package/src/embed/embed-preview.native.js +58 -41
- package/src/embed/style.scss +1 -0
- package/src/embed/styles.native.scss +18 -8
- package/src/embed/variations.js +0 -8
- package/src/embed/wp-embed-preview.js +41 -62
- package/src/embed/wp-embed-preview.native.js +80 -0
- package/src/file/block.json +6 -0
- package/src/file/deprecated.js +123 -0
- package/src/file/edit.js +6 -0
- package/src/file/index.js +2 -0
- package/src/file/inspector.js +12 -10
- package/src/file/save.js +3 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +4 -0
- package/src/file/transforms.js +3 -1
- package/src/gallery/block.json +18 -0
- package/src/gallery/constants.js +2 -2
- package/src/gallery/deprecated.js +15 -7
- package/src/gallery/deprecated.scss +132 -0
- package/src/gallery/edit-wrapper.js +47 -0
- package/src/gallery/edit.js +317 -276
- package/src/gallery/editor.scss +106 -22
- package/src/gallery/gallery-styles.native.scss +4 -2
- package/src/gallery/gallery.js +82 -71
- package/src/gallery/gallery.native.js +49 -85
- package/src/gallery/index.js +12 -6
- package/src/gallery/save.js +20 -60
- package/src/gallery/shared.js +9 -2
- package/src/gallery/style.scss +113 -75
- package/src/gallery/transforms.js +212 -11
- package/src/gallery/use-get-media.js +59 -0
- package/src/gallery/use-get-new-images.js +68 -0
- package/src/gallery/use-image-sizes.js +66 -0
- package/src/gallery/use-short-code-transform.js +52 -0
- package/src/gallery/utils.js +46 -0
- package/src/gallery/v1/constants.js +3 -0
- package/src/gallery/v1/edit.js +509 -0
- package/src/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/src/gallery/{gallery-image-style.native.scss → v1/gallery-image-style.native.scss} +0 -0
- package/src/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/src/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/src/gallery/v1/gallery-styles.native.scss +8 -0
- package/src/gallery/v1/gallery.js +119 -0
- package/src/gallery/v1/gallery.native.js +162 -0
- package/src/gallery/v1/save.js +81 -0
- package/src/gallery/v1/shared.js +19 -0
- package/src/gallery/{tiles-styles.native.scss → v1/tiles-styles.native.scss} +0 -0
- package/src/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/src/gallery/v1/update-gallery-modal.js +97 -0
- package/src/group/block.json +4 -1
- package/src/group/edit.js +31 -7
- package/src/group/index.js +2 -0
- package/src/group/theme.scss +1 -3
- package/src/group/variations.js +18 -0
- package/src/heading/heading-level-dropdown.js +26 -58
- package/src/heading/style.scss +3 -0
- package/src/home-link/edit.js +2 -2
- package/src/home-link/index.php +2 -2
- package/src/html/editor.scss +16 -10
- package/src/image/block.json +1 -0
- package/src/image/edit.js +9 -7
- package/src/image/edit.native.js +75 -35
- package/src/image/image.js +10 -14
- package/src/image/styles.native.scss +5 -0
- package/src/image/transforms.js +32 -9
- package/src/image/utils.js +17 -1
- package/src/index.js +2 -0
- package/src/latest-comments/edit.js +4 -0
- package/src/latest-comments/index.php +2 -1
- package/src/latest-posts/edit.native.js +10 -8
- package/src/list/style.scss +8 -3
- package/src/media-text/edit.js +1 -1
- package/src/media-text/index.js +1 -0
- package/src/navigation/block-navigation-list.js +16 -7
- package/src/navigation/block.json +7 -1
- package/src/navigation/edit.js +60 -17
- package/src/navigation/editor.scss +38 -19
- package/src/navigation/index.php +12 -4
- package/src/navigation/menu-items-to-blocks.js +8 -7
- package/src/navigation/placeholder-preview.js +3 -3
- package/src/navigation/placeholder.js +1 -1
- package/src/navigation/style.scss +191 -145
- package/src/navigation/test/menu-items-to-blocks.js +6 -6
- package/src/navigation/use-block-navigator.js +1 -0
- package/src/navigation/variations.js +2 -3
- package/src/navigation/view.js +74 -4
- package/src/navigation-link/block.json +2 -1
- package/src/navigation-link/edit.js +63 -90
- package/src/navigation-link/editor.scss +30 -15
- package/src/navigation-link/index.js +2 -0
- package/src/navigation-link/index.php +8 -8
- package/src/navigation-link/transforms.js +93 -0
- package/src/navigation-submenu/block.json +65 -0
- package/src/navigation-submenu/edit.js +662 -0
- package/src/navigation-submenu/editor.scss +42 -0
- package/src/navigation-submenu/icons.js +16 -0
- package/src/navigation-submenu/index.js +29 -0
- package/src/navigation-submenu/index.php +299 -0
- package/src/navigation-submenu/save.js +8 -0
- package/src/navigation-submenu/style.scss +20 -0
- package/src/navigation-submenu/transforms.js +58 -0
- package/src/navigation-submenu/view.js +62 -0
- package/src/page-list/block.json +11 -1
- package/src/page-list/convert-to-links-modal.js +20 -0
- package/src/page-list/edit.js +18 -4
- package/src/page-list/editor.scss +14 -0
- package/src/page-list/index.php +48 -12
- package/src/page-list/style.scss +2 -14
- package/src/page-list/test/convert-to-links-modal.js +6 -6
- package/src/paragraph/style.scss +10 -1
- package/src/post-author/block.json +2 -1
- package/src/post-comment/edit.js +14 -7
- package/src/post-comment-author/edit.js +13 -10
- package/src/post-comment-content/edit.js +17 -9
- package/src/post-comment-content/index.php +6 -3
- package/src/post-content/edit.js +1 -3
- package/src/post-date/block.json +2 -1
- package/src/post-date/edit.js +36 -22
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-featured-image/block.json +5 -0
- package/src/post-featured-image/dimension-controls.js +43 -35
- package/src/post-featured-image/editor.scss +4 -9
- package/src/post-featured-image/style.scss +1 -0
- package/src/post-navigation-link/block.json +9 -1
- package/src/post-navigation-link/edit.js +29 -2
- package/src/post-navigation-link/index.php +28 -3
- package/src/post-template/block.json +4 -1
- package/src/post-template/index.js +2 -2
- package/src/post-template/index.php +11 -0
- package/src/post-template/style.scss +2 -0
- package/src/post-terms/block.json +2 -1
- package/src/post-terms/edit.js +4 -5
- package/src/post-title/block.json +4 -1
- package/src/post-title/edit.js +4 -6
- package/src/post-title/index.php +1 -1
- package/src/pullquote/style.scss +1 -0
- package/src/query/edit/index.js +3 -3
- package/src/query/variations.js +4 -0
- package/src/query-pagination/block.json +16 -0
- package/src/query-pagination/deprecated.js +19 -0
- package/src/query-pagination/edit.js +58 -3
- package/src/query-pagination/editor.scss +3 -6
- package/src/query-pagination/index.js +2 -0
- package/src/query-pagination/index.php +24 -1
- package/src/query-pagination/query-pagination-arrow-controls.js +44 -0
- package/src/query-pagination/save.js +2 -6
- package/src/query-pagination/style.scss +22 -5
- package/src/query-pagination-next/block.json +1 -1
- package/src/query-pagination-next/edit.js +30 -8
- package/src/query-pagination-next/index.php +5 -1
- package/src/query-pagination-previous/block.json +1 -1
- package/src/query-pagination-previous/edit.js +30 -8
- package/src/query-pagination-previous/index.php +5 -1
- package/src/quote/style.scss +2 -0
- package/src/reset.scss +2 -1
- package/src/search/index.php +12 -15
- package/src/search/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/site-logo/block.json +7 -2
- package/src/site-logo/edit.js +98 -30
- package/src/site-logo/index.php +31 -2
- package/src/site-tagline/block.json +1 -0
- package/src/site-title/block.json +9 -2
- package/src/site-title/edit/index.js +36 -9
- package/src/site-title/index.php +12 -2
- package/src/social-links/block.json +22 -1
- package/src/social-links/deprecated.js +99 -0
- package/src/social-links/edit.js +13 -24
- package/src/social-links/save.js +1 -7
- package/src/social-links/style.scss +0 -8
- package/src/style.scss +1 -5
- package/src/table/block.json +1 -1
- package/src/template-part/edit/advanced-controls.js +3 -3
- package/src/template-part/edit/index.js +0 -3
- package/src/template-part/index.php +1 -1
- package/src/theme.scss +0 -10
- package/src/video/edit-common-settings.js +2 -2
- package/src/video/edit.js +15 -5
- package/src/video/tracks-editor.js +2 -3
- package/build/embed/embed-controls.native.js +0 -32
- package/build/embed/embed-controls.native.js.map +0 -1
- package/build/embed/variations.native.js +0 -10
- package/build/embed/variations.native.js.map +0 -1
- package/build/gallery/gallery-button.native.js.map +0 -1
- package/build/gallery/gallery-image.js.map +0 -1
- package/build/gallery/gallery-image.native.js.map +0 -1
- package/build/gallery/tiles.native.js.map +0 -1
- package/build/image/image-editing/aspect-ratio-dropdown.js +0 -126
- package/build/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
- package/build/image/image-editing/constants.js +0 -16
- package/build/image/image-editing/constants.js.map +0 -1
- package/build/image/image-editing/context.js +0 -59
- package/build/image/image-editing/context.js.map +0 -1
- package/build/image/image-editing/cropper.js +0 -83
- package/build/image/image-editing/cropper.js.map +0 -1
- package/build/image/image-editing/form-controls.js +0 -36
- package/build/image/image-editing/form-controls.js.map +0 -1
- package/build/image/image-editing/index.js +0 -60
- package/build/image/image-editing/index.js.map +0 -1
- package/build/image/image-editing/rotation-button.js +0 -37
- package/build/image/image-editing/rotation-button.js.map +0 -1
- package/build/image/image-editing/use-save-image.js +0 -84
- package/build/image/image-editing/use-save-image.js.map +0 -1
- package/build/image/image-editing/use-transform-image.js +0 -135
- package/build/image/image-editing/use-transform-image.js.map +0 -1
- package/build/image/image-editing/zoom-dropdown.js +0 -55
- package/build/image/image-editing/zoom-dropdown.js.map +0 -1
- package/build-module/embed/embed-controls.native.js +0 -21
- package/build-module/embed/embed-controls.native.js.map +0 -1
- package/build-module/embed/variations.native.js +0 -3
- package/build-module/embed/variations.native.js.map +0 -1
- package/build-module/gallery/gallery-button.native.js.map +0 -1
- package/build-module/gallery/gallery-image.js.map +0 -1
- package/build-module/gallery/gallery-image.native.js.map +0 -1
- package/build-module/gallery/tiles.native.js.map +0 -1
- package/build-module/image/image-editing/aspect-ratio-dropdown.js +0 -115
- package/build-module/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
- package/build-module/image/image-editing/constants.js +0 -7
- package/build-module/image/image-editing/constants.js.map +0 -1
- package/build-module/image/image-editing/context.js +0 -44
- package/build-module/image/image-editing/context.js.map +0 -1
- package/build-module/image/image-editing/cropper.js +0 -69
- package/build-module/image/image-editing/cropper.js.map +0 -1
- package/build-module/image/image-editing/form-controls.js +0 -26
- package/build-module/image/image-editing/form-controls.js.map +0 -1
- package/build-module/image/image-editing/index.js +0 -37
- package/build-module/image/image-editing/index.js.map +0 -1
- package/build-module/image/image-editing/rotation-button.js +0 -26
- package/build-module/image/image-editing/rotation-button.js.map +0 -1
- package/build-module/image/image-editing/use-save-image.js +0 -70
- package/build-module/image/image-editing/use-save-image.js.map +0 -1
- package/build-module/image/image-editing/use-transform-image.js +0 -127
- package/build-module/image/image-editing/use-transform-image.js.map +0 -1
- package/build-module/image/image-editing/zoom-dropdown.js +0 -43
- package/build-module/image/image-editing/zoom-dropdown.js.map +0 -1
- package/src/embed/embed-controls.native.js +0 -23
- package/src/embed/variations.native.js +0 -3
- package/src/heading/editor.scss +0 -20
- package/src/image/image-editing/aspect-ratio-dropdown.js +0 -129
- package/src/image/image-editing/constants.js +0 -6
- package/src/image/image-editing/context.js +0 -56
- package/src/image/image-editing/cropper.js +0 -74
- package/src/image/image-editing/form-controls.js +0 -22
- package/src/image/image-editing/index.js +0 -52
- package/src/image/image-editing/rotation-button.js +0 -24
- package/src/image/image-editing/use-save-image.js +0 -97
- package/src/image/image-editing/use-transform-image.js +0 -162
- package/src/image/image-editing/zoom-dropdown.js +0 -40
- package/src/post-content/editor.scss +0 -11
package/build/cover/save.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/save.js"],"names":["save","attributes","backgroundType","gradient","contentPosition","customGradient","customOverlayColor","dimRatio","focalPoint","hasParallax","isRepeated","overlayColor","url","id","minHeight","minHeightProp","minHeightUnit","overlayColorClass","gradientClass","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","isImgElement","style","backgroundColor","undefined","background","objectPosition","Math","round","x","y","classes","useBlockProps","className"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAUA;;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;AAUe,SAASA,IAAT,CAAe;AAAEC,EAAAA;AAAF,CAAf,EAAgC;AAC9C,QAAM;AACLC,IAAAA,cADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,eAHK;AAILC,IAAAA,cAJK;AAKLC,IAAAA,kBALK;AAMLC,IAAAA,QANK;AAOLC,IAAAA,UAPK;AAQLC,IAAAA,WARK;AASLC,IAAAA,UATK;AAULC,IAAAA,YAVK;AAWLC,IAAAA,GAXK;AAYLC,IAAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/save.js"],"names":["save","attributes","backgroundType","gradient","contentPosition","customGradient","customOverlayColor","dimRatio","focalPoint","hasParallax","isRepeated","overlayColor","url","alt","id","minHeight","minHeightProp","minHeightUnit","overlayColorClass","gradientClass","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","isImgElement","style","backgroundColor","undefined","background","objectPosition","Math","round","x","y","classes","useBlockProps","className"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAUA;;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;AAUe,SAASA,IAAT,CAAe;AAAEC,EAAAA;AAAF,CAAf,EAAgC;AAC9C,QAAM;AACLC,IAAAA,cADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,eAHK;AAILC,IAAAA,cAJK;AAKLC,IAAAA,kBALK;AAMLC,IAAAA,QANK;AAOLC,IAAAA,UAPK;AAQLC,IAAAA,WARK;AASLC,IAAAA,UATK;AAULC,IAAAA,YAVK;AAWLC,IAAAA,GAXK;AAYLC,IAAAA,GAZK;AAaLC,IAAAA,EAbK;AAcLC,IAAAA,SAAS,EAAEC,aAdN;AAeLC,IAAAA;AAfK,MAgBFhB,UAhBJ;AAiBA,QAAMiB,iBAAiB,GAAG,oCACzB,kBADyB,EAEzBP,YAFyB,CAA1B;AAIA,QAAMQ,aAAa,GAAG,iDAAgChB,QAAhC,CAAtB;AACA,QAAMY,SAAS,GAAGE,aAAa,GAC3B,GAAGD,aAAe,GAAGC,aAAe,EADT,GAE5BD,aAFH;AAIA,QAAMI,iBAAiB,GAAGC,kCAA0BnB,cAApD;AACA,QAAMoB,iBAAiB,GAAGC,kCAA0BrB,cAApD;AAEA,QAAMsB,YAAY,GAAG,EAAIf,WAAW,IAAIC,UAAnB,CAArB;AAEA,QAAMe,KAAK,GAAG,EACb,IAAKL,iBAAiB,IAAI,CAAEI,YAAvB,GACF,mCAAuBZ,GAAvB,CADE,GAEF,EAFH,CADa;AAIbc,IAAAA,eAAe,EAAE,CAAER,iBAAF,GAAsBZ,kBAAtB,GAA2CqB,SAJ/C;AAKbC,IAAAA,UAAU,EAAEvB,cAAc,IAAI,CAAEO,GAApB,GAA0BP,cAA1B,GAA2CsB,SAL1C;AAMbZ,IAAAA,SAAS,EAAEA,SAAS,IAAIY;AANX,GAAd;AASA,QAAME,cAAc,GACnB;AACArB,EAAAA,UAAU,IAAIgB,YAAd,GACI,GAAGM,IAAI,CAACC,KAAL,CAAYvB,UAAU,CAACwB,CAAX,GAAe,GAA3B,CAAkC,KAAKF,IAAI,CAACC,KAAL,CAAYvB,UAAU,CAACyB,CAAX,GAAe,GAA3B,CAAkC,GADhF,GAEGN,SAJJ;AAMA,QAAMO,OAAO,GAAG,yBACf,6BAAiB3B,QAAjB,CADe,EAEfW,iBAFe,EAGf;AACC,0BAAsBX,QAAQ,KAAK,CADpC;AAEC,oBAAgBE,WAFjB;AAGC,mBAAeC,UAHhB;AAIC,+BAA2BP,QAAQ,IAAIE,cAJxC;AAKC,KAAEc,aAAF,GAAmB,CAAEP,GAAF,IAASO,aAL7B;AAMC,mCAA+B,CAAE,qCAChCf,eADgC;AANlC,GAHe,EAaf,kCAAsBA,eAAtB,CAbe,CAAhB;AAgBA,SACC,mCAAU+B,2BAAcnC,IAAd,CAAoB;AAAEoC,IAAAA,SAAS,EAAEF,OAAb;AAAsBT,IAAAA;AAAtB,GAApB,CAAV,EACGb,GAAG,KAAMT,QAAQ,IAAIE,cAAlB,CAAH,IAAyCE,QAAQ,KAAK,CAAtD,IACD;AACC,mBAAY,MADb;AAEC,IAAA,SAAS,EAAG,yBACX,qCADW,EAEXY,aAFW,CAFb;AAMC,IAAA,KAAK,EACJd,cAAc,GACX;AAAEuB,MAAAA,UAAU,EAAEvB;AAAd,KADW,GAEXsB;AATL,IAFF,EAeGP,iBAAiB,IAAII,YAArB,IAAqCZ,GAArC,IACD;AACC,IAAA,SAAS,EAAG,yBACX,kCADW,EAEXE,EAAE,GAAI,YAAYA,EAAI,EAApB,GAAwB,IAFf,CADb;AAKC,IAAA,GAAG,EAAGD,GALP;AAMC,IAAA,GAAG,EAAGD,GANP;AAOC,IAAA,KAAK,EAAG;AAAEiB,MAAAA;AAAF,KAPT;AAQC,uBAAgB,OARjB;AASC,4BAAuBA;AATxB,IAhBF,EA4BGP,iBAAiB,IAAIV,GAArB,IACD;AACC,IAAA,SAAS,EAAG,yBACX,kCADW,EAEX,kBAFW,CADb;AAKC,IAAA,QAAQ,MALT;AAMC,IAAA,KAAK,MANN;AAOC,IAAA,IAAI,MAPL;AAQC,IAAA,WAAW,MARZ;AASC,IAAA,GAAG,EAAGA,GATP;AAUC,IAAA,KAAK,EAAG;AAAEiB,MAAAA;AAAF,KAVT;AAWC,uBAAgB,OAXjB;AAYC,4BAAuBA;AAZxB,IA7BF,EA4CC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,wBAAD,CAAa,OAAb,OADD,CA5CD,CADD;AAkDA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tgetColorClassName,\n\t__experimentalGetGradientClass,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport {\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tbackgroundType,\n\t\tgradient,\n\t\tcontentPosition,\n\t\tcustomGradient,\n\t\tcustomOverlayColor,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\toverlayColor,\n\t\turl,\n\t\talt,\n\t\tid,\n\t\tminHeight: minHeightProp,\n\t\tminHeightUnit,\n\t} = attributes;\n\tconst overlayColorClass = getColorClassName(\n\t\t'background-color',\n\t\toverlayColor\n\t);\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tconst minHeight = minHeightUnit\n\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t: minHeightProp;\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: {} ),\n\t\tbackgroundColor: ! overlayColorClass ? customOverlayColor : undefined,\n\t\tbackground: customGradient && ! url ? customGradient : undefined,\n\t\tminHeight: minHeight || undefined,\n\t};\n\n\tconst objectPosition =\n\t\t// prettier-ignore\n\t\tfocalPoint && isImgElement\n\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t: undefined;\n\n\tconst classes = classnames(\n\t\tdimRatioToClass( dimRatio ),\n\t\toverlayColorClass,\n\t\t{\n\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-background-gradient': gradient || customGradient,\n\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t'has-custom-content-position': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t{ url && ( gradient || customGradient ) && dimRatio !== 0 && (\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\tgradientClass\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tcustomGradient\n\t\t\t\t\t\t\t? { background: customGradient }\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isImageBackground && isImgElement && url && (\n\t\t\t\t<img\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t) }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isVideoBackground && url && (\n\t\t\t\t<video\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t) }\n\t\t\t\t\tautoPlay\n\t\t\t\t\tmuted\n\t\t\t\t\tloop\n\t\t\t\t\tplaysInline\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div className=\"wp-block-cover__inner-container\">\n\t\t\t\t<InnerBlocks.Content />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
|
package/build/cover/shared.js
CHANGED
|
@@ -87,6 +87,7 @@ function attributesFromMedia(setAttributes) {
|
|
|
87
87
|
setAttributes({
|
|
88
88
|
url: media.url,
|
|
89
89
|
id: media.id,
|
|
90
|
+
alt: media === null || media === void 0 ? void 0 : media.alt,
|
|
90
91
|
backgroundType: mediaType,
|
|
91
92
|
...(mediaType === VIDEO_BACKGROUND_TYPE ? {
|
|
92
93
|
focalPoint: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/shared.js"],"names":["POSITION_CLASSNAMES","center","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_MIN_HEIGHT","COVER_MAX_HEIGHT","COVER_DEFAULT_HEIGHT","backgroundImageStyles","url","backgroundImage","ALLOWED_MEDIA_TYPES","dimRatioToClass","ratio","Math","round","attributesFromMedia","setAttributes","media","undefined","id","type","mediaType","media_type","backgroundType","focalPoint","hasParallax","isContentPositionCenter","contentPosition","getPositionClassName"],"mappings":";;;;;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,MAAMA,mBAAmB,GAAG;AAC3B,cAAY,sBADe;AAE3B,gBAAc,wBAFa;AAG3B,eAAa,uBAHc;AAI3B,iBAAe,yBAJY;AAK3B,mBAAiB,2BALU;AAM3BC,EAAAA,MAAM,EAAE,2BANmB;AAO3B,kBAAgB,0BAPW;AAQ3B,iBAAe,yBARY;AAS3B,mBAAiB,2BATU;AAU3B,kBAAgB;AAVW,CAA5B;AAaO,MAAMC,qBAAqB,GAAG,OAA9B;;AACA,MAAMC,qBAAqB,GAAG,OAA9B;;AACA,MAAMC,gBAAgB,GAAG,EAAzB;;AACA,MAAMC,gBAAgB,GAAG,IAAzB;;AACA,MAAMC,oBAAoB,GAAG,GAA7B;;;AACA,SAASC,qBAAT,CAAgCC,GAAhC,EAAsC;AAC5C,SAAOA,GAAG,GAAG;AAAEC,IAAAA,eAAe,EAAG,OAAOD,GAAK;AAAhC,GAAH,GAA0C,EAApD;AACA;;AACM,MAAME,mBAAmB,GAAG,CAAE,OAAF,EAAW,OAAX,CAA5B;;;AAEA,SAASC,eAAT,CAA0BC,KAA1B,EAAkC;AACxC,SAAOA,KAAK,KAAK,CAAV,IAAeA,KAAK,KAAK,EAAzB,IAA+B,CAAEA,KAAjC,GACJ,IADI,GAEJ,wBAAwB,KAAKC,IAAI,CAACC,KAAL,CAAYF,KAAK,GAAG,EAApB,CAFhC;AAGA;;AAEM,SAASG,mBAAT,CAA8BC,aAA9B,EAA8C;AACpD,SAASC,KAAF,IAAa;AACnB,QAAK,CAAEA,KAAF,IAAW,CAAEA,KAAK,CAACT,GAAxB,EAA8B;AAC7BQ,MAAAA,aAAa,CAAE;AAAER,QAAAA,GAAG,EAAEU,SAAP;AAAkBC,QAAAA,EAAE,EAAED;AAAtB,OAAF,CAAb;AACA;AACA;;AAED,QAAK,qBAAWD,KAAK,CAACT,GAAjB,CAAL,EAA8B;AAC7BS,MAAAA,KAAK,CAACG,IAAN,GAAa,4BAAkBH,KAAK,CAACT,GAAxB,CAAb;AACA;;AAED,QAAIa,SAAJ,CAVmB,CAWnB;;AACA,QAAKJ,KAAK,CAACK,UAAX,EAAwB;AACvB,UAAKL,KAAK,CAACK,UAAN,KAAqBpB,qBAA1B,EAAkD;AACjDmB,QAAAA,SAAS,GAAGnB,qBAAZ;AACA,OAFD,MAEO;AACN;AACA;AACAmB,QAAAA,SAAS,GAAGlB,qBAAZ;AACA;AACD,KARD,MAQO;AACN;AACA,UACCc,KAAK,CAACG,IAAN,KAAelB,qBAAf,IACAe,KAAK,CAACG,IAAN,KAAejB,qBAFhB,EAGE;AACD;AACA;;AACDkB,MAAAA,SAAS,GAAGJ,KAAK,CAACG,IAAlB;AACA;;AAEDJ,IAAAA,aAAa,CAAE;AACdR,MAAAA,GAAG,EAAES,KAAK,CAACT,GADG;AAEdW,MAAAA,EAAE,EAAEF,KAAK,CAACE,EAFI;AAGdI,MAAAA,cAAc,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/shared.js"],"names":["POSITION_CLASSNAMES","center","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_MIN_HEIGHT","COVER_MAX_HEIGHT","COVER_DEFAULT_HEIGHT","backgroundImageStyles","url","backgroundImage","ALLOWED_MEDIA_TYPES","dimRatioToClass","ratio","Math","round","attributesFromMedia","setAttributes","media","undefined","id","type","mediaType","media_type","alt","backgroundType","focalPoint","hasParallax","isContentPositionCenter","contentPosition","getPositionClassName"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlobTypeByURL, isBlobURL } from '@wordpress/blob';\n\nconst POSITION_CLASSNAMES = {\n\t'top left': 'is-position-top-left',\n\t'top center': 'is-position-top-center',\n\t'top right': 'is-position-top-right',\n\t'center left': 'is-position-center-left',\n\t'center center': 'is-position-center-center',\n\tcenter: 'is-position-center-center',\n\t'center right': 'is-position-center-right',\n\t'bottom left': 'is-position-bottom-left',\n\t'bottom center': 'is-position-bottom-center',\n\t'bottom right': 'is-position-bottom-right',\n};\n\nexport const IMAGE_BACKGROUND_TYPE = 'image';\nexport const VIDEO_BACKGROUND_TYPE = 'video';\nexport const COVER_MIN_HEIGHT = 50;\nexport const COVER_MAX_HEIGHT = 1000;\nexport const COVER_DEFAULT_HEIGHT = 300;\nexport function backgroundImageStyles( url ) {\n\treturn url ? { backgroundImage: `url(${ url })` } : {};\n}\nexport const ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\n\nexport function dimRatioToClass( ratio ) {\n\treturn ratio === 0 || ratio === 50 || ! ratio\n\t\t? null\n\t\t: 'has-background-dim-' + 10 * Math.round( ratio / 10 );\n}\n\nexport function attributesFromMedia( setAttributes ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( { url: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\t// for media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === IMAGE_BACKGROUND_TYPE ) {\n\t\t\t\tmediaType = IMAGE_BACKGROUND_TYPE;\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// Videos contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = VIDEO_BACKGROUND_TYPE;\n\t\t\t}\n\t\t} else {\n\t\t\t// for media selections originated from existing files in the media library.\n\t\t\tif (\n\t\t\t\tmedia.type !== IMAGE_BACKGROUND_TYPE &&\n\t\t\t\tmedia.type !== VIDEO_BACKGROUND_TYPE\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: media.url,\n\t\t\tid: media.id,\n\t\t\talt: media?.alt,\n\t\t\tbackgroundType: mediaType,\n\t\t\t...( mediaType === VIDEO_BACKGROUND_TYPE\n\t\t\t\t? { focalPoint: undefined, hasParallax: undefined }\n\t\t\t\t: {} ),\n\t\t} );\n\t};\n}\n\n/**\n * Checks of the contentPosition is the center (default) position.\n *\n * @param {string} contentPosition The current content position.\n * @return {boolean} Whether the contentPosition is center.\n */\nexport function isContentPositionCenter( contentPosition ) {\n\treturn (\n\t\t! contentPosition ||\n\t\tcontentPosition === 'center center' ||\n\t\tcontentPosition === 'center'\n\t);\n}\n\n/**\n * Retrieves the className for the current contentPosition.\n * The default position (center) will not have a className.\n *\n * @param {string} contentPosition The current content position.\n * @return {string} The className assigned to the contentPosition.\n */\nexport function getPositionClassName( contentPosition ) {\n\t/*\n\t * Only render a className if the contentPosition is not center (the default).\n\t */\n\tif ( isContentPositionCenter( contentPosition ) ) return '';\n\n\treturn POSITION_CLASSNAMES[ contentPosition ];\n}\n"]}
|
|
@@ -23,6 +23,7 @@ const transforms = {
|
|
|
23
23
|
transform: ({
|
|
24
24
|
caption,
|
|
25
25
|
url,
|
|
26
|
+
alt,
|
|
26
27
|
align,
|
|
27
28
|
id,
|
|
28
29
|
anchor,
|
|
@@ -32,6 +33,7 @@ const transforms = {
|
|
|
32
33
|
|
|
33
34
|
return (0, _blocks.createBlock)('core/cover', {
|
|
34
35
|
url,
|
|
36
|
+
alt,
|
|
35
37
|
align,
|
|
36
38
|
id,
|
|
37
39
|
anchor,
|
|
@@ -124,6 +126,7 @@ const transforms = {
|
|
|
124
126
|
transform: ({
|
|
125
127
|
title,
|
|
126
128
|
url,
|
|
129
|
+
alt,
|
|
127
130
|
align,
|
|
128
131
|
id,
|
|
129
132
|
anchor,
|
|
@@ -134,6 +137,7 @@ const transforms = {
|
|
|
134
137
|
return (0, _blocks.createBlock)('core/image', {
|
|
135
138
|
caption: title,
|
|
136
139
|
url,
|
|
140
|
+
alt,
|
|
137
141
|
align,
|
|
138
142
|
id,
|
|
139
143
|
anchor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/transforms.js"],"names":["transforms","from","type","blocks","transform","caption","url","align","id","anchor","style","color","duotone","content","fontSize","src","backgroundType","VIDEO_BACKGROUND_TYPE","isMatch","backgroundColor","gradient","background","innerBlocks","overlayColor","customOverlayColor","customGradient","to","IMAGE_BACKGROUND_TYPE","title"],"mappings":";;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,CAAE,YAAF,CAFT;AAGCC,IAAAA,SAAS,EAAE,CAAE;AAAEC,MAAAA,OAAF;AAAWC,MAAAA,GAAX;AAAgBC,MAAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/transforms.js"],"names":["transforms","from","type","blocks","transform","caption","url","alt","align","id","anchor","style","color","duotone","content","fontSize","src","backgroundType","VIDEO_BACKGROUND_TYPE","isMatch","backgroundColor","gradient","background","innerBlocks","overlayColor","customOverlayColor","customGradient","to","IMAGE_BACKGROUND_TYPE","title"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { IMAGE_BACKGROUND_TYPE, VIDEO_BACKGROUND_TYPE } from './shared';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { caption, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\turl,\n\t\t\t\t\t\talt,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( { caption, src, align, id, anchor } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\turl: src,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tbackgroundType: VIDEO_BACKGROUND_TYPE,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tisMatch: ( { backgroundColor, gradient, style } ) => {\n\t\t\t\t/*\n\t\t\t\t * Make this transformation available only if the Group has background\n\t\t\t\t * or gradient set, because otherwise `Cover` block displays a Placeholder.\n\t\t\t\t *\n\t\t\t\t * This helps avoid arbitrary decisions about the Cover block's background\n\t\t\t\t * and user confusion about the existence of previous content.\n\t\t\t\t */\n\t\t\t\treturn (\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tstyle?.color?.background ||\n\t\t\t\t\tstyle?.color?.gradient ||\n\t\t\t\t\tgradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: (\n\t\t\t\t{ align, anchor, backgroundColor, gradient, style },\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\toverlayColor: backgroundColor,\n\t\t\t\t\t\tcustomOverlayColor: style?.color?.background,\n\t\t\t\t\t\tgradient,\n\t\t\t\t\t\tcustomGradient: style?.color?.gradient,\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents an image background.\n\t\t\t\t\treturn backgroundType === IMAGE_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\turl,\n\t\t\t\t\talt,\n\t\t\t\t\talign,\n\t\t\t\t\tid,\n\t\t\t\t\tanchor,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents a video background.\n\t\t\t\t\treturn backgroundType === VIDEO_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, align, id, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/video', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\tsrc: url,\n\t\t\t\t\tid,\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
|
package/build/embed/edit.js
CHANGED
|
@@ -44,10 +44,6 @@ var _primitives = require("@wordpress/primitives");
|
|
|
44
44
|
/**
|
|
45
45
|
* WordPress dependencies
|
|
46
46
|
*/
|
|
47
|
-
function getResponsiveHelp(checked) {
|
|
48
|
-
return checked ? (0, _i18n.__)('This embed will preserve its aspect ratio when the browser is resized.') : (0, _i18n.__)('This embed may not preserve its aspect ratio when the browser is resized.');
|
|
49
|
-
}
|
|
50
|
-
|
|
51
47
|
const EmbedEdit = props => {
|
|
52
48
|
const {
|
|
53
49
|
attributes: {
|
|
@@ -220,6 +216,7 @@ const EmbedEdit = props => {
|
|
|
220
216
|
// after the preview has been rendered can result in unwanted
|
|
221
217
|
// clipping or scrollbars. The `getAttributesFromPreview` function
|
|
222
218
|
// that `getMergedAttributes` uses is memoized so that we're not
|
|
219
|
+
// calculating them on every render.
|
|
223
220
|
|
|
224
221
|
|
|
225
222
|
const {
|
|
@@ -234,7 +231,6 @@ const EmbedEdit = props => {
|
|
|
234
231
|
themeSupportsResponsive: themeSupportsResponsive,
|
|
235
232
|
blockSupportsResponsive: responsive,
|
|
236
233
|
allowResponsive: allowResponsive,
|
|
237
|
-
getResponsiveHelp: getResponsiveHelp,
|
|
238
234
|
toggleResponsive: toggleResponsive,
|
|
239
235
|
switchBackToURLInput: () => setIsEditingURL(true)
|
|
240
236
|
}), (0, _element.createElement)(_primitives.View, blockProps, (0, _element.createElement)(_embedPreview.default, {
|
package/build/embed/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/edit.js"],"names":["getResponsiveHelp","checked","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","icon","embedContentIcon","setURL","isEditingURL","setIsEditingURL","invalidateResolution","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","allowResponsive","className","toggleResponsive","newAllowResponsive","newURL","replace","upgradedBlock","blockProps","label","showEmbedPlaceholder","event","preventDefault","target","value","caption","classFromPreview"],"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';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\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 EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: {\n\t\t\tproviderNameSlug,\n\t\t\tpreviewable,\n\t\t\tresponsive,\n\t\t\turl: attributesUrl,\n\t\t},\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\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 [ url, setURL ] = useState( attributesUrl );\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\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 ( ! attributesUrl ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( attributesUrl );\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( attributesUrl );\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 `data.status` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.data?.status === 404;\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: isRequestingEmbedPreview( attributesUrl ),\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[ attributesUrl ]\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\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 = attributesUrl.replace( /\\/$/, '' );\n\t\tsetURL( newURL );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, attributesUrl ] );\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\t// translators: %s: type of embed e.g: \"YouTube\", \"Twitter\", etc. \"Embed\" is used when no specific type exists\n\tconst label = sprintf( __( '%s URL' ), title );\n\n\t// No preview, or we can't embed the current URL, or we've clicked the edit button.\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed || isEditingURL;\n\n\tif ( showEmbedPlaceholder ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\tsetAttributes( { url } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\tonChange={ ( event ) => setURL( event.target.value ) }\n\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [ url ] );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\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\tconst {\n\t\tcaption,\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\treturn (\n\t\t<>\n\t\t\t<EmbedControls\n\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\tgetResponsiveHelp={ getResponsiveHelp }\n\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t/>\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPreview\n\t\t\t\t\tpreview={ preview }\n\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\turl={ url }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\tcaption={ caption }\n\t\t\t\t\tonCaptionChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/edit.js"],"names":["EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","icon","embedContentIcon","setURL","isEditingURL","setIsEditingURL","invalidateResolution","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","allowResponsive","className","toggleResponsive","newAllowResponsive","newURL","replace","upgradedBlock","blockProps","label","showEmbedPlaceholder","event","preventDefault","target","value","caption","classFromPreview"],"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';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useBlockProps } 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: {\n\t\t\tproviderNameSlug,\n\t\t\tpreviewable,\n\t\t\tresponsive,\n\t\t\turl: attributesUrl,\n\t\t},\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\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 [ url, setURL ] = useState( attributesUrl );\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\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 ( ! attributesUrl ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( attributesUrl );\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( attributesUrl );\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 `data.status` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.data?.status === 404;\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: isRequestingEmbedPreview( attributesUrl ),\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[ attributesUrl ]\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\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 = attributesUrl.replace( /\\/$/, '' );\n\t\tsetURL( newURL );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, attributesUrl ] );\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\t// translators: %s: type of embed e.g: \"YouTube\", \"Twitter\", etc. \"Embed\" is used when no specific type exists\n\tconst label = sprintf( __( '%s URL' ), title );\n\n\t// No preview, or we can't embed the current URL, or we've clicked the edit button.\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed || isEditingURL;\n\n\tif ( showEmbedPlaceholder ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\tsetAttributes( { url } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\tonChange={ ( event ) => setURL( event.target.value ) }\n\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [ url ] );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\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\tcaption,\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\treturn (\n\t\t<>\n\t\t\t<EmbedControls\n\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t/>\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPreview\n\t\t\t\t\tpreview={ preview }\n\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\turl={ url }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\tcaption={ caption }\n\t\t\t\t\tonCaptionChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
|
|
@@ -46,9 +46,18 @@ var _primitives = require("@wordpress/primitives");
|
|
|
46
46
|
/**
|
|
47
47
|
* WordPress dependencies
|
|
48
48
|
*/
|
|
49
|
+
// The inline preview feature will be released progressible, for this reason
|
|
50
|
+
// the embed will only be considered previewable for the following providers list.
|
|
51
|
+
const PREVIEWABLE_PROVIDERS = ['youtube', 'twitter', 'instagram', 'vimeo']; // Some providers are rendering the inline preview as a WordPress embed and
|
|
52
|
+
// are not supported yet, so we need to disallow them with a fixed providers list.
|
|
53
|
+
|
|
54
|
+
const NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = ['pinterest'];
|
|
55
|
+
const WP_EMBED_TYPE = 'wp-embed';
|
|
56
|
+
|
|
49
57
|
const EmbedEdit = props => {
|
|
50
58
|
const {
|
|
51
59
|
attributes: {
|
|
60
|
+
align,
|
|
52
61
|
providerNameSlug,
|
|
53
62
|
previewable,
|
|
54
63
|
responsive,
|
|
@@ -66,25 +75,32 @@ const EmbedEdit = props => {
|
|
|
66
75
|
title: (0, _i18n._x)('Embed', 'block title'),
|
|
67
76
|
icon: _icons.embedContentIcon
|
|
68
77
|
};
|
|
78
|
+
const embedInfoByProvider = (0, _util.getEmbedInfoByProvider)(providerNameSlug);
|
|
69
79
|
const {
|
|
70
80
|
icon,
|
|
71
81
|
title
|
|
72
|
-
} =
|
|
82
|
+
} = embedInfoByProvider || defaultEmbedInfo;
|
|
73
83
|
const {
|
|
74
84
|
wasBlockJustInserted
|
|
75
85
|
} = (0, _data.useSelect)(select => ({
|
|
76
86
|
wasBlockJustInserted: select(_blockEditor.store).wasBlockJustInserted(clientId, 'inserter_menu')
|
|
77
87
|
}), [clientId]);
|
|
78
88
|
const [isEditingURL, setIsEditingURL] = (0, _element.useState)(isSelected && wasBlockJustInserted && !url);
|
|
89
|
+
const [showEmbedBottomSheet, setShowEmbedBottomSheet] = (0, _element.useState)(isEditingURL);
|
|
90
|
+
const {
|
|
91
|
+
invalidateResolution
|
|
92
|
+
} = (0, _data.useDispatch)(_coreData.store);
|
|
79
93
|
const {
|
|
80
94
|
preview,
|
|
81
95
|
fetching,
|
|
96
|
+
themeSupportsResponsive,
|
|
82
97
|
cannotEmbed
|
|
83
98
|
} = (0, _data.useSelect)(select => {
|
|
84
99
|
const {
|
|
85
100
|
getEmbedPreview,
|
|
86
101
|
isPreviewEmbedFallback,
|
|
87
|
-
isRequestingEmbedPreview
|
|
102
|
+
isRequestingEmbedPreview,
|
|
103
|
+
getThemeSupports
|
|
88
104
|
} = select(_coreData.store);
|
|
89
105
|
|
|
90
106
|
if (!url) {
|
|
@@ -111,23 +127,42 @@ const EmbedEdit = props => {
|
|
|
111
127
|
return {
|
|
112
128
|
preview: validPreview ? embedPreview : undefined,
|
|
113
129
|
fetching: isFetching,
|
|
130
|
+
themeSupportsResponsive: getThemeSupports()['responsive-embeds'],
|
|
114
131
|
cannotEmbed: !validPreview || previewIsFallback
|
|
115
132
|
};
|
|
116
133
|
}, [url]);
|
|
117
134
|
/**
|
|
118
|
-
*
|
|
135
|
+
* Returns the attributes derived from the preview, merged with the current attributes.
|
|
136
|
+
*
|
|
137
|
+
* @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.
|
|
138
|
+
* @return {Object} Merged attributes.
|
|
119
139
|
*/
|
|
120
140
|
|
|
121
|
-
const getMergedAttributes = () => {
|
|
141
|
+
const getMergedAttributes = (ignorePreviousClassName = false) => {
|
|
122
142
|
const {
|
|
123
143
|
allowResponsive,
|
|
124
144
|
className
|
|
125
145
|
} = attributes;
|
|
126
146
|
return { ...attributes,
|
|
127
|
-
...(0, _util.getAttributesFromPreview)(preview, title, className, responsive, allowResponsive)
|
|
147
|
+
...(0, _util.getAttributesFromPreview)(preview, title, ignorePreviousClassName ? undefined : className, responsive, allowResponsive)
|
|
128
148
|
};
|
|
129
149
|
};
|
|
130
150
|
|
|
151
|
+
const toggleResponsive = () => {
|
|
152
|
+
const {
|
|
153
|
+
allowResponsive,
|
|
154
|
+
className
|
|
155
|
+
} = attributes;
|
|
156
|
+
const {
|
|
157
|
+
html
|
|
158
|
+
} = preview;
|
|
159
|
+
const newAllowResponsive = !allowResponsive;
|
|
160
|
+
setAttributes({
|
|
161
|
+
allowResponsive: newAllowResponsive,
|
|
162
|
+
className: (0, _util.getClassNames)(html, className, responsive && newAllowResponsive)
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
|
|
131
166
|
(0, _element.useEffect)(() => {
|
|
132
167
|
if (!(preview !== null && preview !== void 0 && preview.html) || !cannotEmbed || fetching) {
|
|
133
168
|
return;
|
|
@@ -144,15 +179,11 @@ const EmbedEdit = props => {
|
|
|
144
179
|
|
|
145
180
|
(0, _element.useEffect)(() => {
|
|
146
181
|
if (preview && !isEditingURL) {
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
// the
|
|
150
|
-
//
|
|
151
|
-
|
|
152
|
-
// clipping or scrollbars. The `getAttributesFromPreview` function
|
|
153
|
-
// that `getMergedAttributes` uses is memoized so that we're not
|
|
154
|
-
// calculating them on every render.
|
|
155
|
-
setAttributes(getMergedAttributes());
|
|
182
|
+
// When obtaining an incoming preview, we set the attributes derived from
|
|
183
|
+
// the preview data. In this case when getting the merged attributes,
|
|
184
|
+
// we ignore the previous classname because it might not match the expected
|
|
185
|
+
// classes by the new preview.
|
|
186
|
+
setAttributes(getMergedAttributes(true));
|
|
156
187
|
|
|
157
188
|
if (onReplace) {
|
|
158
189
|
const upgradedBlock = (0, _util.createUpgradedEmbedBlock)(props, getMergedAttributes());
|
|
@@ -163,19 +194,36 @@ const EmbedEdit = props => {
|
|
|
163
194
|
}
|
|
164
195
|
}
|
|
165
196
|
}, [preview, isEditingURL]);
|
|
197
|
+
(0, _element.useEffect)(() => setShowEmbedBottomSheet(isEditingURL), [isEditingURL]);
|
|
166
198
|
const blockProps = (0, _blockEditor.useBlockProps)();
|
|
167
199
|
|
|
168
200
|
if (fetching) {
|
|
169
201
|
return (0, _element.createElement)(_primitives.View, blockProps, (0, _element.createElement)(_embedLoading.default, null));
|
|
170
202
|
}
|
|
171
203
|
|
|
172
|
-
const showEmbedPlaceholder = !preview || cannotEmbed;
|
|
204
|
+
const showEmbedPlaceholder = !preview || cannotEmbed; // Even though we set attributes that get derived from the preview,
|
|
205
|
+
// we don't access them directly because for the initial render,
|
|
206
|
+
// the `setAttributes` call will not have taken effect. If we're
|
|
207
|
+
// rendering responsive content, setting the responsive classes
|
|
208
|
+
// after the preview has been rendered can result in unwanted
|
|
209
|
+
// clipping or scrollbars. The `getAttributesFromPreview` function
|
|
210
|
+
// that `getMergedAttributes` uses is memoized so that we're not
|
|
211
|
+
// calculating them on every render.
|
|
212
|
+
|
|
173
213
|
const {
|
|
174
214
|
type,
|
|
215
|
+
allowResponsive,
|
|
175
216
|
className: classFromPreview
|
|
176
217
|
} = getMergedAttributes();
|
|
177
218
|
const className = (0, _classnames.default)(classFromPreview, props.className);
|
|
178
|
-
|
|
219
|
+
const isProviderPreviewable = PREVIEWABLE_PROVIDERS.includes(providerNameSlug) || // For WordPress embeds, we enable the inline preview for all its providers
|
|
220
|
+
// except the ones that are not supported yet.
|
|
221
|
+
WP_EMBED_TYPE === type && !NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes(providerNameSlug);
|
|
222
|
+
const bottomSheetLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;
|
|
223
|
+
return (0, _element.createElement)(_element.Fragment, null, showEmbedPlaceholder ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_embedControls.default, {
|
|
224
|
+
showEditButton: cannotEmbed,
|
|
225
|
+
switchBackToURLInput: () => setIsEditingURL(true)
|
|
226
|
+
}), (0, _element.createElement)(_primitives.View, blockProps, (0, _element.createElement)(_embedPlaceholder.default, {
|
|
179
227
|
icon: icon,
|
|
180
228
|
isSelected: isSelected,
|
|
181
229
|
label: title,
|
|
@@ -183,11 +231,20 @@ const EmbedEdit = props => {
|
|
|
183
231
|
onFocus(event);
|
|
184
232
|
setIsEditingURL(true);
|
|
185
233
|
},
|
|
186
|
-
cannotEmbed: cannotEmbed
|
|
187
|
-
|
|
234
|
+
cannotEmbed: cannotEmbed,
|
|
235
|
+
fallback: () => (0, _util.fallback)(url, onReplace),
|
|
236
|
+
tryAgain: () => {
|
|
237
|
+
invalidateResolution('getEmbedPreview', [url]);
|
|
238
|
+
}
|
|
239
|
+
}))) : (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_embedControls.default, {
|
|
188
240
|
showEditButton: preview && !cannotEmbed,
|
|
241
|
+
themeSupportsResponsive: themeSupportsResponsive,
|
|
242
|
+
blockSupportsResponsive: responsive,
|
|
243
|
+
allowResponsive: allowResponsive,
|
|
244
|
+
toggleResponsive: toggleResponsive,
|
|
189
245
|
switchBackToURLInput: () => setIsEditingURL(true)
|
|
190
246
|
}), (0, _element.createElement)(_primitives.View, blockProps, (0, _element.createElement)(_embedPreview.default, {
|
|
247
|
+
align: align,
|
|
191
248
|
className: className,
|
|
192
249
|
clientId: clientId,
|
|
193
250
|
icon: icon,
|
|
@@ -196,18 +253,24 @@ const EmbedEdit = props => {
|
|
|
196
253
|
label: title,
|
|
197
254
|
onFocus: onFocus,
|
|
198
255
|
preview: preview,
|
|
256
|
+
isProviderPreviewable: isProviderPreviewable,
|
|
199
257
|
previewable: previewable,
|
|
200
258
|
type: type,
|
|
201
|
-
url: url
|
|
259
|
+
url: url,
|
|
260
|
+
isDefaultEmbedInfo: !embedInfoByProvider
|
|
202
261
|
}))), (0, _element.createElement)(_embedBottomSheet.default, {
|
|
203
262
|
value: url,
|
|
204
|
-
|
|
205
|
-
|
|
263
|
+
label: bottomSheetLabel,
|
|
264
|
+
isVisible: showEmbedBottomSheet,
|
|
265
|
+
onClose: () => setShowEmbedBottomSheet(false),
|
|
206
266
|
onSubmit: value => {
|
|
207
|
-
|
|
267
|
+
// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
|
|
268
|
+
// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
|
|
269
|
+
// for creating the new block.
|
|
208
270
|
setAttributes({
|
|
209
271
|
url: value
|
|
210
272
|
});
|
|
273
|
+
setIsEditingURL(false);
|
|
211
274
|
}
|
|
212
275
|
}));
|
|
213
276
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/edit.native.js"],"names":["EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedContentIcon","wasBlockJustInserted","select","blockEditorStore","isEditingURL","setIsEditingURL","preview","fetching","cannotEmbed","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","coreStore","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","isFetching","getMergedAttributes","allowResponsive","className","newURL","replace","upgradedBlock","blockProps","showEmbedPlaceholder","classFromPreview","event","value"],"mappings":"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","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":["PREVIEWABLE_PROVIDERS","NOT_PREVIEWABLE_WP_EMBED_PROVIDERS","WP_EMBED_TYPE","EmbedEdit","props","attributes","align","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedContentIcon","embedInfoByProvider","wasBlockJustInserted","select","blockEditorStore","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","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"]}
|
|
@@ -20,24 +20,9 @@ var _notices = require("@wordpress/notices");
|
|
|
20
20
|
/**
|
|
21
21
|
* WordPress dependencies
|
|
22
22
|
*/
|
|
23
|
-
const linkSettingsOptions = {
|
|
24
|
-
url: {
|
|
25
|
-
label: (0, _i18n.__)('Embed link'),
|
|
26
|
-
placeholder: (0, _i18n.__)('Add link'),
|
|
27
|
-
autoFocus: true,
|
|
28
|
-
autoFill: true
|
|
29
|
-
},
|
|
30
|
-
footer: {
|
|
31
|
-
label: (0, _element.createElement)(_components.FooterMessageLink, {
|
|
32
|
-
href: (0, _i18n.__)('https://wordpress.org/support/article/embeds/'),
|
|
33
|
-
value: (0, _i18n.__)('Learn more about embeds')
|
|
34
|
-
}),
|
|
35
|
-
separatorType: 'topFullWidth'
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
|
|
39
23
|
const EmbedBottomSheet = ({
|
|
40
24
|
value,
|
|
25
|
+
label,
|
|
41
26
|
isVisible,
|
|
42
27
|
onClose,
|
|
43
28
|
onSubmit
|
|
@@ -46,6 +31,22 @@ const EmbedBottomSheet = ({
|
|
|
46
31
|
const {
|
|
47
32
|
createErrorNotice
|
|
48
33
|
} = (0, _data.useDispatch)(_notices.store);
|
|
34
|
+
const linkSettingsOptions = {
|
|
35
|
+
url: {
|
|
36
|
+
label: (0, _i18n.sprintf)( // translators: %s: embed block variant's label e.g: "Twitter".
|
|
37
|
+
(0, _i18n.__)('%s link'), label),
|
|
38
|
+
placeholder: (0, _i18n.__)('Add link'),
|
|
39
|
+
autoFocus: true,
|
|
40
|
+
autoFill: true
|
|
41
|
+
},
|
|
42
|
+
footer: {
|
|
43
|
+
label: (0, _element.createElement)(_components.FooterMessageLink, {
|
|
44
|
+
href: (0, _i18n.__)('https://wordpress.org/support/article/embeds/'),
|
|
45
|
+
value: (0, _i18n.__)('Learn more about embeds')
|
|
46
|
+
}),
|
|
47
|
+
separatorType: 'topFullWidth'
|
|
48
|
+
}
|
|
49
|
+
};
|
|
49
50
|
const onDismiss = (0, _element.useCallback)(() => {
|
|
50
51
|
if (url !== '') {
|
|
51
52
|
if ((0, _url.isURL)(url)) {
|