@wordpress/block-library 9.13.1-next.cd6172eb0.0 → 9.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/LICENSE.md +1 -1
- package/build/archives/edit.js +83 -36
- package/build/archives/edit.js.map +1 -1
- package/build/avatar/user-control.js +1 -0
- package/build/avatar/user-control.js.map +1 -1
- package/build/block/deprecated.js +1 -0
- package/build/block/deprecated.js.map +1 -1
- package/build/block/edit.js +1 -0
- package/build/block/edit.js.map +1 -1
- package/build/button/deprecated.js +183 -1
- package/build/button/deprecated.js.map +1 -1
- package/build/button/edit.js +49 -27
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +8 -2
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +8 -5
- package/build/button/save.js.map +1 -1
- package/build/buttons/transforms.js +1 -0
- package/build/buttons/transforms.js.map +1 -1
- package/build/categories/edit.js +1 -0
- package/build/categories/edit.js.map +1 -1
- package/build/column/column-preview.native.js +1 -0
- package/build/column/column-preview.native.js.map +1 -1
- package/build/column/edit.js +33 -13
- package/build/column/edit.js.map +1 -1
- package/build/columns/columnCalculations.native.js +1 -0
- package/build/columns/columnCalculations.native.js.map +1 -1
- package/build/columns/deprecated.js +1 -0
- package/build/columns/deprecated.js.map +1 -1
- package/build/columns/edit.js +51 -27
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +1 -0
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/transforms.js +1 -0
- package/build/columns/transforms.js.map +1 -1
- package/build/columns/utils.js +1 -0
- package/build/columns/utils.js.map +1 -1
- package/build/comment-template/edit.js +1 -0
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/hooks.js +1 -0
- package/build/comment-template/hooks.js.map +1 -1
- package/build/comment-template/util.js +1 -0
- package/build/comment-template/util.js.map +1 -1
- package/build/comments/index.js +1 -0
- package/build/comments/index.js.map +1 -1
- package/build/cover/edit/index.js +9 -3
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit.native.js +1 -1
- package/build/cover/edit.native.js.map +1 -1
- package/build/details/edit.js +29 -7
- package/build/details/edit.js.map +1 -1
- package/build/details/transforms.js +1 -0
- package/build/details/transforms.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +1 -0
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/embed/util.js +1 -0
- package/build/embed/util.js.map +1 -1
- package/build/embed/variations.js +1 -0
- package/build/embed/variations.js.map +1 -1
- package/build/embed/wp-embed-preview.js +1 -0
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/file/transforms.js +1 -0
- package/build/file/transforms.js.map +1 -1
- package/build/footnotes/edit.js +1 -0
- package/build/footnotes/edit.js.map +1 -1
- package/build/form/index.js +1 -2
- package/build/form/index.js.map +1 -1
- package/build/form/view.js +10 -5
- package/build/form/view.js.map +1 -1
- package/build/freeform/modal.js +1 -0
- package/build/freeform/modal.js.map +1 -1
- package/build/gallery/deprecated.js +1 -0
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit.js +1 -0
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/shared.js +1 -0
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +1 -0
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-media.js +1 -0
- package/build/gallery/use-get-media.js.map +1 -1
- package/build/gallery/use-get-media.native.js +1 -0
- package/build/gallery/use-get-media.native.js.map +1 -1
- package/build/gallery/use-get-new-images.js +1 -0
- package/build/gallery/use-get-new-images.js.map +1 -1
- package/build/gallery/use-image-sizes.js +1 -0
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/group/placeholder.js +1 -0
- package/build/group/placeholder.js.map +1 -1
- package/build/group/transforms.js +1 -0
- package/build/group/transforms.js.map +1 -1
- package/build/heading/transforms.js +1 -0
- package/build/heading/transforms.js.map +1 -1
- package/build/html/preview.js +1 -0
- package/build/html/preview.js.map +1 -1
- package/build/image/edit.js +1 -0
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +1 -0
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +2 -1
- package/build/image/image.js.map +1 -1
- package/build/image/transforms.js +2 -0
- package/build/image/transforms.js.map +1 -1
- package/build/image/utils.js +1 -0
- package/build/image/utils.js.map +1 -1
- package/build/image/view.js +1 -3
- package/build/image/view.js.map +1 -1
- package/build/index.js +2 -1
- package/build/index.js.map +1 -1
- package/build/index.native.js +1 -0
- package/build/index.native.js.map +1 -1
- package/build/latest-posts/deprecated.js +12 -0
- package/build/latest-posts/deprecated.js.map +1 -1
- package/build/latest-posts/edit.js +1 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/index.js +12 -0
- package/build/latest-posts/index.js.map +1 -1
- package/build/list/transforms.js +1 -0
- package/build/list/transforms.js.map +1 -1
- package/build/list/utils.js +1 -0
- package/build/list/utils.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +1 -0
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/transforms.js +1 -0
- package/build/list-item/transforms.js.map +1 -1
- package/build/loginout/edit.js +42 -13
- package/build/loginout/edit.js.map +1 -1
- package/build/media-text/edit.js +60 -31
- package/build/media-text/edit.js.map +1 -1
- package/build/more/edit.js +28 -7
- package/build/more/edit.js.map +1 -1
- package/build/more/save.js +1 -0
- package/build/more/save.js.map +1 -1
- package/build/navigation/deprecated.js +1 -0
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/index.js +1 -0
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +5 -3
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/use-generate-default-navigation-title.js +1 -0
- package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build/navigation/menu-items-to-blocks.js +1 -0
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation/use-template-part-area-label.js +1 -0
- package/build/navigation/use-template-part-area-label.js.map +1 -1
- package/build/navigation/view.js +1 -0
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +96 -57
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/hooks.js +1 -0
- package/build/navigation-link/hooks.js.map +1 -1
- package/build/navigation-link/link-ui.js +3 -3
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-submenu/edit.js +105 -54
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +45 -25
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/use-convert-to-navigation-links.js +1 -0
- package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
- package/build/paragraph/edit.js +22 -6
- package/build/paragraph/edit.js.map +1 -1
- package/build/pattern/edit.js +1 -0
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +16 -3
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author/index.js +4 -2
- package/build/post-author/index.js.map +1 -1
- package/build/post-author-name/edit.js +11 -5
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-author-name/index.js +4 -2
- package/build/post-author-name/index.js.map +1 -1
- package/build/post-comments-form/index.js +6 -1
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +8 -1
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-date/edit.js +58 -18
- 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 +42 -18
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +18 -19
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +45 -11
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +6 -3
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/index.js +11 -7
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-navigation-link/variations.js +3 -2
- package/build/post-navigation-link/variations.js.map +1 -1
- package/build/post-template/edit.js +1 -0
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +12 -2
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/edit.js +1 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/hooks.js +1 -0
- package/build/post-terms/hooks.js.map +1 -1
- package/build/post-title/index.js +6 -3
- package/build/post-title/index.js.map +1 -1
- package/build/pullquote/blockquote.native.js +1 -0
- package/build/pullquote/blockquote.native.js.map +1 -1
- package/build/pullquote/transforms.js +1 -0
- package/build/pullquote/transforms.js.map +1 -1
- package/build/query/deprecated.js +1 -0
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/inspector-controls/author-control.js +1 -0
- package/build/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build/query/edit/inspector-controls/format-controls.js +1 -0
- package/build/query/edit/inspector-controls/format-controls.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +1 -0
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/parent-control.js +1 -0
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +1 -0
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/utils.js +1 -0
- package/build/query/utils.js.map +1 -1
- package/build/query-no-results/index.js +11 -10
- package/build/query-no-results/index.js.map +1 -1
- package/build/query-pagination/edit.js +47 -17
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination/query-pagination-label-control.js +1 -1
- package/build/query-pagination/query-pagination-label-control.js.map +1 -1
- package/build/query-pagination-numbers/edit.js +33 -15
- package/build/query-pagination-numbers/edit.js.map +1 -1
- package/build/query-title/variations.js +1 -0
- package/build/query-title/variations.js.map +1 -1
- package/build/query-total/edit.js +90 -0
- package/build/query-total/edit.js.map +1 -0
- package/build/query-total/icons.js +46 -0
- package/build/query-total/icons.js.map +1 -0
- package/build/query-total/index.js +81 -0
- package/build/query-total/index.js.map +1 -0
- package/build/query-total/init.js +12 -0
- package/build/query-total/init.js.map +1 -0
- package/build/quote/deprecated.js +1 -0
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/transforms.js +1 -0
- package/build/quote/transforms.js.map +1 -1
- package/build/read-more/index.js +7 -1
- package/build/read-more/index.js.map +1 -1
- package/build/site-logo/index.js +4 -2
- package/build/site-logo/index.js.map +1 -1
- package/build/site-title/edit.js +41 -12
- package/build/site-title/edit.js.map +1 -1
- package/build/site-title/index.js +4 -2
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/edit.js +19 -3
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/social-list.js +1 -0
- package/build/social-link/social-list.js.map +1 -1
- package/build/social-link/variations.js +1 -0
- package/build/social-link/variations.js.map +1 -1
- package/build/social-links/edit.js +42 -12
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/edit.native.js +1 -0
- package/build/social-links/edit.native.js.map +1 -1
- package/build/spacer/controls.js +35 -12
- package/build/spacer/controls.js.map +1 -1
- package/build/table/deprecated.js +1 -0
- package/build/table/deprecated.js.map +1 -1
- package/build/table/edit.js +49 -15
- package/build/table/edit.js.map +1 -1
- package/build/table/index.js +4 -1
- package/build/table/index.js.map +1 -1
- package/build/table/save.js +1 -0
- package/build/table/save.js.map +1 -1
- package/build/table/state.js +1 -0
- package/build/table/state.js.map +1 -1
- package/build/table/transforms.js +1 -0
- package/build/table/transforms.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -1
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/index.js +24 -23
- package/build/table-of-contents/index.js.map +1 -1
- package/build/table-of-contents/list.js +1 -0
- package/build/table-of-contents/list.js.map +1 -1
- package/build/table-of-contents/utils.js +1 -0
- package/build/table-of-contents/utils.js.map +1 -1
- package/build/tag-cloud/edit.js +57 -11
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +1 -0
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/import-controls.js +1 -0
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +1 -0
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +1 -0
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +1 -0
- package/build/template-part/edit/utils/transformers.js.map +1 -1
- package/build/template-part/variations.js +1 -0
- package/build/template-part/variations.js.map +1 -1
- package/build/text-columns/edit.js +1 -0
- package/build/text-columns/edit.js.map +1 -1
- package/build/text-columns/save.js +1 -0
- package/build/text-columns/save.js.map +1 -1
- package/build/text-columns/transforms.js +1 -0
- package/build/text-columns/transforms.js.map +1 -1
- package/build/utils/get-transformed-metadata.js +1 -0
- package/build/utils/get-transformed-metadata.js.map +1 -1
- package/build/utils/search-patterns.js +1 -0
- package/build/utils/search-patterns.js.map +1 -1
- package/build/utils/transformation-categories.native.js +1 -0
- package/build/utils/transformation-categories.native.js.map +1 -1
- package/build/video/edit-common-settings.js +90 -30
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +20 -49
- package/build/video/edit.js.map +1 -1
- package/build/video/poster-image.js +81 -0
- package/build/video/poster-image.js.map +1 -0
- package/build/video/tracks-editor.js +2 -1
- package/build/video/tracks-editor.js.map +1 -1
- package/build/video/tracks.js +1 -0
- package/build/video/tracks.js.map +1 -1
- package/build-module/archives/edit.js +84 -37
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/avatar/user-control.js +1 -0
- package/build-module/avatar/user-control.js.map +1 -1
- package/build-module/block/deprecated.js +1 -0
- package/build-module/block/deprecated.js.map +1 -1
- package/build-module/block/edit.js +1 -0
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/deprecated.js +184 -2
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/edit.js +50 -28
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +8 -2
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +9 -6
- package/build-module/button/save.js.map +1 -1
- package/build-module/buttons/transforms.js +1 -0
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/categories/edit.js +1 -0
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/column/column-preview.native.js +1 -0
- package/build-module/column/column-preview.native.js.map +1 -1
- package/build-module/column/edit.js +34 -14
- package/build-module/column/edit.js.map +1 -1
- package/build-module/columns/columnCalculations.native.js +1 -0
- package/build-module/columns/columnCalculations.native.js.map +1 -1
- package/build-module/columns/deprecated.js +1 -0
- package/build-module/columns/deprecated.js.map +1 -1
- package/build-module/columns/edit.js +53 -29
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +1 -0
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/columns/transforms.js +1 -0
- package/build-module/columns/transforms.js.map +1 -1
- package/build-module/columns/utils.js +1 -0
- package/build-module/columns/utils.js.map +1 -1
- package/build-module/comment-template/edit.js +1 -0
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/hooks.js +1 -0
- package/build-module/comment-template/hooks.js.map +1 -1
- package/build-module/comment-template/util.js +1 -0
- package/build-module/comment-template/util.js.map +1 -1
- package/build-module/comments/index.js +1 -0
- package/build-module/comments/index.js.map +1 -1
- package/build-module/cover/edit/index.js +9 -3
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit.native.js +2 -2
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/details/edit.js +30 -8
- package/build-module/details/edit.js.map +1 -1
- package/build-module/details/transforms.js +1 -0
- package/build-module/details/transforms.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +1 -0
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/embed/util.js +1 -0
- package/build-module/embed/util.js.map +1 -1
- package/build-module/embed/variations.js +1 -0
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/embed/wp-embed-preview.js +1 -0
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/file/transforms.js +1 -0
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/footnotes/edit.js +1 -0
- package/build-module/footnotes/edit.js.map +1 -1
- package/build-module/form/index.js +1 -2
- package/build-module/form/index.js.map +1 -1
- package/build-module/form/view.js +10 -5
- package/build-module/form/view.js.map +1 -1
- package/build-module/freeform/modal.js +1 -0
- package/build-module/freeform/modal.js.map +1 -1
- package/build-module/gallery/deprecated.js +1 -0
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit.js +1 -0
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/shared.js +1 -0
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +1 -0
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-media.js +1 -0
- package/build-module/gallery/use-get-media.js.map +1 -1
- package/build-module/gallery/use-get-media.native.js +1 -0
- package/build-module/gallery/use-get-media.native.js.map +1 -1
- package/build-module/gallery/use-get-new-images.js +1 -0
- package/build-module/gallery/use-get-new-images.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +1 -0
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/group/placeholder.js +1 -0
- package/build-module/group/placeholder.js.map +1 -1
- package/build-module/group/transforms.js +1 -0
- package/build-module/group/transforms.js.map +1 -1
- package/build-module/heading/transforms.js +1 -0
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/html/preview.js +1 -0
- package/build-module/html/preview.js.map +1 -1
- package/build-module/image/edit.js +1 -0
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +1 -0
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +2 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/transforms.js +2 -0
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/image/utils.js +1 -0
- package/build-module/image/utils.js.map +1 -1
- package/build-module/image/view.js +1 -3
- package/build-module/image/view.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +1 -0
- package/build-module/index.native.js.map +1 -1
- package/build-module/latest-posts/deprecated.js +12 -0
- package/build-module/latest-posts/deprecated.js.map +1 -1
- package/build-module/latest-posts/edit.js +1 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/index.js +12 -0
- package/build-module/latest-posts/index.js.map +1 -1
- package/build-module/list/transforms.js +1 -0
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/utils.js +1 -0
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/transforms.js +1 -0
- package/build-module/list-item/transforms.js.map +1 -1
- package/build-module/loginout/edit.js +42 -14
- package/build-module/loginout/edit.js.map +1 -1
- package/build-module/media-text/edit.js +60 -31
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/more/edit.js +28 -8
- package/build-module/more/edit.js.map +1 -1
- package/build-module/more/save.js +1 -0
- package/build-module/more/save.js.map +1 -1
- package/build-module/navigation/deprecated.js +1 -0
- package/build-module/navigation/deprecated.js.map +1 -1
- package/build-module/navigation/edit/index.js +1 -0
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +5 -3
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -0
- package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build-module/navigation/menu-items-to-blocks.js +1 -0
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation/use-template-part-area-label.js +1 -0
- package/build-module/navigation/use-template-part-area-label.js.map +1 -1
- package/build-module/navigation/view.js +1 -0
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +97 -58
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/hooks.js +1 -0
- package/build-module/navigation-link/hooks.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +1 -1
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +106 -55
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +46 -26
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/use-convert-to-navigation-links.js +1 -0
- package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
- package/build-module/paragraph/edit.js +23 -8
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/pattern/edit.js +1 -0
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +17 -4
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author/index.js +4 -2
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-author-name/edit.js +12 -6
- package/build-module/post-author-name/edit.js.map +1 -1
- package/build-module/post-author-name/index.js +4 -2
- package/build-module/post-author-name/index.js.map +1 -1
- package/build-module/post-comments-form/index.js +6 -1
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +8 -1
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-date/edit.js +59 -19
- 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 +44 -20
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +19 -20
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +47 -13
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +6 -3
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/index.js +12 -7
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-navigation-link/variations.js +3 -2
- package/build-module/post-navigation-link/variations.js.map +1 -1
- package/build-module/post-template/edit.js +1 -0
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +12 -2
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/edit.js +1 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/hooks.js +1 -0
- package/build-module/post-terms/hooks.js.map +1 -1
- package/build-module/post-title/index.js +6 -3
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/pullquote/blockquote.native.js +1 -0
- package/build-module/pullquote/blockquote.native.js.map +1 -1
- package/build-module/pullquote/transforms.js +1 -0
- package/build-module/pullquote/transforms.js.map +1 -1
- package/build-module/query/deprecated.js +1 -0
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js +1 -0
- package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/format-controls.js +1 -0
- package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +1 -0
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.js +1 -0
- package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +1 -0
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/utils.js +1 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-no-results/index.js +11 -10
- package/build-module/query-no-results/index.js.map +1 -1
- package/build-module/query-pagination/edit.js +49 -19
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination/query-pagination-label-control.js +1 -1
- package/build-module/query-pagination/query-pagination-label-control.js.map +1 -1
- package/build-module/query-pagination-numbers/edit.js +34 -16
- package/build-module/query-pagination-numbers/edit.js.map +1 -1
- package/build-module/query-title/variations.js +1 -0
- package/build-module/query-title/variations.js.map +1 -1
- package/build-module/query-total/edit.js +83 -0
- package/build-module/query-total/edit.js.map +1 -0
- package/build-module/query-total/icons.js +39 -0
- package/build-module/query-total/icons.js.map +1 -0
- package/build-module/query-total/index.js +74 -0
- package/build-module/query-total/index.js.map +1 -0
- package/build-module/query-total/init.js +6 -0
- package/build-module/query-total/init.js.map +1 -0
- package/build-module/quote/deprecated.js +1 -0
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/transforms.js +1 -0
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/read-more/index.js +7 -1
- package/build-module/read-more/index.js.map +1 -1
- package/build-module/site-logo/index.js +4 -2
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-title/edit.js +42 -13
- package/build-module/site-title/edit.js.map +1 -1
- package/build-module/site-title/index.js +4 -2
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/edit.js +20 -4
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/social-list.js +1 -0
- package/build-module/social-link/social-list.js.map +1 -1
- package/build-module/social-link/variations.js +1 -0
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/social-links/edit.js +43 -13
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/edit.native.js +1 -0
- package/build-module/social-links/edit.native.js.map +1 -1
- package/build-module/spacer/controls.js +36 -13
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/table/deprecated.js +1 -0
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/edit.js +50 -16
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/index.js +4 -1
- package/build-module/table/index.js.map +1 -1
- package/build-module/table/save.js +1 -0
- package/build-module/table/save.js.map +1 -1
- package/build-module/table/state.js +1 -0
- package/build-module/table/state.js.map +1 -1
- package/build-module/table/transforms.js +1 -0
- package/build-module/table/transforms.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/index.js +26 -25
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/table-of-contents/list.js +1 -0
- package/build-module/table-of-contents/list.js.map +1 -1
- package/build-module/table-of-contents/utils.js +1 -0
- package/build-module/table-of-contents/utils.js.map +1 -1
- package/build-module/tag-cloud/edit.js +58 -12
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +1 -0
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +1 -0
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +1 -0
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +1 -0
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +1 -0
- package/build-module/template-part/edit/utils/transformers.js.map +1 -1
- package/build-module/template-part/variations.js +1 -0
- package/build-module/template-part/variations.js.map +1 -1
- package/build-module/text-columns/edit.js +1 -0
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/text-columns/save.js +1 -0
- package/build-module/text-columns/save.js.map +1 -1
- package/build-module/text-columns/transforms.js +1 -0
- package/build-module/text-columns/transforms.js.map +1 -1
- package/build-module/utils/get-transformed-metadata.js +1 -0
- package/build-module/utils/get-transformed-metadata.js.map +1 -1
- package/build-module/utils/search-patterns.js +1 -0
- package/build-module/utils/search-patterns.js.map +1 -1
- package/build-module/utils/transformation-categories.native.js +1 -0
- package/build-module/utils/transformation-categories.native.js.map +1 -1
- package/build-module/video/edit-common-settings.js +91 -31
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +24 -53
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/poster-image.js +74 -0
- package/build-module/video/poster-image.js.map +1 -0
- package/build-module/video/tracks-editor.js +2 -1
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-module/video/tracks.js +1 -0
- package/build-module/video/tracks.js.map +1 -1
- package/build-style/button/style-rtl.css +3 -3
- package/build-style/button/style.css +3 -3
- package/build-style/comment-template/style-rtl.css +0 -1
- package/build-style/comment-template/style.css +0 -1
- package/build-style/comments/editor-rtl.css +1 -1
- package/build-style/comments/editor.css +1 -1
- package/build-style/comments/style-rtl.css +1 -1
- package/build-style/comments/style.css +1 -1
- package/build-style/common-rtl.css +17 -17
- package/build-style/common.css +17 -17
- package/build-style/editor-rtl.css +45 -60
- package/build-style/editor.css +45 -60
- package/build-style/form-input/style-rtl.css +0 -2
- package/build-style/form-input/style.css +0 -2
- package/build-style/freeform/editor-rtl.css +4 -8
- package/build-style/freeform/editor.css +4 -8
- package/build-style/gallery/style-rtl.css +2 -2
- package/build-style/gallery/style.css +2 -2
- package/build-style/heading/style-rtl.css +11 -11
- package/build-style/heading/style.css +11 -11
- package/build-style/image/style-rtl.css +1 -1
- package/build-style/image/style.css +1 -1
- package/build-style/latest-comments/style-rtl.css +4 -4
- package/build-style/latest-comments/style.css +4 -4
- package/build-style/latest-posts/style-rtl.css +2 -1
- package/build-style/latest-posts/style.css +2 -1
- package/build-style/more/editor-rtl.css +1 -1
- package/build-style/more/editor.css +1 -1
- package/build-style/nextpage/editor-rtl.css +1 -1
- package/build-style/nextpage/editor.css +1 -1
- package/build-style/post-comments-form/style-rtl.css +2 -2
- package/build-style/post-comments-form/style.css +2 -2
- package/build-style/{post-template/editor.css → post-comments-link/style-rtl.css} +2 -4
- package/build-style/{post-template/editor-rtl.css → post-comments-link/style.css} +2 -4
- package/build-style/post-featured-image/editor-rtl.css +27 -27
- package/build-style/post-featured-image/editor.css +27 -27
- package/build-style/post-template/style-rtl.css +1 -0
- package/build-style/post-template/style.css +1 -0
- package/build-style/query-total/style-rtl.css +103 -0
- package/build-style/query-total/style.css +103 -0
- package/build-style/read-more/style-rtl.css +2 -3
- package/build-style/read-more/style.css +2 -3
- package/build-style/social-link/editor-rtl.css +2 -2
- package/build-style/social-link/editor.css +2 -2
- package/build-style/social-links/editor-rtl.css +2 -2
- package/build-style/social-links/editor.css +2 -2
- package/build-style/social-links/style-rtl.css +2 -2
- package/build-style/social-links/style.css +2 -2
- package/build-style/style-rtl.css +59 -53
- package/build-style/style.css +59 -53
- package/build-style/tag-cloud/editor-rtl.css +0 -5
- package/build-style/tag-cloud/editor.css +0 -5
- package/build-style/text-columns/style-rtl.css +3 -3
- package/build-style/text-columns/style.css +3 -3
- package/package.json +36 -35
- package/src/archives/edit.js +94 -36
- package/src/audio/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/block/index.php +20 -0
- package/src/button/block.json +17 -2
- package/src/button/deprecated.js +189 -0
- package/src/button/edit.js +61 -32
- package/src/button/save.js +6 -1
- package/src/column/edit.js +34 -13
- package/src/columns/edit.js +71 -40
- package/src/comments/index.js +1 -0
- package/src/cover/edit/index.js +12 -5
- package/src/cover/edit.native.js +5 -2
- package/src/cover/test/edit.js +5 -7
- package/src/details/edit.js +40 -11
- package/src/editor.scss +0 -1
- package/src/file/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/form/block.json +1 -2
- package/src/form/index.php +1 -20
- package/src/form/view.js +18 -5
- package/src/image/image.js +1 -1
- package/src/image/index.php +1 -1
- package/src/image/transforms.js +1 -0
- package/src/image/view.js +1 -3
- package/src/index.js +2 -0
- package/src/latest-posts/block.json +12 -0
- package/src/latest-posts/style.scss +2 -1
- package/src/loginout/edit.js +56 -20
- package/src/media-text/edit.js +57 -28
- package/src/more/edit.js +39 -12
- package/src/navigation/edit/navigation-menu-selector.js +9 -2
- package/src/navigation/index.php +2 -2
- package/src/navigation-link/edit.js +101 -67
- package/src/navigation-link/index.php +16 -1
- package/src/navigation-link/link-ui.js +1 -1
- package/src/navigation-submenu/edit.js +113 -63
- package/src/page-list/edit.js +52 -31
- package/src/paragraph/edit.js +29 -5
- package/src/post-author/block.json +4 -2
- package/src/post-author/edit.js +17 -3
- package/src/post-author/index.php +4 -0
- package/src/post-author-name/block.json +4 -2
- package/src/post-author-name/edit.js +17 -4
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/block.json +6 -1
- package/src/post-comments-link/block.json +8 -1
- package/src/post-comments-link/style.scss +4 -0
- package/src/post-content/index.php +23 -0
- package/src/post-date/block.json +2 -1
- package/src/post-date/edit.js +79 -25
- package/src/post-excerpt/edit.js +59 -22
- package/src/post-featured-image/block.json +6 -3
- package/src/post-featured-image/dimension-controls.js +18 -21
- package/src/post-featured-image/edit.js +67 -10
- package/src/post-navigation-link/block.json +0 -6
- package/src/post-navigation-link/index.js +11 -0
- package/src/post-navigation-link/variations.js +2 -2
- package/src/post-template/block.json +12 -2
- package/src/post-template/style.scss +2 -0
- package/src/post-title/block.json +6 -3
- package/src/query-no-results/block.json +1 -11
- package/src/query-no-results/index.js +11 -0
- package/src/query-pagination/edit.js +57 -15
- package/src/query-pagination/query-pagination-label-control.js +1 -3
- package/src/query-pagination-numbers/edit.js +41 -19
- package/src/query-pagination-previous/index.php +21 -14
- package/src/query-total/block.json +52 -0
- package/src/query-total/edit.js +81 -0
- package/src/query-total/icons.js +43 -0
- package/src/query-total/index.js +18 -0
- package/src/query-total/index.php +88 -0
- package/src/query-total/init.js +6 -0
- package/src/query-total/style.scss +4 -0
- package/src/read-more/index.js +6 -0
- package/src/site-logo/block.json +4 -2
- package/src/site-title/block.json +4 -2
- package/src/site-title/edit.js +52 -15
- package/src/social-link/edit.js +21 -6
- package/src/social-links/edit.js +52 -15
- package/src/spacer/controls.js +42 -15
- package/src/style.scss +2 -0
- package/src/table/block.json +4 -1
- package/src/table/edit.js +58 -20
- package/src/table-of-contents/block.json +0 -52
- package/src/table-of-contents/edit.js +1 -1
- package/src/table-of-contents/index.js +53 -0
- package/src/tag-cloud/edit.js +60 -8
- package/src/tag-cloud/editor.scss +0 -8
- package/src/video/edit-common-settings.js +97 -39
- package/src/video/edit.js +29 -75
- package/src/video/poster-image.js +86 -0
- package/src/video/tracks-editor.js +1 -1
- package/tsconfig.json +0 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/src/post-template/editor.scss +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","TouchableWithoutFeedback","InteractionManager","AccessibilityInfo","Text","Platform","Video","clsx","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","mediaUploadSync","__","Icon","Image","ImageEditingButton","IMAGE_DEFAULT_FOCAL_POINT","ToolbarButton","Gradient","ColorPalette","ColorPicker","BottomSheetConsumer","useConvertUnitToMobile","BlockControls","InnerBlocks","InspectorControls","MEDIA_TYPE_IMAGE","MediaPlaceholder","MediaUpload","MediaUploadProgress","getColorObjectByColorValue","getColorObjectByAttributeValues","getGradientValueBySlug","store","blockEditorStore","useGlobalStyles","useMobileGlobalStylesColors","compose","withPreferredColorScheme","useDispatch","withSelect","withDispatch","useEffect","useState","useRef","useCallback","useMemo","cover","icon","replace","image","warning","getProtocol","editPostStore","styles","attributesFromMedia","ALLOWED_MEDIA_TYPES","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_DEFAULT_HEIGHT","Controls","useCoverIsDark","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","INNER_BLOCKS_TEMPLATE","align","placeholder","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","mounted","changeListener","addEventListener","enabled","then","screenReaderEnabled","remove","Cover","attributes","getStylesFromColorScheme","isParentSelected","onFocus","setAttributes","openGeneralSidebar","closeSettingsBottomSheet","isSelected","selectBlock","blockWidth","hasInnerBlocks","backgroundType","dimRatio","focalPoint","minHeight","url","id","style","customOverlayColor","minHeightUnit","allowedBlocks","templateLock","customGradient","gradient","overlayColor","isDark","globalStyles","convertedMinHeight","isImage","THEME_COLORS_COUNT","colorsDefault","coverDefaultPalette","colors","slice","gradients","gradientValue","overlayColorValue","hasBackground","color","background","hasOnlyColorBackground","isCustomColorPickerShowing","setCustomColorPickerShowing","openMediaOptionsRef","isUploadInProgress","setIsUploadInProgress","didUploadFail","setDidUploadFail","shouldShowFailure","onSelectMedia","media","mediaAttributes","undefined","useFeaturedImage","onUpdateMediaProgress","payload","mediaUrl","state","onMediaPressed","isVideoLoading","setIsVideoLoading","onVideoLoadStart","onVideoLoad","onClearMedia","hasParallax","onAddMediaButtonPress","current","setColor","_colorValue$slug","_ref","colorValue","slug","openColorPicker","__unstableMarkNextChangeAsNotPersistent","isCoverDark","childrenStyles","defaultColor","defaultColorLightMode","className","includes","backgroundColor","backgroundSolid","backgroundSolidDark","overlayStyles","overlay","opacity","overlaySelected","placeholderIconStyle","iconDark","placeholderIcon","toolbarControls","open","group","children","title","onClick","accessibilityHint","OS","addMediaButton","accessibilityLabel","accessibilityRole","onPress","selectImageContainer","selectImage","size","selectImageIcon","onBottomSheetClosed","runAfterInteractions","selectedColorText","selectedColorTextDark","bottomLabelText","toUpperCase","colorPickerControls","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","onHandleClosingBottomSheet","onHandleHardwareButtonPress","isBottomSheetContentScrolling","onNavigationBack","renderContent","getMediaOptions","renderBackground","accessible","disabled","mediaId","onFinishMediaUploadWithSuccess","mediaServerId","onFinishMediaUploadWithFailure","onMediaUploadStateReset","imageContainer","editButton","isUploadFailed","onSelectMediaUploadOption","openMediaOptions","width","muted","disableFocus","repeat","resizeMode","source","uri","onLoad","onLoadStart","height","mediaPlaceholderEmptyStateContainer","hideContent","labels","onSelect","allowedTypes","colorPaletteWrapper","pointerEvents","enableCustomColor","customColorIndicatorStyles","paletteColorIndicator","customIndicatorWrapperStyles","paletteCustomIndicatorWrapper","onCustomPress","defaultSettings","shouldShowCustomLabel","shouldShowCustomVerticalSeparator","backgroundContainer","content","template","templateInsertUpdatesSelection","overlayContainer","isReplacingMedia","render","imageEditButton","pickerOptions","destructiveButton","label","separated","value","uploadFailedContainer","uploadFailed","uploadFailedIcon","select","clientId","getSelectedBlockClientId","getBlock","selectedBlockClientId","innerBlocks","length","dispatch","closeGeneralSidebar"],"sources":["@wordpress/block-library/src/cover/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tInteractionManager,\n\tAccessibilityInfo,\n\tText,\n\tPlatform,\n} from 'react-native';\nimport Video from 'react-native-video';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tImage,\n\tImageEditingButton,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tToolbarButton,\n\tGradient,\n\tColorPalette,\n\tColorPicker,\n\tBottomSheetConsumer,\n\tuseConvertUnitToMobile,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tInspectorControls,\n\tMEDIA_TYPE_IMAGE,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tgetColorObjectByColorValue,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\tstore as blockEditorStore,\n\tuseGlobalStyles,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/block-editor';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useDispatch, withSelect, withDispatch } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { cover as icon, replace, image, warning } from '@wordpress/icons';\nimport { getProtocol } from '@wordpress/url';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport {\n\tattributesFromMedia,\n\tALLOWED_MEDIA_TYPES,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_DEFAULT_HEIGHT,\n} from './shared';\nimport Controls from './controls';\nimport useCoverIsDark from './use-cover-is-dark';\n\n/**\n * Constants\n */\nconst INNER_BLOCKS_TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\talign: 'center',\n\t\t\tplaceholder: __( 'Write title…' ),\n\t\t},\n\t],\n];\n\nfunction useIsScreenReaderEnabled() {\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tlet mounted = true;\n\n\t\tconst changeListener = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\t( enabled ) => setIsScreenReaderEnabled( enabled )\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tif ( mounted && screenReaderEnabled ) {\n\t\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\n\t\t\tchangeListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn isScreenReaderEnabled;\n}\n\nconst Cover = ( {\n\tattributes,\n\tgetStylesFromColorScheme,\n\tisParentSelected,\n\tonFocus,\n\tsetAttributes,\n\topenGeneralSidebar,\n\tcloseSettingsBottomSheet,\n\tisSelected,\n\tselectBlock,\n\tblockWidth,\n\thasInnerBlocks,\n} ) => {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\turl,\n\t\tid,\n\t\tstyle,\n\t\tcustomOverlayColor,\n\t\tminHeightUnit = 'px',\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\tcustomGradient,\n\t\tgradient,\n\t\toverlayColor,\n\t\tisDark,\n\t} = attributes;\n\tconst isScreenReaderEnabled = useIsScreenReaderEnabled();\n\n\tuseEffect( () => {\n\t\t// Sync with local media store.\n\t\tmediaUploadSync();\n\t}, [] );\n\n\tconst globalStyles = useGlobalStyles();\n\tconst convertedMinHeight = useConvertUnitToMobile(\n\t\tminHeight || COVER_DEFAULT_HEIGHT,\n\t\tminHeightUnit,\n\t\tglobalStyles\n\t);\n\n\tconst isImage = backgroundType === MEDIA_TYPE_IMAGE;\n\n\tconst THEME_COLORS_COUNT = 4;\n\tconst colorsDefault = useMobileGlobalStylesColors();\n\tconst coverDefaultPalette = useMemo( () => {\n\t\treturn {\n\t\t\tcolors: colorsDefault.slice( 0, THEME_COLORS_COUNT ),\n\t\t};\n\t}, [ colorsDefault ] );\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\tconst gradientValue =\n\t\tcustomGradient || getGradientValueBySlug( gradients, gradient );\n\tconst overlayColorValue = getColorObjectByAttributeValues(\n\t\tcolorsDefault,\n\t\toverlayColor\n\t);\n\n\tconst hasBackground = !! (\n\t\turl ||\n\t\t( style && style.color && style.color.background ) ||\n\t\tattributes.overlayColor ||\n\t\toverlayColorValue.color ||\n\t\tcustomOverlayColor ||\n\t\tgradientValue\n\t);\n\n\tconst hasOnlyColorBackground = ! url && ( hasBackground || hasInnerBlocks );\n\n\tconst [ isCustomColorPickerShowing, setCustomColorPickerShowing ] =\n\t\tuseState( false );\n\n\tconst openMediaOptionsRef = useRef();\n\n\t// Initialize uploading flag to false, awaiting sync.\n\tconst [ isUploadInProgress, setIsUploadInProgress ] = useState( false );\n\n\t// Initialize upload failure flag to true if url is local.\n\tconst [ didUploadFail, setDidUploadFail ] = useState(\n\t\tid && getProtocol( url ) === 'file:'\n\t);\n\n\t// Don't show failure if upload is in progress.\n\tconst shouldShowFailure = didUploadFail && ! isUploadInProgress;\n\n\tconst onSelectMedia = ( media ) => {\n\t\tsetDidUploadFail( false );\n\n\t\tconst mediaAttributes = attributesFromMedia( media );\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tisDark: undefined,\n\t\t} );\n\t};\n\n\tconst onUpdateMediaProgress = useCallback(\n\t\t( payload ) => {\n\t\t\tconst { mediaUrl, state } = payload;\n\n\t\t\tsetIsUploadInProgress( true );\n\n\t\t\tif ( isUploadInProgress && isImage && mediaUrl && ! state ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\turl: mediaUrl,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ isImage, isUploadInProgress, setAttributes ]\n\t);\n\n\tconst onMediaPressed = () => {\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( id );\n\t\t} else if ( shouldShowFailure ) {\n\t\t\trequestImageFailedRetryDialog( id );\n\t\t} else if ( isImage && url ) {\n\t\t\trequestImageFullscreenPreview( url );\n\t\t}\n\t};\n\n\tconst [ isVideoLoading, setIsVideoLoading ] = useState( true );\n\n\tconst onVideoLoadStart = () => {\n\t\tsetIsVideoLoading( true );\n\t};\n\n\tconst onVideoLoad = () => {\n\t\tsetIsVideoLoading( false );\n\t};\n\n\tconst onClearMedia = useCallback( () => {\n\t\tsetAttributes( {\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tcloseSettingsBottomSheet();\n\t}, [ closeSettingsBottomSheet ] );\n\n\tconst onAddMediaButtonPress = useCallback( () => {\n\t\tif ( openMediaOptionsRef?.current ) {\n\t\t\topenMediaOptionsRef.current();\n\t\t}\n\t}, [] );\n\n\tfunction setColor( color ) {\n\t\tconst colorValue = getColorObjectByColorValue( colorsDefault, color );\n\n\t\tsetAttributes( {\n\t\t\t// Clear all related attributes (only one should be set).\n\t\t\toverlayColor: colorValue?.slug ?? undefined,\n\t\t\tcustomOverlayColor: ( ! colorValue?.slug && color ) ?? undefined,\n\t\t\tgradient: undefined,\n\t\t\tcustomGradient: undefined,\n\t\t} );\n\t}\n\n\tfunction openColorPicker() {\n\t\tselectBlock();\n\t\tsetCustomColorPickerShowing( true );\n\t\topenGeneralSidebar();\n\t}\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst isCoverDark = useCoverIsDark(\n\t\tisDark,\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColorValue?.color\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t// Used to set a default color for its InnerBlocks\n\t\t// since there's no system to inherit styles yet\n\t\t// the RichText component will check if there are\n\t\t// parent styles for the current block. If there are,\n\t\t// it will use that color instead.\n\t\tsetAttributes( {\n\t\t\tisDark: isCoverDark,\n\t\t\tchildrenStyles: isCoverDark\n\t\t\t\t? styles.defaultColor\n\t\t\t\t: styles.defaultColorLightMode,\n\t\t} );\n\n\t\t// Ensure that \"is-light\" is removed from \"className\" attribute if cover background is dark.\n\t\tif ( isCoverDark && attributes.className?.includes( 'is-light' ) ) {\n\t\t\tconst className = clsx( attributes.className, {\n\t\t\t\t'is-light': false,\n\t\t\t} );\n\t\t\tsetAttributes( {\n\t\t\t\tclassName: className !== '' ? className : undefined,\n\t\t\t} );\n\t\t}\n\t}, [ isCoverDark ] );\n\n\tconst backgroundColor = getStylesFromColorScheme(\n\t\tstyles.backgroundSolid,\n\t\tstyles.backgroundSolidDark\n\t);\n\n\tconst overlayStyles = [\n\t\tstyles.overlay,\n\t\turl && { opacity: dimRatio / 100 },\n\t\t! gradientValue && {\n\t\t\tbackgroundColor:\n\t\t\t\tcustomOverlayColor ||\n\t\t\t\toverlayColorValue?.color ||\n\t\t\t\tstyle?.color?.background ||\n\t\t\t\tstyles.overlay?.color,\n\t\t},\n\t\t// While we don't support theme colors we add a default bg color.\n\t\t! overlayColorValue.color && ! url ? backgroundColor : {},\n\t\tisImage &&\n\t\t\tisParentSelected &&\n\t\t\t! isUploadInProgress &&\n\t\t\t! didUploadFail &&\n\t\t\tstyles.overlaySelected,\n\t];\n\n\tconst placeholderIconStyle = getStylesFromColorScheme(\n\t\tstyles.icon,\n\t\tstyles.iconDark\n\t);\n\n\tconst placeholderIcon = <Icon icon={ icon } { ...placeholderIconStyle } />;\n\n\tconst toolbarControls = ( open ) => (\n\t\t<BlockControls group=\"other\">\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Edit cover media' ) }\n\t\t\t\ticon={ replace }\n\t\t\t\tonClick={ open }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet to add image or video' )\n\t\t\t: __( 'Double tap to open Bottom Sheet to add image or video' );\n\n\tconst addMediaButton = () => (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\taccessibilityRole=\"button\"\n\t\t\tonPress={ onAddMediaButtonPress }\n\t\t>\n\t\t\t<View style={ styles.selectImageContainer }>\n\t\t\t\t<View style={ styles.selectImage }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tsize={ 16 }\n\t\t\t\t\t\ticon={ image }\n\t\t\t\t\t\t{ ...styles.selectImageIcon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n\n\tconst onBottomSheetClosed = useCallback( () => {\n\t\tInteractionManager.runAfterInteractions( () => {\n\t\t\tsetCustomColorPickerShowing( false );\n\t\t} );\n\t}, [] );\n\n\tconst selectedColorText = getStylesFromColorScheme(\n\t\tstyles.selectedColorText,\n\t\tstyles.selectedColorTextDark\n\t);\n\n\tconst bottomLabelText = customOverlayColor ? (\n\t\t<Text style={ selectedColorText }>\n\t\t\t{ customOverlayColor.toUpperCase() }\n\t\t</Text>\n\t) : (\n\t\t__( 'Select a color' )\n\t);\n\n\tconst colorPickerControls = (\n\t\t<InspectorControls>\n\t\t\t<BottomSheetConsumer>\n\t\t\t\t{ ( {\n\t\t\t\t\tshouldEnableBottomSheetScroll,\n\t\t\t\t\tshouldEnableBottomSheetMaxHeight,\n\t\t\t\t\tonHandleClosingBottomSheet,\n\t\t\t\t\tonHandleHardwareButtonPress,\n\t\t\t\t\tisBottomSheetContentScrolling,\n\t\t\t\t} ) => (\n\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight={\n\t\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetColor={ setColor }\n\t\t\t\t\t\tonNavigationBack={ closeSettingsBottomSheet }\n\t\t\t\t\t\tonHandleClosingBottomSheet={\n\t\t\t\t\t\t\tonHandleClosingBottomSheet\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonHandleHardwareButtonPress={\n\t\t\t\t\t\t\tonHandleHardwareButtonPress\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonBottomSheetClosed={ onBottomSheetClosed }\n\t\t\t\t\t\tisBottomSheetContentScrolling={\n\t\t\t\t\t\t\tisBottomSheetContentScrolling\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbottomLabelText={ bottomLabelText }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BottomSheetConsumer>\n\t\t</InspectorControls>\n\t);\n\n\tconst renderContent = ( getMediaOptions ) => (\n\t\t<>\n\t\t\t{ renderBackground( getMediaOptions ) }\n\t\t\t{ isParentSelected && hasOnlyColorBackground && addMediaButton() }\n\t\t</>\n\t);\n\n\tconst renderBackground = ( getMediaOptions ) => (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isParentSelected }\n\t\t\tonPress={ onMediaPressed }\n\t\t\tdisabled={ ! isParentSelected }\n\t\t>\n\t\t\t<View style={ [ styles.background, backgroundColor ] }>\n\t\t\t\t{ getMediaOptions() }\n\t\t\t\t{ isParentSelected &&\n\t\t\t\t\tbackgroundType === VIDEO_BACKGROUND_TYPE &&\n\t\t\t\t\ttoolbarControls( openMediaOptionsRef.current ) }\n\t\t\t\t<MediaUploadProgress\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tonUpdateMediaProgress={ onUpdateMediaProgress }\n\t\t\t\t\tonFinishMediaUploadWithSuccess={ ( {\n\t\t\t\t\t\tmediaServerId,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( false );\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: mediaServerId,\n\t\t\t\t\t\t\turl: mediaUrl,\n\t\t\t\t\t\t\tbackgroundType,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tonFinishMediaUploadWithFailure={ () => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonMediaUploadStateReset={ () => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( false );\n\t\t\t\t\t\tsetAttributes( { id: undefined, url: undefined } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\n\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t<View style={ styles.imageContainer }>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\teditButton={ false }\n\t\t\t\t\t\t\tfocalPoint={\n\t\t\t\t\t\t\t\tfocalPoint || IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisSelected={ isParentSelected }\n\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptionsRef.current }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t<Video\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\trepeat\n\t\t\t\t\t\tresizeMode=\"cover\"\n\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\tonLoad={ onVideoLoad }\n\t\t\t\t\t\tonLoadStart={ onVideoLoadStart }\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.background,\n\t\t\t\t\t\t\t// Hide Video component since it has black background while loading the source.\n\t\t\t\t\t\t\t{ opacity: isVideoLoading ? 0 : 1 },\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n\n\tif (\n\t\t( ! hasBackground && ! hasInnerBlocks ) ||\n\t\tisCustomColorPickerShowing\n\t) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t{ isCustomColorPickerShowing && colorPickerControls }\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\theight={\n\t\t\t\t\t\tstyles.mediaPlaceholderEmptyStateContainer?.height\n\t\t\t\t\t}\n\t\t\t\t\tbackgroundColor={ customOverlayColor }\n\t\t\t\t\thideContent={\n\t\t\t\t\t\tcustomOverlayColor !== '' &&\n\t\t\t\t\t\tcustomOverlayColor !== undefined\n\t\t\t\t\t}\n\t\t\t\t\ticon={ placeholderIcon }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles.colorPaletteWrapper }\n\t\t\t\t\t\tpointerEvents={\n\t\t\t\t\t\t\tisScreenReaderEnabled ? 'none' : 'auto'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BottomSheetConsumer>\n\t\t\t\t\t\t\t{ ( { shouldEnableBottomSheetScroll } ) => (\n\t\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\t\tenableCustomColor\n\t\t\t\t\t\t\t\t\tcustomColorIndicatorStyles={\n\t\t\t\t\t\t\t\t\t\tstyles.paletteColorIndicator\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcustomIndicatorWrapperStyles={\n\t\t\t\t\t\t\t\t\t\tstyles.paletteCustomIndicatorWrapper\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsetColor={ setColor }\n\t\t\t\t\t\t\t\t\tonCustomPress={ openColorPicker }\n\t\t\t\t\t\t\t\t\tdefaultSettings={ coverDefaultPalette }\n\t\t\t\t\t\t\t\t\tshouldShowCustomLabel={ false }\n\t\t\t\t\t\t\t\t\tshouldShowCustomVerticalSeparator={ false }\n\t\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheetConsumer>\n\t\t\t\t\t</View>\n\t\t\t\t</MediaPlaceholder>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ styles.backgroundContainer }>\n\t\t\t{ isSelected && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<Controls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tdidUploadFail={ didUploadFail }\n\t\t\t\t\t\thasOnlyColorBackground={ hasOnlyColorBackground }\n\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\tonClearMedia={ onClearMedia }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\n\t\t\t<View\n\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\tstyle={ [ styles.content, { minHeight: convertedMinHeight } ] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\tallowedBlocks={ allowedBlocks }\n\t\t\t\t\ttemplate={ INNER_BLOCKS_TEMPLATE }\n\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\n\t\t\t<View pointerEvents=\"none\" style={ styles.overlayContainer }>\n\t\t\t\t<View style={ overlayStyles }>\n\t\t\t\t\t{ gradientValue && (\n\t\t\t\t\t\t<Gradient\n\t\t\t\t\t\t\tgradientValue={ gradientValue }\n\t\t\t\t\t\t\tstyle={ styles.background }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</View>\n\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\topenMediaOptionsRef.current = open;\n\t\t\t\t\treturn renderContent( getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\n\t\t\t{ isImage &&\n\t\t\t\turl &&\n\t\t\t\topenMediaOptionsRef.current &&\n\t\t\t\tisParentSelected &&\n\t\t\t\t! isUploadInProgress &&\n\t\t\t\t! didUploadFail && (\n\t\t\t\t\t<View style={ styles.imageEditButton }>\n\t\t\t\t\t\t<ImageEditingButton\n\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptionsRef.current }\n\t\t\t\t\t\t\tpickerOptions={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\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\n\t\t\t{ shouldShowFailure && (\n\t\t\t\t<View\n\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\tstyle={ styles.uploadFailedContainer }\n\t\t\t\t>\n\t\t\t\t\t<View style={ styles.uploadFailed }>\n\t\t\t\t\t\t<Icon icon={ warning } { ...styles.uploadFailedIcon } />\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getSelectedBlockClientId, getBlock } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\tconst hasInnerBlocks = getBlock( clientId )?.innerBlocks.length > 0;\n\n\t\treturn {\n\t\t\tisParentSelected: selectedBlockClientId === clientId,\n\t\t\thasInnerBlocks,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId } ) => {\n\t\tconst { openGeneralSidebar } = dispatch( editPostStore );\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\topenGeneralSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t\tcloseSettingsBottomSheet() {\n\t\t\t\tdispatch( editPostStore ).closeGeneralSidebar();\n\t\t\t},\n\t\t\tselectBlock: () => selectBlock( clientId ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( Cover );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["View","TouchableWithoutFeedback","InteractionManager","AccessibilityInfo","Text","Platform","Video","clsx","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","mediaUploadSync","__","Icon","Image","ImageEditingButton","IMAGE_DEFAULT_FOCAL_POINT","ToolbarButton","Gradient","ColorPalette","ColorPicker","BottomSheetConsumer","useConvertUnitToMobile","BlockControls","InnerBlocks","InspectorControls","MEDIA_TYPE_IMAGE","MediaPlaceholder","MediaUpload","MediaUploadProgress","getColorObjectByColorValue","getColorObjectByAttributeValues","getGradientValueBySlug","store","blockEditorStore","useGlobalStyles","useMobileGlobalStylesColors","compose","withPreferredColorScheme","useDispatch","withSelect","withDispatch","useEffect","useState","useRef","useCallback","useMemo","cover","icon","replace","image","cautionFilled","getProtocol","editPostStore","styles","attributesFromMedia","ALLOWED_MEDIA_TYPES","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_DEFAULT_HEIGHT","Controls","useCoverIsDark","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","INNER_BLOCKS_TEMPLATE","align","placeholder","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","mounted","changeListener","addEventListener","enabled","then","screenReaderEnabled","remove","Cover","attributes","getStylesFromColorScheme","isParentSelected","onFocus","setAttributes","openGeneralSidebar","closeSettingsBottomSheet","isSelected","selectBlock","blockWidth","hasInnerBlocks","backgroundType","dimRatio","focalPoint","minHeight","url","id","style","customOverlayColor","minHeightUnit","allowedBlocks","templateLock","customGradient","gradient","overlayColor","isDark","globalStyles","convertedMinHeight","isImage","THEME_COLORS_COUNT","colorsDefault","coverDefaultPalette","colors","slice","gradients","gradientValue","overlayColorValue","hasBackground","color","background","hasOnlyColorBackground","isCustomColorPickerShowing","setCustomColorPickerShowing","openMediaOptionsRef","isUploadInProgress","setIsUploadInProgress","didUploadFail","setDidUploadFail","shouldShowFailure","onSelectMedia","media","mediaAttributes","undefined","useFeaturedImage","onUpdateMediaProgress","payload","mediaUrl","state","onMediaPressed","isVideoLoading","setIsVideoLoading","onVideoLoadStart","onVideoLoad","onClearMedia","hasParallax","onAddMediaButtonPress","current","setColor","_colorValue$slug","_ref","colorValue","slug","openColorPicker","__unstableMarkNextChangeAsNotPersistent","isCoverDark","childrenStyles","defaultColor","defaultColorLightMode","className","includes","backgroundColor","backgroundSolid","backgroundSolidDark","overlayStyles","overlay","opacity","overlaySelected","placeholderIconStyle","iconDark","placeholderIcon","toolbarControls","open","group","children","title","onClick","accessibilityHint","OS","addMediaButton","accessibilityLabel","accessibilityRole","onPress","selectImageContainer","selectImage","size","selectImageIcon","onBottomSheetClosed","runAfterInteractions","selectedColorText","selectedColorTextDark","bottomLabelText","toUpperCase","colorPickerControls","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","onHandleClosingBottomSheet","onHandleHardwareButtonPress","isBottomSheetContentScrolling","onNavigationBack","renderContent","getMediaOptions","renderBackground","accessible","disabled","mediaId","onFinishMediaUploadWithSuccess","mediaServerId","onFinishMediaUploadWithFailure","onMediaUploadStateReset","imageContainer","editButton","isUploadFailed","onSelectMediaUploadOption","openMediaOptions","width","muted","disableFocus","repeat","resizeMode","source","uri","onLoad","onLoadStart","height","mediaPlaceholderEmptyStateContainer","hideContent","labels","onSelect","allowedTypes","colorPaletteWrapper","pointerEvents","enableCustomColor","customColorIndicatorStyles","paletteColorIndicator","customIndicatorWrapperStyles","paletteCustomIndicatorWrapper","onCustomPress","defaultSettings","shouldShowCustomLabel","shouldShowCustomVerticalSeparator","backgroundContainer","content","template","templateInsertUpdatesSelection","overlayContainer","isReplacingMedia","render","imageEditButton","pickerOptions","destructiveButton","label","separated","value","uploadFailedContainer","uploadFailed","uploadFailedIcon","select","clientId","getSelectedBlockClientId","getBlock","selectedBlockClientId","innerBlocks","length","dispatch","closeGeneralSidebar"],"sources":["@wordpress/block-library/src/cover/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tInteractionManager,\n\tAccessibilityInfo,\n\tText,\n\tPlatform,\n} from 'react-native';\nimport Video from 'react-native-video';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tImage,\n\tImageEditingButton,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tToolbarButton,\n\tGradient,\n\tColorPalette,\n\tColorPicker,\n\tBottomSheetConsumer,\n\tuseConvertUnitToMobile,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tInspectorControls,\n\tMEDIA_TYPE_IMAGE,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tgetColorObjectByColorValue,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\tstore as blockEditorStore,\n\tuseGlobalStyles,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/block-editor';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useDispatch, withSelect, withDispatch } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { cover as icon, replace, image, cautionFilled } from '@wordpress/icons';\nimport { getProtocol } from '@wordpress/url';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport {\n\tattributesFromMedia,\n\tALLOWED_MEDIA_TYPES,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_DEFAULT_HEIGHT,\n} from './shared';\nimport Controls from './controls';\nimport useCoverIsDark from './use-cover-is-dark';\n\n/**\n * Constants\n */\nconst INNER_BLOCKS_TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\talign: 'center',\n\t\t\tplaceholder: __( 'Write title…' ),\n\t\t},\n\t],\n];\n\nfunction useIsScreenReaderEnabled() {\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tlet mounted = true;\n\n\t\tconst changeListener = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\t( enabled ) => setIsScreenReaderEnabled( enabled )\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tif ( mounted && screenReaderEnabled ) {\n\t\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\n\t\t\tchangeListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn isScreenReaderEnabled;\n}\n\nconst Cover = ( {\n\tattributes,\n\tgetStylesFromColorScheme,\n\tisParentSelected,\n\tonFocus,\n\tsetAttributes,\n\topenGeneralSidebar,\n\tcloseSettingsBottomSheet,\n\tisSelected,\n\tselectBlock,\n\tblockWidth,\n\thasInnerBlocks,\n} ) => {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\turl,\n\t\tid,\n\t\tstyle,\n\t\tcustomOverlayColor,\n\t\tminHeightUnit = 'px',\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\tcustomGradient,\n\t\tgradient,\n\t\toverlayColor,\n\t\tisDark,\n\t} = attributes;\n\tconst isScreenReaderEnabled = useIsScreenReaderEnabled();\n\n\tuseEffect( () => {\n\t\t// Sync with local media store.\n\t\tmediaUploadSync();\n\t}, [] );\n\n\tconst globalStyles = useGlobalStyles();\n\tconst convertedMinHeight = useConvertUnitToMobile(\n\t\tminHeight || COVER_DEFAULT_HEIGHT,\n\t\tminHeightUnit,\n\t\tglobalStyles\n\t);\n\n\tconst isImage = backgroundType === MEDIA_TYPE_IMAGE;\n\n\tconst THEME_COLORS_COUNT = 4;\n\tconst colorsDefault = useMobileGlobalStylesColors();\n\tconst coverDefaultPalette = useMemo( () => {\n\t\treturn {\n\t\t\tcolors: colorsDefault.slice( 0, THEME_COLORS_COUNT ),\n\t\t};\n\t}, [ colorsDefault ] );\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\tconst gradientValue =\n\t\tcustomGradient || getGradientValueBySlug( gradients, gradient );\n\tconst overlayColorValue = getColorObjectByAttributeValues(\n\t\tcolorsDefault,\n\t\toverlayColor\n\t);\n\n\tconst hasBackground = !! (\n\t\turl ||\n\t\t( style && style.color && style.color.background ) ||\n\t\tattributes.overlayColor ||\n\t\toverlayColorValue.color ||\n\t\tcustomOverlayColor ||\n\t\tgradientValue\n\t);\n\n\tconst hasOnlyColorBackground = ! url && ( hasBackground || hasInnerBlocks );\n\n\tconst [ isCustomColorPickerShowing, setCustomColorPickerShowing ] =\n\t\tuseState( false );\n\n\tconst openMediaOptionsRef = useRef();\n\n\t// Initialize uploading flag to false, awaiting sync.\n\tconst [ isUploadInProgress, setIsUploadInProgress ] = useState( false );\n\n\t// Initialize upload failure flag to true if url is local.\n\tconst [ didUploadFail, setDidUploadFail ] = useState(\n\t\tid && getProtocol( url ) === 'file:'\n\t);\n\n\t// Don't show failure if upload is in progress.\n\tconst shouldShowFailure = didUploadFail && ! isUploadInProgress;\n\n\tconst onSelectMedia = ( media ) => {\n\t\tsetDidUploadFail( false );\n\n\t\tconst mediaAttributes = attributesFromMedia( media );\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tisDark: undefined,\n\t\t} );\n\t};\n\n\tconst onUpdateMediaProgress = useCallback(\n\t\t( payload ) => {\n\t\t\tconst { mediaUrl, state } = payload;\n\n\t\t\tsetIsUploadInProgress( true );\n\n\t\t\tif ( isUploadInProgress && isImage && mediaUrl && ! state ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\turl: mediaUrl,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ isImage, isUploadInProgress, setAttributes ]\n\t);\n\n\tconst onMediaPressed = () => {\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( id );\n\t\t} else if ( shouldShowFailure ) {\n\t\t\trequestImageFailedRetryDialog( id );\n\t\t} else if ( isImage && url ) {\n\t\t\trequestImageFullscreenPreview( url );\n\t\t}\n\t};\n\n\tconst [ isVideoLoading, setIsVideoLoading ] = useState( true );\n\n\tconst onVideoLoadStart = () => {\n\t\tsetIsVideoLoading( true );\n\t};\n\n\tconst onVideoLoad = () => {\n\t\tsetIsVideoLoading( false );\n\t};\n\n\tconst onClearMedia = useCallback( () => {\n\t\tsetAttributes( {\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tcloseSettingsBottomSheet();\n\t}, [ closeSettingsBottomSheet ] );\n\n\tconst onAddMediaButtonPress = useCallback( () => {\n\t\tif ( openMediaOptionsRef?.current ) {\n\t\t\topenMediaOptionsRef.current();\n\t\t}\n\t}, [] );\n\n\tfunction setColor( color ) {\n\t\tconst colorValue = getColorObjectByColorValue( colorsDefault, color );\n\n\t\tsetAttributes( {\n\t\t\t// Clear all related attributes (only one should be set).\n\t\t\toverlayColor: colorValue?.slug ?? undefined,\n\t\t\tcustomOverlayColor: ( ! colorValue?.slug && color ) ?? undefined,\n\t\t\tgradient: undefined,\n\t\t\tcustomGradient: undefined,\n\t\t} );\n\t}\n\n\tfunction openColorPicker() {\n\t\tselectBlock();\n\t\tsetCustomColorPickerShowing( true );\n\t\topenGeneralSidebar();\n\t}\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst isCoverDark = useCoverIsDark(\n\t\tisDark,\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColorValue?.color\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t// Used to set a default color for its InnerBlocks\n\t\t// since there's no system to inherit styles yet\n\t\t// the RichText component will check if there are\n\t\t// parent styles for the current block. If there are,\n\t\t// it will use that color instead.\n\t\tsetAttributes( {\n\t\t\tisDark: isCoverDark,\n\t\t\tchildrenStyles: isCoverDark\n\t\t\t\t? styles.defaultColor\n\t\t\t\t: styles.defaultColorLightMode,\n\t\t} );\n\n\t\t// Ensure that \"is-light\" is removed from \"className\" attribute if cover background is dark.\n\t\tif ( isCoverDark && attributes.className?.includes( 'is-light' ) ) {\n\t\t\tconst className = clsx( attributes.className, {\n\t\t\t\t'is-light': false,\n\t\t\t} );\n\t\t\tsetAttributes( {\n\t\t\t\tclassName: className !== '' ? className : undefined,\n\t\t\t} );\n\t\t}\n\t}, [ isCoverDark ] );\n\n\tconst backgroundColor = getStylesFromColorScheme(\n\t\tstyles.backgroundSolid,\n\t\tstyles.backgroundSolidDark\n\t);\n\n\tconst overlayStyles = [\n\t\tstyles.overlay,\n\t\turl && { opacity: dimRatio / 100 },\n\t\t! gradientValue && {\n\t\t\tbackgroundColor:\n\t\t\t\tcustomOverlayColor ||\n\t\t\t\toverlayColorValue?.color ||\n\t\t\t\tstyle?.color?.background ||\n\t\t\t\tstyles.overlay?.color,\n\t\t},\n\t\t// While we don't support theme colors we add a default bg color.\n\t\t! overlayColorValue.color && ! url ? backgroundColor : {},\n\t\tisImage &&\n\t\t\tisParentSelected &&\n\t\t\t! isUploadInProgress &&\n\t\t\t! didUploadFail &&\n\t\t\tstyles.overlaySelected,\n\t];\n\n\tconst placeholderIconStyle = getStylesFromColorScheme(\n\t\tstyles.icon,\n\t\tstyles.iconDark\n\t);\n\n\tconst placeholderIcon = <Icon icon={ icon } { ...placeholderIconStyle } />;\n\n\tconst toolbarControls = ( open ) => (\n\t\t<BlockControls group=\"other\">\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Edit cover media' ) }\n\t\t\t\ticon={ replace }\n\t\t\t\tonClick={ open }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet to add image or video' )\n\t\t\t: __( 'Double tap to open Bottom Sheet to add image or video' );\n\n\tconst addMediaButton = () => (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\taccessibilityRole=\"button\"\n\t\t\tonPress={ onAddMediaButtonPress }\n\t\t>\n\t\t\t<View style={ styles.selectImageContainer }>\n\t\t\t\t<View style={ styles.selectImage }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tsize={ 16 }\n\t\t\t\t\t\ticon={ image }\n\t\t\t\t\t\t{ ...styles.selectImageIcon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n\n\tconst onBottomSheetClosed = useCallback( () => {\n\t\tInteractionManager.runAfterInteractions( () => {\n\t\t\tsetCustomColorPickerShowing( false );\n\t\t} );\n\t}, [] );\n\n\tconst selectedColorText = getStylesFromColorScheme(\n\t\tstyles.selectedColorText,\n\t\tstyles.selectedColorTextDark\n\t);\n\n\tconst bottomLabelText = customOverlayColor ? (\n\t\t<Text style={ selectedColorText }>\n\t\t\t{ customOverlayColor.toUpperCase() }\n\t\t</Text>\n\t) : (\n\t\t__( 'Select a color' )\n\t);\n\n\tconst colorPickerControls = (\n\t\t<InspectorControls>\n\t\t\t<BottomSheetConsumer>\n\t\t\t\t{ ( {\n\t\t\t\t\tshouldEnableBottomSheetScroll,\n\t\t\t\t\tshouldEnableBottomSheetMaxHeight,\n\t\t\t\t\tonHandleClosingBottomSheet,\n\t\t\t\t\tonHandleHardwareButtonPress,\n\t\t\t\t\tisBottomSheetContentScrolling,\n\t\t\t\t} ) => (\n\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight={\n\t\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetColor={ setColor }\n\t\t\t\t\t\tonNavigationBack={ closeSettingsBottomSheet }\n\t\t\t\t\t\tonHandleClosingBottomSheet={\n\t\t\t\t\t\t\tonHandleClosingBottomSheet\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonHandleHardwareButtonPress={\n\t\t\t\t\t\t\tonHandleHardwareButtonPress\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonBottomSheetClosed={ onBottomSheetClosed }\n\t\t\t\t\t\tisBottomSheetContentScrolling={\n\t\t\t\t\t\t\tisBottomSheetContentScrolling\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbottomLabelText={ bottomLabelText }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BottomSheetConsumer>\n\t\t</InspectorControls>\n\t);\n\n\tconst renderContent = ( getMediaOptions ) => (\n\t\t<>\n\t\t\t{ renderBackground( getMediaOptions ) }\n\t\t\t{ isParentSelected && hasOnlyColorBackground && addMediaButton() }\n\t\t</>\n\t);\n\n\tconst renderBackground = ( getMediaOptions ) => (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isParentSelected }\n\t\t\tonPress={ onMediaPressed }\n\t\t\tdisabled={ ! isParentSelected }\n\t\t>\n\t\t\t<View style={ [ styles.background, backgroundColor ] }>\n\t\t\t\t{ getMediaOptions() }\n\t\t\t\t{ isParentSelected &&\n\t\t\t\t\tbackgroundType === VIDEO_BACKGROUND_TYPE &&\n\t\t\t\t\ttoolbarControls( openMediaOptionsRef.current ) }\n\t\t\t\t<MediaUploadProgress\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tonUpdateMediaProgress={ onUpdateMediaProgress }\n\t\t\t\t\tonFinishMediaUploadWithSuccess={ ( {\n\t\t\t\t\t\tmediaServerId,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( false );\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: mediaServerId,\n\t\t\t\t\t\t\turl: mediaUrl,\n\t\t\t\t\t\t\tbackgroundType,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tonFinishMediaUploadWithFailure={ () => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonMediaUploadStateReset={ () => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( false );\n\t\t\t\t\t\tsetAttributes( { id: undefined, url: undefined } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\n\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t<View style={ styles.imageContainer }>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\teditButton={ false }\n\t\t\t\t\t\t\tfocalPoint={\n\t\t\t\t\t\t\t\tfocalPoint || IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisSelected={ isParentSelected }\n\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptionsRef.current }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t<Video\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\trepeat\n\t\t\t\t\t\tresizeMode=\"cover\"\n\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\tonLoad={ onVideoLoad }\n\t\t\t\t\t\tonLoadStart={ onVideoLoadStart }\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.background,\n\t\t\t\t\t\t\t// Hide Video component since it has black background while loading the source.\n\t\t\t\t\t\t\t{ opacity: isVideoLoading ? 0 : 1 },\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n\n\tif (\n\t\t( ! hasBackground && ! hasInnerBlocks ) ||\n\t\tisCustomColorPickerShowing\n\t) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t{ isCustomColorPickerShowing && colorPickerControls }\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\theight={\n\t\t\t\t\t\tstyles.mediaPlaceholderEmptyStateContainer?.height\n\t\t\t\t\t}\n\t\t\t\t\tbackgroundColor={ customOverlayColor }\n\t\t\t\t\thideContent={\n\t\t\t\t\t\tcustomOverlayColor !== '' &&\n\t\t\t\t\t\tcustomOverlayColor !== undefined\n\t\t\t\t\t}\n\t\t\t\t\ticon={ placeholderIcon }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles.colorPaletteWrapper }\n\t\t\t\t\t\tpointerEvents={\n\t\t\t\t\t\t\tisScreenReaderEnabled ? 'none' : 'auto'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BottomSheetConsumer>\n\t\t\t\t\t\t\t{ ( { shouldEnableBottomSheetScroll } ) => (\n\t\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\t\tenableCustomColor\n\t\t\t\t\t\t\t\t\tcustomColorIndicatorStyles={\n\t\t\t\t\t\t\t\t\t\tstyles.paletteColorIndicator\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcustomIndicatorWrapperStyles={\n\t\t\t\t\t\t\t\t\t\tstyles.paletteCustomIndicatorWrapper\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsetColor={ setColor }\n\t\t\t\t\t\t\t\t\tonCustomPress={ openColorPicker }\n\t\t\t\t\t\t\t\t\tdefaultSettings={ coverDefaultPalette }\n\t\t\t\t\t\t\t\t\tshouldShowCustomLabel={ false }\n\t\t\t\t\t\t\t\t\tshouldShowCustomVerticalSeparator={ false }\n\t\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheetConsumer>\n\t\t\t\t\t</View>\n\t\t\t\t</MediaPlaceholder>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ styles.backgroundContainer }>\n\t\t\t{ isSelected && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<Controls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tdidUploadFail={ didUploadFail }\n\t\t\t\t\t\thasOnlyColorBackground={ hasOnlyColorBackground }\n\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\tonClearMedia={ onClearMedia }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\n\t\t\t<View\n\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\tstyle={ [ styles.content, { minHeight: convertedMinHeight } ] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\tallowedBlocks={ allowedBlocks }\n\t\t\t\t\ttemplate={ INNER_BLOCKS_TEMPLATE }\n\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\n\t\t\t<View pointerEvents=\"none\" style={ styles.overlayContainer }>\n\t\t\t\t<View style={ overlayStyles }>\n\t\t\t\t\t{ gradientValue && (\n\t\t\t\t\t\t<Gradient\n\t\t\t\t\t\t\tgradientValue={ gradientValue }\n\t\t\t\t\t\t\tstyle={ styles.background }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</View>\n\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\topenMediaOptionsRef.current = open;\n\t\t\t\t\treturn renderContent( getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\n\t\t\t{ isImage &&\n\t\t\t\turl &&\n\t\t\t\topenMediaOptionsRef.current &&\n\t\t\t\tisParentSelected &&\n\t\t\t\t! isUploadInProgress &&\n\t\t\t\t! didUploadFail && (\n\t\t\t\t\t<View style={ styles.imageEditButton }>\n\t\t\t\t\t\t<ImageEditingButton\n\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptionsRef.current }\n\t\t\t\t\t\t\tpickerOptions={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\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\n\t\t\t{ shouldShowFailure && (\n\t\t\t\t<View\n\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\tstyle={ styles.uploadFailedContainer }\n\t\t\t\t>\n\t\t\t\t\t<View style={ styles.uploadFailed }>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ cautionFilled }\n\t\t\t\t\t\t\t{ ...styles.uploadFailedIcon }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getSelectedBlockClientId, getBlock } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\tconst hasInnerBlocks = getBlock( clientId )?.innerBlocks.length > 0;\n\n\t\treturn {\n\t\t\tisParentSelected: selectedBlockClientId === clientId,\n\t\t\thasInnerBlocks,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId } ) => {\n\t\tconst { openGeneralSidebar } = dispatch( editPostStore );\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\topenGeneralSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t\tcloseSettingsBottomSheet() {\n\t\t\t\tdispatch( editPostStore ).closeGeneralSidebar();\n\t\t\t},\n\t\t\tselectBlock: () => selectBlock( clientId ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( Cover );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,8 +3,13 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { RichText, useBlockProps, useInnerBlocksProps, store as blockEditorStore, InspectorControls } from '@wordpress/block-editor';
|
|
5
5
|
import { useSelect } from '@wordpress/data';
|
|
6
|
-
import {
|
|
6
|
+
import { ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
8
13
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
9
14
|
const TEMPLATE = [['core/paragraph', {
|
|
10
15
|
placeholder: __('Type / to add a hidden block')
|
|
@@ -23,6 +28,7 @@ function DetailsEdit({
|
|
|
23
28
|
template: TEMPLATE,
|
|
24
29
|
__experimentalCaptureToolbars: true
|
|
25
30
|
});
|
|
31
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
26
32
|
|
|
27
33
|
// Check if either the block or the inner blocks are selected.
|
|
28
34
|
const hasSelection = useSelect(select => {
|
|
@@ -35,14 +41,30 @@ function DetailsEdit({
|
|
|
35
41
|
}, [clientId]);
|
|
36
42
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
37
43
|
children: [/*#__PURE__*/_jsx(InspectorControls, {
|
|
38
|
-
children: /*#__PURE__*/_jsx(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
children: /*#__PURE__*/_jsx(ToolsPanel, {
|
|
45
|
+
label: __('Settings'),
|
|
46
|
+
resetAll: () => {
|
|
47
|
+
setAttributes({
|
|
48
|
+
showContent: false
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
dropdownMenuProps: dropdownMenuProps,
|
|
52
|
+
children: /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
53
|
+
isShownByDefault: true,
|
|
42
54
|
label: __('Open by default'),
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
55
|
+
hasValue: () => showContent,
|
|
56
|
+
onDeselect: () => {
|
|
57
|
+
setAttributes({
|
|
58
|
+
showContent: false
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
children: /*#__PURE__*/_jsx(ToggleControl, {
|
|
62
|
+
__nextHasNoMarginBottom: true,
|
|
63
|
+
label: __('Open by default'),
|
|
64
|
+
checked: showContent,
|
|
65
|
+
onChange: () => setAttributes({
|
|
66
|
+
showContent: !showContent
|
|
67
|
+
})
|
|
46
68
|
})
|
|
47
69
|
})
|
|
48
70
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RichText","useBlockProps","useInnerBlocksProps","store","blockEditorStore","InspectorControls","useSelect","
|
|
1
|
+
{"version":3,"names":["RichText","useBlockProps","useInnerBlocksProps","store","blockEditorStore","InspectorControls","useSelect","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TEMPLATE","placeholder","DetailsEdit","attributes","setAttributes","clientId","showContent","summary","blockProps","innerBlocksProps","template","__experimentalCaptureToolbars","dropdownMenuProps","hasSelection","select","isBlockSelected","hasSelectedInnerBlock","children","label","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","onChange","open","onClick","event","preventDefault","identifier","allowedFormats","withoutInteractiveFormatting","value","newSummary"],"sources":["@wordpress/block-library/src/details/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: __( 'Type / to add a hidden block' ),\n\t\t},\n\t],\n];\n\nfunction DetailsEdit( { attributes, setAttributes, clientId } ) {\n\tconst { showContent, summary } = attributes;\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\t__experimentalCaptureToolbars: true,\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Check if either the block or the inner blocks are selected.\n\tconst hasSelection = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\t/* Sets deep to true to also find blocks inside the details content block. */\n\t\t\treturn (\n\t\t\t\thasSelectedInnerBlock( clientId, true ) ||\n\t\t\t\tisBlockSelected( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tshowContent: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\thasValue={ () => showContent }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowContent: false,\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\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\t\tchecked={ showContent }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowContent: ! showContent,\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</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<details\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t\topen={ hasSelection || showContent }\n\t\t\t>\n\t\t\t\t<summary onClick={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"summary\"\n\t\t\t\t\t\taria-label={ __( 'Write summary' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Write summary…' ) }\n\t\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ summary }\n\t\t\t\t\t\tonChange={ ( newSummary ) =>\n\t\t\t\t\t\t\tsetAttributes( { summary: newSummary } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</summary>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</details>\n\t\t</>\n\t);\n}\n\nexport default DetailsEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlock","cloneBlock","from","type","isMultiBlock","blocks","isMatch","length","name","__experimentalConvert","map","block"],"sources":["@wordpress/block-library/src/details/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, cloneBlock } from '@wordpress/blocks';\n\nexport default {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\tisMatch( {}, blocks ) {\n\t\t\t\treturn ! (\n\t\t\t\t\tblocks.length === 1 && blocks[ 0 ].name === 'core/details'\n\t\t\t\t);\n\t\t\t},\n\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/details',\n\t\t\t\t\t{},\n\t\t\t\t\tblocks.map( ( block ) => cloneBlock( block ) )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,UAAU,QAAQ,mBAAmB;AAE3D,eAAe;EACdC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,YAAY,EAAE,IAAI;IAClBC,MAAM,EAAE,CAAE,GAAG,CAAE;IACfC,OAAOA,CAAE,CAAC,CAAC,EAAED,MAAM,EAAG;MACrB,OAAO,EACNA,MAAM,CAACE,MAAM,KAAK,CAAC,IAAIF,MAAM,CAAE,CAAC,CAAE,CAACG,IAAI,KAAK,cAAc,CAC1D;IACF,CAAC;IACDC,qBAAqBA,CAAEJ,MAAM,EAAG;MAC/B,OAAOL,WAAW,CACjB,cAAc,EACd,CAAC,CAAC,EACFK,MAAM,CAACK,GAAG,CAAIC,KAAK,IAAMV,UAAU,CAAEU,KAAM,CAAE,CAC9C,CAAC;IACF;EACD,CAAC;AAEH,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createBlock","cloneBlock","from","type","isMultiBlock","blocks","isMatch","length","name","__experimentalConvert","map","block"],"sources":["@wordpress/block-library/src/details/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, cloneBlock } from '@wordpress/blocks';\n\nexport default {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\tisMatch( {}, blocks ) {\n\t\t\t\treturn ! (\n\t\t\t\t\tblocks.length === 1 && blocks[ 0 ].name === 'core/details'\n\t\t\t\t);\n\t\t\t},\n\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/details',\n\t\t\t\t\t{},\n\t\t\t\t\tblocks.map( ( block ) => cloneBlock( block ) )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,UAAU,QAAQ,mBAAmB;AAE3D,eAAe;EACdC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,YAAY,EAAE,IAAI;IAClBC,MAAM,EAAE,CAAE,GAAG,CAAE;IACfC,OAAOA,CAAE,CAAC,CAAC,EAAED,MAAM,EAAG;MACrB,OAAO,EACNA,MAAM,CAACE,MAAM,KAAK,CAAC,IAAIF,MAAM,CAAE,CAAC,CAAE,CAACG,IAAI,KAAK,cAAc,CAC1D;IACF,CAAC;IACDC,qBAAqBA,CAAEJ,MAAM,EAAG;MAC/B,OAAOL,WAAW,CACjB,cAAc,EACd,CAAC,CAAC,EACFK,MAAM,CAACK,GAAG,CAAIC,KAAK,IAAMV,UAAU,CAAEU,KAAM,CAAE,CAC9C,CAAC;IACF;EACD,CAAC;AAEH,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Text","TouchableOpacity","__","usePreferredColorSchemeStyle","Icon","Picker","BlockIcon","useRef","styles","noticeOutline","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","hitSlop","top","bottom","left","right","EmbedPlaceholder","icon","isSelected","label","onPress","cannotEmbed","fallback","tryAgain","openEmbedLinkSettings","containerSelectedStyle","containerStyle","embed__container","labelStyle","embed__label","descriptionStyle","embed__description","descriptionErrorStyle","actionStyle","embed__action","embedIconErrorStyle","buttonStyles","embed__button","iconStyles","embed__icon","cannotEmbedMenuPickerRef","errorPickerOptions","retry","id","value","onSelect","convertToLink","editLink","options","filter","Boolean","onPickerSelect","selectedItem","find","item","resolveOnPressEvent","current","presentPicker","children","style","fill","activeOpacity","accessibilityRole","accessibilityHint","disabled","title","ref","onChange","hideCancelButton","leftAlign"],"sources":["@wordpress/block-library/src/embed/embed-placeholder.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableOpacity } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { Icon, Picker } from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { noticeOutline } from '../../../components/src/mobile/gridicons';\n\nconst hitSlop = { top: 22, bottom: 22, left: 22, right: 22 };\n\nconst EmbedPlaceholder = ( {\n\ticon,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tcannotEmbed,\n\tfallback,\n\ttryAgain,\n\topenEmbedLinkSettings,\n} ) => {\n\tconst containerSelectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed__container-selected' ],\n\t\tstyles[ 'embed__container-selected--dark' ]\n\t);\n\tconst containerStyle = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.embed__container,\n\t\t\tstyles[ 'embed__container--dark' ]\n\t\t),\n\t\tisSelected && containerSelectedStyle,\n\t];\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__label,\n\t\tstyles[ 'embed__label--dark' ]\n\t);\n\tconst descriptionStyle = styles.embed__description;\n\tconst descriptionErrorStyle = styles[ 'embed__description--error' ];\n\tconst actionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__action,\n\t\tstyles[ 'embed__action--dark' ]\n\t);\n\tconst embedIconErrorStyle = styles[ 'embed__icon--error' ];\n\n\tconst buttonStyles = usePreferredColorSchemeStyle(\n\t\tstyles.embed__button,\n\t\tstyles[ 'embed__button--dark' ]\n\t);\n\tconst iconStyles = usePreferredColorSchemeStyle(\n\t\tstyles.embed__icon,\n\t\tstyles[ 'embed__icon--dark' ]\n\t);\n\n\tconst cannotEmbedMenuPickerRef = useRef();\n\n\tconst errorPickerOptions = {\n\t\tretry: {\n\t\t\tid: 'retryOption',\n\t\t\tlabel: __( 'Retry' ),\n\t\t\tvalue: 'retryOption',\n\t\t\tonSelect: tryAgain,\n\t\t},\n\t\tconvertToLink: {\n\t\t\tid: 'convertToLinkOption',\n\t\t\tlabel: __( 'Convert to link' ),\n\t\t\tvalue: 'convertToLinkOption',\n\t\t\tonSelect: fallback,\n\t\t},\n\t\teditLink: {\n\t\t\tid: 'editLinkOption',\n\t\t\tlabel: __( 'Edit link' ),\n\t\t\tvalue: 'editLinkOption',\n\t\t\tonSelect: openEmbedLinkSettings,\n\t\t},\n\t};\n\n\tconst options = [\n\t\tcannotEmbed && errorPickerOptions.retry,\n\t\tcannotEmbed && errorPickerOptions.convertToLink,\n\t\tcannotEmbed && errorPickerOptions.editLink,\n\t].filter( Boolean );\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\t// When the content cannot be embedded the onPress should trigger the Picker instead of the onPress prop.\n\tfunction resolveOnPressEvent() {\n\t\tif ( cannotEmbed ) {\n\t\t\tcannotEmbedMenuPickerRef.current?.presentPicker();\n\t\t} else {\n\t\t\tonPress();\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<View style={ containerStyle }>\n\t\t\t\t{ cannotEmbed ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ noticeOutline }\n\t\t\t\t\t\t\tfill={ embedIconErrorStyle.fill }\n\t\t\t\t\t\t\tstyle={ embedIconErrorStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tdescriptionStyle,\n\t\t\t\t\t\t\t\tdescriptionErrorStyle,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Unable to embed media' ) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t\t'Double tap to view embed options.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\t\thitSlop={ hitSlop }\n\t\t\t\t\t\t\tonPress={ resolveOnPressEvent }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text style={ actionStyle }>\n\t\t\t\t\t\t\t\t{ __( 'More options' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t<Picker\n\t\t\t\t\t\t\ttitle={ __( 'Embed options' ) }\n\t\t\t\t\t\t\tref={ cannotEmbedMenuPickerRef }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<View style={ styles[ 'embed__placeholder-header' ] }>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } fill={ iconStyles.fill } />\n\t\t\t\t\t\t\t<Text style={ labelStyle }>{ label }</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t\t'Double tap to add a link.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\t\thitSlop={ hitSlop }\n\t\t\t\t\t\t\tonPress={ resolveOnPressEvent }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text style={ actionStyle }>\n\t\t\t\t\t\t\t\t{ __( 'Add link' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n};\n\nexport default EmbedPlaceholder;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["View","Text","TouchableOpacity","__","usePreferredColorSchemeStyle","Icon","Picker","BlockIcon","useRef","styles","noticeOutline","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","hitSlop","top","bottom","left","right","EmbedPlaceholder","icon","isSelected","label","onPress","cannotEmbed","fallback","tryAgain","openEmbedLinkSettings","containerSelectedStyle","containerStyle","embed__container","labelStyle","embed__label","descriptionStyle","embed__description","descriptionErrorStyle","actionStyle","embed__action","embedIconErrorStyle","buttonStyles","embed__button","iconStyles","embed__icon","cannotEmbedMenuPickerRef","errorPickerOptions","retry","id","value","onSelect","convertToLink","editLink","options","filter","Boolean","onPickerSelect","selectedItem","find","item","resolveOnPressEvent","current","presentPicker","children","style","fill","activeOpacity","accessibilityRole","accessibilityHint","disabled","title","ref","onChange","hideCancelButton","leftAlign"],"sources":["@wordpress/block-library/src/embed/embed-placeholder.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableOpacity } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { Icon, Picker } from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { noticeOutline } from '../../../components/src/mobile/gridicons';\n\nconst hitSlop = { top: 22, bottom: 22, left: 22, right: 22 };\n\nconst EmbedPlaceholder = ( {\n\ticon,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tcannotEmbed,\n\tfallback,\n\ttryAgain,\n\topenEmbedLinkSettings,\n} ) => {\n\tconst containerSelectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed__container-selected' ],\n\t\tstyles[ 'embed__container-selected--dark' ]\n\t);\n\tconst containerStyle = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.embed__container,\n\t\t\tstyles[ 'embed__container--dark' ]\n\t\t),\n\t\tisSelected && containerSelectedStyle,\n\t];\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__label,\n\t\tstyles[ 'embed__label--dark' ]\n\t);\n\tconst descriptionStyle = styles.embed__description;\n\tconst descriptionErrorStyle = styles[ 'embed__description--error' ];\n\tconst actionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__action,\n\t\tstyles[ 'embed__action--dark' ]\n\t);\n\tconst embedIconErrorStyle = styles[ 'embed__icon--error' ];\n\n\tconst buttonStyles = usePreferredColorSchemeStyle(\n\t\tstyles.embed__button,\n\t\tstyles[ 'embed__button--dark' ]\n\t);\n\tconst iconStyles = usePreferredColorSchemeStyle(\n\t\tstyles.embed__icon,\n\t\tstyles[ 'embed__icon--dark' ]\n\t);\n\n\tconst cannotEmbedMenuPickerRef = useRef();\n\n\tconst errorPickerOptions = {\n\t\tretry: {\n\t\t\tid: 'retryOption',\n\t\t\tlabel: __( 'Retry' ),\n\t\t\tvalue: 'retryOption',\n\t\t\tonSelect: tryAgain,\n\t\t},\n\t\tconvertToLink: {\n\t\t\tid: 'convertToLinkOption',\n\t\t\tlabel: __( 'Convert to link' ),\n\t\t\tvalue: 'convertToLinkOption',\n\t\t\tonSelect: fallback,\n\t\t},\n\t\teditLink: {\n\t\t\tid: 'editLinkOption',\n\t\t\tlabel: __( 'Edit link' ),\n\t\t\tvalue: 'editLinkOption',\n\t\t\tonSelect: openEmbedLinkSettings,\n\t\t},\n\t};\n\n\tconst options = [\n\t\tcannotEmbed && errorPickerOptions.retry,\n\t\tcannotEmbed && errorPickerOptions.convertToLink,\n\t\tcannotEmbed && errorPickerOptions.editLink,\n\t].filter( Boolean );\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\t// When the content cannot be embedded the onPress should trigger the Picker instead of the onPress prop.\n\tfunction resolveOnPressEvent() {\n\t\tif ( cannotEmbed ) {\n\t\t\tcannotEmbedMenuPickerRef.current?.presentPicker();\n\t\t} else {\n\t\t\tonPress();\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<View style={ containerStyle }>\n\t\t\t\t{ cannotEmbed ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ noticeOutline }\n\t\t\t\t\t\t\tfill={ embedIconErrorStyle.fill }\n\t\t\t\t\t\t\tstyle={ embedIconErrorStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tdescriptionStyle,\n\t\t\t\t\t\t\t\tdescriptionErrorStyle,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Unable to embed media' ) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t\t'Double tap to view embed options.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\t\thitSlop={ hitSlop }\n\t\t\t\t\t\t\tonPress={ resolveOnPressEvent }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text style={ actionStyle }>\n\t\t\t\t\t\t\t\t{ __( 'More options' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t<Picker\n\t\t\t\t\t\t\ttitle={ __( 'Embed options' ) }\n\t\t\t\t\t\t\tref={ cannotEmbedMenuPickerRef }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<View style={ styles[ 'embed__placeholder-header' ] }>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } fill={ iconStyles.fill } />\n\t\t\t\t\t\t\t<Text style={ labelStyle }>{ label }</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t\t'Double tap to add a link.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\t\thitSlop={ hitSlop }\n\t\t\t\t\t\t\tonPress={ resolveOnPressEvent }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text style={ actionStyle }>\n\t\t\t\t\t\t\t\t{ __( 'Add link' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n};\n\nexport default EmbedPlaceholder;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","memoize","privateApis","componentsPrivateApis","renderToString","createBlock","getBlockType","getBlockVariations","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","url","type","role","caption","source","selector","providerNameSlug","allowResponsive","responsive","previewable","supports","align","spacing","margin","interactivity","clientNavigation","editorStyle","style","ASPECT_RATIOS","WP_EMBED_TYPE","unlock","jsx","_jsx","DEFAULT_EMBED_BLOCK","kebabCase","getEmbedInfoByProvider","provider","find","matchesPatterns","patterns","some","pattern","match","findMoreSuitableBlock","isFromWordPress","html","includes","getPhotoHtml","photo","imageUrl","thumbnail_url","photoPreview","children","src","alt","width","createUpgradedEmbedBlock","props","attributesFromPreview","preview","restAttributes","matchedBlock","isCurrentBlockWP","shouldCreateNewBlock","wpVariation","hasAspectRatioClass","existingClassNames","className","removeAspectRatioClasses","aspectRatioClassNames","reduce","accumulator","push","outputClassNames","replace","trim","getClassNames","previewDocument","document","implementation","createHTMLDocument","body","innerHTML","iframe","querySelector","height","aspectRatio","toFixed","ratioIndex","length","potentialRatio","ratio","ratioDiff","fallback","onReplace","link","href","content","getAttributesFromPreview","currentClassNames","isResponsive","provider_name","providerName","toLowerCase","getMergedAttributesWithPreview","currentAttributes"],"sources":["@wordpress/block-library/src/embed/util.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { renderToString } from '@wordpress/element';\nimport {\n\tcreateBlock,\n\tgetBlockType,\n\tgetBlockVariations,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport { ASPECT_RATIOS, WP_EMBED_TYPE } from './constants';\nimport { unlock } from '../lock-unlock';\n\nconst { name: DEFAULT_EMBED_BLOCK } = metadata;\nconst { kebabCase } = unlock( componentsPrivateApis );\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\n\n/**\n * Returns the embed block's information by matching the provided service provider\n *\n * @param {string} provider The embed block's provider\n * @return {WPBlockVariation} The embed block's information\n */\nexport const getEmbedInfoByProvider = ( provider ) =>\n\tgetBlockVariations( DEFAULT_EMBED_BLOCK )?.find(\n\t\t( { name } ) => name === provider\n\t);\n\n/**\n * Returns true if any of the regular expressions match the URL.\n *\n * @param {string} url The URL to test.\n * @param {Array} patterns The list of regular expressions to test agains.\n * @return {boolean} True if any of the regular expressions match the URL.\n */\nexport const matchesPatterns = ( url, patterns = [] ) =>\n\tpatterns.some( ( pattern ) => url.match( pattern ) );\n\n/**\n * Finds the block variation that should be used for the URL,\n * based on the provided URL and the variation's patterns.\n *\n * @param {string} url The URL to test.\n * @return {WPBlockVariation} The block variation that should be used for this URL\n */\nexport const findMoreSuitableBlock = ( url ) =>\n\tgetBlockVariations( DEFAULT_EMBED_BLOCK )?.find( ( { patterns } ) =>\n\t\tmatchesPatterns( url, patterns )\n\t);\n\nexport const isFromWordPress = ( html ) =>\n\thtml && html.includes( 'class=\"wp-embedded-content\"' );\n\nexport const getPhotoHtml = ( photo ) => {\n\t// If full image url not found use thumbnail.\n\tconst imageUrl = photo.url || photo.thumbnail_url;\n\n\t// 100% width for the preview so it fits nicely into the document, some \"thumbnails\" are\n\t// actually the full size photo.\n\tconst photoPreview = (\n\t\t<p>\n\t\t\t<img src={ imageUrl } alt={ photo.title } width=\"100%\" />\n\t\t</p>\n\t);\n\treturn renderToString( photoPreview );\n};\n\n/**\n * Creates a more suitable embed block based on the passed in props\n * and attributes generated from an embed block's preview.\n *\n * We require `attributesFromPreview` to be generated from the latest attributes\n * and preview, and because of the way the react lifecycle operates, we can't\n * guarantee that the attributes contained in the block's props are the latest\n * versions, so we require that these are generated separately.\n * See `getAttributesFromPreview` in the generated embed edit component.\n *\n * @param {Object} props The block's props.\n * @param {Object} [attributesFromPreview] Attributes generated from the block's most up to date preview.\n * @return {Object|undefined} A more suitable embed block if one exists.\n */\nexport const createUpgradedEmbedBlock = (\n\tprops,\n\tattributesFromPreview = {}\n) => {\n\tconst { preview, attributes = {} } = props;\n\tconst { url, providerNameSlug, type, ...restAttributes } = attributes;\n\n\tif ( ! url || ! getBlockType( DEFAULT_EMBED_BLOCK ) ) {\n\t\treturn;\n\t}\n\n\tconst matchedBlock = findMoreSuitableBlock( url );\n\n\t// WordPress blocks can work on multiple sites, and so don't have patterns,\n\t// so if we're in a WordPress block, assume the user has chosen it for a WordPress URL.\n\tconst isCurrentBlockWP =\n\t\tproviderNameSlug === 'wordpress' || type === WP_EMBED_TYPE;\n\t// If current block is not WordPress and a more suitable block found\n\t// that is different from the current one, create the new matched block.\n\tconst shouldCreateNewBlock =\n\t\t! isCurrentBlockWP &&\n\t\tmatchedBlock &&\n\t\t( matchedBlock.attributes.providerNameSlug !== providerNameSlug ||\n\t\t\t! providerNameSlug );\n\tif ( shouldCreateNewBlock ) {\n\t\treturn createBlock( DEFAULT_EMBED_BLOCK, {\n\t\t\turl,\n\t\t\t...restAttributes,\n\t\t\t...matchedBlock.attributes,\n\t\t} );\n\t}\n\n\tconst wpVariation = getBlockVariations( DEFAULT_EMBED_BLOCK )?.find(\n\t\t( { name } ) => name === 'wordpress'\n\t);\n\n\t// We can't match the URL for WordPress embeds, we have to check the HTML instead.\n\tif (\n\t\t! wpVariation ||\n\t\t! preview ||\n\t\t! isFromWordPress( preview.html ) ||\n\t\tisCurrentBlockWP\n\t) {\n\t\treturn;\n\t}\n\n\t// This is not the WordPress embed block so transform it into one.\n\treturn createBlock( DEFAULT_EMBED_BLOCK, {\n\t\turl,\n\t\t...wpVariation.attributes,\n\t\t// By now we have the preview, but when the new block first renders, it\n\t\t// won't have had all the attributes set, and so won't get the correct\n\t\t// type and it won't render correctly. So, we pass through the current attributes\n\t\t// here so that the initial render works when we switch to the WordPress\n\t\t// block. This only affects the WordPress block because it can't be\n\t\t// rendered in the usual Sandbox (it has a sandbox of its own) and it\n\t\t// relies on the preview to set the correct render type.\n\t\t...attributesFromPreview,\n\t} );\n};\n\n/**\n * Determine if the block already has an aspect ratio class applied.\n *\n * @param {string} existingClassNames Existing block classes.\n * @return {boolean} True or false if the classnames contain an aspect ratio class.\n */\nexport const hasAspectRatioClass = ( existingClassNames ) => {\n\tif ( ! existingClassNames ) {\n\t\treturn false;\n\t}\n\treturn ASPECT_RATIOS.some( ( { className } ) =>\n\t\texistingClassNames.includes( className )\n\t);\n};\n\n/**\n * Removes all previously set aspect ratio related classes and return the rest\n * existing class names.\n *\n * @param {string} existingClassNames Any existing class names.\n * @return {string} The class names without any aspect ratio related class.\n */\nexport const removeAspectRatioClasses = ( existingClassNames ) => {\n\tif ( ! existingClassNames ) {\n\t\t// Avoids extraneous work and also, by returning the same value as\n\t\t// received, ensures the post is not dirtied by a change of the block\n\t\t// attribute from `undefined` to an empty string.\n\t\treturn existingClassNames;\n\t}\n\tconst aspectRatioClassNames = ASPECT_RATIOS.reduce(\n\t\t( accumulator, { className } ) => {\n\t\t\taccumulator.push( className );\n\t\t\treturn accumulator;\n\t\t},\n\t\t[ 'wp-has-aspect-ratio' ]\n\t);\n\tlet outputClassNames = existingClassNames;\n\tfor ( const className of aspectRatioClassNames ) {\n\t\toutputClassNames = outputClassNames.replace( className, '' );\n\t}\n\treturn outputClassNames.trim();\n};\n\n/**\n * Returns class names with any relevant responsive aspect ratio names.\n *\n * @param {string} html The preview HTML that possibly contains an iframe with width and height set.\n * @param {string} existingClassNames Any existing class names.\n * @param {boolean} allowResponsive If the responsive class names should be added, or removed.\n * @return {string} Deduped class names.\n */\nexport function getClassNames(\n\thtml,\n\texistingClassNames,\n\tallowResponsive = true\n) {\n\tif ( ! allowResponsive ) {\n\t\treturn removeAspectRatioClasses( existingClassNames );\n\t}\n\n\tconst previewDocument = document.implementation.createHTMLDocument( '' );\n\tpreviewDocument.body.innerHTML = html;\n\tconst iframe = previewDocument.body.querySelector( 'iframe' );\n\n\t// If we have a fixed aspect iframe, and it's a responsive embed block.\n\tif ( iframe && iframe.height && iframe.width ) {\n\t\tconst aspectRatio = ( iframe.width / iframe.height ).toFixed( 2 );\n\t\t// Given the actual aspect ratio, find the widest ratio to support it.\n\t\tfor (\n\t\t\tlet ratioIndex = 0;\n\t\t\tratioIndex < ASPECT_RATIOS.length;\n\t\t\tratioIndex++\n\t\t) {\n\t\t\tconst potentialRatio = ASPECT_RATIOS[ ratioIndex ];\n\t\t\tif ( aspectRatio >= potentialRatio.ratio ) {\n\t\t\t\t// Evaluate the difference between actual aspect ratio and closest match.\n\t\t\t\t// If the difference is too big, do not scale the embed according to aspect ratio.\n\t\t\t\tconst ratioDiff = aspectRatio - potentialRatio.ratio;\n\t\t\t\tif ( ratioDiff > 0.1 ) {\n\t\t\t\t\t// No close aspect ratio match found.\n\t\t\t\t\treturn removeAspectRatioClasses( existingClassNames );\n\t\t\t\t}\n\t\t\t\t// Close aspect ratio match found.\n\t\t\t\treturn clsx(\n\t\t\t\t\tremoveAspectRatioClasses( existingClassNames ),\n\t\t\t\t\tpotentialRatio.className,\n\t\t\t\t\t'wp-has-aspect-ratio'\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn existingClassNames;\n}\n\n/**\n * Fallback behaviour for unembeddable URLs.\n * Creates a paragraph block containing a link to the URL, and calls `onReplace`.\n *\n * @param {string} url The URL that could not be embedded.\n * @param {Function} onReplace Function to call with the created fallback block.\n */\nexport function fallback( url, onReplace ) {\n\tconst link = <a href={ url }>{ url }</a>;\n\tonReplace(\n\t\tcreateBlock( 'core/paragraph', { content: renderToString( link ) } )\n\t);\n}\n\n/***\n * Gets block attributes based on the preview and responsive state.\n *\n * @param {Object} preview The preview data.\n * @param {string} title The block's title, e.g. Twitter.\n * @param {Object} currentClassNames The block's current class names.\n * @param {boolean} isResponsive Boolean indicating if the block supports responsive content.\n * @param {boolean} allowResponsive Apply responsive classes to fixed size content.\n * @return {Object} Attributes and values.\n */\nexport const getAttributesFromPreview = memoize(\n\t(\n\t\tpreview,\n\t\ttitle,\n\t\tcurrentClassNames,\n\t\tisResponsive,\n\t\tallowResponsive = true\n\t) => {\n\t\tif ( ! preview ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst attributes = {};\n\t\t// Some plugins only return HTML with no type info, so default this to 'rich'.\n\t\tlet { type = 'rich' } = preview;\n\t\t// If we got a provider name from the API, use it for the slug, otherwise we use the title,\n\t\t// because not all embed code gives us a provider name.\n\t\tconst { html, provider_name: providerName } = preview;\n\t\tconst providerNameSlug = kebabCase(\n\t\t\t( providerName || title ).toLowerCase()\n\t\t);\n\n\t\tif ( isFromWordPress( html ) ) {\n\t\t\ttype = WP_EMBED_TYPE;\n\t\t}\n\n\t\tif ( html || 'photo' === type ) {\n\t\t\tattributes.type = type;\n\t\t\tattributes.providerNameSlug = providerNameSlug;\n\t\t}\n\n\t\t// Aspect ratio classes are removed when the embed URL is updated.\n\t\t// If the embed already has an aspect ratio class, that means the URL has not changed.\n\t\t// Which also means no need to regenerate it with getClassNames.\n\t\tif ( hasAspectRatioClass( currentClassNames ) ) {\n\t\t\treturn attributes;\n\t\t}\n\n\t\tattributes.className = getClassNames(\n\t\t\thtml,\n\t\t\tcurrentClassNames,\n\t\t\tisResponsive && allowResponsive\n\t\t);\n\n\t\treturn attributes;\n\t}\n);\n\n/**\n * Returns the attributes derived from the preview, merged with the current attributes.\n *\n * @param {Object} currentAttributes The current attributes of the block.\n * @param {Object} preview The preview data.\n * @param {string} title The block's title, e.g. Twitter.\n * @param {boolean} isResponsive Boolean indicating if the block supports responsive content.\n * @return {Object} Merged attributes.\n */\nexport const getMergedAttributesWithPreview = (\n\tcurrentAttributes,\n\tpreview,\n\ttitle,\n\tisResponsive\n) => {\n\tconst { allowResponsive, className } = currentAttributes;\n\n\treturn {\n\t\t...currentAttributes,\n\t\t...getAttributesFromPreview(\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tclassName,\n\t\t\tisResponsive,\n\t\t\tallowResponsive\n\t\t),\n\t};\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","memoize","privateApis","componentsPrivateApis","renderToString","createBlock","getBlockType","getBlockVariations","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","url","type","role","caption","source","selector","providerNameSlug","allowResponsive","responsive","previewable","supports","align","spacing","margin","interactivity","clientNavigation","editorStyle","style","ASPECT_RATIOS","WP_EMBED_TYPE","unlock","jsx","_jsx","DEFAULT_EMBED_BLOCK","kebabCase","getEmbedInfoByProvider","provider","find","matchesPatterns","patterns","some","pattern","match","findMoreSuitableBlock","isFromWordPress","html","includes","getPhotoHtml","photo","imageUrl","thumbnail_url","photoPreview","children","src","alt","width","createUpgradedEmbedBlock","props","attributesFromPreview","preview","restAttributes","matchedBlock","isCurrentBlockWP","shouldCreateNewBlock","wpVariation","hasAspectRatioClass","existingClassNames","className","removeAspectRatioClasses","aspectRatioClassNames","reduce","accumulator","push","outputClassNames","replace","trim","getClassNames","previewDocument","document","implementation","createHTMLDocument","body","innerHTML","iframe","querySelector","height","aspectRatio","toFixed","ratioIndex","length","potentialRatio","ratio","ratioDiff","fallback","onReplace","link","href","content","getAttributesFromPreview","currentClassNames","isResponsive","provider_name","providerName","toLowerCase","getMergedAttributesWithPreview","currentAttributes"],"sources":["@wordpress/block-library/src/embed/util.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { renderToString } from '@wordpress/element';\nimport {\n\tcreateBlock,\n\tgetBlockType,\n\tgetBlockVariations,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport { ASPECT_RATIOS, WP_EMBED_TYPE } from './constants';\nimport { unlock } from '../lock-unlock';\n\nconst { name: DEFAULT_EMBED_BLOCK } = metadata;\nconst { kebabCase } = unlock( componentsPrivateApis );\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\n\n/**\n * Returns the embed block's information by matching the provided service provider\n *\n * @param {string} provider The embed block's provider\n * @return {WPBlockVariation} The embed block's information\n */\nexport const getEmbedInfoByProvider = ( provider ) =>\n\tgetBlockVariations( DEFAULT_EMBED_BLOCK )?.find(\n\t\t( { name } ) => name === provider\n\t);\n\n/**\n * Returns true if any of the regular expressions match the URL.\n *\n * @param {string} url The URL to test.\n * @param {Array} patterns The list of regular expressions to test agains.\n * @return {boolean} True if any of the regular expressions match the URL.\n */\nexport const matchesPatterns = ( url, patterns = [] ) =>\n\tpatterns.some( ( pattern ) => url.match( pattern ) );\n\n/**\n * Finds the block variation that should be used for the URL,\n * based on the provided URL and the variation's patterns.\n *\n * @param {string} url The URL to test.\n * @return {WPBlockVariation} The block variation that should be used for this URL\n */\nexport const findMoreSuitableBlock = ( url ) =>\n\tgetBlockVariations( DEFAULT_EMBED_BLOCK )?.find( ( { patterns } ) =>\n\t\tmatchesPatterns( url, patterns )\n\t);\n\nexport const isFromWordPress = ( html ) =>\n\thtml && html.includes( 'class=\"wp-embedded-content\"' );\n\nexport const getPhotoHtml = ( photo ) => {\n\t// If full image url not found use thumbnail.\n\tconst imageUrl = photo.url || photo.thumbnail_url;\n\n\t// 100% width for the preview so it fits nicely into the document, some \"thumbnails\" are\n\t// actually the full size photo.\n\tconst photoPreview = (\n\t\t<p>\n\t\t\t<img src={ imageUrl } alt={ photo.title } width=\"100%\" />\n\t\t</p>\n\t);\n\treturn renderToString( photoPreview );\n};\n\n/**\n * Creates a more suitable embed block based on the passed in props\n * and attributes generated from an embed block's preview.\n *\n * We require `attributesFromPreview` to be generated from the latest attributes\n * and preview, and because of the way the react lifecycle operates, we can't\n * guarantee that the attributes contained in the block's props are the latest\n * versions, so we require that these are generated separately.\n * See `getAttributesFromPreview` in the generated embed edit component.\n *\n * @param {Object} props The block's props.\n * @param {Object} [attributesFromPreview] Attributes generated from the block's most up to date preview.\n * @return {Object|undefined} A more suitable embed block if one exists.\n */\nexport const createUpgradedEmbedBlock = (\n\tprops,\n\tattributesFromPreview = {}\n) => {\n\tconst { preview, attributes = {} } = props;\n\tconst { url, providerNameSlug, type, ...restAttributes } = attributes;\n\n\tif ( ! url || ! getBlockType( DEFAULT_EMBED_BLOCK ) ) {\n\t\treturn;\n\t}\n\n\tconst matchedBlock = findMoreSuitableBlock( url );\n\n\t// WordPress blocks can work on multiple sites, and so don't have patterns,\n\t// so if we're in a WordPress block, assume the user has chosen it for a WordPress URL.\n\tconst isCurrentBlockWP =\n\t\tproviderNameSlug === 'wordpress' || type === WP_EMBED_TYPE;\n\t// If current block is not WordPress and a more suitable block found\n\t// that is different from the current one, create the new matched block.\n\tconst shouldCreateNewBlock =\n\t\t! isCurrentBlockWP &&\n\t\tmatchedBlock &&\n\t\t( matchedBlock.attributes.providerNameSlug !== providerNameSlug ||\n\t\t\t! providerNameSlug );\n\tif ( shouldCreateNewBlock ) {\n\t\treturn createBlock( DEFAULT_EMBED_BLOCK, {\n\t\t\turl,\n\t\t\t...restAttributes,\n\t\t\t...matchedBlock.attributes,\n\t\t} );\n\t}\n\n\tconst wpVariation = getBlockVariations( DEFAULT_EMBED_BLOCK )?.find(\n\t\t( { name } ) => name === 'wordpress'\n\t);\n\n\t// We can't match the URL for WordPress embeds, we have to check the HTML instead.\n\tif (\n\t\t! wpVariation ||\n\t\t! preview ||\n\t\t! isFromWordPress( preview.html ) ||\n\t\tisCurrentBlockWP\n\t) {\n\t\treturn;\n\t}\n\n\t// This is not the WordPress embed block so transform it into one.\n\treturn createBlock( DEFAULT_EMBED_BLOCK, {\n\t\turl,\n\t\t...wpVariation.attributes,\n\t\t// By now we have the preview, but when the new block first renders, it\n\t\t// won't have had all the attributes set, and so won't get the correct\n\t\t// type and it won't render correctly. So, we pass through the current attributes\n\t\t// here so that the initial render works when we switch to the WordPress\n\t\t// block. This only affects the WordPress block because it can't be\n\t\t// rendered in the usual Sandbox (it has a sandbox of its own) and it\n\t\t// relies on the preview to set the correct render type.\n\t\t...attributesFromPreview,\n\t} );\n};\n\n/**\n * Determine if the block already has an aspect ratio class applied.\n *\n * @param {string} existingClassNames Existing block classes.\n * @return {boolean} True or false if the classnames contain an aspect ratio class.\n */\nexport const hasAspectRatioClass = ( existingClassNames ) => {\n\tif ( ! existingClassNames ) {\n\t\treturn false;\n\t}\n\treturn ASPECT_RATIOS.some( ( { className } ) =>\n\t\texistingClassNames.includes( className )\n\t);\n};\n\n/**\n * Removes all previously set aspect ratio related classes and return the rest\n * existing class names.\n *\n * @param {string} existingClassNames Any existing class names.\n * @return {string} The class names without any aspect ratio related class.\n */\nexport const removeAspectRatioClasses = ( existingClassNames ) => {\n\tif ( ! existingClassNames ) {\n\t\t// Avoids extraneous work and also, by returning the same value as\n\t\t// received, ensures the post is not dirtied by a change of the block\n\t\t// attribute from `undefined` to an empty string.\n\t\treturn existingClassNames;\n\t}\n\tconst aspectRatioClassNames = ASPECT_RATIOS.reduce(\n\t\t( accumulator, { className } ) => {\n\t\t\taccumulator.push( className );\n\t\t\treturn accumulator;\n\t\t},\n\t\t[ 'wp-has-aspect-ratio' ]\n\t);\n\tlet outputClassNames = existingClassNames;\n\tfor ( const className of aspectRatioClassNames ) {\n\t\toutputClassNames = outputClassNames.replace( className, '' );\n\t}\n\treturn outputClassNames.trim();\n};\n\n/**\n * Returns class names with any relevant responsive aspect ratio names.\n *\n * @param {string} html The preview HTML that possibly contains an iframe with width and height set.\n * @param {string} existingClassNames Any existing class names.\n * @param {boolean} allowResponsive If the responsive class names should be added, or removed.\n * @return {string} Deduped class names.\n */\nexport function getClassNames(\n\thtml,\n\texistingClassNames,\n\tallowResponsive = true\n) {\n\tif ( ! allowResponsive ) {\n\t\treturn removeAspectRatioClasses( existingClassNames );\n\t}\n\n\tconst previewDocument = document.implementation.createHTMLDocument( '' );\n\tpreviewDocument.body.innerHTML = html;\n\tconst iframe = previewDocument.body.querySelector( 'iframe' );\n\n\t// If we have a fixed aspect iframe, and it's a responsive embed block.\n\tif ( iframe && iframe.height && iframe.width ) {\n\t\tconst aspectRatio = ( iframe.width / iframe.height ).toFixed( 2 );\n\t\t// Given the actual aspect ratio, find the widest ratio to support it.\n\t\tfor (\n\t\t\tlet ratioIndex = 0;\n\t\t\tratioIndex < ASPECT_RATIOS.length;\n\t\t\tratioIndex++\n\t\t) {\n\t\t\tconst potentialRatio = ASPECT_RATIOS[ ratioIndex ];\n\t\t\tif ( aspectRatio >= potentialRatio.ratio ) {\n\t\t\t\t// Evaluate the difference between actual aspect ratio and closest match.\n\t\t\t\t// If the difference is too big, do not scale the embed according to aspect ratio.\n\t\t\t\tconst ratioDiff = aspectRatio - potentialRatio.ratio;\n\t\t\t\tif ( ratioDiff > 0.1 ) {\n\t\t\t\t\t// No close aspect ratio match found.\n\t\t\t\t\treturn removeAspectRatioClasses( existingClassNames );\n\t\t\t\t}\n\t\t\t\t// Close aspect ratio match found.\n\t\t\t\treturn clsx(\n\t\t\t\t\tremoveAspectRatioClasses( existingClassNames ),\n\t\t\t\t\tpotentialRatio.className,\n\t\t\t\t\t'wp-has-aspect-ratio'\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn existingClassNames;\n}\n\n/**\n * Fallback behaviour for unembeddable URLs.\n * Creates a paragraph block containing a link to the URL, and calls `onReplace`.\n *\n * @param {string} url The URL that could not be embedded.\n * @param {Function} onReplace Function to call with the created fallback block.\n */\nexport function fallback( url, onReplace ) {\n\tconst link = <a href={ url }>{ url }</a>;\n\tonReplace(\n\t\tcreateBlock( 'core/paragraph', { content: renderToString( link ) } )\n\t);\n}\n\n/***\n * Gets block attributes based on the preview and responsive state.\n *\n * @param {Object} preview The preview data.\n * @param {string} title The block's title, e.g. Twitter.\n * @param {Object} currentClassNames The block's current class names.\n * @param {boolean} isResponsive Boolean indicating if the block supports responsive content.\n * @param {boolean} allowResponsive Apply responsive classes to fixed size content.\n * @return {Object} Attributes and values.\n */\nexport const getAttributesFromPreview = memoize(\n\t(\n\t\tpreview,\n\t\ttitle,\n\t\tcurrentClassNames,\n\t\tisResponsive,\n\t\tallowResponsive = true\n\t) => {\n\t\tif ( ! preview ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst attributes = {};\n\t\t// Some plugins only return HTML with no type info, so default this to 'rich'.\n\t\tlet { type = 'rich' } = preview;\n\t\t// If we got a provider name from the API, use it for the slug, otherwise we use the title,\n\t\t// because not all embed code gives us a provider name.\n\t\tconst { html, provider_name: providerName } = preview;\n\t\tconst providerNameSlug = kebabCase(\n\t\t\t( providerName || title ).toLowerCase()\n\t\t);\n\n\t\tif ( isFromWordPress( html ) ) {\n\t\t\ttype = WP_EMBED_TYPE;\n\t\t}\n\n\t\tif ( html || 'photo' === type ) {\n\t\t\tattributes.type = type;\n\t\t\tattributes.providerNameSlug = providerNameSlug;\n\t\t}\n\n\t\t// Aspect ratio classes are removed when the embed URL is updated.\n\t\t// If the embed already has an aspect ratio class, that means the URL has not changed.\n\t\t// Which also means no need to regenerate it with getClassNames.\n\t\tif ( hasAspectRatioClass( currentClassNames ) ) {\n\t\t\treturn attributes;\n\t\t}\n\n\t\tattributes.className = getClassNames(\n\t\t\thtml,\n\t\t\tcurrentClassNames,\n\t\t\tisResponsive && allowResponsive\n\t\t);\n\n\t\treturn attributes;\n\t}\n);\n\n/**\n * Returns the attributes derived from the preview, merged with the current attributes.\n *\n * @param {Object} currentAttributes The current attributes of the block.\n * @param {Object} preview The preview data.\n * @param {string} title The block's title, e.g. Twitter.\n * @param {boolean} isResponsive Boolean indicating if the block supports responsive content.\n * @return {Object} Merged attributes.\n */\nexport const getMergedAttributesWithPreview = (\n\tcurrentAttributes,\n\tpreview,\n\ttitle,\n\tisResponsive\n) => {\n\tconst { allowResponsive, className } = currentAttributes;\n\n\treturn {\n\t\t...currentAttributes,\n\t\t...getAttributesFromPreview(\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tclassName,\n\t\t\tisResponsive,\n\t\t\tallowResponsive\n\t\t),\n\t};\n};\n"],"mappings":"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","ignoreList":[]}
|