@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":["isBlobURL","ExternalLink","ResizableBox","Spinner","TextareaControl","TextControl","ToolbarButton","ToolbarGroup","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUseCustomUnits","useCustomUnits","Placeholder","MenuItem","ToolbarItem","DropdownMenu","Popover","useViewportMatch","useSelect","useDispatch","BlockControls","InspectorControls","__experimentalImageURLInputUI","ImageURLInputUI","MediaReplaceFlow","store","blockEditorStore","useSettings","__experimentalImageEditor","ImageEditor","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","privateApis","blockEditorPrivateApis","BlockSettingsMenuControls","useEffect","useMemo","useState","useRef","__","_x","sprintf","isRTL","getFilename","getBlockBindingsSource","switchToBlockType","crop","overlayText","upload","chevronDown","noticesStore","coreStore","useEntityProp","unlock","createUpgradedEmbedBlock","isExternalImage","Caption","useToolsPanelDropdownMenuProps","MIN_SIZE","ALLOWED_MEDIA_TYPES","evalAspectRatio","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DimensionsTool","ResolutionTool","scaleOptions","value","label","help","WRITEMODE_POPOVER_PROPS","placement","ImageWrapper","href","children","onClick","event","preventDefault","style","pointerEvents","cursor","display","ContentOnlyControls","attributes","setAttributes","lockAltControls","lockAltControlsMessage","lockTitleControls","lockTitleControlsMessage","popoverAnchor","setPopoverAnchor","isAltDialogOpen","setIsAltDialogOpen","isTitleDialogOpen","setIsTitleDialogOpen","ref","toggleProps","icon","description","popoverProps","onClose","anchor","offset","variant","className","alt","onChange","disabled","__nextHasNoMarginBottom","__next40pxDefaultSize","title","Image","temporaryURL","isSingleSelected","insertBlocksAfter","onReplace","onSelectImage","onSelectURL","onUploadError","context","clientId","blockEditingMode","parentLayoutType","maxContentWidth","url","align","id","rel","linkClass","linkDestination","width","height","aspectRatio","scale","linkTarget","sizeSlug","lightbox","metadata","numericWidth","parseInt","undefined","numericHeight","imageRef","allowResize","getBlock","getSettings","image","select","getMedia","canInsertCover","imageEditing","imageSizes","maxWidth","getBlockRootClientId","canInsertBlockType","rootClientId","settings","replaceBlocks","toggleSelection","createErrorNotice","createSuccessNotice","isLargeViewport","isWideAligned","includes","loadedNaturalWidth","loadedNaturalHeight","setLoadedNaturalSize","isEditingImage","setIsEditingImage","externalBlob","setExternalBlob","hasImageErrored","setHasImageErrored","hasNonContentControls","isContentOnlyMode","isResizable","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","mediaUpload","window","fetch","then","response","blob","catch","naturalWidth","naturalHeight","current","complete","onResizeStart","onResizeStop","onImageError","embedBlock","onImageLoad","target","onSetHref","props","onSetLightbox","enable","lightboxSetting","enabled","resetLightbox","allowEditing","onSetTitle","updateAlt","newAlt","updateImage","newSizeSlug","newUrl","uploadExternal","filesList","onFileChange","img","type","allowedTypes","onError","message","canEditImage","allowCrop","switchToCover","dimensionsUnitsOptions","availableUnits","showLightboxSetting","lightboxChecked","dropdownMenuProps","dimensionsControl","newWidth","newHeight","newScale","newAspectRatio","defaultScale","defaultAspectRatio","unitsOptions","aspectRatioControl","tools","resetAll","sizeControls","arePatternOverridesEnabled","bindings","__default","source","lockUrlControls","lockHrefControls","lockCaption","urlBinding","altBinding","titleBinding","hasParentPattern","urlBindingSource","altBindingSource","titleBindingSource","canUserEditValue","args","showUrlInput","showCoverControls","showBlockControls","mediaReplaceFlow","group","mediaId","mediaURL","accept","onSelect","onReset","controls","onChangeUrl","mediaUrl","mediaLink","link","lightboxEnabled","isShownByDefault","hasValue","onDeselect","readOnly","length","options","filename","defaultedAlt","borderProps","shadowProps","isRounded","postType","postId","queryId","isDescendentOfQueryLoop","Number","isFinite","setFeaturedImage","withIllustration","src","onLoad","objectFit","onSaveImage","imageAttributes","onFinishEditing","numericRatio","customRatio","naturalRatio","ratio","currentWidth","currentHeight","minWidth","minHeight","maxWidthBuffer","maxResizeWidth","showRightHandle","showLeftHandle","size","showHandle","maxHeight","lockAspectRatio","top","right","bottom","left","direction","elt","Math","abs","offsetWidth","String","resizeRatio","setPostFeatureImage","featuredImageControl","selectedClientIds","isSelected","showToolbarButton"],"sources":["@wordpress/block-library/src/image/image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tExternalLink,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\tPlaceholder,\n\tMenuItem,\n\tToolbarItem,\n\tDropdownMenu,\n\tPopover,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tprivateApis as blockEditorPrivateApis,\n\tBlockSettingsMenuControls,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo, useState, useRef } from '@wordpress/element';\nimport { __, _x, sprintf, isRTL } from '@wordpress/i18n';\nimport { getFilename } from '@wordpress/url';\nimport { getBlockBindingsSource, switchToBlockType } from '@wordpress/blocks';\nimport { crop, overlayText, upload, chevronDown } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { isExternalImage } from './edit';\nimport { Caption } from '../utils/caption';\n\n/**\n * Module constants\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';\nimport { evalAspectRatio } from './utils';\n\nconst { DimensionsTool, ResolutionTool } = unlock( blockEditorPrivateApis );\n\nconst scaleOptions = [\n\t{\n\t\tvalue: 'cover',\n\t\tlabel: _x( 'Cover', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image covers the space evenly.' ),\n\t},\n\t{\n\t\tvalue: 'contain',\n\t\tlabel: _x( 'Contain', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image is contained without distortion.' ),\n\t},\n];\n\nconst WRITEMODE_POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\n// If the image has a href, wrap in an <a /> tag to trigger any inherited link element styles.\nconst ImageWrapper = ( { href, children } ) => {\n\tif ( ! href ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<a\n\t\t\thref={ href }\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\taria-disabled\n\t\t\tstyle={ {\n\t\t\t\t// When the Image block is linked,\n\t\t\t\t// it's wrapped with a disabled <a /> tag.\n\t\t\t\t// Restore cursor style so it doesn't appear 'clickable'\n\t\t\t\t// and remove pointer events. Safari needs the display property.\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tcursor: 'default',\n\t\t\t\tdisplay: 'inline',\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</a>\n\t);\n};\n\nfunction ContentOnlyControls( {\n\tattributes,\n\tsetAttributes,\n\tlockAltControls,\n\tlockAltControlsMessage,\n\tlockTitleControls,\n\tlockTitleControlsMessage,\n} ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isAltDialogOpen, setIsAltDialogOpen ] = useState( false );\n\tconst [ isTitleDialogOpen, setIsTitleDialogOpen ] = useState( false );\n\treturn (\n\t\t<>\n\t\t\t<ToolbarItem ref={ setPopoverAnchor }>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'More' ) }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t\tdescription: __( 'Displays more controls.' ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpopoverProps={ WRITEMODE_POPOVER_PROPS }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsAltDialogOpen( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ _x(\n\t\t\t\t\t\t\t\t\t\t'Alternative text',\n\t\t\t\t\t\t\t\t\t\t'Alternative text for an image. Block toolbar label, a low character count is preferred.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsTitleDialogOpen( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Title text' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t\t{ isAltDialogOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tonClose={ () => setIsAltDialogOpen( false ) }\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-image__toolbar_content_textarea__container\">\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tvalue={ attributes.alt || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { alt: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ lockAltControls }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t{ isTitleDialogOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tonClose={ () => setIsTitleDialogOpen( false ) }\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-image__toolbar_content_textarea__container\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\t\tvalue={ attributes.title || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\ttitle: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ lockTitleControls }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t\t\t<>{ lockTitleControlsMessage }</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\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/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function Image( {\n\ttemporaryURL,\n\tattributes,\n\tsetAttributes,\n\tisSingleSelected,\n\tinsertBlocksAfter,\n\tonReplace,\n\tonSelectImage,\n\tonSelectURL,\n\tonUploadError,\n\tcontext,\n\tclientId,\n\tblockEditingMode,\n\tparentLayoutType,\n\tmaxContentWidth,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\talign,\n\t\tid,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\ttitle,\n\t\twidth,\n\t\theight,\n\t\taspectRatio,\n\t\tscale,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t\tlightbox,\n\t\tmetadata,\n\t} = attributes;\n\n\t// The only supported unit is px, so we can parseInt to strip the px here.\n\tconst numericWidth = width ? parseInt( width, 10 ) : undefined;\n\tconst numericHeight = height ? parseInt( height, 10 ) : undefined;\n\n\tconst imageRef = useRef();\n\tconst { allowResize = true } = context;\n\tconst { getBlock, getSettings } = useSelect( blockEditorStore );\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tid && isSingleSelected\n\t\t\t\t? select( coreStore ).getMedia( id, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ id, isSingleSelected ]\n\t);\n\n\tconst { canInsertCover, imageEditing, imageSizes, maxWidth } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\timageEditing: settings.imageEditing,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmaxWidth: settings.maxWidth,\n\t\t\t\tcanInsertCover: canInsertBlockType(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst [\n\t\t{ loadedNaturalWidth, loadedNaturalHeight },\n\t\tsetLoadedNaturalSize,\n\t] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst [ externalBlob, setExternalBlob ] = useState();\n\tconst [ hasImageErrored, setHasImageErrored ] = useState( false );\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\tconst isResizable =\n\t\tallowResize &&\n\t\thasNonContentControls &&\n\t\t! isWideAligned &&\n\t\tisLargeViewport;\n\tconst imageSizeOptions = imageSizes\n\t\t.filter(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\t// If an image is externally hosted, try to fetch the image data. This may\n\t// fail if the image host doesn't allow CORS with the domain. If it works,\n\t// we can enable a button in the toolbar to upload the image.\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! isExternalImage( id, url ) ||\n\t\t\t! isSingleSelected ||\n\t\t\t! getSettings().mediaUpload\n\t\t) {\n\t\t\tsetExternalBlob();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( externalBlob ) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow\n\t\t\t// Avoid cache, which seems to help avoid CORS problems.\n\t\t\t.fetch( url.includes( '?' ) ? url : url + '?' )\n\t\t\t.then( ( response ) => response.blob() )\n\t\t\t.then( ( blob ) => setExternalBlob( blob ) )\n\t\t\t// Do nothing, cannot upload.\n\t\t\t.catch( () => {} );\n\t}, [ id, url, isSingleSelected, externalBlob ] );\n\n\t// Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural\n\t// width and height. This resolves an issue in Safari where the loaded natural\n\t// width and height is otherwise lost when switching between alignments.\n\t// See: https://github.com/WordPress/gutenberg/pull/37210.\n\tconst { naturalWidth, naturalHeight } = useMemo( () => {\n\t\treturn {\n\t\t\tnaturalWidth:\n\t\t\t\timageRef.current?.naturalWidth ||\n\t\t\t\tloadedNaturalWidth ||\n\t\t\t\tundefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageRef.current?.naturalHeight ||\n\t\t\t\tloadedNaturalHeight ||\n\t\t\t\tundefined,\n\t\t};\n\t}, [\n\t\tloadedNaturalWidth,\n\t\tloadedNaturalHeight,\n\t\timageRef.current?.complete,\n\t] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tfunction onImageError() {\n\t\tsetHasImageErrored( true );\n\n\t\t// Check if there's an embed block that handles this URL, e.g., instagram URL.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/11472\n\t\tconst embedBlock = createUpgradedEmbedBlock( { attributes: { url } } );\n\t\tif ( undefined !== embedBlock ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onImageLoad( event ) {\n\t\tsetHasImageErrored( false );\n\t\tsetLoadedNaturalSize( {\n\t\t\tloadedNaturalWidth: event.target?.naturalWidth,\n\t\t\tloadedNaturalHeight: event.target?.naturalHeight,\n\t\t} );\n\t}\n\n\tfunction onSetHref( props ) {\n\t\tsetAttributes( props );\n\t}\n\n\tfunction onSetLightbox( enable ) {\n\t\tif ( enable && ! lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: true },\n\t\t\t} );\n\t\t} else if ( ! enable && lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: false },\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction resetLightbox() {\n\t\t// When deleting a link from an image while lightbox settings\n\t\t// are enabled by default, we should disable the lightbox,\n\t\t// otherwise the resulting UX looks like a mistake.\n\t\t// See https://github.com/WordPress/gutenberg/pull/59890/files#r1532286123.\n\t\tif ( lightboxSetting?.enabled && lightboxSetting?.allowEditing ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: false },\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction onSetTitle( value ) {\n\t\t// This is the HTML title attribute, separate from the media object\n\t\t// title.\n\t\tsetAttributes( { title: value } );\n\t}\n\n\tfunction updateAlt( newAlt ) {\n\t\tsetAttributes( { alt: newAlt } );\n\t}\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl = image?.media_details?.sizes?.[ newSizeSlug ]?.source_url;\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tfunction uploadExternal() {\n\t\tconst { mediaUpload } = getSettings();\n\t\tif ( ! mediaUpload ) {\n\t\t\treturn;\n\t\t}\n\t\tmediaUpload( {\n\t\t\tfilesList: [ externalBlob ],\n\t\t\tonFileChange( [ img ] ) {\n\t\t\t\tonSelectImage( img );\n\n\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetExternalBlob();\n\t\t\t\tcreateSuccessNotice( __( 'Image uploaded.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t},\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSingleSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSingleSelected ] );\n\n\tconst canEditImage = id && naturalWidth && naturalHeight && imageEditing;\n\tconst allowCrop =\n\t\tisSingleSelected &&\n\t\tcanEditImage &&\n\t\t! isEditingImage &&\n\t\t! isContentOnlyMode;\n\n\tfunction switchToCover() {\n\t\treplaceBlocks(\n\t\t\tclientId,\n\t\t\tswitchToBlockType( getBlock( clientId ), 'core/cover' )\n\t\t);\n\t}\n\n\t// TODO: Can allow more units after figuring out how they should interact\n\t// with the ResizableBox and ImageEditor components. Calculations later on\n\t// for those components are currently assuming px units.\n\tconst dimensionsUnitsOptions = useCustomUnits( {\n\t\tavailableUnits: [ 'px' ],\n\t} );\n\n\tconst [ lightboxSetting ] = useSettings( 'lightbox' );\n\n\tconst showLightboxSetting =\n\t\t// If a block-level override is set, we should give users the option to\n\t\t// remove that override, even if the lightbox UI is disabled in the settings.\n\t\t( !! lightbox && lightbox?.enabled !== lightboxSetting?.enabled ) ||\n\t\tlightboxSetting?.allowEditing;\n\n\tconst lightboxChecked =\n\t\t!! lightbox?.enabled || ( ! lightbox && !! lightboxSetting?.enabled );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst dimensionsControl = (\n\t\t<DimensionsTool\n\t\t\tvalue={ { width, height, scale, aspectRatio } }\n\t\t\tonChange={ ( {\n\t\t\t\twidth: newWidth,\n\t\t\t\theight: newHeight,\n\t\t\t\tscale: newScale,\n\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t} ) => {\n\t\t\t\t// Rebuilding the object forces setting `undefined`\n\t\t\t\t// for values that are removed since setAttributes\n\t\t\t\t// doesn't do anything with keys that aren't set.\n\t\t\t\tsetAttributes( {\n\t\t\t\t\t// CSS includes `height: auto`, but we need\n\t\t\t\t\t// `width: auto` to fix the aspect ratio when\n\t\t\t\t\t// only height is set due to the width and\n\t\t\t\t\t// height attributes set via the server.\n\t\t\t\t\twidth: ! newWidth && newHeight ? 'auto' : newWidth,\n\t\t\t\t\theight: newHeight,\n\t\t\t\t\tscale: newScale,\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdefaultScale=\"cover\"\n\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\tscaleOptions={ scaleOptions }\n\t\t\tunitsOptions={ dimensionsUnitsOptions }\n\t\t/>\n\t);\n\n\tconst aspectRatioControl = (\n\t\t<DimensionsTool\n\t\t\tvalue={ { aspectRatio } }\n\t\t\tonChange={ ( { aspectRatio: newAspectRatio } ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t\tscale: 'cover',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\ttools={ [ 'aspectRatio' ] }\n\t\t/>\n\t);\n\n\tconst resetAll = () => {\n\t\tsetAttributes( {\n\t\t\talt: undefined,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tscale: undefined,\n\t\t\taspectRatio: undefined,\n\t\t\tlightbox: undefined,\n\t\t} );\n\t};\n\n\tconst sizeControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ resetAll }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ isResizable &&\n\t\t\t\t\t( parentLayoutType === 'grid'\n\t\t\t\t\t\t? aspectRatioControl\n\t\t\t\t\t\t: dimensionsControl ) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tconst arePatternOverridesEnabled =\n\t\tmetadata?.bindings?.__default?.source === 'core/pattern-overrides';\n\n\tconst {\n\t\tlockUrlControls = false,\n\t\tlockHrefControls = false,\n\t\tlockAltControls = false,\n\t\tlockAltControlsMessage,\n\t\tlockTitleControls = false,\n\t\tlockTitleControlsMessage,\n\t\tlockCaption = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst {\n\t\t\t\turl: urlBinding,\n\t\t\t\talt: altBinding,\n\t\t\t\ttitle: titleBinding,\n\t\t\t} = metadata?.bindings || {};\n\t\t\tconst hasParentPattern = !! context[ 'pattern/overrides' ];\n\t\t\tconst urlBindingSource = getBlockBindingsSource(\n\t\t\t\turlBinding?.source\n\t\t\t);\n\t\t\tconst altBindingSource = getBlockBindingsSource(\n\t\t\t\taltBinding?.source\n\t\t\t);\n\t\t\tconst titleBindingSource = getBlockBindingsSource(\n\t\t\t\ttitleBinding?.source\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! urlBinding &&\n\t\t\t\t\t! urlBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: urlBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockHrefControls:\n\t\t\t\t\t// Disable editing the link of the URL if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the link on the frontend.\n\t\t\t\t\thasParentPattern || arePatternOverridesEnabled,\n\t\t\t\tlockCaption:\n\t\t\t\t\t// Disable editing the caption if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the caption on the frontend.\n\t\t\t\t\thasParentPattern,\n\t\t\t\tlockAltControls:\n\t\t\t\t\t!! altBinding &&\n\t\t\t\t\t! altBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: altBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockAltControlsMessage: altBindingSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\taltBindingSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t\tlockTitleControls:\n\t\t\t\t\t!! titleBinding &&\n\t\t\t\t\t! titleBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: titleBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockTitleControlsMessage: titleBindingSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\ttitleBindingSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tarePatternOverridesEnabled,\n\t\t\tcontext,\n\t\t\tisSingleSelected,\n\t\t\tmetadata?.bindings,\n\t\t]\n\t);\n\n\tconst showUrlInput =\n\t\tisSingleSelected &&\n\t\t! isEditingImage &&\n\t\t! lockHrefControls &&\n\t\t! lockUrlControls;\n\n\tconst showCoverControls = isSingleSelected && canInsertCover;\n\n\tconst showBlockControls = showUrlInput || allowCrop || showCoverControls;\n\n\tconst mediaReplaceFlow = isSingleSelected &&\n\t\t! isEditingImage &&\n\t\t! lockUrlControls && (\n\t\t\t// For contentOnly mode, put this button in its own area so it has borders around it.\n\t\t\t<BlockControls group={ isContentOnlyMode ? 'inline' : 'other' }>\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tname={ ! url ? __( 'Add image' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ () => onSelectImage( undefined ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t{ showBlockControls && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t{ showUrlInput && (\n\t\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\t\tmediaUrl={ ( image && image.source_url ) || url }\n\t\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t\t\tshowLightboxSetting={ showLightboxSetting }\n\t\t\t\t\t\t\tlightboxEnabled={ lightboxChecked }\n\t\t\t\t\t\t\tonSetLightbox={ onSetLightbox }\n\t\t\t\t\t\t\tresetLightbox={ resetLightbox }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ allowCrop && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showCoverControls && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ overlayText }\n\t\t\t\t\t\t\tlabel={ __( 'Add text over image' ) }\n\t\t\t\t\t\t\tonClick={ switchToCover }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isSingleSelected && externalBlob && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ uploadExternal }\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tlabel={ __( 'Upload to Media Library' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isContentOnlyMode && (\n\t\t\t\t// Add some extra controls for content attributes when content only mode is active.\n\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t// to edit these attributes.\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ContentOnlyControls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tlockAltControls={ lockAltControls }\n\t\t\t\t\t\tlockAltControlsMessage={ lockAltControlsMessage }\n\t\t\t\t\t\tlockTitleControls={ lockTitleControls }\n\t\t\t\t\t\tlockTitleControlsMessage={ lockTitleControlsMessage }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ resetAll }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ isSingleSelected && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! alt }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { alt: undefined } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt || '' }\n\t\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\t\treadOnly={ lockAltControls }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isResizable &&\n\t\t\t\t\t\t( parentLayoutType === 'grid'\n\t\t\t\t\t\t\t? aspectRatioControl\n\t\t\t\t\t\t\t: dimensionsControl ) }\n\t\t\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t\t\t<ResolutionTool\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\treadOnly={ lockTitleControls }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t<>{ lockTitleControlsMessage }</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst filename = getFilename( url );\n\tlet defaultedAlt;\n\n\tif ( alt ) {\n\t\tdefaultedAlt = alt;\n\t} else if ( filename ) {\n\t\tdefaultedAlt = sprintf(\n\t\t\t/* translators: %s: file name */\n\t\t\t__( 'This image has an empty alt attribute; its file name is %s' ),\n\t\t\tfilename\n\t\t);\n\t} else {\n\t\tdefaultedAlt = __( 'This image has an empty alt attribute' );\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst isRounded = attributes.className?.includes( 'is-style-rounded' );\n\n\tconst { postType, postId, queryId } = context;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\n\tconst [ , setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tlet img =\n\t\ttemporaryURL && hasImageErrored ? (\n\t\t\t// Show a placeholder during upload when the blob URL can't be loaded. This can\n\t\t\t// happen when the user uploads a HEIC image in a browser that doesn't support them.\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"wp-block-image__placeholder\"\n\t\t\t\twithIllustration\n\t\t\t>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t) : (\n\t\t\t// Disable reason: Image itself is not meant to be interactive, but\n\t\t\t// should direct focus to block.\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\t\talt={ defaultedAlt }\n\t\t\t\t\tonError={ onImageError }\n\t\t\t\t\tonLoad={ onImageLoad }\n\t\t\t\t\tref={ imageRef }\n\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t( width && height ) || aspectRatio\n\t\t\t\t\t\t\t\t? '100%'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t( width && height ) || aspectRatio\n\t\t\t\t\t\t\t\t? '100%'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t</>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\n\tif ( canEditImage && isEditingImage ) {\n\t\timg = (\n\t\t\t<ImageWrapper href={ href }>\n\t\t\t\t<ImageEditor\n\t\t\t\t\tid={ id }\n\t\t\t\t\turl={ url }\n\t\t\t\t\twidth={ numericWidth }\n\t\t\t\t\theight={ numericHeight }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t\tonSaveImage={ ( imageAttributes ) =>\n\t\t\t\t\t\tsetAttributes( imageAttributes )\n\t\t\t\t\t}\n\t\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t\t} }\n\t\t\t\t\tborderProps={ isRounded ? undefined : borderProps }\n\t\t\t\t/>\n\t\t\t</ImageWrapper>\n\t\t);\n\t} else if ( ! isResizable || parentLayoutType === 'grid' ) {\n\t\timg = (\n\t\t\t<div style={ { width, height, aspectRatio } }>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\tconst numericRatio = aspectRatio && evalAspectRatio( aspectRatio );\n\t\tconst customRatio = numericWidth / numericHeight;\n\t\tconst naturalRatio = naturalWidth / naturalHeight;\n\t\tconst ratio = numericRatio || customRatio || naturalRatio || 1;\n\t\tconst currentWidth =\n\t\t\t! numericWidth && numericHeight\n\t\t\t\t? numericHeight * ratio\n\t\t\t\t: numericWidth;\n\t\tconst currentHeight =\n\t\t\t! numericHeight && numericWidth\n\t\t\t\t? numericWidth / ratio\n\t\t\t\t: numericHeight;\n\n\t\tconst minWidth =\n\t\t\tnaturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\t\tconst minHeight =\n\t\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t\t// With the current implementation of ResizableBox, an image needs an\n\t\t// explicit pixel value for the max-width. In absence of being able to\n\t\t// set the content-width, this max-width is currently dictated by the\n\t\t// vanilla editor style. The following variable adds a buffer to this\n\t\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t\t// in most cases, allow you to scale the image beyond the width of the\n\t\t// main column, though not infinitely.\n\t\t// @todo It would be good to revisit this once a content-width variable\n\t\t// becomes available.\n\t\tconst maxWidthBuffer = maxWidth * 2.5;\n\t\tconst maxResizeWidth = maxContentWidth || maxWidthBuffer;\n\n\t\tlet showRightHandle = false;\n\t\tlet showLeftHandle = false;\n\n\t\t/* eslint-disable no-lonely-if */\n\t\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\t\tif ( align === 'center' ) {\n\t\t\t// When the image is centered, show both handles.\n\t\t\tshowRightHandle = true;\n\t\t\tshowLeftHandle = true;\n\t\t} else if ( isRTL() ) {\n\t\t\t// In RTL mode the image is on the right by default.\n\t\t\t// Show the right handle and hide the left handle only when it is\n\t\t\t// aligned left. Otherwise always show the left handle.\n\t\t\tif ( align === 'left' ) {\n\t\t\t\tshowRightHandle = true;\n\t\t\t} else {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the left handle and hide the right handle only when the\n\t\t\t// image is aligned right. Otherwise always show the right handle.\n\t\t\tif ( align === 'right' ) {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t} else {\n\t\t\t\tshowRightHandle = true;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-lonely-if */\n\t\timg = (\n\t\t\t<ResizableBox\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! width && ! height && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t} }\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth ?? 'auto',\n\t\t\t\t\theight: currentHeight ?? 'auto',\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSingleSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxResizeWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxResizeWidth / ratio }\n\t\t\t\tlockAspectRatio={ ratio }\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt ) => {\n\t\t\t\t\tonResizeStop();\n\n\t\t\t\t\t// Clear hardcoded width if the resized width is close to the max-content width.\n\t\t\t\t\tif (\n\t\t\t\t\t\tmaxContentWidth &&\n\t\t\t\t\t\t// Only do this if the image is bigger than the container to prevent it from being squished.\n\t\t\t\t\t\t// TODO: Remove this check if the image support setting 100% width.\n\t\t\t\t\t\tnaturalWidth >= maxContentWidth &&\n\t\t\t\t\t\tMath.abs( elt.offsetWidth - maxContentWidth ) < 10\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\theight: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Since the aspect ratio is locked when resizing, we can\n\t\t\t\t\t// use the width of the resized element to calculate the\n\t\t\t\t\t// height in CSS to prevent stretching when the max-width\n\t\t\t\t\t// is reached.\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: `${ elt.offsetWidth }px`,\n\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t\tratio === naturalRatio\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: String( ratio ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tresizeRatio={ align === 'center' ? 2 : 1 }\n\t\t\t>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\tif ( ! url && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaReplaceFlow }\n\t\t\t\t{ /* Add all controls if the image attributes are connected. */ }\n\t\t\t\t{ metadata?.bindings ? controls : sizeControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Set the post's featured image with the current image.\n\t */\n\tconst setPostFeatureImage = () => {\n\t\tsetFeaturedImage( id );\n\t\tcreateSuccessNotice( __( 'Post featured image updated.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst featuredImageControl = (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { selectedClientIds } ) =>\n\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t! isDescendentOfQueryLoop &&\n\t\t\t\tpostId &&\n\t\t\t\tid &&\n\t\t\t\tclientId === selectedClientIds[ 0 ] && (\n\t\t\t\t\t<MenuItem onClick={ setPostFeatureImage }>\n\t\t\t\t\t\t{ __( 'Set featured image' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t)\n\t\t\t}\n\t\t</BlockSettingsMenuControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ mediaReplaceFlow }\n\t\t\t{ controls }\n\t\t\t{ featuredImageControl }\n\t\t\t{ img }\n\n\t\t\t<Caption\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tlabel={ __( 'Image caption text' ) }\n\t\t\t\tshowToolbarButton={\n\t\t\t\t\tisSingleSelected &&\n\t\t\t\t\thasNonContentControls &&\n\t\t\t\t\t! arePatternOverridesEnabled\n\t\t\t\t}\n\t\t\t\treadOnly={ lockCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isBlobURL","ExternalLink","ResizableBox","Spinner","TextareaControl","TextControl","ToolbarButton","ToolbarGroup","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUseCustomUnits","useCustomUnits","Placeholder","MenuItem","ToolbarItem","DropdownMenu","Popover","useViewportMatch","useSelect","useDispatch","BlockControls","InspectorControls","__experimentalImageURLInputUI","ImageURLInputUI","MediaReplaceFlow","store","blockEditorStore","useSettings","__experimentalImageEditor","ImageEditor","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","privateApis","blockEditorPrivateApis","BlockSettingsMenuControls","useEffect","useMemo","useState","useRef","__","_x","sprintf","isRTL","getFilename","getBlockBindingsSource","switchToBlockType","crop","overlayText","upload","chevronDown","noticesStore","coreStore","useEntityProp","unlock","createUpgradedEmbedBlock","isExternalImage","Caption","useToolsPanelDropdownMenuProps","MIN_SIZE","ALLOWED_MEDIA_TYPES","evalAspectRatio","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DimensionsTool","ResolutionTool","scaleOptions","value","label","help","WRITEMODE_POPOVER_PROPS","placement","ImageWrapper","href","children","onClick","event","preventDefault","style","pointerEvents","cursor","display","ContentOnlyControls","attributes","setAttributes","lockAltControls","lockAltControlsMessage","lockTitleControls","lockTitleControlsMessage","popoverAnchor","setPopoverAnchor","isAltDialogOpen","setIsAltDialogOpen","isTitleDialogOpen","setIsTitleDialogOpen","ref","toggleProps","icon","description","popoverProps","onClose","anchor","offset","variant","className","alt","onChange","disabled","__nextHasNoMarginBottom","__next40pxDefaultSize","title","Image","temporaryURL","isSingleSelected","insertBlocksAfter","onReplace","onSelectImage","onSelectURL","onUploadError","context","clientId","blockEditingMode","parentLayoutType","maxContentWidth","url","align","id","rel","linkClass","linkDestination","width","height","aspectRatio","scale","linkTarget","sizeSlug","lightbox","metadata","numericWidth","parseInt","undefined","numericHeight","imageRef","allowResize","getBlock","getSettings","image","select","getMedia","canInsertCover","imageEditing","imageSizes","maxWidth","getBlockRootClientId","canInsertBlockType","rootClientId","settings","replaceBlocks","toggleSelection","createErrorNotice","createSuccessNotice","isLargeViewport","isWideAligned","includes","loadedNaturalWidth","loadedNaturalHeight","setLoadedNaturalSize","isEditingImage","setIsEditingImage","externalBlob","setExternalBlob","hasImageErrored","setHasImageErrored","hasNonContentControls","isContentOnlyMode","isResizable","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","mediaUpload","window","fetch","then","response","blob","catch","naturalWidth","naturalHeight","current","complete","onResizeStart","onResizeStop","onImageError","embedBlock","onImageLoad","target","onSetHref","props","onSetLightbox","enable","lightboxSetting","enabled","resetLightbox","allowEditing","onSetTitle","updateAlt","newAlt","updateImage","newSizeSlug","newUrl","uploadExternal","filesList","onFileChange","img","type","allowedTypes","onError","message","canEditImage","allowCrop","switchToCover","dimensionsUnitsOptions","availableUnits","showLightboxSetting","lightboxChecked","dropdownMenuProps","dimensionsControl","newWidth","newHeight","newScale","newAspectRatio","defaultScale","defaultAspectRatio","unitsOptions","aspectRatioControl","tools","resetAll","sizeControls","arePatternOverridesEnabled","bindings","__default","source","lockUrlControls","lockHrefControls","lockCaption","urlBinding","altBinding","titleBinding","hasParentPattern","urlBindingSource","altBindingSource","titleBindingSource","canUserEditValue","args","showUrlInput","showCoverControls","showBlockControls","mediaReplaceFlow","group","mediaId","mediaURL","accept","onSelect","onReset","controls","onChangeUrl","mediaUrl","mediaLink","link","lightboxEnabled","isShownByDefault","hasValue","onDeselect","readOnly","length","options","filename","defaultedAlt","borderProps","shadowProps","isRounded","postType","postId","queryId","isDescendentOfQueryLoop","Number","isFinite","setFeaturedImage","withIllustration","src","onLoad","objectFit","onSaveImage","imageAttributes","onFinishEditing","numericRatio","customRatio","naturalRatio","ratio","currentWidth","currentHeight","minWidth","minHeight","maxWidthBuffer","maxResizeWidth","showRightHandle","showLeftHandle","size","showHandle","maxHeight","lockAspectRatio","top","right","bottom","left","direction","elt","Math","abs","offsetWidth","String","resizeRatio","setPostFeatureImage","featuredImageControl","selectedClientIds","isSelected","showToolbarButton"],"sources":["@wordpress/block-library/src/image/image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tExternalLink,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\tPlaceholder,\n\tMenuItem,\n\tToolbarItem,\n\tDropdownMenu,\n\tPopover,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tprivateApis as blockEditorPrivateApis,\n\tBlockSettingsMenuControls,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo, useState, useRef } from '@wordpress/element';\nimport { __, _x, sprintf, isRTL } from '@wordpress/i18n';\nimport { getFilename } from '@wordpress/url';\nimport { getBlockBindingsSource, switchToBlockType } from '@wordpress/blocks';\nimport { crop, overlayText, upload, chevronDown } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { isExternalImage } from './edit';\nimport { Caption } from '../utils/caption';\n\n/**\n * Module constants\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';\nimport { evalAspectRatio } from './utils';\n\nconst { DimensionsTool, ResolutionTool } = unlock( blockEditorPrivateApis );\n\nconst scaleOptions = [\n\t{\n\t\tvalue: 'cover',\n\t\tlabel: _x( 'Cover', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image covers the space evenly.' ),\n\t},\n\t{\n\t\tvalue: 'contain',\n\t\tlabel: _x( 'Contain', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image is contained without distortion.' ),\n\t},\n];\n\nconst WRITEMODE_POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\n// If the image has a href, wrap in an <a /> tag to trigger any inherited link element styles.\nconst ImageWrapper = ( { href, children } ) => {\n\tif ( ! href ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<a\n\t\t\thref={ href }\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\taria-disabled\n\t\t\tstyle={ {\n\t\t\t\t// When the Image block is linked,\n\t\t\t\t// it's wrapped with a disabled <a /> tag.\n\t\t\t\t// Restore cursor style so it doesn't appear 'clickable'\n\t\t\t\t// and remove pointer events. Safari needs the display property.\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tcursor: 'default',\n\t\t\t\tdisplay: 'inline',\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</a>\n\t);\n};\n\nfunction ContentOnlyControls( {\n\tattributes,\n\tsetAttributes,\n\tlockAltControls,\n\tlockAltControlsMessage,\n\tlockTitleControls,\n\tlockTitleControlsMessage,\n} ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isAltDialogOpen, setIsAltDialogOpen ] = useState( false );\n\tconst [ isTitleDialogOpen, setIsTitleDialogOpen ] = useState( false );\n\treturn (\n\t\t<>\n\t\t\t<ToolbarItem ref={ setPopoverAnchor }>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'More' ) }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t\tdescription: __( 'Displays more controls.' ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpopoverProps={ WRITEMODE_POPOVER_PROPS }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsAltDialogOpen( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ _x(\n\t\t\t\t\t\t\t\t\t\t'Alternative text',\n\t\t\t\t\t\t\t\t\t\t'Alternative text for an image. Block toolbar label, a low character count is preferred.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsTitleDialogOpen( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Title text' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t\t{ isAltDialogOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tonClose={ () => setIsAltDialogOpen( false ) }\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-image__toolbar_content_textarea__container\">\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tvalue={ attributes.alt || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { alt: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ lockAltControls }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t{ isTitleDialogOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tonClose={ () => setIsTitleDialogOpen( false ) }\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-image__toolbar_content_textarea__container\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\t\tvalue={ attributes.title || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\ttitle: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ lockTitleControls }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t\t\t<>{ lockTitleControlsMessage }</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\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/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function Image( {\n\ttemporaryURL,\n\tattributes,\n\tsetAttributes,\n\tisSingleSelected,\n\tinsertBlocksAfter,\n\tonReplace,\n\tonSelectImage,\n\tonSelectURL,\n\tonUploadError,\n\tcontext,\n\tclientId,\n\tblockEditingMode,\n\tparentLayoutType,\n\tmaxContentWidth,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\talign,\n\t\tid,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\ttitle,\n\t\twidth,\n\t\theight,\n\t\taspectRatio,\n\t\tscale,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t\tlightbox,\n\t\tmetadata,\n\t} = attributes;\n\n\t// The only supported unit is px, so we can parseInt to strip the px here.\n\tconst numericWidth = width ? parseInt( width, 10 ) : undefined;\n\tconst numericHeight = height ? parseInt( height, 10 ) : undefined;\n\n\tconst imageRef = useRef();\n\tconst { allowResize = true } = context;\n\tconst { getBlock, getSettings } = useSelect( blockEditorStore );\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tid && isSingleSelected\n\t\t\t\t? select( coreStore ).getMedia( id, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ id, isSingleSelected ]\n\t);\n\n\tconst { canInsertCover, imageEditing, imageSizes, maxWidth } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\timageEditing: settings.imageEditing,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmaxWidth: settings.maxWidth,\n\t\t\t\tcanInsertCover: canInsertBlockType(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst [\n\t\t{ loadedNaturalWidth, loadedNaturalHeight },\n\t\tsetLoadedNaturalSize,\n\t] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst [ externalBlob, setExternalBlob ] = useState();\n\tconst [ hasImageErrored, setHasImageErrored ] = useState( false );\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\tconst isResizable =\n\t\tallowResize &&\n\t\thasNonContentControls &&\n\t\t! isWideAligned &&\n\t\tisLargeViewport;\n\tconst imageSizeOptions = imageSizes\n\t\t.filter(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\t// If an image is externally hosted, try to fetch the image data. This may\n\t// fail if the image host doesn't allow CORS with the domain. If it works,\n\t// we can enable a button in the toolbar to upload the image.\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! isExternalImage( id, url ) ||\n\t\t\t! isSingleSelected ||\n\t\t\t! getSettings().mediaUpload\n\t\t) {\n\t\t\tsetExternalBlob();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( externalBlob ) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow\n\t\t\t// Avoid cache, which seems to help avoid CORS problems.\n\t\t\t.fetch( url.includes( '?' ) ? url : url + '?' )\n\t\t\t.then( ( response ) => response.blob() )\n\t\t\t.then( ( blob ) => setExternalBlob( blob ) )\n\t\t\t// Do nothing, cannot upload.\n\t\t\t.catch( () => {} );\n\t}, [ id, url, isSingleSelected, externalBlob ] );\n\n\t// Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural\n\t// width and height. This resolves an issue in Safari where the loaded natural\n\t// width and height is otherwise lost when switching between alignments.\n\t// See: https://github.com/WordPress/gutenberg/pull/37210.\n\tconst { naturalWidth, naturalHeight } = useMemo( () => {\n\t\treturn {\n\t\t\tnaturalWidth:\n\t\t\t\timageRef.current?.naturalWidth ||\n\t\t\t\tloadedNaturalWidth ||\n\t\t\t\tundefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageRef.current?.naturalHeight ||\n\t\t\t\tloadedNaturalHeight ||\n\t\t\t\tundefined,\n\t\t};\n\t}, [\n\t\tloadedNaturalWidth,\n\t\tloadedNaturalHeight,\n\t\timageRef.current?.complete,\n\t] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tfunction onImageError() {\n\t\tsetHasImageErrored( true );\n\n\t\t// Check if there's an embed block that handles this URL, e.g., instagram URL.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/11472\n\t\tconst embedBlock = createUpgradedEmbedBlock( { attributes: { url } } );\n\t\tif ( undefined !== embedBlock ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onImageLoad( event ) {\n\t\tsetHasImageErrored( false );\n\t\tsetLoadedNaturalSize( {\n\t\t\tloadedNaturalWidth: event.target?.naturalWidth,\n\t\t\tloadedNaturalHeight: event.target?.naturalHeight,\n\t\t} );\n\t}\n\n\tfunction onSetHref( props ) {\n\t\tsetAttributes( props );\n\t}\n\n\tfunction onSetLightbox( enable ) {\n\t\tif ( enable && ! lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: true },\n\t\t\t} );\n\t\t} else if ( ! enable && lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: false },\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction resetLightbox() {\n\t\t// When deleting a link from an image while lightbox settings\n\t\t// are enabled by default, we should disable the lightbox,\n\t\t// otherwise the resulting UX looks like a mistake.\n\t\t// See https://github.com/WordPress/gutenberg/pull/59890/files#r1532286123.\n\t\tif ( lightboxSetting?.enabled && lightboxSetting?.allowEditing ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: false },\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction onSetTitle( value ) {\n\t\t// This is the HTML title attribute, separate from the media object\n\t\t// title.\n\t\tsetAttributes( { title: value } );\n\t}\n\n\tfunction updateAlt( newAlt ) {\n\t\tsetAttributes( { alt: newAlt } );\n\t}\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl = image?.media_details?.sizes?.[ newSizeSlug ]?.source_url;\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tfunction uploadExternal() {\n\t\tconst { mediaUpload } = getSettings();\n\t\tif ( ! mediaUpload ) {\n\t\t\treturn;\n\t\t}\n\t\tmediaUpload( {\n\t\t\tfilesList: [ externalBlob ],\n\t\t\tonFileChange( [ img ] ) {\n\t\t\t\tonSelectImage( img );\n\n\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetExternalBlob();\n\t\t\t\tcreateSuccessNotice( __( 'Image uploaded.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t},\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSingleSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSingleSelected ] );\n\n\tconst canEditImage = id && naturalWidth && naturalHeight && imageEditing;\n\tconst allowCrop =\n\t\tisSingleSelected &&\n\t\tcanEditImage &&\n\t\t! isEditingImage &&\n\t\t! isContentOnlyMode;\n\n\tfunction switchToCover() {\n\t\treplaceBlocks(\n\t\t\tclientId,\n\t\t\tswitchToBlockType( getBlock( clientId ), 'core/cover' )\n\t\t);\n\t}\n\n\t// TODO: Can allow more units after figuring out how they should interact\n\t// with the ResizableBox and ImageEditor components. Calculations later on\n\t// for those components are currently assuming px units.\n\tconst dimensionsUnitsOptions = useCustomUnits( {\n\t\tavailableUnits: [ 'px' ],\n\t} );\n\n\tconst [ lightboxSetting ] = useSettings( 'lightbox' );\n\n\tconst showLightboxSetting =\n\t\t// If a block-level override is set, we should give users the option to\n\t\t// remove that override, even if the lightbox UI is disabled in the settings.\n\t\t( !! lightbox && lightbox?.enabled !== lightboxSetting?.enabled ) ||\n\t\tlightboxSetting?.allowEditing;\n\n\tconst lightboxChecked =\n\t\t!! lightbox?.enabled || ( ! lightbox && !! lightboxSetting?.enabled );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst dimensionsControl = (\n\t\t<DimensionsTool\n\t\t\tvalue={ { width, height, scale, aspectRatio } }\n\t\t\tonChange={ ( {\n\t\t\t\twidth: newWidth,\n\t\t\t\theight: newHeight,\n\t\t\t\tscale: newScale,\n\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t} ) => {\n\t\t\t\t// Rebuilding the object forces setting `undefined`\n\t\t\t\t// for values that are removed since setAttributes\n\t\t\t\t// doesn't do anything with keys that aren't set.\n\t\t\t\tsetAttributes( {\n\t\t\t\t\t// CSS includes `height: auto`, but we need\n\t\t\t\t\t// `width: auto` to fix the aspect ratio when\n\t\t\t\t\t// only height is set due to the width and\n\t\t\t\t\t// height attributes set via the server.\n\t\t\t\t\twidth: ! newWidth && newHeight ? 'auto' : newWidth,\n\t\t\t\t\theight: newHeight,\n\t\t\t\t\tscale: newScale,\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdefaultScale=\"cover\"\n\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\tscaleOptions={ scaleOptions }\n\t\t\tunitsOptions={ dimensionsUnitsOptions }\n\t\t/>\n\t);\n\n\tconst aspectRatioControl = (\n\t\t<DimensionsTool\n\t\t\tvalue={ { aspectRatio } }\n\t\t\tonChange={ ( { aspectRatio: newAspectRatio } ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t\tscale: 'cover',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\ttools={ [ 'aspectRatio' ] }\n\t\t/>\n\t);\n\n\tconst resetAll = () => {\n\t\tsetAttributes( {\n\t\t\talt: undefined,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tscale: undefined,\n\t\t\taspectRatio: undefined,\n\t\t\tlightbox: undefined,\n\t\t} );\n\t};\n\n\tconst sizeControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ resetAll }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ isResizable &&\n\t\t\t\t\t( parentLayoutType === 'grid'\n\t\t\t\t\t\t? aspectRatioControl\n\t\t\t\t\t\t: dimensionsControl ) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tconst arePatternOverridesEnabled =\n\t\tmetadata?.bindings?.__default?.source === 'core/pattern-overrides';\n\n\tconst {\n\t\tlockUrlControls = false,\n\t\tlockHrefControls = false,\n\t\tlockAltControls = false,\n\t\tlockAltControlsMessage,\n\t\tlockTitleControls = false,\n\t\tlockTitleControlsMessage,\n\t\tlockCaption = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst {\n\t\t\t\turl: urlBinding,\n\t\t\t\talt: altBinding,\n\t\t\t\ttitle: titleBinding,\n\t\t\t} = metadata?.bindings || {};\n\t\t\tconst hasParentPattern = !! context[ 'pattern/overrides' ];\n\t\t\tconst urlBindingSource = getBlockBindingsSource(\n\t\t\t\turlBinding?.source\n\t\t\t);\n\t\t\tconst altBindingSource = getBlockBindingsSource(\n\t\t\t\taltBinding?.source\n\t\t\t);\n\t\t\tconst titleBindingSource = getBlockBindingsSource(\n\t\t\t\ttitleBinding?.source\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! urlBinding &&\n\t\t\t\t\t! urlBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: urlBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockHrefControls:\n\t\t\t\t\t// Disable editing the link of the URL if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the link on the frontend.\n\t\t\t\t\thasParentPattern || arePatternOverridesEnabled,\n\t\t\t\tlockCaption:\n\t\t\t\t\t// Disable editing the caption if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the caption on the frontend.\n\t\t\t\t\thasParentPattern,\n\t\t\t\tlockAltControls:\n\t\t\t\t\t!! altBinding &&\n\t\t\t\t\t! altBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: altBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockAltControlsMessage: altBindingSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\taltBindingSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t\tlockTitleControls:\n\t\t\t\t\t!! titleBinding &&\n\t\t\t\t\t! titleBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: titleBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockTitleControlsMessage: titleBindingSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\ttitleBindingSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tarePatternOverridesEnabled,\n\t\t\tcontext,\n\t\t\tisSingleSelected,\n\t\t\tmetadata?.bindings,\n\t\t]\n\t);\n\n\tconst showUrlInput =\n\t\tisSingleSelected &&\n\t\t! isEditingImage &&\n\t\t! lockHrefControls &&\n\t\t! lockUrlControls;\n\n\tconst showCoverControls = isSingleSelected && canInsertCover;\n\n\tconst showBlockControls = showUrlInput || allowCrop || showCoverControls;\n\n\tconst mediaReplaceFlow = isSingleSelected &&\n\t\t! isEditingImage &&\n\t\t! lockUrlControls && (\n\t\t\t// For contentOnly mode, put this button in its own area so it has borders around it.\n\t\t\t<BlockControls group={ isContentOnlyMode ? 'inline' : 'other' }>\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tname={ ! url ? __( 'Add image' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ () => onSelectImage( undefined ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t{ showBlockControls && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t{ showUrlInput && (\n\t\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\t\tmediaUrl={ ( image && image.source_url ) || url }\n\t\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t\t\tshowLightboxSetting={ showLightboxSetting }\n\t\t\t\t\t\t\tlightboxEnabled={ lightboxChecked }\n\t\t\t\t\t\t\tonSetLightbox={ onSetLightbox }\n\t\t\t\t\t\t\tresetLightbox={ resetLightbox }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ allowCrop && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showCoverControls && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ overlayText }\n\t\t\t\t\t\t\tlabel={ __( 'Add text over image' ) }\n\t\t\t\t\t\t\tonClick={ switchToCover }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isSingleSelected && externalBlob && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ uploadExternal }\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tlabel={ __( 'Upload to Media Library' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isContentOnlyMode && (\n\t\t\t\t// Add some extra controls for content attributes when content only mode is active.\n\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t// to edit these attributes.\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ContentOnlyControls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tlockAltControls={ lockAltControls }\n\t\t\t\t\t\tlockAltControlsMessage={ lockAltControlsMessage }\n\t\t\t\t\t\tlockTitleControls={ lockTitleControls }\n\t\t\t\t\t\tlockTitleControlsMessage={ lockTitleControlsMessage }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ resetAll }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ isSingleSelected && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! alt }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { alt: undefined } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt || '' }\n\t\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\t\treadOnly={ lockAltControls }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isResizable &&\n\t\t\t\t\t\t( parentLayoutType === 'grid'\n\t\t\t\t\t\t\t? aspectRatioControl\n\t\t\t\t\t\t\t: dimensionsControl ) }\n\t\t\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t\t\t<ResolutionTool\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\treadOnly={ lockTitleControls }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t<>{ lockTitleControlsMessage }</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst filename = getFilename( url );\n\tlet defaultedAlt;\n\n\tif ( alt ) {\n\t\tdefaultedAlt = alt;\n\t} else if ( filename ) {\n\t\tdefaultedAlt = sprintf(\n\t\t\t/* translators: %s: file name */\n\t\t\t__( 'This image has an empty alt attribute; its file name is %s' ),\n\t\t\tfilename\n\t\t);\n\t} else {\n\t\tdefaultedAlt = __( 'This image has an empty alt attribute' );\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst isRounded = attributes.className?.includes( 'is-style-rounded' );\n\n\tconst { postType, postId, queryId } = context;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\n\tconst [ , setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tlet img =\n\t\ttemporaryURL && hasImageErrored ? (\n\t\t\t// Show a placeholder during upload when the blob URL can't be loaded. This can\n\t\t\t// happen when the user uploads a HEIC image in a browser that doesn't support them.\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"wp-block-image__placeholder\"\n\t\t\t\twithIllustration\n\t\t\t>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t) : (\n\t\t\t// Disable reason: Image itself is not meant to be interactive, but\n\t\t\t// should direct focus to block.\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\t\talt={ defaultedAlt }\n\t\t\t\t\tonError={ onImageError }\n\t\t\t\t\tonLoad={ onImageLoad }\n\t\t\t\t\tref={ imageRef }\n\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t( width && height ) || aspectRatio\n\t\t\t\t\t\t\t\t? '100%'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t( width && height ) || aspectRatio\n\t\t\t\t\t\t\t\t? '100%'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t</>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\n\tif ( canEditImage && isEditingImage ) {\n\t\timg = (\n\t\t\t<ImageWrapper href={ href }>\n\t\t\t\t<ImageEditor\n\t\t\t\t\tid={ id }\n\t\t\t\t\turl={ url }\n\t\t\t\t\twidth={ numericWidth }\n\t\t\t\t\theight={ numericHeight }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t\tonSaveImage={ ( imageAttributes ) =>\n\t\t\t\t\t\tsetAttributes( imageAttributes )\n\t\t\t\t\t}\n\t\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t\t} }\n\t\t\t\t\tborderProps={ isRounded ? undefined : borderProps }\n\t\t\t\t/>\n\t\t\t</ImageWrapper>\n\t\t);\n\t} else if ( ! isResizable || parentLayoutType === 'grid' ) {\n\t\timg = (\n\t\t\t<div style={ { width, height, aspectRatio } }>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\tconst numericRatio = aspectRatio && evalAspectRatio( aspectRatio );\n\t\tconst customRatio = numericWidth / numericHeight;\n\t\tconst naturalRatio = naturalWidth / naturalHeight;\n\t\tconst ratio = numericRatio || customRatio || naturalRatio || 1;\n\t\tconst currentWidth =\n\t\t\t! numericWidth && numericHeight\n\t\t\t\t? numericHeight * ratio\n\t\t\t\t: numericWidth;\n\t\tconst currentHeight =\n\t\t\t! numericHeight && numericWidth\n\t\t\t\t? numericWidth / ratio\n\t\t\t\t: numericHeight;\n\n\t\tconst minWidth =\n\t\t\tnaturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\t\tconst minHeight =\n\t\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t\t// With the current implementation of ResizableBox, an image needs an\n\t\t// explicit pixel value for the max-width. In absence of being able to\n\t\t// set the content-width, this max-width is currently dictated by the\n\t\t// vanilla editor style. The following variable adds a buffer to this\n\t\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t\t// in most cases, allow you to scale the image beyond the width of the\n\t\t// main column, though not infinitely.\n\t\t// @todo It would be good to revisit this once a content-width variable\n\t\t// becomes available.\n\t\tconst maxWidthBuffer = maxWidth * 2.5;\n\t\tconst maxResizeWidth = maxContentWidth || maxWidthBuffer;\n\n\t\tlet showRightHandle = false;\n\t\tlet showLeftHandle = false;\n\n\t\t/* eslint-disable no-lonely-if */\n\t\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\t\tif ( align === 'center' ) {\n\t\t\t// When the image is centered, show both handles.\n\t\t\tshowRightHandle = true;\n\t\t\tshowLeftHandle = true;\n\t\t} else if ( isRTL() ) {\n\t\t\t// In RTL mode the image is on the right by default.\n\t\t\t// Show the right handle and hide the left handle only when it is\n\t\t\t// aligned left. Otherwise always show the left handle.\n\t\t\tif ( align === 'left' ) {\n\t\t\t\tshowRightHandle = true;\n\t\t\t} else {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the left handle and hide the right handle only when the\n\t\t\t// image is aligned right. Otherwise always show the right handle.\n\t\t\tif ( align === 'right' ) {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t} else {\n\t\t\t\tshowRightHandle = true;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-lonely-if */\n\t\timg = (\n\t\t\t<ResizableBox\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! width && ! height && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t} }\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth ?? 'auto',\n\t\t\t\t\theight: currentHeight ?? 'auto',\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSingleSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxResizeWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxResizeWidth / ratio }\n\t\t\t\tlockAspectRatio={ ratio }\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt ) => {\n\t\t\t\t\tonResizeStop();\n\n\t\t\t\t\t// Clear hardcoded width if the resized width is close to the max-content width.\n\t\t\t\t\tif (\n\t\t\t\t\t\tmaxContentWidth &&\n\t\t\t\t\t\t// Only do this if the image is bigger than the container to prevent it from being squished.\n\t\t\t\t\t\t// TODO: Remove this check if the image support setting 100% width.\n\t\t\t\t\t\tnaturalWidth >= maxContentWidth &&\n\t\t\t\t\t\tMath.abs( elt.offsetWidth - maxContentWidth ) < 10\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\theight: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Since the aspect ratio is locked when resizing, we can\n\t\t\t\t\t// use the width of the resized element to calculate the\n\t\t\t\t\t// height in CSS to prevent stretching when the max-width\n\t\t\t\t\t// is reached.\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: `${ elt.offsetWidth }px`,\n\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t\tratio === naturalRatio\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: String( ratio ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tresizeRatio={ align === 'center' ? 2 : 1 }\n\t\t\t>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\tif ( ! url && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaReplaceFlow }\n\t\t\t\t{ /* Add all controls if the image attributes are connected. */ }\n\t\t\t\t{ metadata?.bindings ? controls : sizeControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Set the post's featured image with the current image.\n\t */\n\tconst setPostFeatureImage = () => {\n\t\tsetFeaturedImage( id );\n\t\tcreateSuccessNotice( __( 'Post featured image updated.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst featuredImageControl = (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { selectedClientIds } ) =>\n\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t! isDescendentOfQueryLoop &&\n\t\t\t\tpostId &&\n\t\t\t\tid &&\n\t\t\t\tclientId === selectedClientIds[ 0 ] && (\n\t\t\t\t\t<MenuItem onClick={ setPostFeatureImage }>\n\t\t\t\t\t\t{ __( 'Set as featured image' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t)\n\t\t\t}\n\t\t</BlockSettingsMenuControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ mediaReplaceFlow }\n\t\t\t{ controls }\n\t\t\t{ featuredImageControl }\n\t\t\t{ img }\n\n\t\t\t<Caption\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tlabel={ __( 'Image caption text' ) }\n\t\t\t\tshowToolbarButton={\n\t\t\t\t\tisSingleSelected &&\n\t\t\t\t\thasNonContentControls &&\n\t\t\t\t\t! arePatternOverridesEnabled\n\t\t\t\t}\n\t\t\t\treadOnly={ lockCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlobURL","isBlobURL","createBlock","getBlockAttributes","stripFirstImage","attributes","shortcode","body","document","implementation","createHTMLDocument","innerHTML","content","nodeToRemove","querySelector","parentNode","removeChild","trim","getFirstAnchorAttributeFormHTML","html","attributeName","firstElementChild","nodeName","getAttribute","undefined","imageSchema","img","classes","schema","phrasingContentSchema","figure","require","children","a","figcaption","transforms","from","type","isMatch","node","transform","className","alignMatches","exec","anchor","id","align","idMatches","Number","anchorElement","linkDestination","href","rel","linkClass","outerHTML","url","blob","files","every","file","indexOf","blocks","map","tag","source","attribute","selector","alt","caption","named","parseInt","replace"],"sources":["@wordpress/block-library/src/image/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\nexport function stripFirstImage( attributes, { shortcode } ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = shortcode.content;\n\n\tlet nodeToRemove = body.querySelector( 'img' );\n\n\t// If an image has parents, find the topmost node to remove.\n\twhile (\n\t\tnodeToRemove &&\n\t\tnodeToRemove.parentNode &&\n\t\tnodeToRemove.parentNode !== body\n\t) {\n\t\tnodeToRemove = nodeToRemove.parentNode;\n\t}\n\n\tif ( nodeToRemove ) {\n\t\tnodeToRemove.parentNode.removeChild( nodeToRemove );\n\t}\n\n\treturn body.innerHTML.trim();\n}\n\nfunction getFirstAnchorAttributeFormHTML( html, attributeName ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = html;\n\n\tconst { firstElementChild } = body;\n\n\tif ( firstElementChild && firstElementChild.nodeName === 'A' ) {\n\t\treturn firstElementChild.getAttribute( attributeName ) || undefined;\n\t}\n}\n\nconst imageSchema = {\n\timg: {\n\t\tattributes: [ 'src', 'alt', 'title' ],\n\t\tclasses: [\n\t\t\t'alignleft',\n\t\t\t'aligncenter',\n\t\t\t'alignright',\n\t\t\t'alignnone',\n\t\t\t/^wp-image-\\d+$/,\n\t\t],\n\t},\n};\n\nconst schema = ( { phrasingContentSchema } ) => ( {\n\tfigure: {\n\t\trequire: [ 'img' ],\n\t\tchildren: {\n\t\t\t...imageSchema,\n\t\t\ta: {\n\t\t\t\tattributes: [ 'href', 'rel', 'target' ],\n\t\t\t\tchildren: imageSchema,\n\t\t\t},\n\t\t\tfigcaption: {\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'FIGURE' && !! node.querySelector( 'img' ),\n\t\t\tschema,\n\t\t\ttransform: ( node ) => {\n\t\t\t\t// Search both figure and image classes. Alignment could be\n\t\t\t\t// set on either. ID is set on the image.\n\t\t\t\tconst className =\n\t\t\t\t\tnode.className +\n\t\t\t\t\t' ' +\n\t\t\t\t\tnode.querySelector( 'img' ).className;\n\t\t\t\tconst alignMatches =\n\t\t\t\t\t/(?:^|\\s)align(left|center|right)(?:$|\\s)/.exec(\n\t\t\t\t\t\tclassName\n\t\t\t\t\t);\n\t\t\t\tconst anchor = node.id === '' ? undefined : node.id;\n\t\t\t\tconst align = alignMatches ? alignMatches[ 1 ] : undefined;\n\t\t\t\tconst idMatches = /(?:^|\\s)wp-image-(\\d+)(?:$|\\s)/.exec(\n\t\t\t\t\tclassName\n\t\t\t\t);\n\t\t\t\tconst id = idMatches ? Number( idMatches[ 1 ] ) : undefined;\n\t\t\t\tconst anchorElement = node.querySelector( 'a' );\n\t\t\t\tconst linkDestination =\n\t\t\t\t\tanchorElement && anchorElement.href ? 'custom' : undefined;\n\t\t\t\tconst href =\n\t\t\t\t\tanchorElement && anchorElement.href\n\t\t\t\t\t\t? anchorElement.href\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst rel =\n\t\t\t\t\tanchorElement && anchorElement.rel\n\t\t\t\t\t\t? anchorElement.rel\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst linkClass =\n\t\t\t\t\tanchorElement && anchorElement.className\n\t\t\t\t\t\t? anchorElement.className\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/image',\n\t\t\t\t\tnode.outerHTML,\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\thref,\n\t\t\t\t\t\trel,\n\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( isBlobURL( attributes.url ) ) {\n\t\t\t\t\tattributes.blob = attributes.url;\n\t\t\t\t\tdelete attributes.url;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/image', attributes );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// Note: when dragging and dropping multiple files onto a gallery this overrides the\n\t\t\t// gallery transform in order to add new images to the gallery instead of\n\t\t\t// creating a new gallery.\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn files.every(\n\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst blocks = files.map( ( file ) => {\n\t\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\treturn blocks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'caption',\n\t\t\tattributes: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\tshortcode: stripFirstImage,\n\t\t\t\t},\n\t\t\t\thref: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'href'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trel: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'rel'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkClass: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'class'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { id } } ) => {\n\t\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn parseInt( id.replace( 'attachment_', '' ), 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\talign: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { align = 'alignnone' } } ) => {\n\t\t\t\t\t\treturn align.replace( 'align', '' );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createBlobURL","isBlobURL","createBlock","getBlockAttributes","stripFirstImage","attributes","shortcode","body","document","implementation","createHTMLDocument","innerHTML","content","nodeToRemove","querySelector","parentNode","removeChild","trim","getFirstAnchorAttributeFormHTML","html","attributeName","firstElementChild","nodeName","getAttribute","undefined","imageSchema","img","classes","schema","phrasingContentSchema","figure","require","children","a","figcaption","transforms","from","type","isMatch","node","transform","className","alignMatches","exec","anchor","id","align","idMatches","Number","anchorElement","linkDestination","href","rel","linkClass","outerHTML","url","blob","files","every","file","indexOf","blocks","map","tag","source","attribute","selector","alt","caption","named","parseInt","replace"],"sources":["@wordpress/block-library/src/image/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\nexport function stripFirstImage( attributes, { shortcode } ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = shortcode.content;\n\n\tlet nodeToRemove = body.querySelector( 'img' );\n\n\t// If an image has parents, find the topmost node to remove.\n\twhile (\n\t\tnodeToRemove &&\n\t\tnodeToRemove.parentNode &&\n\t\tnodeToRemove.parentNode !== body\n\t) {\n\t\tnodeToRemove = nodeToRemove.parentNode;\n\t}\n\n\tif ( nodeToRemove ) {\n\t\tnodeToRemove.parentNode.removeChild( nodeToRemove );\n\t}\n\n\treturn body.innerHTML.trim();\n}\n\nfunction getFirstAnchorAttributeFormHTML( html, attributeName ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = html;\n\n\tconst { firstElementChild } = body;\n\n\tif ( firstElementChild && firstElementChild.nodeName === 'A' ) {\n\t\treturn firstElementChild.getAttribute( attributeName ) || undefined;\n\t}\n}\n\nconst imageSchema = {\n\timg: {\n\t\tattributes: [ 'src', 'alt', 'title' ],\n\t\tclasses: [\n\t\t\t'alignleft',\n\t\t\t'aligncenter',\n\t\t\t'alignright',\n\t\t\t'alignnone',\n\t\t\t/^wp-image-\\d+$/,\n\t\t],\n\t},\n};\n\nconst schema = ( { phrasingContentSchema } ) => ( {\n\tfigure: {\n\t\trequire: [ 'img' ],\n\t\tchildren: {\n\t\t\t...imageSchema,\n\t\t\ta: {\n\t\t\t\tattributes: [ 'href', 'rel', 'target' ],\n\t\t\t\tclasses: [ '*' ],\n\t\t\t\tchildren: imageSchema,\n\t\t\t},\n\t\t\tfigcaption: {\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'FIGURE' && !! node.querySelector( 'img' ),\n\t\t\tschema,\n\t\t\ttransform: ( node ) => {\n\t\t\t\t// Search both figure and image classes. Alignment could be\n\t\t\t\t// set on either. ID is set on the image.\n\t\t\t\tconst className =\n\t\t\t\t\tnode.className +\n\t\t\t\t\t' ' +\n\t\t\t\t\tnode.querySelector( 'img' ).className;\n\t\t\t\tconst alignMatches =\n\t\t\t\t\t/(?:^|\\s)align(left|center|right)(?:$|\\s)/.exec(\n\t\t\t\t\t\tclassName\n\t\t\t\t\t);\n\t\t\t\tconst anchor = node.id === '' ? undefined : node.id;\n\t\t\t\tconst align = alignMatches ? alignMatches[ 1 ] : undefined;\n\t\t\t\tconst idMatches = /(?:^|\\s)wp-image-(\\d+)(?:$|\\s)/.exec(\n\t\t\t\t\tclassName\n\t\t\t\t);\n\t\t\t\tconst id = idMatches ? Number( idMatches[ 1 ] ) : undefined;\n\t\t\t\tconst anchorElement = node.querySelector( 'a' );\n\t\t\t\tconst linkDestination =\n\t\t\t\t\tanchorElement && anchorElement.href ? 'custom' : undefined;\n\t\t\t\tconst href =\n\t\t\t\t\tanchorElement && anchorElement.href\n\t\t\t\t\t\t? anchorElement.href\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst rel =\n\t\t\t\t\tanchorElement && anchorElement.rel\n\t\t\t\t\t\t? anchorElement.rel\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst linkClass =\n\t\t\t\t\tanchorElement && anchorElement.className\n\t\t\t\t\t\t? anchorElement.className\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/image',\n\t\t\t\t\tnode.outerHTML,\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\thref,\n\t\t\t\t\t\trel,\n\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( isBlobURL( attributes.url ) ) {\n\t\t\t\t\tattributes.blob = attributes.url;\n\t\t\t\t\tdelete attributes.url;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/image', attributes );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// Note: when dragging and dropping multiple files onto a gallery this overrides the\n\t\t\t// gallery transform in order to add new images to the gallery instead of\n\t\t\t// creating a new gallery.\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn files.every(\n\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst blocks = files.map( ( file ) => {\n\t\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\treturn blocks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'caption',\n\t\t\tattributes: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\tshortcode: stripFirstImage,\n\t\t\t\t},\n\t\t\t\thref: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'href'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trel: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'rel'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkClass: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'class'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { id } } ) => {\n\t\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn parseInt( id.replace( 'attachment_', '' ), 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\talign: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { align = 'alignnone' } } ) => {\n\t\t\t\t\t\treturn align.replace( 'align', '' );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NEW_TAB_REL","ALLOWED_MEDIA_TYPES","evalAspectRatio","value","width","height","split","map","Number","aspectRatio","Infinity","NaN","removeNewTabRel","currentRel","newRel","undefined","forEach","relVal","regExp","RegExp","replace","trim","getUpdatedLinkTargetSettings","rel","linkTarget","updatedRel","getImageSizeAttributes","image","size","url","media_details","sizes","source_url","sizeSlug","isValidFileType","file","some","mediaType","type","indexOf"],"sources":["@wordpress/block-library/src/image/utils.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { NEW_TAB_REL, ALLOWED_MEDIA_TYPES } from './constants';\n\n/**\n * Evaluates a CSS aspect-ratio property value as a number.\n *\n * Degenerate or invalid ratios behave as 'auto'. And 'auto' ratios return NaN.\n *\n * @see https://drafts.csswg.org/css-sizing-4/#aspect-ratio\n *\n * @param {string} value CSS aspect-ratio property value.\n * @return {number} Numerical aspect ratio or NaN if invalid.\n */\nexport function evalAspectRatio( value ) {\n\tconst [ width, height = 1 ] = value.split( '/' ).map( Number );\n\tconst aspectRatio = width / height;\n\treturn aspectRatio === Infinity || aspectRatio === 0 ? NaN : aspectRatio;\n}\n\nexport function removeNewTabRel( currentRel ) {\n\tlet newRel = currentRel;\n\n\tif ( currentRel !== undefined && newRel ) {\n\t\tNEW_TAB_REL.forEach( ( relVal ) => {\n\t\t\tconst regExp = new RegExp( '\\\\b' + relVal + '\\\\b', 'gi' );\n\t\t\tnewRel = newRel.replace( regExp, '' );\n\t\t} );\n\n\t\t// Only trim if NEW_TAB_REL values was replaced.\n\t\tif ( newRel !== currentRel ) {\n\t\t\tnewRel = newRel.trim();\n\t\t}\n\n\t\tif ( ! newRel ) {\n\t\t\tnewRel = undefined;\n\t\t}\n\t}\n\n\treturn newRel;\n}\n\n/**\n * Helper to get the link target settings to be stored.\n *\n * @param {boolean} value The new link target value.\n * @param {Object} attributes Block attributes.\n * @param {Object} attributes.rel Image block's rel attribute.\n *\n * @return {Object} Updated link target settings.\n */\nexport function getUpdatedLinkTargetSettings( value, { rel } ) {\n\tconst linkTarget = value ? '_blank' : undefined;\n\n\tlet updatedRel;\n\tif ( ! linkTarget && ! rel ) {\n\t\tupdatedRel = undefined;\n\t} else {\n\t\tupdatedRel = removeNewTabRel( rel );\n\t}\n\n\treturn {\n\t\tlinkTarget,\n\t\trel: updatedRel,\n\t};\n}\n\n/**\n * Determines new Image block attributes size selection.\n *\n * @param {Object} image Media file object for gallery image.\n * @param {string} size Selected size slug to apply.\n */\nexport function getImageSizeAttributes( image, size ) {\n\tconst url = image?.media_details?.sizes?.[ size ]?.source_url;\n\n\tif ( url ) {\n\t\treturn { url, width: undefined, height: undefined, sizeSlug: size };\n\t}\n\n\treturn {};\n}\n\n/**\n * Checks if the file has a valid file type.\n *\n * @param {File} file - The file to check.\n * @return {boolean} - Returns true if the file has a valid file type, otherwise false.\n */\nexport function isValidFileType( file ) {\n\treturn ALLOWED_MEDIA_TYPES.some(\n\t\t( mediaType ) => file.type.indexOf( mediaType ) === 0\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,mBAAmB,QAAQ,aAAa;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAEC,KAAK,EAAG;EACxC,MAAM,CAAEC,KAAK,EAAEC,MAAM,GAAG,CAAC,CAAE,GAAGF,KAAK,CAACG,KAAK,CAAE,GAAI,CAAC,CAACC,GAAG,CAAEC,MAAO,CAAC;EAC9D,MAAMC,WAAW,GAAGL,KAAK,GAAGC,MAAM;EAClC,OAAOI,WAAW,KAAKC,QAAQ,IAAID,WAAW,KAAK,CAAC,GAAGE,GAAG,GAAGF,WAAW;AACzE;AAEA,OAAO,SAASG,eAAeA,CAAEC,UAAU,EAAG;EAC7C,IAAIC,MAAM,GAAGD,UAAU;EAEvB,IAAKA,UAAU,KAAKE,SAAS,IAAID,MAAM,EAAG;IACzCd,WAAW,CAACgB,OAAO,CAAIC,MAAM,IAAM;MAClC,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAAE,KAAK,GAAGF,MAAM,GAAG,KAAK,EAAE,IAAK,CAAC;MACzDH,MAAM,GAAGA,MAAM,CAACM,OAAO,CAAEF,MAAM,EAAE,EAAG,CAAC;IACtC,CAAE,CAAC;;IAEH;IACA,IAAKJ,MAAM,KAAKD,UAAU,EAAG;MAC5BC,MAAM,GAAGA,MAAM,CAACO,IAAI,CAAC,CAAC;IACvB;IAEA,IAAK,CAAEP,MAAM,EAAG;MACfA,MAAM,GAAGC,SAAS;IACnB;EACD;EAEA,OAAOD,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,4BAA4BA,CAAEnB,KAAK,EAAE;EAAEoB;AAAI,CAAC,EAAG;EAC9D,MAAMC,UAAU,GAAGrB,KAAK,GAAG,QAAQ,GAAGY,SAAS;EAE/C,IAAIU,UAAU;EACd,IAAK,CAAED,UAAU,IAAI,CAAED,GAAG,EAAG;IAC5BE,UAAU,GAAGV,SAAS;EACvB,CAAC,MAAM;IACNU,UAAU,GAAGb,eAAe,CAAEW,GAAI,CAAC;EACpC;EAEA,OAAO;IACNC,UAAU;IACVD,GAAG,EAAEE;EACN,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAEC,KAAK,EAAEC,IAAI,EAAG;EACrD,MAAMC,GAAG,GAAGF,KAAK,EAAEG,aAAa,EAAEC,KAAK,GAAIH,IAAI,CAAE,EAAEI,UAAU;EAE7D,IAAKH,GAAG,EAAG;IACV,OAAO;MAAEA,GAAG;MAAEzB,KAAK,EAAEW,SAAS;MAAEV,MAAM,EAAEU,SAAS;MAAEkB,QAAQ,EAAEL;IAAK,CAAC;EACpE;EAEA,OAAO,CAAC,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,eAAeA,CAAEC,IAAI,EAAG;EACvC,OAAOlC,mBAAmB,CAACmC,IAAI,CAC5BC,SAAS,IAAMF,IAAI,CAACG,IAAI,CAACC,OAAO,CAAEF,SAAU,CAAC,KAAK,CACrD,CAAC;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NEW_TAB_REL","ALLOWED_MEDIA_TYPES","evalAspectRatio","value","width","height","split","map","Number","aspectRatio","Infinity","NaN","removeNewTabRel","currentRel","newRel","undefined","forEach","relVal","regExp","RegExp","replace","trim","getUpdatedLinkTargetSettings","rel","linkTarget","updatedRel","getImageSizeAttributes","image","size","url","media_details","sizes","source_url","sizeSlug","isValidFileType","file","some","mediaType","type","indexOf"],"sources":["@wordpress/block-library/src/image/utils.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { NEW_TAB_REL, ALLOWED_MEDIA_TYPES } from './constants';\n\n/**\n * Evaluates a CSS aspect-ratio property value as a number.\n *\n * Degenerate or invalid ratios behave as 'auto'. And 'auto' ratios return NaN.\n *\n * @see https://drafts.csswg.org/css-sizing-4/#aspect-ratio\n *\n * @param {string} value CSS aspect-ratio property value.\n * @return {number} Numerical aspect ratio or NaN if invalid.\n */\nexport function evalAspectRatio( value ) {\n\tconst [ width, height = 1 ] = value.split( '/' ).map( Number );\n\tconst aspectRatio = width / height;\n\treturn aspectRatio === Infinity || aspectRatio === 0 ? NaN : aspectRatio;\n}\n\nexport function removeNewTabRel( currentRel ) {\n\tlet newRel = currentRel;\n\n\tif ( currentRel !== undefined && newRel ) {\n\t\tNEW_TAB_REL.forEach( ( relVal ) => {\n\t\t\tconst regExp = new RegExp( '\\\\b' + relVal + '\\\\b', 'gi' );\n\t\t\tnewRel = newRel.replace( regExp, '' );\n\t\t} );\n\n\t\t// Only trim if NEW_TAB_REL values was replaced.\n\t\tif ( newRel !== currentRel ) {\n\t\t\tnewRel = newRel.trim();\n\t\t}\n\n\t\tif ( ! newRel ) {\n\t\t\tnewRel = undefined;\n\t\t}\n\t}\n\n\treturn newRel;\n}\n\n/**\n * Helper to get the link target settings to be stored.\n *\n * @param {boolean} value The new link target value.\n * @param {Object} attributes Block attributes.\n * @param {Object} attributes.rel Image block's rel attribute.\n *\n * @return {Object} Updated link target settings.\n */\nexport function getUpdatedLinkTargetSettings( value, { rel } ) {\n\tconst linkTarget = value ? '_blank' : undefined;\n\n\tlet updatedRel;\n\tif ( ! linkTarget && ! rel ) {\n\t\tupdatedRel = undefined;\n\t} else {\n\t\tupdatedRel = removeNewTabRel( rel );\n\t}\n\n\treturn {\n\t\tlinkTarget,\n\t\trel: updatedRel,\n\t};\n}\n\n/**\n * Determines new Image block attributes size selection.\n *\n * @param {Object} image Media file object for gallery image.\n * @param {string} size Selected size slug to apply.\n */\nexport function getImageSizeAttributes( image, size ) {\n\tconst url = image?.media_details?.sizes?.[ size ]?.source_url;\n\n\tif ( url ) {\n\t\treturn { url, width: undefined, height: undefined, sizeSlug: size };\n\t}\n\n\treturn {};\n}\n\n/**\n * Checks if the file has a valid file type.\n *\n * @param {File} file - The file to check.\n * @return {boolean} - Returns true if the file has a valid file type, otherwise false.\n */\nexport function isValidFileType( file ) {\n\treturn ALLOWED_MEDIA_TYPES.some(\n\t\t( mediaType ) => file.type.indexOf( mediaType ) === 0\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,mBAAmB,QAAQ,aAAa;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAEC,KAAK,EAAG;EACxC,MAAM,CAAEC,KAAK,EAAEC,MAAM,GAAG,CAAC,CAAE,GAAGF,KAAK,CAACG,KAAK,CAAE,GAAI,CAAC,CAACC,GAAG,CAAEC,MAAO,CAAC;EAC9D,MAAMC,WAAW,GAAGL,KAAK,GAAGC,MAAM;EAClC,OAAOI,WAAW,KAAKC,QAAQ,IAAID,WAAW,KAAK,CAAC,GAAGE,GAAG,GAAGF,WAAW;AACzE;AAEA,OAAO,SAASG,eAAeA,CAAEC,UAAU,EAAG;EAC7C,IAAIC,MAAM,GAAGD,UAAU;EAEvB,IAAKA,UAAU,KAAKE,SAAS,IAAID,MAAM,EAAG;IACzCd,WAAW,CAACgB,OAAO,CAAIC,MAAM,IAAM;MAClC,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAAE,KAAK,GAAGF,MAAM,GAAG,KAAK,EAAE,IAAK,CAAC;MACzDH,MAAM,GAAGA,MAAM,CAACM,OAAO,CAAEF,MAAM,EAAE,EAAG,CAAC;IACtC,CAAE,CAAC;;IAEH;IACA,IAAKJ,MAAM,KAAKD,UAAU,EAAG;MAC5BC,MAAM,GAAGA,MAAM,CAACO,IAAI,CAAC,CAAC;IACvB;IAEA,IAAK,CAAEP,MAAM,EAAG;MACfA,MAAM,GAAGC,SAAS;IACnB;EACD;EAEA,OAAOD,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,4BAA4BA,CAAEnB,KAAK,EAAE;EAAEoB;AAAI,CAAC,EAAG;EAC9D,MAAMC,UAAU,GAAGrB,KAAK,GAAG,QAAQ,GAAGY,SAAS;EAE/C,IAAIU,UAAU;EACd,IAAK,CAAED,UAAU,IAAI,CAAED,GAAG,EAAG;IAC5BE,UAAU,GAAGV,SAAS;EACvB,CAAC,MAAM;IACNU,UAAU,GAAGb,eAAe,CAAEW,GAAI,CAAC;EACpC;EAEA,OAAO;IACNC,UAAU;IACVD,GAAG,EAAEE;EACN,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAEC,KAAK,EAAEC,IAAI,EAAG;EACrD,MAAMC,GAAG,GAAGF,KAAK,EAAEG,aAAa,EAAEC,KAAK,GAAIH,IAAI,CAAE,EAAEI,UAAU;EAE7D,IAAKH,GAAG,EAAG;IACV,OAAO;MAAEA,GAAG;MAAEzB,KAAK,EAAEW,SAAS;MAAEV,MAAM,EAAEU,SAAS;MAAEkB,QAAQ,EAAEL;IAAK,CAAC;EACpE;EAEA,OAAO,CAAC,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,eAAeA,CAAEC,IAAI,EAAG;EACvC,OAAOlC,mBAAmB,CAACmC,IAAI,CAC5BC,SAAS,IAAMF,IAAI,CAACG,IAAI,CAACC,OAAO,CAAEF,SAAU,CAAC,KAAK,CACrD,CAAC;AACF","ignoreList":[]}
|
|
@@ -305,7 +305,6 @@ const {
|
|
|
305
305
|
// adding 1 pixel to the container width and height solves the problem,
|
|
306
306
|
// though this can be removed if the issue is fixed in the future.
|
|
307
307
|
state.overlayStyles = `
|
|
308
|
-
:root {
|
|
309
308
|
--wp--lightbox-initial-top-position: ${screenPosY}px;
|
|
310
309
|
--wp--lightbox-initial-left-position: ${screenPosX}px;
|
|
311
310
|
--wp--lightbox-container-width: ${containerWidth + 1}px;
|
|
@@ -314,8 +313,7 @@ const {
|
|
|
314
313
|
--wp--lightbox-image-height: ${lightboxImgHeight}px;
|
|
315
314
|
--wp--lightbox-scale: ${containerScale};
|
|
316
315
|
--wp--lightbox-scrollbar-width: ${window.innerWidth - document.documentElement.clientWidth}px;
|
|
317
|
-
|
|
318
|
-
`;
|
|
316
|
+
`;
|
|
319
317
|
},
|
|
320
318
|
setButtonStyles() {
|
|
321
319
|
const {
|