@wordpress/block-library 10.2.0 → 10.4.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 +117 -0
- package/README.md +0 -3
- package/build/accordion/edit.cjs +1 -3
- package/build/accordion/edit.cjs.map +2 -2
- package/build/accordion/index.cjs +3 -0
- package/build/accordion/index.cjs.map +2 -2
- package/build/accordion/init.cjs.map +2 -2
- package/build/accordion/save.cjs.map +2 -2
- package/build/accordion/view.cjs.map +2 -2
- package/build/accordion-heading/deprecated.cjs.map +2 -2
- package/build/accordion-heading/edit.cjs.map +2 -2
- package/build/accordion-heading/index.cjs.map +2 -2
- package/build/accordion-heading/init.cjs.map +2 -2
- package/build/accordion-heading/save.cjs.map +2 -2
- package/build/accordion-item/edit.cjs +1 -4
- package/build/accordion-item/edit.cjs.map +2 -2
- package/build/accordion-item/index.cjs +3 -0
- package/build/accordion-item/index.cjs.map +2 -2
- package/build/accordion-item/init.cjs.map +2 -2
- package/build/accordion-item/save.cjs.map +2 -2
- package/build/accordion-panel/block.json +1 -0
- package/build/accordion-panel/edit.cjs +0 -1
- package/build/accordion-panel/edit.cjs.map +2 -2
- package/build/accordion-panel/index.cjs +2 -0
- package/build/accordion-panel/index.cjs.map +2 -2
- package/build/accordion-panel/init.cjs.map +2 -2
- package/build/accordion-panel/save.cjs.map +2 -2
- package/build/archives/edit.cjs.map +2 -2
- package/build/archives/index.cjs.map +2 -2
- package/build/archives/init.cjs.map +2 -2
- package/build/audio/deprecated.cjs.map +2 -2
- package/build/audio/edit.cjs.map +2 -2
- package/build/audio/index.cjs.map +2 -2
- package/build/audio/init.cjs.map +2 -2
- package/build/audio/save.cjs.map +2 -2
- package/build/audio/transforms.cjs.map +2 -2
- package/build/avatar/edit.cjs.map +2 -2
- package/build/avatar/hooks.cjs.map +2 -2
- package/build/avatar/index.cjs.map +2 -2
- package/build/avatar/init.cjs.map +2 -2
- package/build/avatar/user-control.cjs.map +2 -2
- package/build/block/edit.cjs +1 -1
- package/build/block/edit.cjs.map +2 -2
- package/build/block/index.cjs.map +2 -2
- package/build/block/init.cjs.map +2 -2
- package/build/block-keyboard-shortcuts/index.cjs.map +2 -2
- package/build/breadcrumbs/edit.cjs.map +2 -2
- package/build/breadcrumbs/index.cjs.map +2 -2
- package/build/button/deprecated.cjs.map +2 -2
- package/build/button/edit.cjs.map +2 -2
- package/build/button/get-updated-link-attributes.cjs.map +2 -2
- package/build/button/index.cjs.map +2 -2
- package/build/button/init.cjs.map +2 -2
- package/build/button/save.cjs.map +2 -2
- package/build/buttons/deprecated.cjs.map +2 -2
- package/build/buttons/edit.cjs +1 -14
- package/build/buttons/edit.cjs.map +2 -2
- package/build/buttons/index.cjs +3 -0
- package/build/buttons/index.cjs.map +2 -2
- package/build/buttons/init.cjs.map +2 -2
- package/build/buttons/save.cjs.map +2 -2
- package/build/buttons/transforms.cjs.map +2 -2
- package/build/calendar/edit.cjs.map +2 -2
- package/build/calendar/index.cjs.map +2 -2
- package/build/calendar/init.cjs.map +2 -2
- package/build/calendar/transforms.cjs.map +2 -2
- package/build/categories/edit.cjs.map +2 -2
- package/build/categories/index.cjs.map +2 -2
- package/build/categories/init.cjs.map +2 -2
- package/build/categories/variations.cjs.map +2 -2
- package/build/code/edit.cjs +3 -1
- package/build/code/edit.cjs.map +2 -2
- package/build/code/index.cjs.map +2 -2
- package/build/code/init.cjs.map +2 -2
- package/build/code/save.cjs.map +2 -2
- package/build/code/transforms.cjs.map +2 -2
- package/build/code/utils.cjs.map +2 -2
- package/build/column/deprecated.cjs.map +2 -2
- package/build/column/edit.cjs.map +2 -2
- package/build/column/index.cjs.map +2 -2
- package/build/column/init.cjs.map +2 -2
- package/build/column/save.cjs.map +2 -2
- package/build/columns/deprecated.cjs.map +2 -2
- package/build/columns/edit.cjs.map +2 -2
- package/build/columns/index.cjs.map +2 -2
- package/build/columns/init.cjs.map +2 -2
- package/build/columns/save.cjs.map +2 -2
- package/build/columns/transforms.cjs.map +2 -2
- package/build/columns/variations.cjs.map +2 -2
- package/build/comment-author-avatar/edit.cjs.map +2 -2
- package/build/comment-author-avatar/index.cjs.map +2 -2
- package/build/comment-author-avatar/init.cjs.map +2 -2
- package/build/comment-author-name/deprecated.cjs.map +2 -2
- package/build/comment-author-name/edit.cjs.map +2 -2
- package/build/comment-author-name/index.cjs.map +2 -2
- package/build/comment-author-name/init.cjs.map +2 -2
- package/build/comment-content/deprecated.cjs.map +2 -2
- package/build/comment-content/edit.cjs.map +2 -2
- package/build/comment-content/index.cjs.map +2 -2
- package/build/comment-content/init.cjs.map +2 -2
- package/build/comment-date/deprecated.cjs.map +2 -2
- package/build/comment-date/edit.cjs.map +2 -2
- package/build/comment-date/index.cjs.map +2 -2
- package/build/comment-date/init.cjs.map +2 -2
- package/build/comment-edit-link/deprecated.cjs.map +2 -2
- package/build/comment-edit-link/edit.cjs.map +2 -2
- package/build/comment-edit-link/index.cjs.map +2 -2
- package/build/comment-edit-link/init.cjs.map +2 -2
- package/build/comment-reply-link/deprecated.cjs.map +2 -2
- package/build/comment-reply-link/edit.cjs.map +2 -2
- package/build/comment-reply-link/index.cjs.map +2 -2
- package/build/comment-reply-link/init.cjs.map +2 -2
- package/build/comment-template/edit.cjs +1 -12
- package/build/comment-template/edit.cjs.map +2 -2
- package/build/comment-template/hooks.cjs.map +2 -2
- package/build/comment-template/index.cjs +9 -0
- package/build/comment-template/index.cjs.map +2 -2
- package/build/comment-template/init.cjs.map +2 -2
- package/build/comment-template/save.cjs.map +2 -2
- package/build/comments/deprecated.cjs.map +2 -2
- package/build/comments/edit/comments-inspector-controls.cjs.map +2 -2
- package/build/comments/edit/comments-legacy.cjs.map +2 -2
- package/build/comments/edit/index.cjs +1 -4
- package/build/comments/edit/index.cjs.map +3 -3
- package/build/comments/edit/placeholder.cjs.map +2 -2
- package/build/comments/index.cjs +2 -0
- package/build/comments/index.cjs.map +3 -3
- package/build/comments/init.cjs.map +2 -2
- package/build/comments/save.cjs.map +2 -2
- package/build/comments-pagination/comments-pagination-arrow-controls.cjs.map +2 -2
- package/build/comments-pagination/edit.cjs +1 -8
- package/build/comments-pagination/edit.cjs.map +2 -2
- package/build/comments-pagination/index.cjs +6 -0
- package/build/comments-pagination/index.cjs.map +2 -2
- package/build/comments-pagination/init.cjs.map +2 -2
- package/build/comments-pagination/save.cjs.map +2 -2
- package/build/comments-pagination-next/edit.cjs.map +2 -2
- package/build/comments-pagination-next/index.cjs.map +2 -2
- package/build/comments-pagination-next/init.cjs.map +2 -2
- package/build/comments-pagination-numbers/edit.cjs.map +2 -2
- package/build/comments-pagination-numbers/index.cjs.map +2 -2
- package/build/comments-pagination-numbers/init.cjs.map +2 -2
- package/build/comments-pagination-previous/edit.cjs.map +2 -2
- package/build/comments-pagination-previous/index.cjs.map +2 -2
- package/build/comments-pagination-previous/init.cjs.map +2 -2
- package/build/comments-title/deprecated.cjs.map +2 -2
- package/build/comments-title/edit.cjs.map +2 -2
- package/build/comments-title/index.cjs.map +2 -2
- package/build/comments-title/init.cjs.map +2 -2
- package/build/cover/block.json +1 -0
- package/build/cover/deprecated.cjs.map +2 -2
- package/build/cover/edit/block-controls.cjs +3 -1
- package/build/cover/edit/block-controls.cjs.map +2 -2
- package/build/cover/edit/color-utils.cjs.map +2 -2
- package/build/cover/edit/cover-placeholder.cjs.map +2 -2
- package/build/cover/edit/embed-video-url-input.cjs.map +2 -2
- package/build/cover/edit/index.cjs +75 -31
- package/build/cover/edit/index.cjs.map +2 -2
- package/build/cover/edit/inspector-controls.cjs.map +2 -2
- package/build/cover/edit/resizable-cover-popover.cjs.map +2 -2
- package/build/cover/embed-video-utils.cjs.map +2 -2
- package/build/cover/index.cjs.map +2 -2
- package/build/cover/init.cjs.map +2 -2
- package/build/cover/save.cjs.map +2 -2
- package/build/cover/shared.cjs.map +2 -2
- package/build/cover/transforms.cjs.map +2 -2
- package/build/cover/variations.cjs.map +2 -2
- package/build/details/edit.cjs +2 -12
- package/build/details/edit.cjs.map +3 -3
- package/build/details/index.cjs +9 -0
- package/build/details/index.cjs.map +2 -2
- package/build/details/init.cjs.map +2 -2
- package/build/details/save.cjs.map +2 -2
- package/build/details/transforms.cjs.map +2 -2
- package/build/embed/deprecated.cjs +1 -1
- package/build/embed/deprecated.cjs.map +2 -2
- package/build/embed/edit.cjs +1 -1
- package/build/embed/edit.cjs.map +2 -2
- package/build/embed/embed-controls.cjs.map +2 -2
- package/build/embed/embed-loading.cjs.map +2 -2
- package/build/embed/embed-placeholder.cjs +1 -1
- package/build/embed/embed-placeholder.cjs.map +2 -2
- package/build/embed/embed-preview.cjs.map +2 -2
- package/build/embed/icons.cjs.map +2 -2
- package/build/embed/index.cjs.map +2 -2
- package/build/embed/init.cjs.map +2 -2
- package/build/embed/save.cjs.map +2 -2
- package/build/embed/transforms.cjs.map +2 -2
- package/build/embed/util.cjs +2 -4
- package/build/embed/util.cjs.map +3 -3
- package/build/embed/variations.cjs.map +2 -2
- package/build/embed/wp-embed-preview.cjs.map +2 -2
- package/build/file/deprecated.cjs.map +2 -2
- package/build/file/edit.cjs.map +2 -2
- package/build/file/index.cjs.map +2 -2
- package/build/file/init.cjs.map +2 -2
- package/build/file/inspector.cjs.map +2 -2
- package/build/file/save.cjs.map +2 -2
- package/build/file/transforms.cjs.map +2 -2
- package/build/file/variations.cjs.map +2 -2
- package/build/file/view.cjs.map +2 -2
- package/build/footnotes/edit.cjs +6 -1
- package/build/footnotes/edit.cjs.map +2 -2
- package/build/footnotes/format.cjs.map +2 -2
- package/build/footnotes/index.cjs.map +2 -2
- package/build/footnotes/init.cjs.map +2 -2
- package/build/form/deprecated.cjs.map +2 -2
- package/build/form/edit.cjs +0 -31
- package/build/form/edit.cjs.map +2 -2
- package/build/form/icons.cjs.map +2 -2
- package/build/form/index.cjs +32 -0
- package/build/form/index.cjs.map +2 -2
- package/build/form/init.cjs.map +2 -2
- package/build/form/save.cjs.map +2 -2
- package/build/form/utils.cjs.map +2 -2
- package/build/form/variations.cjs.map +2 -2
- package/build/form-input/deprecated.cjs.map +2 -2
- package/build/form-input/edit.cjs.map +2 -2
- package/build/form-input/icons.cjs.map +2 -2
- package/build/form-input/index.cjs.map +2 -2
- package/build/form-input/init.cjs.map +2 -2
- package/build/form-input/save.cjs.map +2 -2
- package/build/form-input/variations.cjs.map +2 -2
- package/build/form-submission-notification/edit.cjs +0 -11
- package/build/form-submission-notification/edit.cjs.map +2 -2
- package/build/form-submission-notification/index.cjs +12 -0
- package/build/form-submission-notification/index.cjs.map +2 -2
- package/build/form-submission-notification/init.cjs.map +2 -2
- package/build/form-submission-notification/save.cjs.map +2 -2
- package/build/form-submission-notification/variations.cjs.map +2 -2
- package/build/form-submit-button/edit.cjs +0 -18
- package/build/form-submit-button/edit.cjs.map +2 -2
- package/build/form-submit-button/index.cjs +18 -0
- package/build/form-submit-button/index.cjs.map +2 -2
- package/build/form-submit-button/init.cjs.map +2 -2
- package/build/form-submit-button/save.cjs.map +2 -2
- package/build/freeform/convert-to-blocks-button.cjs.map +2 -2
- package/build/freeform/edit.cjs.map +2 -2
- package/build/freeform/index.cjs.map +2 -2
- package/build/freeform/init.cjs.map +2 -2
- package/build/freeform/modal.cjs.map +2 -2
- package/build/freeform/save.cjs.map +2 -2
- package/build/gallery/deprecated.cjs.map +2 -2
- package/build/gallery/dynamic-gallery.cjs +104 -61
- package/build/gallery/dynamic-gallery.cjs.map +3 -3
- package/build/gallery/dynamic-source.cjs.map +2 -2
- package/build/gallery/edit.cjs.map +2 -2
- package/build/gallery/gallery.cjs.map +2 -2
- package/build/gallery/gap-styles.cjs.map +2 -2
- package/build/gallery/index.cjs.map +2 -2
- package/build/gallery/init.cjs.map +2 -2
- package/build/gallery/save.cjs.map +2 -2
- package/build/gallery/shared-icon.cjs.map +2 -2
- package/build/gallery/transforms.cjs.map +2 -2
- package/build/gallery/use-dynamic-gallery.cjs +15 -8
- package/build/gallery/use-dynamic-gallery.cjs.map +2 -2
- package/build/gallery/use-get-media.cjs.map +2 -2
- package/build/gallery/use-get-new-images.cjs.map +2 -2
- package/build/gallery/use-image-sizes.cjs.map +2 -2
- package/build/gallery/utils.cjs.map +2 -2
- package/build/gallery/variations.cjs.map +2 -2
- package/build/group/block.json +0 -1
- package/build/group/deprecated.cjs.map +2 -2
- package/build/group/edit.cjs.map +2 -2
- package/build/group/index.cjs.map +2 -2
- package/build/group/init.cjs.map +2 -2
- package/build/group/placeholder.cjs.map +2 -2
- package/build/group/save.cjs.map +2 -2
- package/build/group/transforms.cjs.map +2 -2
- package/build/group/variations.cjs.map +2 -2
- package/build/heading/autogenerate-anchors.cjs.map +2 -2
- package/build/heading/deprecated.cjs.map +2 -2
- package/build/heading/edit.cjs +1 -1
- package/build/heading/edit.cjs.map +2 -2
- package/build/heading/index.cjs.map +2 -2
- package/build/heading/init.cjs.map +2 -2
- package/build/heading/save.cjs.map +2 -2
- package/build/heading/transforms.cjs.map +2 -2
- package/build/heading/variations.cjs.map +2 -2
- package/build/home-link/edit.cjs.map +2 -2
- package/build/home-link/index.cjs.map +2 -2
- package/build/home-link/init.cjs.map +2 -2
- package/build/home-link/save.cjs.map +2 -2
- package/build/html/edit.cjs.map +2 -2
- package/build/html/index.cjs.map +2 -2
- package/build/html/init.cjs.map +2 -2
- package/build/html/modal.cjs +63 -54
- package/build/html/modal.cjs.map +3 -3
- package/build/html/preview.cjs.map +2 -2
- package/build/html/transforms.cjs.map +2 -2
- package/build/icon/block.json +5 -3
- package/build/icon/components/custom-inserter/icon-grid.cjs.map +2 -2
- package/build/icon/components/custom-inserter/index.cjs.map +2 -2
- package/build/icon/edit.cjs.map +2 -2
- package/build/icon/icon.cjs.map +2 -2
- package/build/icon/index.cjs.map +2 -2
- package/build/image/deprecated.cjs.map +2 -2
- package/build/image/edit.cjs +5 -2
- package/build/image/edit.cjs.map +2 -2
- package/build/image/image.cjs +29 -5
- package/build/image/image.cjs.map +3 -3
- package/build/image/index.cjs.map +2 -2
- package/build/image/init.cjs.map +2 -2
- package/build/image/save.cjs.map +2 -2
- package/build/image/transforms.cjs.map +2 -2
- package/build/image/use-max-width-observer.cjs.map +2 -2
- package/build/image/use-open-image-media-editor-modal.cjs +6 -2
- package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
- package/build/image/utils.cjs.map +2 -2
- package/build/image/view.cjs.map +2 -2
- package/build/index.cjs.map +2 -2
- package/build/latest-comments/deprecated.cjs.map +2 -2
- package/build/latest-comments/edit.cjs.map +2 -2
- package/build/latest-comments/index.cjs.map +2 -2
- package/build/latest-comments/init.cjs.map +2 -2
- package/build/latest-posts/deprecated.cjs.map +2 -2
- package/build/latest-posts/edit.cjs.map +2 -2
- package/build/latest-posts/index.cjs.map +2 -2
- package/build/latest-posts/init.cjs.map +2 -2
- package/build/list/deprecated.cjs.map +2 -2
- package/build/list/edit.cjs +5 -4
- package/build/list/edit.cjs.map +2 -2
- package/build/list/index.cjs +3 -0
- package/build/list/index.cjs.map +2 -2
- package/build/list/init.cjs.map +2 -2
- package/build/list/ordered-list-settings.cjs.map +2 -2
- package/build/list/save.cjs.map +2 -2
- package/build/list/tag-name.cjs.map +2 -2
- package/build/list/transforms.cjs.map +2 -2
- package/build/list/utils.cjs.map +2 -2
- package/build/list-item/edit.cjs.map +2 -2
- package/build/list-item/hooks/use-enter.cjs.map +2 -2
- package/build/list-item/hooks/use-indent-list-item.cjs +10 -2
- package/build/list-item/hooks/use-indent-list-item.cjs.map +2 -2
- package/build/list-item/hooks/use-merge.cjs.map +2 -2
- package/build/list-item/hooks/use-outdent-list-item.cjs.map +2 -2
- package/build/list-item/hooks/use-space.cjs.map +2 -2
- package/build/list-item/index.cjs.map +2 -2
- package/build/list-item/init.cjs.map +2 -2
- package/build/list-item/save.cjs.map +2 -2
- package/build/list-item/transforms.cjs.map +2 -2
- package/build/lock-unlock.cjs.map +2 -2
- package/build/loginout/edit.cjs.map +2 -2
- package/build/loginout/index.cjs.map +2 -2
- package/build/loginout/init.cjs.map +2 -2
- package/build/math/deprecated.cjs.map +2 -2
- package/build/math/edit.cjs +39 -56
- package/build/math/edit.cjs.map +3 -3
- package/build/math/index.cjs.map +2 -2
- package/build/math/init.cjs.map +2 -2
- package/build/math/save.cjs.map +2 -2
- package/build/media-text/constants.cjs.map +2 -2
- package/build/media-text/deprecated.cjs.map +2 -2
- package/build/media-text/edit.cjs +3 -2
- package/build/media-text/edit.cjs.map +2 -2
- package/build/media-text/index.cjs +2 -0
- package/build/media-text/index.cjs.map +2 -2
- package/build/media-text/init.cjs.map +2 -2
- package/build/media-text/media-container.cjs.map +2 -2
- package/build/media-text/save.cjs.map +2 -2
- package/build/media-text/transforms.cjs.map +2 -2
- package/build/missing/edit.cjs.map +2 -2
- package/build/missing/index.cjs.map +2 -2
- package/build/missing/init.cjs.map +2 -2
- package/build/missing/save.cjs.map +2 -2
- package/build/more/edit.cjs +2 -2
- package/build/more/edit.cjs.map +2 -2
- package/build/more/index.cjs.map +2 -2
- package/build/more/init.cjs.map +2 -2
- package/build/more/save.cjs.map +2 -2
- package/build/more/transforms.cjs.map +2 -2
- package/build/navigation/deprecated.cjs.map +2 -2
- package/build/navigation/edit/accessible-description.cjs.map +2 -2
- package/build/navigation/edit/accessible-menu-description.cjs.map +2 -2
- package/build/navigation/edit/deleted-navigation-warning.cjs.map +2 -2
- package/build/navigation/edit/deleted-overlay-warning.cjs.map +2 -2
- package/build/navigation/edit/index.cjs +30 -16
- package/build/navigation/edit/index.cjs.map +3 -3
- package/build/navigation/edit/inner-blocks.cjs.map +2 -2
- package/build/navigation/edit/leaf-more-menu.cjs +33 -23
- package/build/navigation/edit/leaf-more-menu.cjs.map +2 -2
- package/build/navigation/edit/manage-menus-button.cjs.map +2 -2
- package/build/navigation/edit/menu-inspector-controls.cjs.map +2 -2
- package/build/navigation/edit/navigation-link-ui.cjs +29 -18
- package/build/navigation/edit/navigation-link-ui.cjs.map +2 -2
- package/build/navigation/edit/navigation-list-view-header.cjs.map +2 -2
- package/build/navigation/edit/navigation-menu-delete-control.cjs.map +2 -2
- package/build/navigation/edit/navigation-menu-name-control.cjs.map +2 -2
- package/build/navigation/edit/navigation-menu-selector.cjs.map +2 -2
- package/build/navigation/edit/overlay-menu-icon.cjs.map +2 -2
- package/build/navigation/edit/overlay-menu-preview-button.cjs.map +2 -2
- package/build/navigation/edit/overlay-menu-preview-controls.cjs.map +2 -2
- package/build/navigation/edit/overlay-menu-preview.cjs.map +2 -2
- package/build/navigation/edit/overlay-panel.cjs.map +2 -2
- package/build/navigation/edit/overlay-preview.cjs.map +2 -2
- package/build/navigation/edit/overlay-template-part-selector.cjs.map +2 -2
- package/build/navigation/edit/overlay-visibility-control.cjs.map +2 -2
- package/build/navigation/edit/placeholder/index.cjs.map +2 -2
- package/build/navigation/edit/placeholder/placeholder-preview.cjs.map +2 -2
- package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
- package/build/navigation/edit/unsaved-inner-blocks.cjs.map +2 -2
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.cjs.map +2 -2
- package/build/navigation/edit/use-create-navigation-menu.cjs.map +2 -2
- package/build/navigation/edit/use-create-overlay.cjs.map +2 -2
- package/build/navigation/edit/use-generate-default-navigation-title.cjs.map +2 -2
- package/build/navigation/edit/use-inner-blocks.cjs.map +2 -2
- package/build/navigation/edit/use-layout-custom-properties.cjs +72 -0
- package/build/navigation/edit/use-layout-custom-properties.cjs.map +7 -0
- package/build/navigation/edit/use-navigation-notice.cjs.map +2 -2
- package/build/navigation/edit/utils.cjs.map +2 -2
- package/build/navigation/index.cjs.map +2 -2
- package/build/navigation/init.cjs.map +2 -2
- package/build/navigation/menu-items-to-blocks.cjs.map +2 -2
- package/build/navigation/save.cjs.map +2 -2
- package/build/navigation/use-navigation-menu.cjs.map +2 -2
- package/build/navigation/use-template-part-area-label.cjs.map +2 -2
- package/build/navigation/view.cjs +9 -6
- package/build/navigation/view.cjs.map +2 -2
- package/build/navigation-link/edit.cjs +3 -3
- package/build/navigation-link/edit.cjs.map +2 -2
- package/build/navigation-link/hooks.cjs.map +2 -2
- package/build/navigation-link/icons.cjs.map +2 -2
- package/build/navigation-link/index.cjs.map +2 -2
- package/build/navigation-link/init.cjs.map +2 -2
- package/build/navigation-link/link-ui/block-inserter.cjs.map +2 -2
- package/build/navigation-link/link-ui/dialog-wrapper.cjs.map +2 -2
- package/build/navigation-link/link-ui/index.cjs +2 -2
- package/build/navigation-link/link-ui/index.cjs.map +2 -2
- package/build/navigation-link/link-ui/page-creator.cjs.map +2 -2
- package/build/navigation-link/save.cjs.map +2 -2
- package/build/navigation-link/shared/controls.cjs.map +2 -2
- package/build/navigation-link/shared/invalid-draft-display.cjs.map +2 -2
- package/build/navigation-link/shared/update-attributes.cjs.map +2 -2
- package/build/navigation-link/shared/use-enable-link-status-validation.cjs.map +2 -2
- package/build/navigation-link/shared/use-entity-binding.cjs.map +2 -2
- package/build/navigation-link/shared/use-handle-link-change.cjs.map +2 -2
- package/build/navigation-link/shared/use-is-dragging-within.cjs.map +2 -2
- package/build/navigation-link/shared/use-is-invalid-link.cjs.map +2 -2
- package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
- package/build/navigation-link/transforms.cjs.map +2 -2
- package/build/navigation-overlay-close/edit.cjs.map +2 -2
- package/build/navigation-overlay-close/icon.cjs.map +2 -2
- package/build/navigation-overlay-close/index.cjs.map +2 -2
- package/build/navigation-submenu/edit.cjs.map +2 -2
- package/build/navigation-submenu/icons.cjs.map +2 -2
- package/build/navigation-submenu/index.cjs.map +2 -2
- package/build/navigation-submenu/init.cjs.map +2 -2
- package/build/navigation-submenu/save.cjs.map +2 -2
- package/build/navigation-submenu/transforms.cjs.map +2 -2
- package/build/nextpage/edit.cjs.map +2 -2
- package/build/nextpage/index.cjs.map +2 -2
- package/build/nextpage/init.cjs.map +2 -2
- package/build/nextpage/save.cjs.map +2 -2
- package/build/nextpage/transforms.cjs.map +2 -2
- package/build/page-list/edit.cjs +48 -34
- package/build/page-list/edit.cjs.map +3 -3
- package/build/page-list/index.cjs.map +2 -2
- package/build/page-list/init.cjs.map +2 -2
- package/build/page-list/use-convert-to-navigation-links.cjs.map +2 -2
- package/build/page-list-item/edit.cjs.map +2 -2
- package/build/page-list-item/index.cjs.map +2 -2
- package/build/page-list-item/init.cjs.map +2 -2
- package/build/paragraph/block.json +0 -1
- package/build/paragraph/deprecated-attributes.cjs.map +2 -2
- package/build/paragraph/deprecated.cjs.map +2 -2
- package/build/paragraph/edit.cjs +4 -4
- package/build/paragraph/edit.cjs.map +2 -2
- package/build/paragraph/index.cjs.map +2 -2
- package/build/paragraph/init.cjs.map +2 -2
- package/build/paragraph/save.cjs.map +2 -2
- package/build/paragraph/transforms.cjs.map +2 -2
- package/build/paragraph/use-enter.cjs.map +2 -2
- package/build/pattern/edit.cjs.map +2 -2
- package/build/pattern/index.cjs.map +2 -2
- package/build/pattern/init.cjs.map +2 -2
- package/build/pattern/recursion-detector.cjs.map +2 -2
- package/build/playlist/block.json +1 -0
- package/build/playlist/context.cjs.map +2 -2
- package/build/playlist/edit.cjs +115 -29
- package/build/playlist/edit.cjs.map +2 -2
- package/build/playlist/index.cjs +3 -1
- package/build/playlist/index.cjs.map +3 -3
- package/build/playlist/init.cjs.map +2 -2
- package/build/playlist/save.cjs.map +2 -2
- package/build/playlist/transforms.cjs +66 -0
- package/build/playlist/transforms.cjs.map +7 -0
- package/build/playlist/utils.cjs +19 -4
- package/build/playlist/utils.cjs.map +2 -2
- package/build/playlist/view.cjs.map +2 -2
- package/build/playlist-track/edit.cjs +7 -5
- package/build/playlist-track/edit.cjs.map +2 -2
- package/build/playlist-track/index.cjs +1 -1
- package/build/playlist-track/index.cjs.map +2 -2
- package/build/playlist-track/init.cjs.map +2 -2
- package/build/post-author/edit.cjs.map +2 -2
- package/build/post-author/index.cjs.map +2 -2
- package/build/post-author/init.cjs.map +2 -2
- package/build/post-author/utils.cjs.map +2 -2
- package/build/post-author-biography/deprecated.cjs.map +2 -2
- package/build/post-author-biography/edit.cjs.map +2 -2
- package/build/post-author-biography/index.cjs.map +2 -2
- package/build/post-author-biography/init.cjs.map +2 -2
- package/build/post-author-name/deprecated.cjs.map +2 -2
- package/build/post-author-name/edit.cjs.map +2 -2
- package/build/post-author-name/index.cjs.map +2 -2
- package/build/post-author-name/init.cjs.map +2 -2
- package/build/post-author-name/transforms.cjs.map +2 -2
- package/build/post-comment/edit.cjs +1 -11
- package/build/post-comment/edit.cjs.map +2 -2
- package/build/post-comment/index.cjs +9 -0
- package/build/post-comment/index.cjs.map +2 -2
- package/build/post-comment/init.cjs.map +2 -2
- package/build/post-comment/save.cjs.map +2 -2
- package/build/post-comments-count/deprecated.cjs.map +2 -2
- package/build/post-comments-count/edit.cjs.map +2 -2
- package/build/post-comments-count/index.cjs.map +2 -2
- package/build/post-comments-count/init.cjs.map +2 -2
- package/build/post-comments-count/transforms.cjs.map +2 -2
- package/build/post-comments-form/deprecated.cjs.map +2 -2
- package/build/post-comments-form/edit.cjs.map +2 -2
- package/build/post-comments-form/form.cjs.map +2 -2
- package/build/post-comments-form/index.cjs.map +2 -2
- package/build/post-comments-form/init.cjs.map +2 -2
- package/build/post-comments-link/deprecated.cjs.map +2 -2
- package/build/post-comments-link/edit.cjs.map +2 -2
- package/build/post-comments-link/index.cjs.map +2 -2
- package/build/post-comments-link/init.cjs.map +2 -2
- package/build/post-comments-link/transforms.cjs.map +2 -2
- package/build/post-content/edit.cjs +33 -15
- package/build/post-content/edit.cjs.map +2 -2
- package/build/post-content/index.cjs.map +2 -2
- package/build/post-content/init.cjs.map +2 -2
- package/build/post-date/deprecated.cjs.map +2 -2
- package/build/post-date/edit.cjs.map +2 -2
- package/build/post-date/index.cjs.map +2 -2
- package/build/post-date/init.cjs.map +2 -2
- package/build/post-date/variations.cjs.map +2 -2
- package/build/post-excerpt/deprecated.cjs.map +2 -2
- package/build/post-excerpt/edit.cjs.map +2 -2
- package/build/post-excerpt/index.cjs.map +2 -2
- package/build/post-excerpt/init.cjs.map +2 -2
- package/build/post-excerpt/transforms.cjs.map +2 -2
- package/build/post-featured-image/dimension-controls.cjs.map +2 -2
- package/build/post-featured-image/edit.cjs +3 -2
- package/build/post-featured-image/edit.cjs.map +2 -2
- package/build/post-featured-image/index.cjs.map +2 -2
- package/build/post-featured-image/init.cjs.map +2 -2
- package/build/post-featured-image/overlay-controls.cjs.map +2 -2
- package/build/post-featured-image/overlay.cjs.map +2 -2
- package/build/post-navigation-link/deprecated.cjs.map +2 -2
- package/build/post-navigation-link/edit.cjs.map +2 -2
- package/build/post-navigation-link/index.cjs +2 -0
- package/build/post-navigation-link/index.cjs.map +3 -3
- package/build/post-navigation-link/init.cjs.map +2 -2
- package/build/post-navigation-link/variations.cjs.map +2 -2
- package/build/post-template/edit.cjs +1 -18
- package/build/post-template/edit.cjs.map +2 -2
- package/build/post-template/index.cjs +18 -0
- package/build/post-template/index.cjs.map +2 -2
- package/build/post-template/init.cjs.map +2 -2
- package/build/post-template/save.cjs.map +2 -2
- package/build/post-terms/deprecated.cjs.map +2 -2
- package/build/post-terms/edit.cjs +2 -2
- package/build/post-terms/edit.cjs.map +2 -2
- package/build/post-terms/hooks.cjs.map +2 -2
- package/build/post-terms/index.cjs.map +2 -2
- package/build/post-terms/init.cjs.map +2 -2
- package/build/post-terms/use-post-terms.cjs.map +2 -2
- package/build/post-time-to-read/deprecated.cjs.map +2 -2
- package/build/post-time-to-read/edit.cjs.map +2 -2
- package/build/post-time-to-read/index.cjs.map +2 -2
- package/build/post-time-to-read/init.cjs.map +2 -2
- package/build/post-time-to-read/variations.cjs.map +2 -2
- package/build/post-title/deprecated.cjs.map +2 -2
- package/build/post-title/edit.cjs +2 -2
- package/build/post-title/edit.cjs.map +2 -2
- package/build/post-title/index.cjs.map +2 -2
- package/build/post-title/init.cjs.map +2 -2
- package/build/preformatted/edit.cjs +3 -1
- package/build/preformatted/edit.cjs.map +2 -2
- package/build/preformatted/index.cjs.map +2 -2
- package/build/preformatted/init.cjs.map +2 -2
- package/build/preformatted/save.cjs.map +2 -2
- package/build/preformatted/transforms.cjs.map +2 -2
- package/build/private-apis.cjs.map +2 -2
- package/build/pullquote/deprecated.cjs.map +2 -2
- package/build/pullquote/edit.cjs +5 -3
- package/build/pullquote/edit.cjs.map +2 -2
- package/build/pullquote/index.cjs.map +2 -2
- package/build/pullquote/init.cjs.map +2 -2
- package/build/pullquote/save.cjs.map +2 -2
- package/build/pullquote/transforms.cjs.map +2 -2
- package/build/query/deprecated.cjs.map +2 -2
- package/build/query/edit/enhanced-pagination-modal.cjs.map +2 -2
- package/build/query/edit/index.cjs.map +2 -2
- package/build/query/edit/inspector-controls/author-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/format-controls.cjs.map +2 -2
- package/build/query/edit/inspector-controls/index.cjs +4 -1
- package/build/query/edit/inspector-controls/index.cjs.map +2 -2
- package/build/query/edit/inspector-controls/offset-controls.cjs +1 -1
- package/build/query/edit/inspector-controls/offset-controls.cjs.map +2 -2
- package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/pages-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/parent-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/per-page-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/sticky-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/taxonomy-controls.cjs.map +2 -2
- package/build/query/edit/pattern-selection.cjs.map +2 -2
- package/build/query/edit/query-content.cjs +1 -4
- package/build/query/edit/query-content.cjs.map +2 -2
- package/build/query/edit/query-placeholder.cjs.map +2 -2
- package/build/query/edit/query-toolbar.cjs.map +2 -2
- package/build/query/icons.cjs.map +2 -2
- package/build/query/index.cjs.map +2 -2
- package/build/query/init.cjs.map +2 -2
- package/build/query/save.cjs.map +2 -2
- package/build/query/utils.cjs.map +2 -2
- package/build/query/variations.cjs.map +2 -2
- package/build/query/view.cjs.map +2 -2
- package/build/query-no-results/edit.cjs +1 -14
- package/build/query-no-results/edit.cjs.map +2 -2
- package/build/query-no-results/index.cjs +11 -0
- package/build/query-no-results/index.cjs.map +2 -2
- package/build/query-no-results/init.cjs.map +2 -2
- package/build/query-no-results/save.cjs.map +2 -2
- package/build/query-pagination/deprecated.cjs.map +2 -2
- package/build/query-pagination/edit.cjs +1 -8
- package/build/query-pagination/edit.cjs.map +2 -2
- package/build/query-pagination/index.cjs +6 -0
- package/build/query-pagination/index.cjs.map +2 -2
- package/build/query-pagination/init.cjs.map +2 -2
- package/build/query-pagination/query-pagination-arrow-controls.cjs.map +2 -2
- package/build/query-pagination/query-pagination-label-control.cjs.map +2 -2
- package/build/query-pagination/save.cjs.map +2 -2
- package/build/query-pagination-next/edit.cjs.map +2 -2
- package/build/query-pagination-next/index.cjs.map +2 -2
- package/build/query-pagination-next/init.cjs.map +2 -2
- package/build/query-pagination-numbers/edit.cjs.map +2 -2
- package/build/query-pagination-numbers/index.cjs.map +2 -2
- package/build/query-pagination-numbers/init.cjs.map +2 -2
- package/build/query-pagination-previous/edit.cjs.map +2 -2
- package/build/query-pagination-previous/index.cjs.map +2 -2
- package/build/query-pagination-previous/init.cjs.map +2 -2
- package/build/query-title/deprecated.cjs.map +2 -2
- package/build/query-title/edit.cjs.map +2 -2
- package/build/query-title/index.cjs.map +2 -2
- package/build/query-title/init.cjs.map +2 -2
- package/build/query-title/use-archive-label.cjs.map +2 -2
- package/build/query-title/use-post-type-label.cjs.map +2 -2
- package/build/query-title/variations.cjs.map +2 -2
- package/build/query-total/edit.cjs.map +2 -2
- package/build/query-total/icons.cjs.map +2 -2
- package/build/query-total/index.cjs.map +2 -2
- package/build/query-total/init.cjs.map +2 -2
- package/build/quote/deprecated.cjs.map +2 -2
- package/build/quote/edit.cjs +15 -5
- package/build/quote/edit.cjs.map +2 -2
- package/build/quote/index.cjs +3 -0
- package/build/quote/index.cjs.map +2 -2
- package/build/quote/init.cjs.map +2 -2
- package/build/quote/save.cjs.map +2 -2
- package/build/quote/transforms.cjs.map +2 -2
- package/build/read-more/edit.cjs +3 -1
- package/build/read-more/edit.cjs.map +2 -2
- package/build/read-more/index.cjs.map +2 -2
- package/build/read-more/init.cjs.map +2 -2
- package/build/rss/edit.cjs.map +2 -2
- package/build/rss/index.cjs.map +2 -2
- package/build/rss/init.cjs.map +2 -2
- package/build/search/edit.cjs.map +2 -2
- package/build/search/index.cjs.map +2 -2
- package/build/search/init.cjs.map +2 -2
- package/build/search/variations.cjs.map +2 -2
- package/build/search/view.cjs.map +2 -2
- package/build/separator/deprecated.cjs.map +2 -2
- package/build/separator/edit.cjs.map +2 -2
- package/build/separator/index.cjs.map +2 -2
- package/build/separator/init.cjs.map +2 -2
- package/build/separator/save.cjs.map +2 -2
- package/build/separator/transforms.cjs.map +2 -2
- package/build/separator/use-deprecated-opacity.cjs.map +2 -2
- package/build/shortcode/edit.cjs.map +2 -2
- package/build/shortcode/index.cjs.map +2 -2
- package/build/shortcode/init.cjs.map +2 -2
- package/build/shortcode/save.cjs.map +2 -2
- package/build/shortcode/transforms.cjs.map +2 -2
- package/build/site-logo/edit.cjs.map +2 -2
- package/build/site-logo/index.cjs.map +2 -2
- package/build/site-logo/init.cjs.map +2 -2
- package/build/site-logo/transforms.cjs.map +2 -2
- package/build/site-tagline/deprecated.cjs.map +2 -2
- package/build/site-tagline/edit.cjs +3 -1
- package/build/site-tagline/edit.cjs.map +2 -2
- package/build/site-tagline/icon.cjs.map +2 -2
- package/build/site-tagline/index.cjs.map +2 -2
- package/build/site-tagline/init.cjs.map +2 -2
- package/build/site-title/deprecated.cjs.map +2 -2
- package/build/site-title/edit.cjs +3 -1
- package/build/site-title/edit.cjs.map +2 -2
- package/build/site-title/index.cjs.map +2 -2
- package/build/site-title/init.cjs.map +2 -2
- package/build/site-title/transforms.cjs.map +2 -2
- package/build/social-link/edit.cjs.map +2 -2
- package/build/social-link/icons/amazon.cjs.map +2 -2
- package/build/social-link/icons/bandcamp.cjs.map +2 -2
- package/build/social-link/icons/behance.cjs.map +2 -2
- package/build/social-link/icons/bluesky.cjs.map +2 -2
- package/build/social-link/icons/chain.cjs.map +2 -2
- package/build/social-link/icons/codepen.cjs.map +2 -2
- package/build/social-link/icons/deviantart.cjs.map +2 -2
- package/build/social-link/icons/discord.cjs.map +2 -2
- package/build/social-link/icons/dribbble.cjs.map +2 -2
- package/build/social-link/icons/dropbox.cjs.map +2 -2
- package/build/social-link/icons/etsy.cjs.map +2 -2
- package/build/social-link/icons/facebook.cjs.map +2 -2
- package/build/social-link/icons/feed.cjs.map +2 -2
- package/build/social-link/icons/fivehundredpx.cjs.map +2 -2
- package/build/social-link/icons/flickr.cjs.map +2 -2
- package/build/social-link/icons/foursquare.cjs.map +2 -2
- package/build/social-link/icons/github.cjs.map +2 -2
- package/build/social-link/icons/goodreads.cjs.map +2 -2
- package/build/social-link/icons/google.cjs.map +2 -2
- package/build/social-link/icons/gravatar.cjs.map +2 -2
- package/build/social-link/icons/instagram.cjs.map +2 -2
- package/build/social-link/icons/lastfm.cjs.map +2 -2
- package/build/social-link/icons/linkedin.cjs.map +2 -2
- package/build/social-link/icons/mail.cjs.map +2 -2
- package/build/social-link/icons/mastodon.cjs.map +2 -2
- package/build/social-link/icons/medium.cjs.map +2 -2
- package/build/social-link/icons/meetup.cjs.map +2 -2
- package/build/social-link/icons/patreon.cjs.map +2 -2
- package/build/social-link/icons/pinterest.cjs.map +2 -2
- package/build/social-link/icons/pocket.cjs.map +2 -2
- package/build/social-link/icons/reddit.cjs.map +2 -2
- package/build/social-link/icons/skype.cjs.map +2 -2
- package/build/social-link/icons/snapchat.cjs.map +2 -2
- package/build/social-link/icons/soundcloud.cjs.map +2 -2
- package/build/social-link/icons/spotify.cjs.map +2 -2
- package/build/social-link/icons/telegram.cjs.map +2 -2
- package/build/social-link/icons/threads.cjs.map +2 -2
- package/build/social-link/icons/tiktok.cjs.map +2 -2
- package/build/social-link/icons/tumblr.cjs.map +2 -2
- package/build/social-link/icons/twitch.cjs.map +2 -2
- package/build/social-link/icons/twitter.cjs.map +2 -2
- package/build/social-link/icons/vimeo.cjs.map +2 -2
- package/build/social-link/icons/vk.cjs.map +2 -2
- package/build/social-link/icons/whatsapp.cjs.map +2 -2
- package/build/social-link/icons/wordpress.cjs.map +2 -2
- package/build/social-link/icons/x.cjs.map +2 -2
- package/build/social-link/icons/yelp.cjs.map +2 -2
- package/build/social-link/icons/youtube.cjs.map +2 -2
- package/build/social-link/index.cjs.map +2 -2
- package/build/social-link/init.cjs.map +2 -2
- package/build/social-link/social-list.cjs.map +2 -2
- package/build/social-link/variations.cjs.map +2 -2
- package/build/social-links/deprecated.cjs.map +2 -2
- package/build/social-links/edit.cjs +11 -4
- package/build/social-links/edit.cjs.map +2 -2
- package/build/social-links/index.cjs.map +2 -2
- package/build/social-links/init.cjs.map +2 -2
- package/build/social-links/save.cjs.map +2 -2
- package/build/spacer/controls.cjs.map +2 -2
- package/build/spacer/deprecated.cjs.map +2 -2
- package/build/spacer/edit.cjs.map +2 -2
- package/build/spacer/index.cjs.map +2 -2
- package/build/spacer/init.cjs.map +2 -2
- package/build/spacer/save.cjs.map +2 -2
- package/build/spacer/transforms.cjs.map +2 -2
- package/build/tab-list/block.json +2 -1
- package/build/tab-list/edit.cjs +2 -0
- package/build/tab-list/edit.cjs.map +3 -3
- package/build/tab-list/index.cjs.map +2 -2
- package/build/tab-list/init.cjs.map +2 -2
- package/build/tab-list/save.cjs.map +2 -2
- package/build/tab-list/tab-movers.cjs +87 -0
- package/build/tab-list/tab-movers.cjs.map +7 -0
- package/build/tab-panel/controls.cjs.map +2 -2
- package/build/tab-panel/edit.cjs +1 -12
- package/build/tab-panel/edit.cjs.map +2 -2
- package/build/tab-panel/index.cjs +21 -0
- package/build/tab-panel/index.cjs.map +2 -2
- package/build/tab-panel/init.cjs.map +2 -2
- package/build/tab-panel/save.cjs.map +2 -2
- package/build/tab-panels/edit.cjs +0 -6
- package/build/tab-panels/edit.cjs.map +2 -2
- package/build/tab-panels/index.cjs +2 -0
- package/build/tab-panels/index.cjs.map +2 -2
- package/build/tab-panels/init.cjs.map +2 -2
- package/build/tab-panels/save.cjs.map +2 -2
- package/build/table/deprecated.cjs.map +2 -2
- package/build/table/edit.cjs +1 -1
- package/build/table/edit.cjs.map +2 -2
- package/build/table/index.cjs.map +2 -2
- package/build/table/init.cjs.map +2 -2
- package/build/table/save.cjs.map +2 -2
- package/build/table/transforms.cjs.map +2 -2
- package/build/table-of-contents/edit.cjs +84 -54
- package/build/table-of-contents/edit.cjs.map +3 -3
- package/build/table-of-contents/hooks.cjs.map +2 -2
- package/build/table-of-contents/index.cjs.map +2 -2
- package/build/table-of-contents/init.cjs.map +2 -2
- package/build/table-of-contents/list.cjs.map +2 -2
- package/build/table-of-contents/save.cjs.map +2 -2
- package/build/table-of-contents/utils.cjs +25 -0
- package/build/table-of-contents/utils.cjs.map +2 -2
- package/build/tabs/edit.cjs +0 -2
- package/build/tabs/edit.cjs.map +2 -2
- package/build/tabs/index.cjs +3 -0
- package/build/tabs/index.cjs.map +2 -2
- package/build/tabs/init.cjs.map +2 -2
- package/build/tabs/save.cjs.map +2 -2
- package/build/tabs/tab-toolbar-controls.cjs.map +2 -2
- package/build/tabs/use-tab-actions.cjs +24 -3
- package/build/tabs/use-tab-actions.cjs.map +2 -2
- package/build/tabs/use-tab-list-items-sync.cjs.map +2 -2
- package/build/tabs/view.cjs +7 -1
- package/build/tabs/view.cjs.map +2 -2
- package/build/tag-cloud/edit.cjs.map +2 -2
- package/build/tag-cloud/index.cjs.map +2 -2
- package/build/tag-cloud/init.cjs.map +2 -2
- package/build/tag-cloud/transforms.cjs.map +2 -2
- package/build/template-part/edit/advanced-controls.cjs.map +2 -2
- package/build/template-part/edit/import-controls.cjs.map +2 -2
- package/build/template-part/edit/index.cjs.map +2 -2
- package/build/template-part/edit/inner-blocks.cjs.map +2 -2
- package/build/template-part/edit/placeholder.cjs.map +2 -2
- package/build/template-part/edit/selection-modal.cjs.map +2 -2
- package/build/template-part/edit/title-modal.cjs.map +2 -2
- package/build/template-part/edit/utils/get-template-part-icon.cjs.map +2 -2
- package/build/template-part/edit/utils/hooks.cjs.map +2 -2
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.cjs.map +2 -2
- package/build/template-part/edit/utils/transformers.cjs.map +2 -2
- package/build/template-part/index.cjs.map +2 -2
- package/build/template-part/init.cjs.map +2 -2
- package/build/template-part/variations.cjs.map +2 -2
- package/build/term-count/edit.cjs.map +2 -2
- package/build/term-count/icons.cjs.map +2 -2
- package/build/term-count/index.cjs.map +2 -2
- package/build/term-count/init.cjs.map +2 -2
- package/build/term-count/use-term-count.cjs.map +2 -2
- package/build/term-description/deprecated.cjs.map +2 -2
- package/build/term-description/edit.cjs.map +2 -2
- package/build/term-description/index.cjs.map +2 -2
- package/build/term-description/init.cjs.map +2 -2
- package/build/term-description/use-term-description.cjs.map +2 -2
- package/build/term-name/deprecated.cjs.map +2 -2
- package/build/term-name/edit.cjs.map +2 -2
- package/build/term-name/index.cjs.map +2 -2
- package/build/term-name/use-term-name.cjs.map +2 -2
- package/build/term-template/edit.cjs +1 -2
- package/build/term-template/edit.cjs.map +2 -2
- package/build/term-template/index.cjs +2 -0
- package/build/term-template/index.cjs.map +2 -2
- package/build/term-template/save.cjs.map +2 -2
- package/build/terms-query/edit/index.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/advanced-controls.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/empty-terms-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/include-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/index.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/max-terms-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/nested-terms-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +2 -2
- package/build/terms-query/edit/terms-query-content.cjs +1 -4
- package/build/terms-query/edit/terms-query-content.cjs.map +2 -2
- package/build/terms-query/edit/terms-query-placeholder.cjs.map +2 -2
- package/build/terms-query/index.cjs +2 -0
- package/build/terms-query/index.cjs.map +2 -2
- package/build/terms-query/save.cjs.map +2 -2
- package/build/terms-query/utils.cjs.map +2 -2
- package/build/terms-query/variations.cjs.map +2 -2
- package/build/text-columns/edit.cjs.map +2 -2
- package/build/text-columns/index.cjs.map +2 -2
- package/build/text-columns/init.cjs.map +2 -2
- package/build/text-columns/save.cjs.map +2 -2
- package/build/text-columns/transforms.cjs.map +2 -2
- package/build/utils/caption.cjs +2 -2
- package/build/utils/caption.cjs.map +2 -2
- package/build/utils/deprecated-text-align-attributes.cjs.map +2 -2
- package/build/utils/get-transformed-attributes.cjs.map +2 -2
- package/build/utils/hooks.cjs.map +2 -2
- package/build/utils/html-renderer.cjs.map +2 -2
- package/build/utils/init-block.cjs.map +2 -2
- package/build/utils/is-within-overlay.cjs.map +2 -2
- package/build/utils/media-control.cjs.map +2 -2
- package/build/utils/migrate-font-family.cjs.map +2 -2
- package/build/utils/poster-image.cjs.map +2 -2
- package/build/utils/search-patterns.cjs.map +2 -2
- package/build/utils/style-state.cjs.map +2 -2
- package/build/utils/waveform-player.cjs.map +2 -2
- package/build/utils/waveform-utils.cjs.map +2 -2
- package/build/verse/deprecated.cjs.map +2 -2
- package/build/verse/edit.cjs +3 -1
- package/build/verse/edit.cjs.map +2 -2
- package/build/verse/index.cjs.map +2 -2
- package/build/verse/init.cjs.map +2 -2
- package/build/verse/save.cjs.map +2 -2
- package/build/verse/transforms.cjs.map +2 -2
- package/build/video/deprecated.cjs.map +2 -2
- package/build/video/edit-common-settings.cjs.map +2 -2
- package/build/video/edit.cjs +1 -1
- package/build/video/edit.cjs.map +2 -2
- package/build/video/index.cjs.map +2 -2
- package/build/video/init.cjs.map +2 -2
- package/build/video/save.cjs.map +2 -2
- package/build/video/tracks-editor.cjs +0 -1
- package/build/video/tracks-editor.cjs.map +2 -2
- package/build/video/transforms.cjs.map +2 -2
- package/build/video/variations.cjs +1 -1
- package/build/video/variations.cjs.map +2 -2
- package/build-module/accordion/edit.mjs +1 -3
- package/build-module/accordion/edit.mjs.map +2 -2
- package/build-module/accordion/index.mjs +3 -0
- package/build-module/accordion/index.mjs.map +2 -2
- package/build-module/accordion/init.mjs.map +2 -2
- package/build-module/accordion/save.mjs.map +2 -2
- package/build-module/accordion/view.mjs.map +2 -2
- package/build-module/accordion-heading/deprecated.mjs.map +2 -2
- package/build-module/accordion-heading/edit.mjs.map +2 -2
- package/build-module/accordion-heading/index.mjs.map +2 -2
- package/build-module/accordion-heading/init.mjs.map +2 -2
- package/build-module/accordion-heading/save.mjs.map +2 -2
- package/build-module/accordion-item/edit.mjs +1 -4
- package/build-module/accordion-item/edit.mjs.map +2 -2
- package/build-module/accordion-item/index.mjs +3 -0
- package/build-module/accordion-item/index.mjs.map +2 -2
- package/build-module/accordion-item/init.mjs.map +2 -2
- package/build-module/accordion-item/save.mjs.map +2 -2
- package/build-module/accordion-panel/block.json +1 -0
- package/build-module/accordion-panel/edit.mjs +0 -1
- package/build-module/accordion-panel/edit.mjs.map +2 -2
- package/build-module/accordion-panel/index.mjs +2 -0
- package/build-module/accordion-panel/index.mjs.map +2 -2
- package/build-module/accordion-panel/init.mjs.map +2 -2
- package/build-module/accordion-panel/save.mjs.map +2 -2
- package/build-module/archives/edit.mjs.map +2 -2
- package/build-module/archives/index.mjs.map +2 -2
- package/build-module/archives/init.mjs.map +2 -2
- package/build-module/audio/deprecated.mjs.map +2 -2
- package/build-module/audio/edit.mjs.map +2 -2
- package/build-module/audio/index.mjs.map +2 -2
- package/build-module/audio/init.mjs.map +2 -2
- package/build-module/audio/save.mjs.map +2 -2
- package/build-module/audio/transforms.mjs.map +2 -2
- package/build-module/avatar/edit.mjs.map +2 -2
- package/build-module/avatar/hooks.mjs.map +2 -2
- package/build-module/avatar/index.mjs.map +2 -2
- package/build-module/avatar/init.mjs.map +2 -2
- package/build-module/avatar/user-control.mjs.map +2 -2
- package/build-module/block/edit.mjs +1 -1
- package/build-module/block/edit.mjs.map +2 -2
- package/build-module/block/index.mjs.map +2 -2
- package/build-module/block/init.mjs.map +2 -2
- package/build-module/block-keyboard-shortcuts/index.mjs.map +2 -2
- package/build-module/breadcrumbs/edit.mjs.map +2 -2
- package/build-module/breadcrumbs/index.mjs.map +2 -2
- package/build-module/button/deprecated.mjs.map +2 -2
- package/build-module/button/edit.mjs.map +2 -2
- package/build-module/button/get-updated-link-attributes.mjs.map +2 -2
- package/build-module/button/index.mjs.map +2 -2
- package/build-module/button/init.mjs.map +2 -2
- package/build-module/button/save.mjs.map +2 -2
- package/build-module/buttons/deprecated.mjs.map +2 -2
- package/build-module/buttons/edit.mjs +1 -14
- package/build-module/buttons/edit.mjs.map +2 -2
- package/build-module/buttons/index.mjs +3 -0
- package/build-module/buttons/index.mjs.map +2 -2
- package/build-module/buttons/init.mjs.map +2 -2
- package/build-module/buttons/save.mjs.map +2 -2
- package/build-module/buttons/transforms.mjs.map +2 -2
- package/build-module/calendar/edit.mjs.map +2 -2
- package/build-module/calendar/index.mjs.map +2 -2
- package/build-module/calendar/init.mjs.map +2 -2
- package/build-module/calendar/transforms.mjs.map +2 -2
- package/build-module/categories/edit.mjs.map +2 -2
- package/build-module/categories/index.mjs.map +2 -2
- package/build-module/categories/init.mjs.map +2 -2
- package/build-module/categories/variations.mjs.map +2 -2
- package/build-module/code/edit.mjs +3 -1
- package/build-module/code/edit.mjs.map +2 -2
- package/build-module/code/index.mjs.map +2 -2
- package/build-module/code/init.mjs.map +2 -2
- package/build-module/code/save.mjs.map +2 -2
- package/build-module/code/transforms.mjs.map +2 -2
- package/build-module/code/utils.mjs.map +2 -2
- package/build-module/column/deprecated.mjs.map +2 -2
- package/build-module/column/edit.mjs.map +2 -2
- package/build-module/column/index.mjs.map +2 -2
- package/build-module/column/init.mjs.map +2 -2
- package/build-module/column/save.mjs.map +2 -2
- package/build-module/columns/deprecated.mjs.map +2 -2
- package/build-module/columns/edit.mjs.map +2 -2
- package/build-module/columns/index.mjs.map +2 -2
- package/build-module/columns/init.mjs.map +2 -2
- package/build-module/columns/save.mjs.map +2 -2
- package/build-module/columns/transforms.mjs.map +2 -2
- package/build-module/columns/variations.mjs.map +2 -2
- package/build-module/comment-author-avatar/edit.mjs.map +2 -2
- package/build-module/comment-author-avatar/index.mjs.map +2 -2
- package/build-module/comment-author-avatar/init.mjs.map +2 -2
- package/build-module/comment-author-name/deprecated.mjs.map +2 -2
- package/build-module/comment-author-name/edit.mjs.map +2 -2
- package/build-module/comment-author-name/index.mjs.map +2 -2
- package/build-module/comment-author-name/init.mjs.map +2 -2
- package/build-module/comment-content/deprecated.mjs.map +2 -2
- package/build-module/comment-content/edit.mjs.map +2 -2
- package/build-module/comment-content/index.mjs.map +2 -2
- package/build-module/comment-content/init.mjs.map +2 -2
- package/build-module/comment-date/deprecated.mjs.map +2 -2
- package/build-module/comment-date/edit.mjs.map +2 -2
- package/build-module/comment-date/index.mjs.map +2 -2
- package/build-module/comment-date/init.mjs.map +2 -2
- package/build-module/comment-edit-link/deprecated.mjs.map +2 -2
- package/build-module/comment-edit-link/edit.mjs.map +2 -2
- package/build-module/comment-edit-link/index.mjs.map +2 -2
- package/build-module/comment-edit-link/init.mjs.map +2 -2
- package/build-module/comment-reply-link/deprecated.mjs.map +2 -2
- package/build-module/comment-reply-link/edit.mjs.map +2 -2
- package/build-module/comment-reply-link/index.mjs.map +2 -2
- package/build-module/comment-reply-link/init.mjs.map +2 -2
- package/build-module/comment-template/edit.mjs +1 -12
- package/build-module/comment-template/edit.mjs.map +2 -2
- package/build-module/comment-template/hooks.mjs.map +2 -2
- package/build-module/comment-template/index.mjs +9 -0
- package/build-module/comment-template/index.mjs.map +2 -2
- package/build-module/comment-template/init.mjs.map +2 -2
- package/build-module/comment-template/save.mjs.map +2 -2
- package/build-module/comments/deprecated.mjs.map +2 -2
- package/build-module/comments/edit/comments-inspector-controls.mjs.map +2 -2
- package/build-module/comments/edit/comments-legacy.mjs.map +2 -2
- package/build-module/comments/edit/index.mjs +1 -4
- package/build-module/comments/edit/index.mjs.map +2 -2
- package/build-module/comments/edit/placeholder.mjs.map +2 -2
- package/build-module/comments/index.mjs +2 -0
- package/build-module/comments/index.mjs.map +2 -2
- package/build-module/comments/init.mjs.map +2 -2
- package/build-module/comments/save.mjs.map +2 -2
- package/build-module/comments-pagination/comments-pagination-arrow-controls.mjs.map +2 -2
- package/build-module/comments-pagination/edit.mjs +1 -8
- package/build-module/comments-pagination/edit.mjs.map +2 -2
- package/build-module/comments-pagination/index.mjs +6 -0
- package/build-module/comments-pagination/index.mjs.map +2 -2
- package/build-module/comments-pagination/init.mjs.map +2 -2
- package/build-module/comments-pagination/save.mjs.map +2 -2
- package/build-module/comments-pagination-next/edit.mjs.map +2 -2
- package/build-module/comments-pagination-next/index.mjs.map +2 -2
- package/build-module/comments-pagination-next/init.mjs.map +2 -2
- package/build-module/comments-pagination-numbers/edit.mjs.map +2 -2
- package/build-module/comments-pagination-numbers/index.mjs.map +2 -2
- package/build-module/comments-pagination-numbers/init.mjs.map +2 -2
- package/build-module/comments-pagination-previous/edit.mjs.map +2 -2
- package/build-module/comments-pagination-previous/index.mjs.map +2 -2
- package/build-module/comments-pagination-previous/init.mjs.map +2 -2
- package/build-module/comments-title/deprecated.mjs.map +2 -2
- package/build-module/comments-title/edit.mjs.map +2 -2
- package/build-module/comments-title/index.mjs.map +2 -2
- package/build-module/comments-title/init.mjs.map +2 -2
- package/build-module/cover/block.json +1 -0
- package/build-module/cover/deprecated.mjs.map +2 -2
- package/build-module/cover/edit/block-controls.mjs +3 -1
- package/build-module/cover/edit/block-controls.mjs.map +2 -2
- package/build-module/cover/edit/color-utils.mjs.map +2 -2
- package/build-module/cover/edit/cover-placeholder.mjs.map +2 -2
- package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
- package/build-module/cover/edit/index.mjs +78 -34
- package/build-module/cover/edit/index.mjs.map +2 -2
- package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
- package/build-module/cover/edit/resizable-cover-popover.mjs.map +2 -2
- package/build-module/cover/embed-video-utils.mjs.map +2 -2
- package/build-module/cover/index.mjs.map +2 -2
- package/build-module/cover/init.mjs.map +2 -2
- package/build-module/cover/save.mjs.map +2 -2
- package/build-module/cover/shared.mjs.map +2 -2
- package/build-module/cover/transforms.mjs.map +2 -2
- package/build-module/cover/variations.mjs.map +2 -2
- package/build-module/details/edit.mjs +2 -13
- package/build-module/details/edit.mjs.map +2 -2
- package/build-module/details/index.mjs +9 -0
- package/build-module/details/index.mjs.map +2 -2
- package/build-module/details/init.mjs.map +2 -2
- package/build-module/details/save.mjs.map +2 -2
- package/build-module/details/transforms.mjs.map +2 -2
- package/build-module/embed/deprecated.mjs +1 -1
- package/build-module/embed/deprecated.mjs.map +2 -2
- package/build-module/embed/edit.mjs +1 -1
- package/build-module/embed/edit.mjs.map +2 -2
- package/build-module/embed/embed-controls.mjs.map +2 -2
- package/build-module/embed/embed-loading.mjs.map +2 -2
- package/build-module/embed/embed-placeholder.mjs +1 -1
- package/build-module/embed/embed-placeholder.mjs.map +2 -2
- package/build-module/embed/embed-preview.mjs.map +2 -2
- package/build-module/embed/icons.mjs.map +2 -2
- package/build-module/embed/index.mjs.map +2 -2
- package/build-module/embed/init.mjs.map +2 -2
- package/build-module/embed/save.mjs.map +2 -2
- package/build-module/embed/transforms.mjs.map +2 -2
- package/build-module/embed/util.mjs +1 -3
- package/build-module/embed/util.mjs.map +2 -2
- package/build-module/embed/variations.mjs.map +2 -2
- package/build-module/embed/wp-embed-preview.mjs.map +2 -2
- package/build-module/file/deprecated.mjs.map +2 -2
- package/build-module/file/edit.mjs.map +2 -2
- package/build-module/file/index.mjs.map +2 -2
- package/build-module/file/init.mjs.map +2 -2
- package/build-module/file/inspector.mjs.map +2 -2
- package/build-module/file/save.mjs.map +2 -2
- package/build-module/file/transforms.mjs.map +2 -2
- package/build-module/file/variations.mjs.map +2 -2
- package/build-module/file/view.mjs.map +2 -2
- package/build-module/footnotes/edit.mjs +6 -1
- package/build-module/footnotes/edit.mjs.map +2 -2
- package/build-module/footnotes/format.mjs.map +2 -2
- package/build-module/footnotes/index.mjs.map +2 -2
- package/build-module/footnotes/init.mjs.map +2 -2
- package/build-module/form/deprecated.mjs.map +2 -2
- package/build-module/form/edit.mjs +0 -34
- package/build-module/form/edit.mjs.map +2 -2
- package/build-module/form/icons.mjs.map +2 -2
- package/build-module/form/index.mjs +35 -0
- package/build-module/form/index.mjs.map +2 -2
- package/build-module/form/init.mjs.map +2 -2
- package/build-module/form/save.mjs.map +2 -2
- package/build-module/form/utils.mjs.map +2 -2
- package/build-module/form/variations.mjs.map +2 -2
- package/build-module/form-input/deprecated.mjs.map +2 -2
- package/build-module/form-input/edit.mjs.map +2 -2
- package/build-module/form-input/icons.mjs.map +2 -2
- package/build-module/form-input/index.mjs.map +2 -2
- package/build-module/form-input/init.mjs.map +2 -2
- package/build-module/form-input/save.mjs.map +2 -2
- package/build-module/form-input/variations.mjs.map +2 -2
- package/build-module/form-submission-notification/edit.mjs +0 -11
- package/build-module/form-submission-notification/edit.mjs.map +2 -2
- package/build-module/form-submission-notification/index.mjs +12 -0
- package/build-module/form-submission-notification/index.mjs.map +2 -2
- package/build-module/form-submission-notification/init.mjs.map +2 -2
- package/build-module/form-submission-notification/save.mjs.map +2 -2
- package/build-module/form-submission-notification/variations.mjs.map +2 -2
- package/build-module/form-submit-button/edit.mjs +0 -18
- package/build-module/form-submit-button/edit.mjs.map +2 -2
- package/build-module/form-submit-button/index.mjs +18 -0
- package/build-module/form-submit-button/index.mjs.map +2 -2
- package/build-module/form-submit-button/init.mjs.map +2 -2
- package/build-module/form-submit-button/save.mjs.map +2 -2
- package/build-module/freeform/convert-to-blocks-button.mjs.map +2 -2
- package/build-module/freeform/edit.mjs.map +2 -2
- package/build-module/freeform/index.mjs.map +2 -2
- package/build-module/freeform/init.mjs.map +2 -2
- package/build-module/freeform/modal.mjs.map +2 -2
- package/build-module/freeform/save.mjs.map +2 -2
- package/build-module/gallery/deprecated.mjs.map +2 -2
- package/build-module/gallery/dynamic-gallery.mjs +104 -61
- package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
- package/build-module/gallery/dynamic-source.mjs.map +2 -2
- package/build-module/gallery/edit.mjs.map +2 -2
- package/build-module/gallery/gallery.mjs.map +2 -2
- package/build-module/gallery/gap-styles.mjs.map +2 -2
- package/build-module/gallery/index.mjs.map +2 -2
- package/build-module/gallery/init.mjs.map +2 -2
- package/build-module/gallery/save.mjs.map +2 -2
- package/build-module/gallery/shared-icon.mjs.map +2 -2
- package/build-module/gallery/transforms.mjs.map +2 -2
- package/build-module/gallery/use-dynamic-gallery.mjs +16 -9
- package/build-module/gallery/use-dynamic-gallery.mjs.map +2 -2
- package/build-module/gallery/use-get-media.mjs.map +2 -2
- package/build-module/gallery/use-get-new-images.mjs.map +2 -2
- package/build-module/gallery/use-image-sizes.mjs.map +2 -2
- package/build-module/gallery/utils.mjs.map +2 -2
- package/build-module/gallery/variations.mjs.map +2 -2
- package/build-module/group/block.json +0 -1
- package/build-module/group/deprecated.mjs.map +2 -2
- package/build-module/group/edit.mjs.map +2 -2
- package/build-module/group/index.mjs.map +2 -2
- package/build-module/group/init.mjs.map +2 -2
- package/build-module/group/placeholder.mjs.map +2 -2
- package/build-module/group/save.mjs.map +2 -2
- package/build-module/group/transforms.mjs.map +2 -2
- package/build-module/group/variations.mjs.map +2 -2
- package/build-module/heading/autogenerate-anchors.mjs.map +2 -2
- package/build-module/heading/deprecated.mjs.map +2 -2
- package/build-module/heading/edit.mjs +1 -1
- package/build-module/heading/edit.mjs.map +2 -2
- package/build-module/heading/index.mjs.map +2 -2
- package/build-module/heading/init.mjs.map +2 -2
- package/build-module/heading/save.mjs.map +2 -2
- package/build-module/heading/transforms.mjs.map +2 -2
- package/build-module/heading/variations.mjs.map +2 -2
- package/build-module/home-link/edit.mjs.map +2 -2
- package/build-module/home-link/index.mjs.map +2 -2
- package/build-module/home-link/init.mjs.map +2 -2
- package/build-module/home-link/save.mjs.map +2 -2
- package/build-module/html/edit.mjs.map +2 -2
- package/build-module/html/index.mjs.map +2 -2
- package/build-module/html/init.mjs.map +2 -2
- package/build-module/html/modal.mjs +68 -55
- package/build-module/html/modal.mjs.map +2 -2
- package/build-module/html/preview.mjs.map +2 -2
- package/build-module/html/transforms.mjs.map +2 -2
- package/build-module/icon/block.json +5 -3
- package/build-module/icon/components/custom-inserter/icon-grid.mjs.map +2 -2
- package/build-module/icon/components/custom-inserter/index.mjs.map +2 -2
- package/build-module/icon/edit.mjs.map +2 -2
- package/build-module/icon/icon.mjs.map +2 -2
- package/build-module/icon/index.mjs.map +2 -2
- package/build-module/image/deprecated.mjs.map +2 -2
- package/build-module/image/edit.mjs +5 -2
- package/build-module/image/edit.mjs.map +2 -2
- package/build-module/image/image.mjs +19 -5
- package/build-module/image/image.mjs.map +2 -2
- package/build-module/image/index.mjs.map +2 -2
- package/build-module/image/init.mjs.map +2 -2
- package/build-module/image/save.mjs.map +2 -2
- package/build-module/image/transforms.mjs.map +2 -2
- package/build-module/image/use-max-width-observer.mjs.map +2 -2
- package/build-module/image/use-open-image-media-editor-modal.mjs +6 -2
- package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
- package/build-module/image/utils.mjs.map +2 -2
- package/build-module/image/view.mjs.map +2 -2
- package/build-module/index.mjs.map +2 -2
- package/build-module/latest-comments/deprecated.mjs.map +2 -2
- package/build-module/latest-comments/edit.mjs.map +2 -2
- package/build-module/latest-comments/index.mjs.map +2 -2
- package/build-module/latest-comments/init.mjs.map +2 -2
- package/build-module/latest-posts/deprecated.mjs.map +2 -2
- package/build-module/latest-posts/edit.mjs.map +2 -2
- package/build-module/latest-posts/index.mjs.map +2 -2
- package/build-module/latest-posts/init.mjs.map +2 -2
- package/build-module/list/deprecated.mjs.map +2 -2
- package/build-module/list/edit.mjs +5 -4
- package/build-module/list/edit.mjs.map +2 -2
- package/build-module/list/index.mjs +3 -0
- package/build-module/list/index.mjs.map +2 -2
- package/build-module/list/init.mjs.map +2 -2
- package/build-module/list/ordered-list-settings.mjs.map +2 -2
- package/build-module/list/save.mjs.map +2 -2
- package/build-module/list/tag-name.mjs.map +2 -2
- package/build-module/list/transforms.mjs.map +2 -2
- package/build-module/list/utils.mjs.map +2 -2
- package/build-module/list-item/edit.mjs.map +2 -2
- package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
- package/build-module/list-item/hooks/use-indent-list-item.mjs +10 -2
- package/build-module/list-item/hooks/use-indent-list-item.mjs.map +2 -2
- package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
- package/build-module/list-item/hooks/use-outdent-list-item.mjs.map +2 -2
- package/build-module/list-item/hooks/use-space.mjs.map +2 -2
- package/build-module/list-item/index.mjs.map +2 -2
- package/build-module/list-item/init.mjs.map +2 -2
- package/build-module/list-item/save.mjs.map +2 -2
- package/build-module/list-item/transforms.mjs.map +2 -2
- package/build-module/lock-unlock.mjs.map +2 -2
- package/build-module/loginout/edit.mjs.map +2 -2
- package/build-module/loginout/index.mjs.map +2 -2
- package/build-module/loginout/init.mjs.map +2 -2
- package/build-module/math/deprecated.mjs.map +2 -2
- package/build-module/math/edit.mjs +41 -60
- package/build-module/math/edit.mjs.map +2 -2
- package/build-module/math/index.mjs.map +2 -2
- package/build-module/math/init.mjs.map +2 -2
- package/build-module/math/save.mjs.map +2 -2
- package/build-module/media-text/constants.mjs.map +2 -2
- package/build-module/media-text/deprecated.mjs.map +2 -2
- package/build-module/media-text/edit.mjs +4 -4
- package/build-module/media-text/edit.mjs.map +2 -2
- package/build-module/media-text/index.mjs +2 -0
- package/build-module/media-text/index.mjs.map +2 -2
- package/build-module/media-text/init.mjs.map +2 -2
- package/build-module/media-text/media-container.mjs.map +2 -2
- package/build-module/media-text/save.mjs.map +2 -2
- package/build-module/media-text/transforms.mjs.map +2 -2
- package/build-module/missing/edit.mjs.map +2 -2
- package/build-module/missing/index.mjs.map +2 -2
- package/build-module/missing/init.mjs.map +2 -2
- package/build-module/missing/save.mjs.map +2 -2
- package/build-module/more/edit.mjs +2 -2
- package/build-module/more/edit.mjs.map +2 -2
- package/build-module/more/index.mjs.map +2 -2
- package/build-module/more/init.mjs.map +2 -2
- package/build-module/more/save.mjs.map +2 -2
- package/build-module/more/transforms.mjs.map +2 -2
- package/build-module/navigation/deprecated.mjs.map +2 -2
- package/build-module/navigation/edit/accessible-description.mjs.map +2 -2
- package/build-module/navigation/edit/accessible-menu-description.mjs.map +2 -2
- package/build-module/navigation/edit/deleted-navigation-warning.mjs.map +2 -2
- package/build-module/navigation/edit/deleted-overlay-warning.mjs.map +2 -2
- package/build-module/navigation/edit/index.mjs +30 -16
- package/build-module/navigation/edit/index.mjs.map +2 -2
- package/build-module/navigation/edit/inner-blocks.mjs.map +2 -2
- package/build-module/navigation/edit/leaf-more-menu.mjs +33 -23
- package/build-module/navigation/edit/leaf-more-menu.mjs.map +2 -2
- package/build-module/navigation/edit/manage-menus-button.mjs.map +2 -2
- package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
- package/build-module/navigation/edit/navigation-link-ui.mjs +30 -19
- package/build-module/navigation/edit/navigation-link-ui.mjs.map +2 -2
- package/build-module/navigation/edit/navigation-list-view-header.mjs.map +2 -2
- package/build-module/navigation/edit/navigation-menu-delete-control.mjs.map +2 -2
- package/build-module/navigation/edit/navigation-menu-name-control.mjs.map +2 -2
- package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-menu-icon.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-menu-preview-button.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-menu-preview-controls.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-menu-preview.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-panel.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-preview.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-visibility-control.mjs.map +2 -2
- package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
- package/build-module/navigation/edit/placeholder/placeholder-preview.mjs.map +2 -2
- package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
- package/build-module/navigation/edit/unsaved-inner-blocks.mjs.map +2 -2
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.mjs.map +2 -2
- package/build-module/navigation/edit/use-create-navigation-menu.mjs.map +2 -2
- package/build-module/navigation/edit/use-create-overlay.mjs.map +2 -2
- package/build-module/navigation/edit/use-generate-default-navigation-title.mjs.map +2 -2
- package/build-module/navigation/edit/use-inner-blocks.mjs.map +2 -2
- package/build-module/navigation/edit/use-layout-custom-properties.mjs +51 -0
- package/build-module/navigation/edit/use-layout-custom-properties.mjs.map +7 -0
- package/build-module/navigation/edit/use-navigation-notice.mjs.map +2 -2
- package/build-module/navigation/edit/utils.mjs.map +2 -2
- package/build-module/navigation/index.mjs.map +2 -2
- package/build-module/navigation/init.mjs.map +2 -2
- package/build-module/navigation/menu-items-to-blocks.mjs.map +2 -2
- package/build-module/navigation/save.mjs.map +2 -2
- package/build-module/navigation/use-navigation-menu.mjs.map +2 -2
- package/build-module/navigation/use-template-part-area-label.mjs.map +2 -2
- package/build-module/navigation/view.mjs +9 -6
- package/build-module/navigation/view.mjs.map +2 -2
- package/build-module/navigation-link/edit.mjs +3 -3
- package/build-module/navigation-link/edit.mjs.map +2 -2
- package/build-module/navigation-link/hooks.mjs.map +2 -2
- package/build-module/navigation-link/icons.mjs.map +2 -2
- package/build-module/navigation-link/index.mjs.map +2 -2
- package/build-module/navigation-link/init.mjs.map +2 -2
- package/build-module/navigation-link/link-ui/block-inserter.mjs.map +2 -2
- package/build-module/navigation-link/link-ui/dialog-wrapper.mjs.map +2 -2
- package/build-module/navigation-link/link-ui/index.mjs +2 -2
- package/build-module/navigation-link/link-ui/index.mjs.map +2 -2
- package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
- package/build-module/navigation-link/save.mjs.map +2 -2
- package/build-module/navigation-link/shared/controls.mjs.map +2 -2
- package/build-module/navigation-link/shared/invalid-draft-display.mjs.map +2 -2
- package/build-module/navigation-link/shared/update-attributes.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-enable-link-status-validation.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-entity-binding.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-handle-link-change.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-is-dragging-within.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-is-invalid-link.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
- package/build-module/navigation-link/transforms.mjs.map +2 -2
- package/build-module/navigation-overlay-close/edit.mjs.map +2 -2
- package/build-module/navigation-overlay-close/icon.mjs.map +2 -2
- package/build-module/navigation-overlay-close/index.mjs.map +2 -2
- package/build-module/navigation-submenu/edit.mjs.map +2 -2
- package/build-module/navigation-submenu/icons.mjs.map +2 -2
- package/build-module/navigation-submenu/index.mjs.map +2 -2
- package/build-module/navigation-submenu/init.mjs.map +2 -2
- package/build-module/navigation-submenu/save.mjs.map +2 -2
- package/build-module/navigation-submenu/transforms.mjs.map +2 -2
- package/build-module/nextpage/edit.mjs.map +2 -2
- package/build-module/nextpage/index.mjs.map +2 -2
- package/build-module/nextpage/init.mjs.map +2 -2
- package/build-module/nextpage/save.mjs.map +2 -2
- package/build-module/nextpage/transforms.mjs.map +2 -2
- package/build-module/page-list/edit.mjs +51 -39
- package/build-module/page-list/edit.mjs.map +2 -2
- package/build-module/page-list/index.mjs.map +2 -2
- package/build-module/page-list/init.mjs.map +2 -2
- package/build-module/page-list/use-convert-to-navigation-links.mjs.map +2 -2
- package/build-module/page-list-item/edit.mjs.map +2 -2
- package/build-module/page-list-item/index.mjs.map +2 -2
- package/build-module/page-list-item/init.mjs.map +2 -2
- package/build-module/paragraph/block.json +0 -1
- package/build-module/paragraph/deprecated-attributes.mjs.map +2 -2
- package/build-module/paragraph/deprecated.mjs.map +2 -2
- package/build-module/paragraph/edit.mjs +4 -4
- package/build-module/paragraph/edit.mjs.map +2 -2
- package/build-module/paragraph/index.mjs.map +2 -2
- package/build-module/paragraph/init.mjs.map +2 -2
- package/build-module/paragraph/save.mjs.map +2 -2
- package/build-module/paragraph/transforms.mjs.map +2 -2
- package/build-module/paragraph/use-enter.mjs.map +2 -2
- package/build-module/pattern/edit.mjs.map +2 -2
- package/build-module/pattern/index.mjs.map +2 -2
- package/build-module/pattern/init.mjs.map +2 -2
- package/build-module/pattern/recursion-detector.mjs.map +2 -2
- package/build-module/playlist/block.json +1 -0
- package/build-module/playlist/context.mjs.map +2 -2
- package/build-module/playlist/edit.mjs +115 -30
- package/build-module/playlist/edit.mjs.map +2 -2
- package/build-module/playlist/index.mjs +3 -1
- package/build-module/playlist/index.mjs.map +2 -2
- package/build-module/playlist/init.mjs.map +2 -2
- package/build-module/playlist/save.mjs.map +2 -2
- package/build-module/playlist/transforms.mjs +45 -0
- package/build-module/playlist/transforms.mjs.map +7 -0
- package/build-module/playlist/utils.mjs +19 -4
- package/build-module/playlist/utils.mjs.map +2 -2
- package/build-module/playlist/view.mjs.map +2 -2
- package/build-module/playlist-track/edit.mjs +7 -5
- package/build-module/playlist-track/edit.mjs.map +2 -2
- package/build-module/playlist-track/index.mjs +1 -1
- package/build-module/playlist-track/index.mjs.map +2 -2
- package/build-module/playlist-track/init.mjs.map +2 -2
- package/build-module/post-author/edit.mjs.map +2 -2
- package/build-module/post-author/index.mjs.map +2 -2
- package/build-module/post-author/init.mjs.map +2 -2
- package/build-module/post-author/utils.mjs.map +2 -2
- package/build-module/post-author-biography/deprecated.mjs.map +2 -2
- package/build-module/post-author-biography/edit.mjs.map +2 -2
- package/build-module/post-author-biography/index.mjs.map +2 -2
- package/build-module/post-author-biography/init.mjs.map +2 -2
- package/build-module/post-author-name/deprecated.mjs.map +2 -2
- package/build-module/post-author-name/edit.mjs.map +2 -2
- package/build-module/post-author-name/index.mjs.map +2 -2
- package/build-module/post-author-name/init.mjs.map +2 -2
- package/build-module/post-author-name/transforms.mjs.map +2 -2
- package/build-module/post-comment/edit.mjs +1 -11
- package/build-module/post-comment/edit.mjs.map +2 -2
- package/build-module/post-comment/index.mjs +9 -0
- package/build-module/post-comment/index.mjs.map +2 -2
- package/build-module/post-comment/init.mjs.map +2 -2
- package/build-module/post-comment/save.mjs.map +2 -2
- package/build-module/post-comments-count/deprecated.mjs.map +2 -2
- package/build-module/post-comments-count/edit.mjs.map +2 -2
- package/build-module/post-comments-count/index.mjs.map +2 -2
- package/build-module/post-comments-count/init.mjs.map +2 -2
- package/build-module/post-comments-count/transforms.mjs.map +2 -2
- package/build-module/post-comments-form/deprecated.mjs.map +2 -2
- package/build-module/post-comments-form/edit.mjs.map +2 -2
- package/build-module/post-comments-form/form.mjs.map +2 -2
- package/build-module/post-comments-form/index.mjs.map +2 -2
- package/build-module/post-comments-form/init.mjs.map +2 -2
- package/build-module/post-comments-link/deprecated.mjs.map +2 -2
- package/build-module/post-comments-link/edit.mjs.map +2 -2
- package/build-module/post-comments-link/index.mjs.map +2 -2
- package/build-module/post-comments-link/init.mjs.map +2 -2
- package/build-module/post-comments-link/transforms.mjs.map +2 -2
- package/build-module/post-content/edit.mjs +33 -15
- package/build-module/post-content/edit.mjs.map +2 -2
- package/build-module/post-content/index.mjs.map +2 -2
- package/build-module/post-content/init.mjs.map +2 -2
- package/build-module/post-date/deprecated.mjs.map +2 -2
- package/build-module/post-date/edit.mjs.map +2 -2
- package/build-module/post-date/index.mjs.map +2 -2
- package/build-module/post-date/init.mjs.map +2 -2
- package/build-module/post-date/variations.mjs.map +2 -2
- package/build-module/post-excerpt/deprecated.mjs.map +2 -2
- package/build-module/post-excerpt/edit.mjs.map +2 -2
- package/build-module/post-excerpt/index.mjs.map +2 -2
- package/build-module/post-excerpt/init.mjs.map +2 -2
- package/build-module/post-excerpt/transforms.mjs.map +2 -2
- package/build-module/post-featured-image/dimension-controls.mjs.map +2 -2
- package/build-module/post-featured-image/edit.mjs +3 -2
- package/build-module/post-featured-image/edit.mjs.map +2 -2
- package/build-module/post-featured-image/index.mjs.map +2 -2
- package/build-module/post-featured-image/init.mjs.map +2 -2
- package/build-module/post-featured-image/overlay-controls.mjs.map +2 -2
- package/build-module/post-featured-image/overlay.mjs.map +2 -2
- package/build-module/post-navigation-link/deprecated.mjs.map +2 -2
- package/build-module/post-navigation-link/edit.mjs.map +2 -2
- package/build-module/post-navigation-link/index.mjs +2 -0
- package/build-module/post-navigation-link/index.mjs.map +2 -2
- package/build-module/post-navigation-link/init.mjs.map +2 -2
- package/build-module/post-navigation-link/variations.mjs.map +2 -2
- package/build-module/post-template/edit.mjs +1 -18
- package/build-module/post-template/edit.mjs.map +2 -2
- package/build-module/post-template/index.mjs +18 -0
- package/build-module/post-template/index.mjs.map +2 -2
- package/build-module/post-template/init.mjs.map +2 -2
- package/build-module/post-template/save.mjs.map +2 -2
- package/build-module/post-terms/deprecated.mjs.map +2 -2
- package/build-module/post-terms/edit.mjs +2 -2
- package/build-module/post-terms/edit.mjs.map +2 -2
- package/build-module/post-terms/hooks.mjs.map +2 -2
- package/build-module/post-terms/index.mjs.map +2 -2
- package/build-module/post-terms/init.mjs.map +2 -2
- package/build-module/post-terms/use-post-terms.mjs.map +2 -2
- package/build-module/post-time-to-read/deprecated.mjs.map +2 -2
- package/build-module/post-time-to-read/edit.mjs.map +2 -2
- package/build-module/post-time-to-read/index.mjs.map +2 -2
- package/build-module/post-time-to-read/init.mjs.map +2 -2
- package/build-module/post-time-to-read/variations.mjs.map +2 -2
- package/build-module/post-title/deprecated.mjs.map +2 -2
- package/build-module/post-title/edit.mjs +2 -2
- package/build-module/post-title/edit.mjs.map +2 -2
- package/build-module/post-title/index.mjs.map +2 -2
- package/build-module/post-title/init.mjs.map +2 -2
- package/build-module/preformatted/edit.mjs +3 -1
- package/build-module/preformatted/edit.mjs.map +2 -2
- package/build-module/preformatted/index.mjs.map +2 -2
- package/build-module/preformatted/init.mjs.map +2 -2
- package/build-module/preformatted/save.mjs.map +2 -2
- package/build-module/preformatted/transforms.mjs.map +2 -2
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/pullquote/deprecated.mjs.map +2 -2
- package/build-module/pullquote/edit.mjs +5 -3
- package/build-module/pullquote/edit.mjs.map +2 -2
- package/build-module/pullquote/index.mjs.map +2 -2
- package/build-module/pullquote/init.mjs.map +2 -2
- package/build-module/pullquote/save.mjs.map +2 -2
- package/build-module/pullquote/transforms.mjs.map +2 -2
- package/build-module/query/deprecated.mjs.map +2 -2
- package/build-module/query/edit/enhanced-pagination-modal.mjs.map +2 -2
- package/build-module/query/edit/index.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/author-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/format-controls.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/index.mjs +5 -2
- package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/offset-controls.mjs +2 -2
- package/build-module/query/edit/inspector-controls/offset-controls.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/pages-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/parent-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/per-page-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs.map +2 -2
- package/build-module/query/edit/pattern-selection.mjs.map +2 -2
- package/build-module/query/edit/query-content.mjs +1 -4
- package/build-module/query/edit/query-content.mjs.map +2 -2
- package/build-module/query/edit/query-placeholder.mjs.map +2 -2
- package/build-module/query/edit/query-toolbar.mjs.map +2 -2
- package/build-module/query/icons.mjs.map +2 -2
- package/build-module/query/index.mjs.map +2 -2
- package/build-module/query/init.mjs.map +2 -2
- package/build-module/query/save.mjs.map +2 -2
- package/build-module/query/utils.mjs.map +2 -2
- package/build-module/query/variations.mjs.map +2 -2
- package/build-module/query/view.mjs.map +2 -2
- package/build-module/query-no-results/edit.mjs +1 -14
- package/build-module/query-no-results/edit.mjs.map +2 -2
- package/build-module/query-no-results/index.mjs +11 -0
- package/build-module/query-no-results/index.mjs.map +2 -2
- package/build-module/query-no-results/init.mjs.map +2 -2
- package/build-module/query-no-results/save.mjs.map +2 -2
- package/build-module/query-pagination/deprecated.mjs.map +2 -2
- package/build-module/query-pagination/edit.mjs +1 -8
- package/build-module/query-pagination/edit.mjs.map +2 -2
- package/build-module/query-pagination/index.mjs +6 -0
- package/build-module/query-pagination/index.mjs.map +2 -2
- package/build-module/query-pagination/init.mjs.map +2 -2
- package/build-module/query-pagination/query-pagination-arrow-controls.mjs.map +2 -2
- package/build-module/query-pagination/query-pagination-label-control.mjs.map +2 -2
- package/build-module/query-pagination/save.mjs.map +2 -2
- package/build-module/query-pagination-next/edit.mjs.map +2 -2
- package/build-module/query-pagination-next/index.mjs.map +2 -2
- package/build-module/query-pagination-next/init.mjs.map +2 -2
- package/build-module/query-pagination-numbers/edit.mjs.map +2 -2
- package/build-module/query-pagination-numbers/index.mjs.map +2 -2
- package/build-module/query-pagination-numbers/init.mjs.map +2 -2
- package/build-module/query-pagination-previous/edit.mjs.map +2 -2
- package/build-module/query-pagination-previous/index.mjs.map +2 -2
- package/build-module/query-pagination-previous/init.mjs.map +2 -2
- package/build-module/query-title/deprecated.mjs.map +2 -2
- package/build-module/query-title/edit.mjs.map +2 -2
- package/build-module/query-title/index.mjs.map +2 -2
- package/build-module/query-title/init.mjs.map +2 -2
- package/build-module/query-title/use-archive-label.mjs.map +2 -2
- package/build-module/query-title/use-post-type-label.mjs.map +2 -2
- package/build-module/query-title/variations.mjs.map +2 -2
- package/build-module/query-total/edit.mjs.map +2 -2
- package/build-module/query-total/icons.mjs.map +2 -2
- package/build-module/query-total/index.mjs.map +2 -2
- package/build-module/query-total/init.mjs.map +2 -2
- package/build-module/quote/deprecated.mjs.map +2 -2
- package/build-module/quote/edit.mjs +16 -6
- package/build-module/quote/edit.mjs.map +2 -2
- package/build-module/quote/index.mjs +3 -0
- package/build-module/quote/index.mjs.map +2 -2
- package/build-module/quote/init.mjs.map +2 -2
- package/build-module/quote/save.mjs.map +2 -2
- package/build-module/quote/transforms.mjs.map +2 -2
- package/build-module/read-more/edit.mjs +3 -1
- package/build-module/read-more/edit.mjs.map +2 -2
- package/build-module/read-more/index.mjs.map +2 -2
- package/build-module/read-more/init.mjs.map +2 -2
- package/build-module/rss/edit.mjs.map +2 -2
- package/build-module/rss/index.mjs.map +2 -2
- package/build-module/rss/init.mjs.map +2 -2
- package/build-module/search/edit.mjs.map +2 -2
- package/build-module/search/index.mjs.map +2 -2
- package/build-module/search/init.mjs.map +2 -2
- package/build-module/search/variations.mjs.map +2 -2
- package/build-module/search/view.mjs.map +2 -2
- package/build-module/separator/deprecated.mjs.map +2 -2
- package/build-module/separator/edit.mjs.map +2 -2
- package/build-module/separator/index.mjs.map +2 -2
- package/build-module/separator/init.mjs.map +2 -2
- package/build-module/separator/save.mjs.map +2 -2
- package/build-module/separator/transforms.mjs.map +2 -2
- package/build-module/separator/use-deprecated-opacity.mjs.map +2 -2
- package/build-module/shortcode/edit.mjs.map +2 -2
- package/build-module/shortcode/index.mjs.map +2 -2
- package/build-module/shortcode/init.mjs.map +2 -2
- package/build-module/shortcode/save.mjs.map +2 -2
- package/build-module/shortcode/transforms.mjs.map +2 -2
- package/build-module/site-logo/edit.mjs.map +2 -2
- package/build-module/site-logo/index.mjs.map +2 -2
- package/build-module/site-logo/init.mjs.map +2 -2
- package/build-module/site-logo/transforms.mjs.map +2 -2
- package/build-module/site-tagline/deprecated.mjs.map +2 -2
- package/build-module/site-tagline/edit.mjs +3 -1
- package/build-module/site-tagline/edit.mjs.map +2 -2
- package/build-module/site-tagline/icon.mjs.map +2 -2
- package/build-module/site-tagline/index.mjs.map +2 -2
- package/build-module/site-tagline/init.mjs.map +2 -2
- package/build-module/site-title/deprecated.mjs.map +2 -2
- package/build-module/site-title/edit.mjs +3 -1
- package/build-module/site-title/edit.mjs.map +2 -2
- package/build-module/site-title/index.mjs.map +2 -2
- package/build-module/site-title/init.mjs.map +2 -2
- package/build-module/site-title/transforms.mjs.map +2 -2
- package/build-module/social-link/edit.mjs.map +2 -2
- package/build-module/social-link/icons/amazon.mjs.map +2 -2
- package/build-module/social-link/icons/bandcamp.mjs.map +2 -2
- package/build-module/social-link/icons/behance.mjs.map +2 -2
- package/build-module/social-link/icons/bluesky.mjs.map +2 -2
- package/build-module/social-link/icons/chain.mjs.map +2 -2
- package/build-module/social-link/icons/codepen.mjs.map +2 -2
- package/build-module/social-link/icons/deviantart.mjs.map +2 -2
- package/build-module/social-link/icons/discord.mjs.map +2 -2
- package/build-module/social-link/icons/dribbble.mjs.map +2 -2
- package/build-module/social-link/icons/dropbox.mjs.map +2 -2
- package/build-module/social-link/icons/etsy.mjs.map +2 -2
- package/build-module/social-link/icons/facebook.mjs.map +2 -2
- package/build-module/social-link/icons/feed.mjs.map +2 -2
- package/build-module/social-link/icons/fivehundredpx.mjs.map +2 -2
- package/build-module/social-link/icons/flickr.mjs.map +2 -2
- package/build-module/social-link/icons/foursquare.mjs.map +2 -2
- package/build-module/social-link/icons/github.mjs.map +2 -2
- package/build-module/social-link/icons/goodreads.mjs.map +2 -2
- package/build-module/social-link/icons/google.mjs.map +2 -2
- package/build-module/social-link/icons/gravatar.mjs.map +2 -2
- package/build-module/social-link/icons/instagram.mjs.map +2 -2
- package/build-module/social-link/icons/lastfm.mjs.map +2 -2
- package/build-module/social-link/icons/linkedin.mjs.map +2 -2
- package/build-module/social-link/icons/mail.mjs.map +2 -2
- package/build-module/social-link/icons/mastodon.mjs.map +2 -2
- package/build-module/social-link/icons/medium.mjs.map +2 -2
- package/build-module/social-link/icons/meetup.mjs.map +2 -2
- package/build-module/social-link/icons/patreon.mjs.map +2 -2
- package/build-module/social-link/icons/pinterest.mjs.map +2 -2
- package/build-module/social-link/icons/pocket.mjs.map +2 -2
- package/build-module/social-link/icons/reddit.mjs.map +2 -2
- package/build-module/social-link/icons/skype.mjs.map +2 -2
- package/build-module/social-link/icons/snapchat.mjs.map +2 -2
- package/build-module/social-link/icons/soundcloud.mjs.map +2 -2
- package/build-module/social-link/icons/spotify.mjs.map +2 -2
- package/build-module/social-link/icons/telegram.mjs.map +2 -2
- package/build-module/social-link/icons/threads.mjs.map +2 -2
- package/build-module/social-link/icons/tiktok.mjs.map +2 -2
- package/build-module/social-link/icons/tumblr.mjs.map +2 -2
- package/build-module/social-link/icons/twitch.mjs.map +2 -2
- package/build-module/social-link/icons/twitter.mjs.map +2 -2
- package/build-module/social-link/icons/vimeo.mjs.map +2 -2
- package/build-module/social-link/icons/vk.mjs.map +2 -2
- package/build-module/social-link/icons/whatsapp.mjs.map +2 -2
- package/build-module/social-link/icons/wordpress.mjs.map +2 -2
- package/build-module/social-link/icons/x.mjs.map +2 -2
- package/build-module/social-link/icons/yelp.mjs.map +2 -2
- package/build-module/social-link/icons/youtube.mjs.map +2 -2
- package/build-module/social-link/index.mjs.map +2 -2
- package/build-module/social-link/init.mjs.map +2 -2
- package/build-module/social-link/social-list.mjs.map +2 -2
- package/build-module/social-link/variations.mjs.map +2 -2
- package/build-module/social-links/deprecated.mjs.map +2 -2
- package/build-module/social-links/edit.mjs +11 -4
- package/build-module/social-links/edit.mjs.map +2 -2
- package/build-module/social-links/index.mjs.map +2 -2
- package/build-module/social-links/init.mjs.map +2 -2
- package/build-module/social-links/save.mjs.map +2 -2
- package/build-module/spacer/controls.mjs.map +2 -2
- package/build-module/spacer/deprecated.mjs.map +2 -2
- package/build-module/spacer/edit.mjs.map +2 -2
- package/build-module/spacer/index.mjs.map +2 -2
- package/build-module/spacer/init.mjs.map +2 -2
- package/build-module/spacer/save.mjs.map +2 -2
- package/build-module/spacer/transforms.mjs.map +2 -2
- package/build-module/tab-list/block.json +2 -1
- package/build-module/tab-list/edit.mjs +2 -0
- package/build-module/tab-list/edit.mjs.map +2 -2
- package/build-module/tab-list/index.mjs.map +2 -2
- package/build-module/tab-list/init.mjs.map +2 -2
- package/build-module/tab-list/save.mjs.map +2 -2
- package/build-module/tab-list/tab-movers.mjs +59 -0
- package/build-module/tab-list/tab-movers.mjs.map +7 -0
- package/build-module/tab-panel/controls.mjs.map +2 -2
- package/build-module/tab-panel/edit.mjs +1 -12
- package/build-module/tab-panel/edit.mjs.map +2 -2
- package/build-module/tab-panel/index.mjs +21 -0
- package/build-module/tab-panel/index.mjs.map +2 -2
- package/build-module/tab-panel/init.mjs.map +2 -2
- package/build-module/tab-panel/save.mjs.map +2 -2
- package/build-module/tab-panels/edit.mjs +0 -6
- package/build-module/tab-panels/edit.mjs.map +2 -2
- package/build-module/tab-panels/index.mjs +2 -0
- package/build-module/tab-panels/index.mjs.map +2 -2
- package/build-module/tab-panels/init.mjs.map +2 -2
- package/build-module/tab-panels/save.mjs.map +2 -2
- package/build-module/table/deprecated.mjs.map +2 -2
- package/build-module/table/edit.mjs +1 -1
- package/build-module/table/edit.mjs.map +2 -2
- package/build-module/table/index.mjs.map +2 -2
- package/build-module/table/init.mjs.map +2 -2
- package/build-module/table/save.mjs.map +2 -2
- package/build-module/table/transforms.mjs.map +2 -2
- package/build-module/table-of-contents/edit.mjs +87 -56
- package/build-module/table-of-contents/edit.mjs.map +2 -2
- package/build-module/table-of-contents/hooks.mjs.map +2 -2
- package/build-module/table-of-contents/index.mjs.map +2 -2
- package/build-module/table-of-contents/init.mjs.map +2 -2
- package/build-module/table-of-contents/list.mjs.map +2 -2
- package/build-module/table-of-contents/save.mjs.map +2 -2
- package/build-module/table-of-contents/utils.mjs +24 -0
- package/build-module/table-of-contents/utils.mjs.map +2 -2
- package/build-module/tabs/edit.mjs +0 -2
- package/build-module/tabs/edit.mjs.map +2 -2
- package/build-module/tabs/index.mjs +3 -0
- package/build-module/tabs/index.mjs.map +2 -2
- package/build-module/tabs/init.mjs.map +2 -2
- package/build-module/tabs/save.mjs.map +2 -2
- package/build-module/tabs/tab-toolbar-controls.mjs.map +2 -2
- package/build-module/tabs/use-tab-actions.mjs +24 -3
- package/build-module/tabs/use-tab-actions.mjs.map +2 -2
- package/build-module/tabs/use-tab-list-items-sync.mjs.map +2 -2
- package/build-module/tabs/view.mjs +7 -1
- package/build-module/tabs/view.mjs.map +2 -2
- package/build-module/tag-cloud/edit.mjs.map +2 -2
- package/build-module/tag-cloud/index.mjs.map +2 -2
- package/build-module/tag-cloud/init.mjs.map +2 -2
- package/build-module/tag-cloud/transforms.mjs.map +2 -2
- package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
- package/build-module/template-part/edit/import-controls.mjs.map +2 -2
- package/build-module/template-part/edit/index.mjs.map +2 -2
- package/build-module/template-part/edit/inner-blocks.mjs.map +2 -2
- package/build-module/template-part/edit/placeholder.mjs.map +2 -2
- package/build-module/template-part/edit/selection-modal.mjs.map +2 -2
- package/build-module/template-part/edit/title-modal.mjs.map +2 -2
- package/build-module/template-part/edit/utils/get-template-part-icon.mjs.map +2 -2
- package/build-module/template-part/edit/utils/hooks.mjs.map +2 -2
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.mjs.map +2 -2
- package/build-module/template-part/edit/utils/transformers.mjs.map +2 -2
- package/build-module/template-part/index.mjs.map +2 -2
- package/build-module/template-part/init.mjs.map +2 -2
- package/build-module/template-part/variations.mjs.map +2 -2
- package/build-module/term-count/edit.mjs.map +2 -2
- package/build-module/term-count/icons.mjs.map +2 -2
- package/build-module/term-count/index.mjs.map +2 -2
- package/build-module/term-count/init.mjs.map +2 -2
- package/build-module/term-count/use-term-count.mjs.map +2 -2
- package/build-module/term-description/deprecated.mjs.map +2 -2
- package/build-module/term-description/edit.mjs.map +2 -2
- package/build-module/term-description/index.mjs.map +2 -2
- package/build-module/term-description/init.mjs.map +2 -2
- package/build-module/term-description/use-term-description.mjs.map +2 -2
- package/build-module/term-name/deprecated.mjs.map +2 -2
- package/build-module/term-name/edit.mjs.map +2 -2
- package/build-module/term-name/index.mjs.map +2 -2
- package/build-module/term-name/use-term-name.mjs.map +2 -2
- package/build-module/term-template/edit.mjs +1 -2
- package/build-module/term-template/edit.mjs.map +2 -2
- package/build-module/term-template/index.mjs +2 -0
- package/build-module/term-template/index.mjs.map +2 -2
- package/build-module/term-template/save.mjs.map +2 -2
- package/build-module/terms-query/edit/index.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/advanced-controls.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/empty-terms-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/include-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/index.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/max-terms-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/nested-terms-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
- package/build-module/terms-query/edit/terms-query-content.mjs +1 -4
- package/build-module/terms-query/edit/terms-query-content.mjs.map +2 -2
- package/build-module/terms-query/edit/terms-query-placeholder.mjs.map +2 -2
- package/build-module/terms-query/index.mjs +2 -0
- package/build-module/terms-query/index.mjs.map +2 -2
- package/build-module/terms-query/save.mjs.map +2 -2
- package/build-module/terms-query/utils.mjs.map +2 -2
- package/build-module/terms-query/variations.mjs.map +2 -2
- package/build-module/text-columns/edit.mjs.map +2 -2
- package/build-module/text-columns/index.mjs.map +2 -2
- package/build-module/text-columns/init.mjs.map +2 -2
- package/build-module/text-columns/save.mjs.map +2 -2
- package/build-module/text-columns/transforms.mjs.map +2 -2
- package/build-module/utils/caption.mjs +2 -2
- package/build-module/utils/caption.mjs.map +2 -2
- package/build-module/utils/deprecated-text-align-attributes.mjs.map +2 -2
- package/build-module/utils/get-transformed-attributes.mjs.map +2 -2
- package/build-module/utils/hooks.mjs.map +2 -2
- package/build-module/utils/html-renderer.mjs.map +2 -2
- package/build-module/utils/init-block.mjs.map +2 -2
- package/build-module/utils/is-within-overlay.mjs.map +2 -2
- package/build-module/utils/media-control.mjs.map +2 -2
- package/build-module/utils/migrate-font-family.mjs.map +2 -2
- package/build-module/utils/poster-image.mjs.map +2 -2
- package/build-module/utils/search-patterns.mjs.map +2 -2
- package/build-module/utils/style-state.mjs.map +2 -2
- package/build-module/utils/waveform-player.mjs.map +2 -2
- package/build-module/utils/waveform-utils.mjs.map +2 -2
- package/build-module/verse/deprecated.mjs.map +2 -2
- package/build-module/verse/edit.mjs +3 -1
- package/build-module/verse/edit.mjs.map +2 -2
- package/build-module/verse/index.mjs.map +2 -2
- package/build-module/verse/init.mjs.map +2 -2
- package/build-module/verse/save.mjs.map +2 -2
- package/build-module/verse/transforms.mjs.map +2 -2
- package/build-module/video/deprecated.mjs.map +2 -2
- package/build-module/video/edit-common-settings.mjs.map +2 -2
- package/build-module/video/edit.mjs +1 -1
- package/build-module/video/edit.mjs.map +2 -2
- package/build-module/video/index.mjs.map +2 -2
- package/build-module/video/init.mjs.map +2 -2
- package/build-module/video/save.mjs.map +2 -2
- package/build-module/video/tracks-editor.mjs +0 -1
- package/build-module/video/tracks-editor.mjs.map +2 -2
- package/build-module/video/transforms.mjs.map +2 -2
- package/build-module/video/variations.mjs +1 -1
- package/build-module/video/variations.mjs.map +2 -2
- package/build-style/cover/editor-rtl.css +3 -0
- package/build-style/cover/editor.css +3 -0
- package/build-style/editor-rtl.css +18 -53
- package/build-style/editor.css +18 -53
- package/build-style/icon/editor-rtl.css +1 -4
- package/build-style/icon/editor.css +1 -4
- package/build-style/image/editor-rtl.css +3 -32
- package/build-style/image/editor.css +3 -32
- package/build-style/navigation-overlay-close/style-rtl.css +11 -0
- package/build-style/navigation-overlay-close/style.css +11 -0
- package/build-style/page-list/editor-rtl.css +0 -62
- package/build-style/page-list/editor.css +0 -62
- package/build-style/playlist/editor-rtl.css +0 -5
- package/build-style/playlist/editor.css +0 -5
- package/build-style/playlist/style-rtl.css +44 -4
- package/build-style/playlist/style.css +44 -4
- package/build-style/post-author-biography/style-rtl.css +1 -0
- package/build-style/post-author-biography/style.css +1 -0
- package/build-style/pullquote/editor-rtl.css +4 -0
- package/build-style/pullquote/editor.css +4 -0
- package/build-style/style-rtl.css +56 -4
- package/build-style/style.css +56 -4
- package/build-style/tab-list/editor-rtl.css +101 -0
- package/build-style/tab-list/editor.css +101 -0
- package/build-types/lock-unlock.d.ts.map +1 -1
- package/build-types/table-of-contents/list.d.ts +0 -6
- package/build-types/table-of-contents/list.d.ts.map +1 -1
- package/build-types/table-of-contents/utils.d.ts +11 -0
- package/build-types/table-of-contents/utils.d.ts.map +1 -1
- package/package.json +44 -43
- package/src/accordion/edit.js +0 -9
- package/src/accordion/index.js +4 -7
- package/src/accordion/init.js +0 -3
- package/src/accordion/save.js +0 -3
- package/src/accordion/view.js +0 -3
- package/src/accordion-heading/deprecated.js +0 -3
- package/src/accordion-heading/edit.js +0 -7
- package/src/accordion-heading/index.js +0 -7
- package/src/accordion-heading/init.js +0 -3
- package/src/accordion-heading/save.js +0 -7
- package/src/accordion-item/edit.js +0 -14
- package/src/accordion-item/index.js +4 -7
- package/src/accordion-item/init.js +0 -3
- package/src/accordion-item/save.js +0 -6
- package/src/accordion-panel/block.json +1 -0
- package/src/accordion-panel/edit.js +0 -4
- package/src/accordion-panel/index.js +3 -7
- package/src/accordion-panel/init.js +0 -3
- package/src/accordion-panel/save.js +0 -3
- package/src/archives/edit.js +0 -7
- package/src/archives/index.js +0 -7
- package/src/archives/init.js +0 -3
- package/src/audio/deprecated.js +0 -3
- package/src/audio/edit.js +0 -11
- package/src/audio/index.js +0 -7
- package/src/audio/init.js +0 -3
- package/src/audio/save.js +0 -3
- package/src/audio/transforms.js +0 -3
- package/src/avatar/edit.js +0 -11
- package/src/avatar/hooks.js +0 -7
- package/src/avatar/index.js +0 -7
- package/src/avatar/init.js +0 -3
- package/src/avatar/user-control.js +0 -3
- package/src/block/edit.js +1 -12
- package/src/block/index.js +0 -7
- package/src/block/init.js +0 -3
- package/src/block-keyboard-shortcuts/index.js +0 -3
- package/src/breadcrumbs/edit.js +0 -7
- package/src/breadcrumbs/index.js +0 -7
- package/src/breadcrumbs/index.php +3 -1
- package/src/button/deprecated.js +0 -11
- package/src/button/edit.js +0 -4
- package/src/button/get-updated-link-attributes.js +0 -7
- package/src/button/index.js +0 -7
- package/src/button/index.php +1 -1
- package/src/button/init.js +0 -3
- package/src/button/save.js +0 -7
- package/src/button/test/get-experimental-label.js +0 -3
- package/src/button/test/get-updated-link-attributes.js +0 -3
- package/src/button/test/utils.js +0 -3
- package/src/buttons/deprecated.js +0 -6
- package/src/buttons/edit.js +0 -20
- package/src/buttons/index.js +4 -7
- package/src/buttons/init.js +0 -3
- package/src/buttons/save.js +0 -7
- package/src/buttons/transforms.js +0 -7
- package/src/calendar/edit.js +0 -11
- package/src/calendar/index.js +0 -7
- package/src/calendar/init.js +0 -3
- package/src/calendar/transforms.js +0 -3
- package/src/categories/edit.js +0 -11
- package/src/categories/index.js +0 -7
- package/src/categories/init.js +0 -3
- package/src/categories/variations.js +0 -3
- package/src/code/edit.js +7 -5
- package/src/code/index.js +0 -7
- package/src/code/init.js +0 -3
- package/src/code/save.js +0 -7
- package/src/code/test/utils.js +0 -3
- package/src/code/transforms.js +0 -7
- package/src/code/utils.js +0 -3
- package/src/column/deprecated.js +0 -7
- package/src/column/edit.js +0 -11
- package/src/column/index.js +0 -7
- package/src/column/init.js +0 -3
- package/src/column/save.js +0 -7
- package/src/columns/deprecated.js +0 -7
- package/src/columns/edit.js +0 -12
- package/src/columns/index.js +0 -7
- package/src/columns/init.js +0 -3
- package/src/columns/save.js +0 -7
- package/src/columns/test/transforms.js +0 -7
- package/src/columns/test/utils.js +0 -7
- package/src/columns/transforms.js +0 -3
- package/src/columns/variations.js +0 -3
- package/src/comment-author-avatar/edit.js +0 -3
- package/src/comment-author-avatar/index.js +0 -7
- package/src/comment-author-avatar/init.js +0 -3
- package/src/comment-author-name/deprecated.js +0 -3
- package/src/comment-author-name/edit.js +0 -7
- package/src/comment-author-name/index.js +0 -7
- package/src/comment-author-name/init.js +0 -3
- package/src/comment-content/deprecated.js +0 -3
- package/src/comment-content/edit.js +0 -7
- package/src/comment-content/index.js +0 -7
- package/src/comment-content/init.js +0 -3
- package/src/comment-date/deprecated.js +0 -3
- package/src/comment-date/edit.js +0 -7
- package/src/comment-date/index.js +0 -7
- package/src/comment-date/init.js +0 -3
- package/src/comment-edit-link/deprecated.js +0 -3
- package/src/comment-edit-link/edit.js +0 -7
- package/src/comment-edit-link/index.js +0 -7
- package/src/comment-edit-link/init.js +0 -3
- package/src/comment-reply-link/deprecated.js +0 -3
- package/src/comment-reply-link/edit.js +0 -7
- package/src/comment-reply-link/index.js +0 -7
- package/src/comment-reply-link/init.js +0 -3
- package/src/comment-template/edit.js +1 -20
- package/src/comment-template/hooks.js +0 -3
- package/src/comment-template/index.js +10 -7
- package/src/comment-template/init.js +0 -3
- package/src/comment-template/save.js +0 -3
- package/src/comment-template/test/index.js +0 -3
- package/src/comments/deprecated.js +0 -3
- package/src/comments/edit/comments-inspector-controls.js +0 -7
- package/src/comments/edit/comments-legacy.js +0 -11
- package/src/comments/edit/index.js +1 -11
- package/src/comments/edit/placeholder.js +0 -7
- package/src/comments/index.js +2 -7
- package/src/comments/init.js +0 -3
- package/src/comments/save.js +0 -3
- package/src/comments-pagination/comments-pagination-arrow-controls.js +0 -3
- package/src/comments-pagination/edit.js +1 -16
- package/src/comments-pagination/index.js +7 -7
- package/src/comments-pagination/init.js +0 -3
- package/src/comments-pagination/save.js +0 -3
- package/src/comments-pagination-next/edit.js +0 -3
- package/src/comments-pagination-next/index.js +0 -7
- package/src/comments-pagination-next/init.js +0 -3
- package/src/comments-pagination-numbers/edit.js +0 -3
- package/src/comments-pagination-numbers/index.js +0 -7
- package/src/comments-pagination-numbers/init.js +0 -3
- package/src/comments-pagination-previous/edit.js +0 -3
- package/src/comments-pagination-previous/index.js +0 -7
- package/src/comments-pagination-previous/init.js +0 -3
- package/src/comments-title/deprecated.js +0 -3
- package/src/comments-title/edit.js +0 -7
- package/src/comments-title/index.js +0 -7
- package/src/comments-title/init.js +0 -3
- package/src/cover/block.json +1 -0
- package/src/cover/deprecated.js +0 -11
- package/src/cover/edit/block-controls.js +5 -8
- package/src/cover/edit/color-utils.js +0 -7
- package/src/cover/edit/cover-placeholder.js +0 -7
- package/src/cover/edit/embed-video-url-input.js +0 -7
- package/src/cover/edit/index.js +100 -46
- package/src/cover/edit/inspector-controls.js +0 -7
- package/src/cover/edit/resizable-cover-popover.js +0 -11
- package/src/cover/editor.scss +6 -0
- package/src/cover/embed-video-utils.js +0 -7
- package/src/cover/index.js +0 -7
- package/src/cover/index.php +10 -3
- package/src/cover/init.js +0 -3
- package/src/cover/save.js +0 -11
- package/src/cover/shared.js +0 -3
- package/src/cover/test/edit.js +0 -7
- package/src/cover/test/transforms.js +0 -7
- package/src/cover/transforms.js +0 -7
- package/src/cover/variations.js +0 -3
- package/src/details/edit.js +1 -21
- package/src/details/index.js +10 -7
- package/src/details/init.js +0 -3
- package/src/details/save.js +0 -3
- package/src/details/transforms.js +0 -3
- package/src/editor.scss +1 -0
- package/src/embed/deprecated.js +1 -12
- package/src/embed/edit.js +3 -12
- package/src/embed/embed-controls.js +0 -7
- package/src/embed/embed-loading.js +0 -3
- package/src/embed/embed-placeholder.js +9 -10
- package/src/embed/embed-preview.js +0 -15
- package/src/embed/icons.js +0 -3
- package/src/embed/index.js +0 -3
- package/src/embed/init.js +0 -3
- package/src/embed/save.js +0 -7
- package/src/embed/test/index.js +0 -7
- package/src/embed/transforms.js +0 -7
- package/src/embed/util.js +1 -14
- package/src/embed/variations.js +0 -7
- package/src/embed/wp-embed-preview.js +0 -3
- package/src/file/deprecated.js +0 -7
- package/src/file/edit.js +0 -11
- package/src/file/index.js +0 -7
- package/src/file/init.js +0 -3
- package/src/file/inspector.js +0 -7
- package/src/file/save.js +0 -7
- package/src/file/transforms.js +0 -3
- package/src/file/variations.js +0 -3
- package/src/file/view.js +0 -6
- package/src/footnotes/edit.js +11 -4
- package/src/footnotes/format.js +0 -11
- package/src/footnotes/index.js +0 -7
- package/src/footnotes/init.js +0 -3
- package/src/form/deprecated.js +0 -3
- package/src/form/edit.js +0 -42
- package/src/form/icons.js +0 -3
- package/src/form/index.js +36 -7
- package/src/form/index.php +6 -4
- package/src/form/init.js +0 -3
- package/src/form/save.js +0 -3
- package/src/form/utils.js +0 -3
- package/src/form/variations.js +0 -7
- package/src/form-input/deprecated.js +0 -7
- package/src/form-input/edit.js +0 -11
- package/src/form-input/icons.js +0 -3
- package/src/form-input/index.js +0 -3
- package/src/form-input/init.js +0 -3
- package/src/form-input/save.js +0 -7
- package/src/form-input/variations.js +0 -3
- package/src/form-submission-notification/edit.js +0 -19
- package/src/form-submission-notification/index.js +13 -7
- package/src/form-submission-notification/init.js +0 -3
- package/src/form-submission-notification/save.js +0 -7
- package/src/form-submission-notification/variations.js +0 -3
- package/src/form-submit-button/edit.js +0 -21
- package/src/form-submit-button/index.js +19 -3
- package/src/form-submit-button/init.js +0 -3
- package/src/form-submit-button/save.js +0 -3
- package/src/freeform/convert-to-blocks-button.js +0 -3
- package/src/freeform/edit.js +0 -7
- package/src/freeform/index.js +0 -7
- package/src/freeform/init.js +0 -3
- package/src/freeform/modal.js +0 -3
- package/src/freeform/save.js +0 -3
- package/src/gallery/deprecated.js +0 -12
- package/src/gallery/dynamic-gallery.js +133 -81
- package/src/gallery/dynamic-source.js +0 -3
- package/src/gallery/edit.js +0 -11
- package/src/gallery/gallery.js +0 -11
- package/src/gallery/gap-styles.js +0 -7
- package/src/gallery/index.js +0 -7
- package/src/gallery/init.js +0 -3
- package/src/gallery/save.js +0 -7
- package/src/gallery/shared-icon.js +0 -3
- package/src/gallery/test/dynamic-source.js +0 -3
- package/src/gallery/test/transforms.js +0 -7
- package/src/gallery/test/use-get-new-images.js +0 -7
- package/src/gallery/transforms.js +0 -7
- package/src/gallery/use-dynamic-gallery.js +27 -19
- package/src/gallery/use-get-media.js +0 -3
- package/src/gallery/use-get-new-images.js +0 -3
- package/src/gallery/use-image-sizes.js +0 -3
- package/src/gallery/utils.js +0 -3
- package/src/gallery/variations.js +0 -7
- package/src/group/block.json +0 -1
- package/src/group/deprecated.js +0 -7
- package/src/group/edit.js +0 -7
- package/src/group/index.js +0 -7
- package/src/group/init.js +0 -3
- package/src/group/placeholder.js +0 -3
- package/src/group/save.js +0 -3
- package/src/group/test/placeholder.js +0 -7
- package/src/group/transforms.js +0 -3
- package/src/group/variations.js +0 -3
- package/src/heading/autogenerate-anchors.js +0 -3
- package/src/heading/deprecated.js +0 -11
- package/src/heading/edit.js +1 -8
- package/src/heading/index.js +0 -7
- package/src/heading/init.js +0 -3
- package/src/heading/save.js +0 -3
- package/src/heading/test/shared.js +0 -3
- package/src/heading/transforms.js +0 -7
- package/src/heading/variations.js +0 -3
- package/src/home-link/edit.js +0 -11
- package/src/home-link/index.js +0 -7
- package/src/home-link/init.js +0 -3
- package/src/home-link/save.js +0 -3
- package/src/html/edit.js +0 -7
- package/src/html/index.js +0 -7
- package/src/html/init.js +0 -3
- package/src/html/modal.js +13 -9
- package/src/html/preview.js +0 -3
- package/src/html/test/index.js +0 -7
- package/src/html/test/utils.js +0 -3
- package/src/html/transforms.js +0 -3
- package/src/icon/README.md +1 -3
- package/src/icon/block.json +5 -3
- package/src/icon/components/custom-inserter/icon-grid.js +0 -7
- package/src/icon/components/custom-inserter/index.js +0 -7
- package/src/icon/edit.js +0 -11
- package/src/icon/editor.scss +1 -4
- package/src/icon/icon.js +0 -3
- package/src/icon/index.js +0 -3
- package/src/image/deprecated.js +0 -11
- package/src/image/edit.js +10 -21
- package/src/image/editor.scss +6 -46
- package/src/image/image.js +33 -10
- package/src/image/index.js +0 -7
- package/src/image/init.js +0 -3
- package/src/image/save.js +0 -11
- package/src/image/test/transforms.js +0 -3
- package/src/image/test/use-open-image-media-editor-modal.js +37 -12
- package/src/image/transforms.js +0 -3
- package/src/image/use-max-width-observer.js +0 -3
- package/src/image/use-open-image-media-editor-modal.js +8 -8
- package/src/image/utils.js +0 -3
- package/src/image/view.js +0 -7
- package/src/index.js +0 -12
- package/src/latest-comments/deprecated.js +0 -4
- package/src/latest-comments/edit.js +0 -7
- package/src/latest-comments/index.js +0 -7
- package/src/latest-comments/index.php +4 -1
- package/src/latest-comments/init.js +0 -3
- package/src/latest-posts/deprecated.js +0 -3
- package/src/latest-posts/edit.js +0 -11
- package/src/latest-posts/index.js +0 -7
- package/src/latest-posts/index.php +3 -2
- package/src/latest-posts/init.js +0 -3
- package/src/latest-posts/test/deprecated.js +0 -7
- package/src/list/deprecated.js +0 -7
- package/src/list/edit.js +11 -11
- package/src/list/index.js +4 -7
- package/src/list/init.js +0 -3
- package/src/list/ordered-list-settings.js +0 -7
- package/src/list/save.js +0 -3
- package/src/list/tag-name.js +0 -3
- package/src/list/transforms.js +0 -7
- package/src/list/utils.js +0 -3
- package/src/list-item/edit.js +0 -7
- package/src/list-item/hooks/use-enter.js +0 -7
- package/src/list-item/hooks/use-indent-list-item.js +10 -4
- package/src/list-item/hooks/use-merge.js +0 -7
- package/src/list-item/hooks/use-outdent-list-item.js +0 -3
- package/src/list-item/hooks/use-space.js +0 -7
- package/src/list-item/index.js +0 -7
- package/src/list-item/init.js +0 -3
- package/src/list-item/save.js +0 -3
- package/src/list-item/transforms.js +0 -3
- package/src/lock-unlock.ts +0 -3
- package/src/loginout/edit.js +0 -6
- package/src/loginout/index.js +0 -7
- package/src/loginout/init.js +0 -3
- package/src/math/deprecated.js +0 -3
- package/src/math/edit.js +42 -66
- package/src/math/index.js +0 -7
- package/src/math/init.js +0 -3
- package/src/math/save.js +0 -3
- package/src/media-text/constants.js +0 -3
- package/src/media-text/deprecated.js +0 -11
- package/src/media-text/edit.js +2 -13
- package/src/media-text/index.js +2 -7
- package/src/media-text/index.php +11 -2
- package/src/media-text/init.js +0 -3
- package/src/media-text/media-container.js +0 -11
- package/src/media-text/save.js +0 -11
- package/src/media-text/test/image-fill.js +0 -3
- package/src/media-text/transforms.js +0 -3
- package/src/missing/edit.js +0 -3
- package/src/missing/index.js +0 -7
- package/src/missing/init.js +0 -3
- package/src/missing/save.js +0 -3
- package/src/more/edit.js +7 -11
- package/src/more/index.js +0 -7
- package/src/more/init.js +0 -3
- package/src/more/save.js +0 -3
- package/src/more/transforms.js +0 -3
- package/src/navigation/deprecated.js +0 -7
- package/src/navigation/edit/accessible-description.js +0 -3
- package/src/navigation/edit/accessible-menu-description.js +0 -7
- package/src/navigation/edit/deleted-navigation-warning.js +0 -3
- package/src/navigation/edit/deleted-overlay-warning.js +0 -3
- package/src/navigation/edit/index.js +52 -47
- package/src/navigation/edit/inner-blocks.js +0 -7
- package/src/navigation/edit/leaf-more-menu.js +70 -66
- package/src/navigation/edit/manage-menus-button.js +0 -3
- package/src/navigation/edit/menu-inspector-controls.js +0 -7
- package/src/navigation/edit/navigation-link-ui.js +34 -26
- package/src/navigation/edit/navigation-list-view-header.js +0 -7
- package/src/navigation/edit/navigation-menu-delete-control.js +0 -3
- package/src/navigation/edit/navigation-menu-name-control.js +0 -3
- package/src/navigation/edit/navigation-menu-selector.js +0 -7
- package/src/navigation/edit/overlay-menu-icon.js +0 -3
- package/src/navigation/edit/overlay-menu-preview-button.js +0 -7
- package/src/navigation/edit/overlay-menu-preview-controls.js +0 -7
- package/src/navigation/edit/overlay-menu-preview.js +0 -7
- package/src/navigation/edit/overlay-panel.js +0 -7
- package/src/navigation/edit/overlay-preview.js +0 -7
- package/src/navigation/edit/overlay-template-part-selector.js +0 -7
- package/src/navigation/edit/overlay-visibility-control.js +0 -3
- package/src/navigation/edit/placeholder/index.js +0 -7
- package/src/navigation/edit/placeholder/placeholder-preview.js +0 -3
- package/src/navigation/edit/responsive-wrapper.js +0 -11
- package/src/navigation/edit/test/are-blocks-dirty.js +0 -3
- package/src/navigation/edit/test/layout-custom-properties.js +127 -0
- package/src/navigation/edit/test/navigation-menu-selector.js +0 -11
- package/src/navigation/edit/test/overlay-template-part-selector.js +0 -11
- package/src/navigation/edit/test/responsive-wrapper.js +0 -11
- package/src/navigation/edit/test/use-create-overlay.js +0 -11
- package/src/navigation/edit/test/utils.js +0 -3
- package/src/navigation/edit/unsaved-inner-blocks.js +0 -7
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +0 -7
- package/src/navigation/edit/use-create-navigation-menu.js +0 -7
- package/src/navigation/edit/use-create-overlay.js +0 -7
- package/src/navigation/edit/use-generate-default-navigation-title.js +0 -7
- package/src/navigation/edit/use-inner-blocks.js +0 -3
- package/src/navigation/edit/use-layout-custom-properties.js +77 -0
- package/src/navigation/edit/use-navigation-notice.js +0 -3
- package/src/navigation/edit/utils.js +0 -3
- package/src/navigation/index.js +0 -7
- package/src/navigation/index.php +137 -15
- package/src/navigation/init.js +0 -3
- package/src/navigation/menu-items-to-blocks.js +0 -7
- package/src/navigation/save.js +0 -3
- package/src/navigation/test/menu-items-to-blocks.js +0 -3
- package/src/navigation/test/use-navigation-menu.js +0 -7
- package/src/navigation/test/view.js +51 -0
- package/src/navigation/use-navigation-menu.js +0 -7
- package/src/navigation/use-template-part-area-label.js +0 -8
- package/src/navigation/view.js +15 -17
- package/src/navigation-link/edit.js +11 -18
- package/src/navigation-link/hooks.js +0 -3
- package/src/navigation-link/icons.js +0 -3
- package/src/navigation-link/index.js +0 -7
- package/src/navigation-link/index.php +64 -0
- package/src/navigation-link/init.js +0 -3
- package/src/navigation-link/link-ui/block-inserter.js +0 -7
- package/src/navigation-link/link-ui/dialog-wrapper.js +0 -3
- package/src/navigation-link/link-ui/index.js +2 -8
- package/src/navigation-link/link-ui/page-creator.js +0 -7
- package/src/navigation-link/save.js +0 -3
- package/src/navigation-link/shared/controls.js +0 -7
- package/src/navigation-link/shared/invalid-draft-display.js +0 -7
- package/src/navigation-link/shared/test/controls.js +0 -7
- package/src/navigation-link/shared/test/update-attributes.test.js +0 -3
- package/src/navigation-link/shared/test/use-enable-link-status-validation.test.js +0 -9
- package/src/navigation-link/shared/test/use-entity-binding.js +0 -11
- package/src/navigation-link/shared/test/use-handle-link-change.test.js +0 -14
- package/src/navigation-link/shared/test/use-link-preview.test.js +0 -14
- package/src/navigation-link/shared/update-attributes.js +0 -3
- package/src/navigation-link/shared/use-enable-link-status-validation.js +0 -3
- package/src/navigation-link/shared/use-entity-binding.js +0 -3
- package/src/navigation-link/shared/use-handle-link-change.js +0 -7
- package/src/navigation-link/shared/use-is-dragging-within.js +0 -3
- package/src/navigation-link/shared/use-is-invalid-link.js +0 -3
- package/src/navigation-link/shared/use-link-preview.js +0 -7
- package/src/navigation-link/test/__snapshots__/hooks.js.snap +1 -1
- package/src/navigation-link/test/block-labelling.js +0 -3
- package/src/navigation-link/test/hooks.js +1 -7
- package/src/navigation-link/transforms.js +0 -3
- package/src/navigation-overlay-close/edit.js +0 -7
- package/src/navigation-overlay-close/icon.js +0 -3
- package/src/navigation-overlay-close/index.js +0 -7
- package/src/navigation-overlay-close/style.scss +14 -0
- package/src/navigation-submenu/edit.js +0 -11
- package/src/navigation-submenu/icons.js +0 -3
- package/src/navigation-submenu/index.js +0 -7
- package/src/navigation-submenu/init.js +0 -3
- package/src/navigation-submenu/save.js +0 -3
- package/src/navigation-submenu/transforms.js +0 -3
- package/src/nextpage/edit.js +0 -3
- package/src/nextpage/index.js +0 -7
- package/src/nextpage/init.js +0 -3
- package/src/nextpage/save.js +0 -3
- package/src/nextpage/transforms.js +0 -3
- package/src/page-list/edit.js +57 -48
- package/src/page-list/editor.scss +0 -15
- package/src/page-list/index.js +0 -7
- package/src/page-list/index.php +4 -3
- package/src/page-list/init.js +0 -3
- package/src/page-list/test/convert-to-navigation-links.js +0 -4
- package/src/page-list/use-convert-to-navigation-links.js +0 -7
- package/src/page-list-item/edit.js +0 -10
- package/src/page-list-item/index.js +0 -7
- package/src/page-list-item/init.js +0 -3
- package/src/paragraph/README.md +0 -1
- package/src/paragraph/block.json +0 -1
- package/src/paragraph/deprecated-attributes.js +0 -3
- package/src/paragraph/deprecated.js +0 -8
- package/src/paragraph/edit.js +5 -17
- package/src/paragraph/index.js +0 -7
- package/src/paragraph/init.js +0 -3
- package/src/paragraph/save.js +0 -7
- package/src/paragraph/transforms.js +0 -7
- package/src/paragraph/use-enter.js +0 -7
- package/src/pattern/edit.js +0 -7
- package/src/pattern/index.js +0 -3
- package/src/pattern/index.php +5 -5
- package/src/pattern/init.js +0 -3
- package/src/pattern/recursion-detector.js +0 -4
- package/src/pattern/test/index.js +0 -3
- package/src/playlist/block.json +1 -0
- package/src/playlist/context.js +0 -3
- package/src/playlist/edit.js +153 -61
- package/src/playlist/editor.scss +0 -7
- package/src/playlist/index.js +2 -7
- package/src/playlist/index.php +14 -9
- package/src/playlist/init.js +0 -3
- package/src/playlist/save.js +0 -7
- package/src/playlist/style.scss +3 -0
- package/src/playlist/test/edit-component.js +220 -0
- package/src/playlist/test/edit.js +30 -3
- package/src/playlist/test/transforms.js +189 -0
- package/src/playlist/transforms.js +46 -0
- package/src/playlist/utils.js +25 -7
- package/src/playlist/view.js +0 -7
- package/src/playlist-track/edit.js +7 -11
- package/src/playlist-track/index.js +1 -8
- package/src/playlist-track/index.php +8 -7
- package/src/playlist-track/init.js +0 -3
- package/src/playlist-track/test/edit.js +55 -12
- package/src/post-author/edit.js +0 -11
- package/src/post-author/index.js +0 -7
- package/src/post-author/init.js +0 -3
- package/src/post-author/utils.js +0 -7
- package/src/post-author-biography/deprecated.js +0 -3
- package/src/post-author-biography/edit.js +0 -7
- package/src/post-author-biography/index.js +0 -7
- package/src/post-author-biography/init.js +0 -3
- package/src/post-author-biography/style.scss +1 -0
- package/src/post-author-name/deprecated.js +0 -3
- package/src/post-author-name/edit.js +0 -11
- package/src/post-author-name/index.js +0 -7
- package/src/post-author-name/init.js +0 -3
- package/src/post-author-name/transforms.js +0 -3
- package/src/post-comment/edit.js +1 -15
- package/src/post-comment/index.js +10 -7
- package/src/post-comment/init.js +0 -3
- package/src/post-comment/save.js +0 -3
- package/src/post-comments-count/deprecated.js +0 -3
- package/src/post-comments-count/edit.js +0 -3
- package/src/post-comments-count/index.js +0 -7
- package/src/post-comments-count/init.js +0 -3
- package/src/post-comments-count/transforms.js +0 -3
- package/src/post-comments-form/deprecated.js +0 -3
- package/src/post-comments-form/edit.js +0 -7
- package/src/post-comments-form/form.js +0 -7
- package/src/post-comments-form/index.js +0 -7
- package/src/post-comments-form/init.js +0 -3
- package/src/post-comments-link/deprecated.js +0 -3
- package/src/post-comments-link/edit.js +0 -3
- package/src/post-comments-link/index.js +0 -7
- package/src/post-comments-link/init.js +0 -3
- package/src/post-comments-link/transforms.js +0 -3
- package/src/post-content/edit.js +39 -23
- package/src/post-content/index.js +0 -7
- package/src/post-content/index.php +12 -2
- package/src/post-content/init.js +0 -3
- package/src/post-date/deprecated.js +0 -7
- package/src/post-date/edit.js +0 -7
- package/src/post-date/index.js +0 -7
- package/src/post-date/index.php +1 -1
- package/src/post-date/init.js +0 -3
- package/src/post-date/test/edit.js +0 -3
- package/src/post-date/variations.js +0 -3
- package/src/post-excerpt/deprecated.js +0 -3
- package/src/post-excerpt/edit.js +0 -11
- package/src/post-excerpt/index.js +0 -7
- package/src/post-excerpt/index.php +4 -1
- package/src/post-excerpt/init.js +0 -3
- package/src/post-excerpt/transforms.js +0 -3
- package/src/post-featured-image/dimension-controls.js +0 -7
- package/src/post-featured-image/edit.js +3 -13
- package/src/post-featured-image/index.js +0 -7
- package/src/post-featured-image/index.php +4 -1
- package/src/post-featured-image/init.js +0 -3
- package/src/post-featured-image/overlay-controls.js +0 -3
- package/src/post-featured-image/overlay.js +0 -11
- package/src/post-navigation-link/deprecated.js +0 -3
- package/src/post-navigation-link/edit.js +0 -7
- package/src/post-navigation-link/index.js +2 -7
- package/src/post-navigation-link/init.js +0 -3
- package/src/post-navigation-link/variations.js +0 -3
- package/src/post-template/edit.js +1 -26
- package/src/post-template/index.js +19 -7
- package/src/post-template/init.js +0 -3
- package/src/post-template/save.js +0 -3
- package/src/post-terms/deprecated.js +0 -3
- package/src/post-terms/edit.js +7 -11
- package/src/post-terms/hooks.js +0 -3
- package/src/post-terms/index.js +0 -7
- package/src/post-terms/init.js +0 -3
- package/src/post-terms/use-post-terms.js +0 -3
- package/src/post-time-to-read/deprecated.js +0 -3
- package/src/post-time-to-read/edit.js +0 -7
- package/src/post-time-to-read/index.js +0 -7
- package/src/post-time-to-read/init.js +0 -3
- package/src/post-time-to-read/variations.js +0 -3
- package/src/post-title/deprecated.js +0 -3
- package/src/post-title/edit.js +5 -10
- package/src/post-title/index.js +0 -7
- package/src/post-title/init.js +0 -3
- package/src/preformatted/edit.js +7 -5
- package/src/preformatted/index.js +0 -7
- package/src/preformatted/init.js +0 -3
- package/src/preformatted/save.js +0 -3
- package/src/preformatted/transforms.js +0 -3
- package/src/private-apis.js +0 -3
- package/src/pullquote/deprecated.js +0 -11
- package/src/pullquote/edit.js +9 -11
- package/src/pullquote/editor.scss +6 -0
- package/src/pullquote/index.js +0 -7
- package/src/pullquote/init.js +0 -3
- package/src/pullquote/save.js +0 -3
- package/src/pullquote/transforms.js +0 -3
- package/src/query/deprecated.js +0 -7
- package/src/query/edit/enhanced-pagination-modal.js +0 -7
- package/src/query/edit/index.js +0 -7
- package/src/query/edit/inspector-controls/author-control.js +0 -7
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +0 -7
- package/src/query/edit/inspector-controls/format-controls.js +0 -3
- package/src/query/edit/inspector-controls/index.js +5 -9
- package/src/query/edit/inspector-controls/offset-controls.js +2 -5
- package/src/query/edit/inspector-controls/order-control.js +0 -3
- package/src/query/edit/inspector-controls/pages-control.js +0 -3
- package/src/query/edit/inspector-controls/parent-control.js +0 -7
- package/src/query/edit/inspector-controls/per-page-control.js +0 -3
- package/src/query/edit/inspector-controls/sticky-control.js +0 -3
- package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -7
- package/src/query/edit/pattern-selection.js +0 -7
- package/src/query/edit/query-content.js +1 -11
- package/src/query/edit/query-placeholder.js +0 -7
- package/src/query/edit/query-toolbar.js +0 -7
- package/src/query/icons.js +0 -3
- package/src/query/index.js +0 -7
- package/src/query/index.php +4 -3
- package/src/query/init.js +0 -3
- package/src/query/save.js +0 -3
- package/src/query/test/utils.js +0 -3
- package/src/query/utils.js +0 -3
- package/src/query/variations.js +0 -7
- package/src/query/view.js +0 -3
- package/src/query-no-results/edit.js +1 -18
- package/src/query-no-results/index.js +12 -7
- package/src/query-no-results/init.js +0 -3
- package/src/query-no-results/save.js +0 -3
- package/src/query-pagination/deprecated.js +0 -3
- package/src/query-pagination/edit.js +1 -16
- package/src/query-pagination/index.js +7 -7
- package/src/query-pagination/init.js +0 -3
- package/src/query-pagination/query-pagination-arrow-controls.js +0 -3
- package/src/query-pagination/query-pagination-label-control.js +0 -3
- package/src/query-pagination/save.js +0 -3
- package/src/query-pagination-next/edit.js +0 -3
- package/src/query-pagination-next/index.js +0 -7
- package/src/query-pagination-next/init.js +0 -3
- package/src/query-pagination-numbers/edit.js +0 -7
- package/src/query-pagination-numbers/index.js +0 -7
- package/src/query-pagination-numbers/init.js +0 -3
- package/src/query-pagination-previous/edit.js +0 -3
- package/src/query-pagination-previous/index.js +0 -7
- package/src/query-pagination-previous/init.js +0 -3
- package/src/query-title/deprecated.js +0 -3
- package/src/query-title/edit.js +0 -7
- package/src/query-title/index.js +0 -7
- package/src/query-title/init.js +0 -3
- package/src/query-title/use-archive-label.js +0 -3
- package/src/query-title/use-post-type-label.js +0 -3
- package/src/query-title/variations.js +0 -3
- package/src/query-total/edit.js +0 -7
- package/src/query-total/icons.js +0 -3
- package/src/query-total/index.js +0 -3
- package/src/query-total/init.js +0 -3
- package/src/quote/deprecated.js +0 -7
- package/src/quote/edit.js +23 -18
- package/src/quote/index.js +4 -7
- package/src/quote/init.js +0 -3
- package/src/quote/save.js +0 -7
- package/src/quote/test/migrate.js +0 -7
- package/src/quote/transforms.js +0 -3
- package/src/read-more/edit.js +7 -9
- package/src/read-more/index.js +0 -7
- package/src/read-more/init.js +0 -3
- package/src/rss/edit.js +0 -7
- package/src/rss/index.js +0 -7
- package/src/rss/index.php +9 -3
- package/src/rss/init.js +0 -3
- package/src/search/edit.js +0 -11
- package/src/search/index.js +0 -7
- package/src/search/init.js +0 -3
- package/src/search/variations.js +0 -3
- package/src/search/view.js +0 -3
- package/src/separator/deprecated.js +0 -7
- package/src/separator/edit.js +0 -11
- package/src/separator/index.js +0 -7
- package/src/separator/init.js +0 -3
- package/src/separator/save.js +0 -7
- package/src/separator/test/edit.js +0 -11
- package/src/separator/transforms.js +0 -3
- package/src/separator/use-deprecated-opacity.js +0 -3
- package/src/shortcode/edit.js +0 -3
- package/src/shortcode/index.js +0 -7
- package/src/shortcode/init.js +0 -3
- package/src/shortcode/save.js +0 -3
- package/src/shortcode/transforms.js +0 -3
- package/src/site-logo/edit.js +0 -11
- package/src/site-logo/index.js +0 -7
- package/src/site-logo/init.js +0 -3
- package/src/site-logo/transforms.js +0 -3
- package/src/site-tagline/deprecated.js +0 -3
- package/src/site-tagline/edit.js +7 -5
- package/src/site-tagline/icon.js +0 -3
- package/src/site-tagline/index.js +0 -3
- package/src/site-tagline/init.js +0 -3
- package/src/site-title/deprecated.js +0 -3
- package/src/site-title/edit.js +7 -9
- package/src/site-title/index.js +0 -7
- package/src/site-title/init.js +0 -3
- package/src/site-title/transforms.js +0 -3
- package/src/social-link/edit.js +0 -11
- package/src/social-link/icons/amazon.js +0 -3
- package/src/social-link/icons/bandcamp.js +0 -4
- package/src/social-link/icons/behance.js +0 -3
- package/src/social-link/icons/bluesky.js +0 -3
- package/src/social-link/icons/chain.js +0 -3
- package/src/social-link/icons/codepen.js +0 -3
- package/src/social-link/icons/deviantart.js +0 -3
- package/src/social-link/icons/discord.js +0 -3
- package/src/social-link/icons/dribbble.js +0 -3
- package/src/social-link/icons/dropbox.js +0 -3
- package/src/social-link/icons/etsy.js +0 -3
- package/src/social-link/icons/facebook.js +0 -3
- package/src/social-link/icons/feed.js +0 -3
- package/src/social-link/icons/fivehundredpx.js +0 -3
- package/src/social-link/icons/flickr.js +0 -3
- package/src/social-link/icons/foursquare.js +0 -3
- package/src/social-link/icons/github.js +0 -3
- package/src/social-link/icons/goodreads.js +0 -3
- package/src/social-link/icons/google.js +0 -3
- package/src/social-link/icons/gravatar.js +0 -3
- package/src/social-link/icons/instagram.js +0 -3
- package/src/social-link/icons/lastfm.js +0 -3
- package/src/social-link/icons/linkedin.js +0 -3
- package/src/social-link/icons/mail.js +0 -3
- package/src/social-link/icons/mastodon.js +0 -3
- package/src/social-link/icons/medium.js +0 -3
- package/src/social-link/icons/meetup.js +0 -3
- package/src/social-link/icons/patreon.js +0 -3
- package/src/social-link/icons/pinterest.js +0 -3
- package/src/social-link/icons/pocket.js +0 -3
- package/src/social-link/icons/reddit.js +0 -3
- package/src/social-link/icons/skype.js +0 -3
- package/src/social-link/icons/snapchat.js +0 -3
- package/src/social-link/icons/soundcloud.js +0 -3
- package/src/social-link/icons/spotify.js +0 -3
- package/src/social-link/icons/telegram.js +0 -3
- package/src/social-link/icons/threads.js +0 -3
- package/src/social-link/icons/tiktok.js +0 -3
- package/src/social-link/icons/tumblr.js +0 -3
- package/src/social-link/icons/twitch.js +0 -3
- package/src/social-link/icons/twitter.js +0 -3
- package/src/social-link/icons/vimeo.js +0 -3
- package/src/social-link/icons/vk.js +0 -3
- package/src/social-link/icons/whatsapp.js +0 -3
- package/src/social-link/icons/wordpress.js +0 -3
- package/src/social-link/icons/x.js +0 -3
- package/src/social-link/icons/yelp.js +0 -3
- package/src/social-link/icons/youtube.js +0 -3
- package/src/social-link/index.js +0 -7
- package/src/social-link/index.php +19 -9
- package/src/social-link/init.js +0 -3
- package/src/social-link/social-list.js +0 -7
- package/src/social-link/variations.js +0 -7
- package/src/social-links/deprecated.js +0 -7
- package/src/social-links/edit.js +21 -23
- package/src/social-links/index.js +0 -7
- package/src/social-links/init.js +0 -3
- package/src/social-links/save.js +0 -7
- package/src/spacer/controls.js +0 -7
- package/src/spacer/deprecated.js +0 -3
- package/src/spacer/edit.js +0 -11
- package/src/spacer/index.js +0 -7
- package/src/spacer/init.js +0 -3
- package/src/spacer/save.js +0 -3
- package/src/spacer/transforms.js +0 -3
- package/src/tab-list/block.json +2 -1
- package/src/tab-list/edit.js +2 -11
- package/src/tab-list/editor.scss +9 -0
- package/src/tab-list/index.js +0 -7
- package/src/tab-list/init.js +0 -3
- package/src/tab-list/save.js +0 -7
- package/src/tab-list/tab-movers.js +65 -0
- package/src/tab-panel/controls.js +0 -7
- package/src/tab-panel/edit.js +1 -20
- package/src/tab-panel/index.js +25 -7
- package/src/tab-panel/init.js +0 -3
- package/src/tab-panel/save.js +0 -3
- package/src/tab-panels/edit.js +0 -19
- package/src/tab-panels/index.js +8 -7
- package/src/tab-panels/init.js +0 -3
- package/src/tab-panels/save.js +0 -3
- package/src/table/deprecated.js +0 -7
- package/src/table/edit.js +1 -12
- package/src/table/index.js +0 -7
- package/src/table/init.js +0 -3
- package/src/table/save.js +0 -7
- package/src/table/test/state.js +0 -7
- package/src/table/test/utils.js +0 -3
- package/src/table/transforms.js +0 -7
- package/src/table-of-contents/edit.js +91 -78
- package/src/table-of-contents/hooks.js +0 -7
- package/src/table-of-contents/index.js +0 -7
- package/src/table-of-contents/index.php +386 -1
- package/src/table-of-contents/init.js +0 -3
- package/src/table-of-contents/list.tsx +0 -7
- package/src/table-of-contents/save.js +0 -7
- package/src/table-of-contents/utils.ts +43 -0
- package/src/tabs/edit.js +12 -22
- package/src/tabs/index.js +4 -7
- package/src/tabs/init.js +0 -3
- package/src/tabs/save.js +0 -3
- package/src/tabs/tab-toolbar-controls.js +0 -7
- package/src/tabs/use-tab-actions.js +33 -8
- package/src/tabs/use-tab-list-items-sync.js +0 -3
- package/src/tabs/view.js +7 -4
- package/src/tag-cloud/edit.js +0 -7
- package/src/tag-cloud/index.js +0 -7
- package/src/tag-cloud/index.php +3 -2
- package/src/tag-cloud/init.js +0 -3
- package/src/tag-cloud/transforms.js +0 -3
- package/src/template-part/edit/advanced-controls.js +0 -7
- package/src/template-part/edit/import-controls.js +0 -7
- package/src/template-part/edit/index.js +0 -7
- package/src/template-part/edit/inner-blocks.js +0 -3
- package/src/template-part/edit/placeholder.js +0 -7
- package/src/template-part/edit/selection-modal.js +0 -7
- package/src/template-part/edit/title-modal.js +0 -3
- package/src/template-part/edit/utils/get-template-part-icon.js +0 -3
- package/src/template-part/edit/utils/hooks.js +0 -11
- package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +0 -7
- package/src/template-part/edit/utils/transformers.js +0 -3
- package/src/template-part/index.js +0 -11
- package/src/template-part/index.php +2 -1
- package/src/template-part/init.js +0 -3
- package/src/template-part/variations.js +0 -7
- package/src/term-count/edit.js +0 -7
- package/src/term-count/icons.js +0 -3
- package/src/term-count/index.js +0 -7
- package/src/term-count/init.js +0 -3
- package/src/term-count/use-term-count.js +0 -3
- package/src/term-description/deprecated.js +0 -3
- package/src/term-description/edit.js +0 -7
- package/src/term-description/index.js +0 -7
- package/src/term-description/init.js +0 -3
- package/src/term-description/use-term-description.js +0 -3
- package/src/term-name/deprecated.js +0 -3
- package/src/term-name/edit.js +0 -7
- package/src/term-name/index.js +0 -7
- package/src/term-name/use-term-name.js +0 -3
- package/src/term-template/edit.js +1 -10
- package/src/term-template/index.js +3 -7
- package/src/term-template/save.js +0 -3
- package/src/terms-query/edit/index.js +0 -7
- package/src/terms-query/edit/inspector-controls/advanced-controls.js +0 -7
- package/src/terms-query/edit/inspector-controls/empty-terms-control.js +0 -3
- package/src/terms-query/edit/inspector-controls/include-control.js +0 -3
- package/src/terms-query/edit/inspector-controls/index.js +0 -7
- package/src/terms-query/edit/inspector-controls/inherit-control.js +0 -3
- package/src/terms-query/edit/inspector-controls/max-terms-control.js +0 -3
- package/src/terms-query/edit/inspector-controls/nested-terms-control.js +0 -3
- package/src/terms-query/edit/inspector-controls/order-control.js +0 -3
- package/src/terms-query/edit/inspector-controls/taxonomy-control.js +0 -7
- package/src/terms-query/edit/terms-query-content.js +1 -12
- package/src/terms-query/edit/terms-query-placeholder.js +0 -3
- package/src/terms-query/index.js +3 -7
- package/src/terms-query/save.js +0 -3
- package/src/terms-query/utils.js +0 -3
- package/src/terms-query/variations.js +0 -3
- package/src/text-columns/edit.js +0 -3
- package/src/text-columns/index.js +0 -3
- package/src/text-columns/init.js +0 -3
- package/src/text-columns/save.js +0 -3
- package/src/text-columns/transforms.js +0 -3
- package/src/utils/caption.js +7 -11
- package/src/utils/deprecated-text-align-attributes.js +0 -3
- package/src/utils/get-transformed-attributes.js +0 -3
- package/src/utils/hooks.js +0 -3
- package/src/utils/html-renderer.js +0 -7
- package/src/utils/init-block.js +0 -3
- package/src/utils/is-within-overlay.js +0 -7
- package/src/utils/media-control.js +0 -3
- package/src/utils/migrate-font-family.js +0 -7
- package/src/utils/poster-image.js +0 -7
- package/src/utils/search-patterns.js +0 -3
- package/src/utils/style-state.js +0 -7
- package/src/utils/test/search-patterns.js +0 -3
- package/src/utils/test/style-state.js +0 -3
- package/src/utils/test/waveform-player-dependency.js +203 -0
- package/src/utils/test/waveform-player.js +0 -7
- package/src/utils/test/waveform-utils.js +63 -7
- package/src/utils/waveform-player.js +0 -7
- package/src/utils/waveform-utils.js +0 -4
- package/src/verse/deprecated.js +0 -11
- package/src/verse/edit.js +7 -9
- package/src/verse/index.js +0 -7
- package/src/verse/init.js +0 -3
- package/src/verse/save.js +0 -3
- package/src/verse/transforms.js +0 -3
- package/src/video/deprecated.js +0 -7
- package/src/video/edit-common-settings.js +0 -3
- package/src/video/edit.js +31 -40
- package/src/video/index.js +0 -7
- package/src/video/index.php +2 -2
- package/src/video/init.js +0 -3
- package/src/video/save.js +0 -7
- package/src/video/test/variations.js +0 -3
- package/src/video/tracks-editor.js +0 -8
- package/src/video/transforms.js +0 -3
- package/src/video/variations.js +1 -4
- package/build/page-list/convert-to-links-modal.cjs +0 -89
- package/build/page-list/convert-to-links-modal.cjs.map +0 -7
- package/build-module/page-list/convert-to-links-modal.mjs +0 -63
- package/build-module/page-list/convert-to-links-modal.mjs.map +0 -7
- package/src/page-list/convert-to-links-modal.js +0 -53
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/image/image.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tExternalLink,\n\tFocalPointPicker,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tCheckboxControl,\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 {\n\tuseMergeRefs,\n\tuseResizeObserver,\n\tuseViewportMatch,\n} 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__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tprivateApis as blockEditorPrivateApis,\n\tBlockSettingsMenuControls,\n} from '@wordpress/block-editor';\nimport {\n\tcreateInterpolateElement,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} 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 } 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';\nimport { MediaControl } from '../utils/media-control';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport {\n\tgetActiveDimensionValue,\n\tgetDimensionResetAttributes,\n\tgetDimensionUpdateAttributes,\n\tgetStyleStateKey,\n} from '../utils/style-state';\nimport { useOpenImageMediaEditorModal } from './use-open-image-media-editor-modal';\nimport {\n\tMIN_SIZE,\n\tALLOWED_MEDIA_TYPES,\n\tSIZED_LAYOUTS,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n} from './constants';\nimport { evalAspectRatio, mediaPosition } from './utils';\n\nconst {\n\tDimensionsTool,\n\tisDefaultBlockStyleState,\n\tResolutionTool,\n\tmediaEditKey,\n\tmediaSideloadFromUrlKey,\n} = 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/>\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\tclassName=\"wp-block-image__toolbar_content_textarea\"\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\tcreateInterpolateElement(\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. <a>(Note: many devices and browsers do not display this text.)</a>'\n\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\ta: (\n\t\t\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}\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\tisSideloading,\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\tfocalPoint,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t\tlightbox,\n\t\tmetadata,\n\t\tisDecorative,\n\t} = attributes;\n\tconst [ imageElement, setImageElement ] = useState();\n\tconst [ resizeDelta, setResizeDelta ] = useState( null );\n\tconst [ pixelSize, setPixelSize ] = useState( {} );\n\tconst [ offsetTop, setOffsetTop ] = useState( 0 );\n\tconst setResizeObserved = useResizeObserver( ( [ entry ] ) => {\n\t\tif ( ! resizeDelta ) {\n\t\t\tconst [ box ] = entry.borderBoxSize;\n\t\t\tsetPixelSize( { width: box.inlineSize, height: box.blockSize } );\n\t\t}\n\t\t// This is usually 0 unless the image height is less than the line-height.\n\t\tsetOffsetTop( entry.target.offsetTop );\n\t} );\n\tconst effectResizeableBoxPlacement = useCallback( () => {\n\t\tsetOffsetTop( imageElement?.offsetTop ?? 0 );\n\t}, [ imageElement ] );\n\tconst setRefs = useMergeRefs( [ setImageElement, setResizeObserved ] );\n\tconst { allowResize = true } = context;\n\n\tconst { image, attachmentResolutionError } = useSelect(\n\t\t( select ) => {\n\t\t\tconst imageRecord =\n\t\t\t\tid && isSingleSelected\n\t\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t{ context: 'view' }\n\t\t\t\t\t )\n\t\t\t\t\t: null;\n\n\t\t\t// Check if the attachment resolution failed with a specific error.\n\t\t\t// We use getResolutionError instead of hasFinishedResolution so we\n\t\t\t// can distinguish 404 (attachment doesn't exist) from transient\n\t\t\t// errors (500, 403, network) that shouldn't clear the id.\n\t\t\tconst resolutionError =\n\t\t\t\tid && isSingleSelected\n\t\t\t\t\t? select( coreStore ).getResolutionError(\n\t\t\t\t\t\t\t'getEntityRecord',\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t{ context: 'view' },\n\t\t\t\t\t\t\t]\n\t\t\t\t\t )\n\t\t\t\t\t: null;\n\n\t\t\treturn {\n\t\t\t\timage: imageRecord,\n\t\t\t\tattachmentResolutionError: resolutionError,\n\t\t\t};\n\t\t},\n\t\t[ id, isSingleSelected ]\n\t);\n\n\tconst {\n\t\tcanInsertCover,\n\t\timageEditing,\n\t\timageSizes,\n\t\tmaxWidth,\n\t\teditMediaEntity,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType, getSettings } =\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\teditMediaEntity: settings?.[ mediaEditKey ],\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\tconst { getBlock, getSettings } = useSelect( blockEditorStore );\n\tconst cropButtonRef = useRef();\n\tconst handleMediaEditorModalClose = useCallback(\n\t\t() => cropButtonRef.current?.focus(),\n\t\t[]\n\t);\n\tconst openImageMediaEditorModal = useOpenImageMediaEditorModal( {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tonClose: handleMediaEditorModalClose,\n\t} );\n\n\tconst {\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\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 [ hasImageErrored, setHasImageErrored ] = useState( false );\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\tconst showDimensionsControls = allowResize && hasNonContentControls;\n\tconst isResizable =\n\t\tallowResize &&\n\t\thasNonContentControls &&\n\t\t! isWideAligned &&\n\t\tisLargeViewport;\n\t// An image is uploading if it has a temporary blob URL, or if it is\n\t// being processed client-side (e.g. transcoded or generating sub-sizes).\n\tconst isUploading = !! temporaryURL || isSideloading;\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 the image has an id but the attachment doesn't exist on this site,\n\t// clear the id so Gutenberg treats the image as external.\n\t// This handles content copied between WordPress sites.\n\t//\n\t// Known limitation: if a different attachment with the same id happens to\n\t// exist on the destination site, the lookup will succeed and the wrong\n\t// local image will be used. URL matching could address this in a follow-up.\n\t// See: https://github.com/WordPress/gutenberg/issues/74156\n\tuseEffect( () => {\n\t\tif ( ! id || ! isSingleSelected ) {\n\t\t\treturn;\n\t\t}\n\t\t// Only clear for confirmed 404s. apiFetch throws the Response object\n\t\t// for HTTP errors, so checking .status === 404 avoids incorrectly\n\t\t// clearing the id on 403, 500, or network failures, which would\n\t\t// cause data loss for valid local attachments.\n\t\tif ( attachmentResolutionError?.status === 404 ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { id: undefined } );\n\t\t}\n\t}, [\n\t\tid,\n\t\tisSingleSelected,\n\t\tattachmentResolutionError,\n\t\tsetAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\t/*\n\t * Externally hosted images can be uploaded to the media library. The\n\t * server sideloads the URL (see mediaSideloadFromUrl), so this works even\n\t * when the editor is cross-origin isolated and the browser cannot read the\n\t * cross-origin image's bytes itself.\n\t */\n\tconst canUploadExternalImage =\n\t\tisSingleSelected &&\n\t\tisExternalImage( id, url ) &&\n\t\t!! getSettings()[ mediaSideloadFromUrlKey ];\n\n\t// Get naturalWidth and naturalHeight from image, 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\timageElement?.naturalWidth || loadedNaturalWidth || undefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageElement?.naturalHeight || loadedNaturalHeight || undefined,\n\t\t};\n\t}, [ loadedNaturalWidth, loadedNaturalHeight, imageElement?.complete ] );\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\tisDecorative: false,\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 updateIsDecorative( value ) {\n\t\tsetAttributes( {\n\t\t\tisDecorative: value || undefined,\n\t\t\t...( value && {\n\t\t\t\talt: '',\n\t\t\t\tcaption: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: undefined,\n\t\t\t\tlinkTarget: undefined,\n\t\t\t\trel: undefined,\n\t\t\t} ),\n\t\t} );\n\t}\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tif ( imageElement ) {\n\t\t\timageElement.style.setProperty(\n\t\t\t\t'object-position',\n\t\t\t\tmediaPosition( value )\n\t\t\t);\n\t\t}\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 mediaSideloadFromUrl = getSettings()[ mediaSideloadFromUrlKey ];\n\t\tif ( ! mediaSideloadFromUrl ) {\n\t\t\treturn;\n\t\t}\n\t\tmediaSideloadFromUrl( {\n\t\t\turl,\n\t\t\tonSuccess( img ) {\n\t\t\t\tonSelectImage( img );\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\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst canEditImage =\n\t\tid &&\n\t\tnaturalWidth &&\n\t\tnaturalHeight &&\n\t\timageEditing &&\n\t\t!! editMediaEntity;\n\tconst allowCrop =\n\t\tisSingleSelected &&\n\t\tcanEditImage &&\n\t\t!! openImageMediaEditorModal &&\n\t\t! isContentOnlyMode &&\n\t\t! isUploading;\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 component. Calculations later on for that\n\t// component 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 selectedStyleState = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst { getSelectedBlockStyleState } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn getSelectedBlockStyleState( clientId );\n\t\t},\n\t\t[ clientId, isSingleSelected ]\n\t);\n\tconst hasSelectedStyleState =\n\t\t! isDefaultBlockStyleState( selectedStyleState );\n\tconst selectedStyleStateKey = getStyleStateKey( selectedStyleState );\n\tconst activeWidth = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'width',\n\t} );\n\tconst activeHeight = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'height',\n\t} );\n\tconst activeAspectRatio = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'aspectRatio',\n\t} );\n\tconst activeScale = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'scale',\n\t\tstyleKey: 'objectFit',\n\t} );\n\tconst setDimensionAttributes = ( nextDimensions ) => {\n\t\tsetAttributes(\n\t\t\tgetDimensionUpdateAttributes( {\n\t\t\t\tstyle: attributes.style,\n\t\t\t\tselectedState: selectedStyleState,\n\t\t\t\thasSelectedStyleState,\n\t\t\t\tnextDimensions,\n\t\t\t\tdimensionKeyMap: { scale: 'objectFit' },\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst dimensionsControl =\n\t\tshowDimensionsControls &&\n\t\t( SIZED_LAYOUTS.includes( parentLayoutType ) ? (\n\t\t\t<DimensionsTool\n\t\t\t\tkey={ selectedStyleStateKey }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tvalue={ { aspectRatio: activeAspectRatio, scale: activeScale } }\n\t\t\t\tonChange={ ( { aspectRatio: newAspectRatio } ) => {\n\t\t\t\t\tsetDimensionAttributes( {\n\t\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t\t\tscale: 'cover',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\t\ttools={ [ 'aspectRatio' ] }\n\t\t\t/>\n\t\t) : (\n\t\t\t<DimensionsTool\n\t\t\t\tkey={ selectedStyleStateKey }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tvalue={ {\n\t\t\t\t\twidth: activeWidth,\n\t\t\t\t\theight: activeHeight,\n\t\t\t\t\tscale: activeScale,\n\t\t\t\t\taspectRatio: activeAspectRatio,\n\t\t\t\t} }\n\t\t\t\tonChange={ ( {\n\t\t\t\t\twidth: 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\t\tsetDimensionAttributes( {\n\t\t\t\t\t\t// CSS includes `height: auto`, but we need\n\t\t\t\t\t\t// `width: auto` to fix the aspect ratio when\n\t\t\t\t\t\t// only height is set due to the width and\n\t\t\t\t\t\t// height attributes set via the server.\n\t\t\t\t\t\twidth: ! newWidth && newHeight ? 'auto' : newWidth,\n\t\t\t\t\t\theight: newHeight,\n\t\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t\t\tscale: newScale,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdefaultScale=\"cover\"\n\t\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\t\tscaleOptions={ scaleOptions }\n\t\t\t\tunitsOptions={ dimensionsUnitsOptions }\n\t\t\t\ttools={\n\t\t\t\t\tisWideAligned\n\t\t\t\t\t\t? [ 'aspectRatio', 'scale' ]\n\t\t\t\t\t\t: [ 'aspectRatio', 'widthHeight', 'scale' ]\n\t\t\t\t}\n\t\t\t/>\n\t\t) );\n\n\tconst resetSettings = () => {\n\t\tsetAttributes( {\n\t\t\tlightbox: undefined,\n\t\t} );\n\t\tupdateImage( DEFAULT_MEDIA_SIZE_SLUG );\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\thideCaptionControls = 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\tcaption: captionBinding,\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\thideCaptionControls: !! captionBinding,\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! lockHrefControls &&\n\t\t! lockUrlControls &&\n\t\t! isDecorative;\n\n\tconst showCoverControls =\n\t\tisSingleSelected && canInsertCover && ! isContentOnlyMode;\n\n\tconst showBlockControls = showUrlInput || allowCrop || showCoverControls;\n\n\tconst mediaControls = isSingleSelected && ! lockUrlControls && (\n\t\t<>\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\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\tvariant=\"toolbar\"\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n\n\tconst hasDataFormBlockFields =\n\t\twindow?.__experimentalContentOnlyInspectorFields;\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\tref={ cropButtonRef }\n\t\t\t\t\t\t\tonClick={ openImageMediaEditorModal }\n\t\t\t\t\t\t\taria-haspopup=\"dialog\"\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{ canUploadExternalImage && (\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{ ! hasDataFormBlockFields && isSingleSelected && (\n\t\t\t\t<InspectorControls group=\"content\">\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Media' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tonSelectImage( undefined );\n\t\t\t\t\t\t\tsetAttributes( { isDecorative: false } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! lockUrlControls && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\t\t\t\t\thasValue={ () => !! url }\n\t\t\t\t\t\t\t\tonDeselect={ () => onSelectImage( undefined ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaControl\n\t\t\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\t\t\tmediaUrl={ url }\n\t\t\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\t\t\tfilename={\n\t\t\t\t\t\t\t\t\t\timage?.media_details?.sizes?.full\n\t\t\t\t\t\t\t\t\t\t\t?.file ||\n\t\t\t\t\t\t\t\t\t\timage?.slug ||\n\t\t\t\t\t\t\t\t\t\tgetFilename( url )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\t\t\tonReset={ () => onSelectImage( undefined ) }\n\t\t\t\t\t\t\t\t\tisUploading={ isUploading }\n\t\t\t\t\t\t\t\t\temptyLabel={ __( 'Add image' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isDecorative && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! alt }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: undefined } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\t\tvalue={ alt || '' }\n\t\t\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\t\t\treadOnly={ lockAltControls }\n\t\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\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)\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ ! lockAltControls && ! lightboxChecked && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Mark as decorative' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! isDecorative }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isDecorative: false } )\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\t<CheckboxControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mark as decorative' ) }\n\t\t\t\t\t\t\t\t\tchecked={ !! isDecorative }\n\t\t\t\t\t\t\t\t\tonChange={ updateIsDecorative }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Hidden from assistive technologies.'\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls\n\t\t\t\tgroup=\"dimensions\"\n\t\t\t\tresetAllFilter={ ( attrs ) => {\n\t\t\t\t\treturn getDimensionResetAttributes( {\n\t\t\t\t\t\tattributes: attrs,\n\t\t\t\t\t\tselectedState: selectedStyleState,\n\t\t\t\t\t\thasSelectedStyleState,\n\t\t\t\t\t\tkeys: [ 'aspectRatio', 'height', 'objectFit', 'width' ],\n\t\t\t\t\t\tdefaultAttributes: {\n\t\t\t\t\t\t\taspectRatio: undefined,\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\tscale: undefined,\n\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ dimensionsControl }\n\t\t\t\t{ ! hasSelectedStyleState && url && scale && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! focalPoint }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ resetSettings }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ResolutionTool\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\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</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\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\tcreateInterpolateElement(\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. <a>(Note: many devices and browsers do not display this text.)</a>'\n\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\ta: (\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),\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}\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 ( isDecorative ) {\n\t\tdefaultedAlt = filename\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: file name */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'This image has been marked as decorative; its file name is %s'\n\t\t\t\t\t),\n\t\t\t\t\tfilename\n\t\t\t )\n\t\t\t: __( 'This image has been marked as decorative.' );\n\t} else if ( 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\n\tconst { postType, postId, queryId } = context;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\n\tconst img = (\n\t\t<ImageWrapper href={ href }>\n\t\t\t{ temporaryURL && hasImageErrored ? (\n\t\t\t\t// Show a placeholder during upload when the blob URL can't be loaded. This can\n\t\t\t\t// happen when the user uploads a HEIC image in a browser that doesn't support them.\n\t\t\t\t<Placeholder\n\t\t\t\t\tclassName=\"wp-block-image__placeholder\"\n\t\t\t\t\twithIllustration\n\t\t\t\t>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\t\t\talt={ defaultedAlt }\n\t\t\t\t\t\tonError={ onImageError }\n\t\t\t\t\t\tonLoad={ onImageLoad }\n\t\t\t\t\t\tref={ setRefs }\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\twidth={ naturalWidth }\n\t\t\t\t\t\theight={ naturalHeight }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\taspectRatio,\n\t\t\t\t\t\t\t...( resizeDelta\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\tpixelSize.width + resizeDelta.width,\n\t\t\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\t\t\tpixelSize.height +\n\t\t\t\t\t\t\t\t\t\t\tresizeDelta.height,\n\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\t\tconst style = {};\n\t\t\t\t\t\t\t\t\t\tif ( width === 'auto' ) {\n\t\t\t\t\t\t\t\t\t\t\tstyle.width = 'auto';\n\t\t\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t\t\twidth !== undefined &&\n\t\t\t\t\t\t\t\t\t\t\twidth !== null\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tstyle.width =\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof width === 'number'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `${ width }px`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: width;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\theight === 'auto' ||\n\t\t\t\t\t\t\t\t\t\t\theight === undefined ||\n\t\t\t\t\t\t\t\t\t\t\theight === null\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tstyle.height = 'auto';\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tstyle.height =\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof height === 'number'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `${ height }px`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: height;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn style;\n\t\t\t\t\t\t\t\t } )() ),\n\t\t\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t\t\tobjectPosition:\n\t\t\t\t\t\t\t\tfocalPoint && scale\n\t\t\t\t\t\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isUploading && <Spinner /> }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</ImageWrapper>\n\t);\n\n\tlet resizableBox;\n\tif (\n\t\tisResizable &&\n\t\tisSingleSelected &&\n\t\t! isUploading &&\n\t\t! SIZED_LAYOUTS.includes( parentLayoutType )\n\t) {\n\t\tconst numericRatio = aspectRatio && evalAspectRatio( aspectRatio );\n\t\tconst customRatio = pixelSize.width / pixelSize.height;\n\t\tconst naturalRatio = naturalWidth / naturalHeight;\n\t\tconst ratio = numericRatio || customRatio || naturalRatio || 1;\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\tresizableBox = (\n\t\t\t<ResizableBox\n\t\t\t\tref={ effectResizeableBoxPlacement }\n\t\t\t\tstyle={ {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t// To match the vertical-align: bottom of the img (from style.scss)\n\t\t\t\t\t// syncs the top with the img. This matters when the img height is\n\t\t\t\t\t// less than the line-height.\n\t\t\t\t\tinset: `${ offsetTop }px 0 0 0`,\n\t\t\t\t} }\n\t\t\t\tsize={ pixelSize }\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={ () => {\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResize={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetResizeDelta( delta );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\tsetResizeDelta( null );\n\t\t\t\t\tsetPixelSize( ( current ) => ( {\n\t\t\t\t\t\twidth: current.width + delta.width,\n\t\t\t\t\t\theight: current.height + delta.height,\n\t\t\t\t\t} ) );\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);\n\t}\n\n\tif ( ! url && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaControls }\n\t\t\t\t{ controls }\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\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tfeatured_media: id,\n\t\t} );\n\t\tcreateSuccessNotice( __( 'Post featured image updated.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst featuredImageControl =\n\t\t! isDescendentOfQueryLoop && postId && id ? (\n\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t{ ( { canEdit, selectedClientIds } ) =>\n\t\t\t\t\tcanEdit &&\n\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\tclientId === selectedClientIds[ 0 ] && (\n\t\t\t\t\t\t<MenuItem onClick={ setPostFeatureImage }>\n\t\t\t\t\t\t\t{ __( 'Set as featured image' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</BlockSettingsMenuControls>\n\t\t) : null;\n\n\treturn (\n\t\t<>\n\t\t\t{ mediaControls }\n\t\t\t{ controls }\n\t\t\t{ featuredImageControl }\n\t\t\t{ img }\n\t\t\t{ resizableBox }\n\n\t\t\t{ ! isDecorative && (\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Image caption text' ) }\n\t\t\t\t\tshowToolbarButton={\n\t\t\t\t\t\tisSingleSelected &&\n\t\t\t\t\t\t( hasNonContentControls || isContentOnlyMode ) &&\n\t\t\t\t\t\t! hideCaptionControls\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tExternalLink,\n\tFocalPointPicker,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tCheckboxControl,\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 {\n\tuseMergeRefs,\n\tuseResizeObserver,\n\tuseViewportMatch,\n} 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__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tprivateApis as blockEditorPrivateApis,\n\tBlockSettingsMenuControls,\n} from '@wordpress/block-editor';\nimport {\n\tcreateInterpolateElement,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} 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 } from '@wordpress/core-data';\nimport { unlock } from '../lock-unlock';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { isExternalImage } from './edit';\nimport { Caption } from '../utils/caption';\nimport { MediaControl } from '../utils/media-control';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport {\n\tgetActiveDimensionValue,\n\tgetDimensionResetAttributes,\n\tgetDimensionUpdateAttributes,\n\tgetStyleStateKey,\n} from '../utils/style-state';\nimport { useOpenImageMediaEditorModal } from './use-open-image-media-editor-modal';\nimport {\n\tMIN_SIZE,\n\tALLOWED_MEDIA_TYPES,\n\tSIZED_LAYOUTS,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n} from './constants';\nimport { evalAspectRatio, mediaPosition } from './utils';\n\nconst {\n\tDimensionsTool,\n\tisDefaultBlockStyleState,\n\tResolutionTool,\n\tmediaEditKey,\n\tmediaSideloadFromUrlKey,\n} = 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/>\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\tclassName=\"wp-block-image__toolbar_content_textarea\"\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\tcreateInterpolateElement(\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. <a>(Note: many devices and browsers do not display this text.)</a>'\n\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\ta: (\n\t\t\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}\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\tisSideloading,\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\tfocalPoint,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t\tlightbox,\n\t\tmetadata,\n\t\tisDecorative,\n\t} = attributes;\n\tconst [ imageElement, setImageElement ] = useState();\n\tconst [ resizeDelta, setResizeDelta ] = useState( null );\n\tconst [ pixelSize, setPixelSize ] = useState( {} );\n\tconst [ offsetTop, setOffsetTop ] = useState( 0 );\n\tconst setResizeObserved = useResizeObserver( ( [ entry ] ) => {\n\t\tif ( ! resizeDelta ) {\n\t\t\tconst [ box ] = entry.borderBoxSize;\n\t\t\tsetPixelSize( { width: box.inlineSize, height: box.blockSize } );\n\t\t}\n\t\t// This is usually 0 unless the image height is less than the line-height.\n\t\tsetOffsetTop( entry.target.offsetTop );\n\t} );\n\tconst effectResizeableBoxPlacement = useCallback( () => {\n\t\tsetOffsetTop( imageElement?.offsetTop ?? 0 );\n\t}, [ imageElement ] );\n\tconst setRefs = useMergeRefs( [ setImageElement, setResizeObserved ] );\n\tconst { allowResize = true } = context;\n\n\tconst { image, attachmentResolutionError } = useSelect(\n\t\t( select ) => {\n\t\t\tconst imageRecord =\n\t\t\t\tid && isSingleSelected\n\t\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t{ context: 'view' }\n\t\t\t\t\t )\n\t\t\t\t\t: null;\n\n\t\t\t// Check if the attachment resolution failed with a specific error.\n\t\t\t// We use getResolutionError instead of hasFinishedResolution so we\n\t\t\t// can distinguish 404 (attachment doesn't exist) from transient\n\t\t\t// errors (500, 403, network) that shouldn't clear the id.\n\t\t\tconst resolutionError =\n\t\t\t\tid && isSingleSelected\n\t\t\t\t\t? select( coreStore ).getResolutionError(\n\t\t\t\t\t\t\t'getEntityRecord',\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t{ context: 'view' },\n\t\t\t\t\t\t\t]\n\t\t\t\t\t )\n\t\t\t\t\t: null;\n\n\t\t\treturn {\n\t\t\t\timage: imageRecord,\n\t\t\t\tattachmentResolutionError: resolutionError,\n\t\t\t};\n\t\t},\n\t\t[ id, isSingleSelected ]\n\t);\n\n\tconst {\n\t\tcanInsertCover,\n\t\timageEditing,\n\t\timageSizes,\n\t\tmaxWidth,\n\t\teditMediaEntity,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType, getSettings } =\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\teditMediaEntity: settings?.[ mediaEditKey ],\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\tconst { getBlock, getSettings } = useSelect( blockEditorStore );\n\tconst cropButtonRef = useRef();\n\t// URL of a freshly generated file (crop/rotate result) from the media\n\t// editor that the browser may not have finished loading; cleared by the\n\t// <img> load/error handlers, or by the settle effect below when the\n\t// rendered image already shows it.\n\tconst [ pendingSwapUrl, setPendingSwapUrl ] = useState();\n\tconst isSwappingMedia = !! pendingSwapUrl;\n\tconst handleMediaEditorModalClose = useCallback(\n\t\t() => cropButtonRef.current?.focus(),\n\t\t[]\n\t);\n\tconst openImageMediaEditorModal = useOpenImageMediaEditorModal( {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tonClose: handleMediaEditorModalClose,\n\t\tonUrlChange: setPendingSwapUrl,\n\t} );\n\n\tconst {\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\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 [ hasImageErrored, setHasImageErrored ] = useState( false );\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\tconst showDimensionsControls = allowResize && hasNonContentControls;\n\tconst isResizable =\n\t\tallowResize &&\n\t\thasNonContentControls &&\n\t\t! isWideAligned &&\n\t\tisLargeViewport;\n\t// An image is uploading if it has a temporary blob URL, or if it is\n\t// being processed client-side (e.g. transcoded or generating sub-sizes).\n\tconst isUploading = !! temporaryURL || isSideloading;\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 the image has an id but the attachment doesn't exist on this site,\n\t// clear the id so Gutenberg treats the image as external.\n\t// This handles content copied between WordPress sites.\n\t//\n\t// Known limitation: if a different attachment with the same id happens to\n\t// exist on the destination site, the lookup will succeed and the wrong\n\t// local image will be used. URL matching could address this in a follow-up.\n\t// See: https://github.com/WordPress/gutenberg/issues/74156\n\tuseEffect( () => {\n\t\tif ( ! id || ! isSingleSelected ) {\n\t\t\treturn;\n\t\t}\n\t\t// Only clear for confirmed 404s. apiFetch throws the Response object\n\t\t// for HTTP errors, so checking .status === 404 avoids incorrectly\n\t\t// clearing the id on 403, 500, or network failures, which would\n\t\t// cause data loss for valid local attachments.\n\t\tif ( attachmentResolutionError?.status === 404 ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { id: undefined } );\n\t\t}\n\t}, [\n\t\tid,\n\t\tisSingleSelected,\n\t\tattachmentResolutionError,\n\t\tsetAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\t/*\n\t * Externally hosted images can be uploaded to the media library. The\n\t * server sideloads the URL (see mediaSideloadFromUrl), so this works even\n\t * when the editor is cross-origin isolated and the browser cannot read the\n\t * cross-origin image's bytes itself.\n\t */\n\tconst canUploadExternalImage =\n\t\tisSingleSelected &&\n\t\tisExternalImage( id, url ) &&\n\t\t!! getSettings()[ mediaSideloadFromUrlKey ];\n\n\t// Get naturalWidth and naturalHeight from image, 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\timageElement?.naturalWidth || loadedNaturalWidth || undefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageElement?.naturalHeight || loadedNaturalHeight || undefined,\n\t\t};\n\t}, [ loadedNaturalWidth, loadedNaturalHeight, imageElement?.complete ] );\n\n\t// A media editor update can be undone or superseded before its\n\t// attributes land, leaving the rendered image untouched. No load event\n\t// fires in that case, so clear the pending swap whenever the rendered\n\t// image already shows the pending URL.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tpendingSwapUrl &&\n\t\t\tpendingSwapUrl === url &&\n\t\t\timageElement?.complete\n\t\t) {\n\t\t\tsetPendingSwapUrl( undefined );\n\t\t}\n\t}, [ pendingSwapUrl, url, imageElement ] );\n\n\tfunction onImageError() {\n\t\tsetPendingSwapUrl( undefined );\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 && onReplace ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onImageLoad( event ) {\n\t\tsetPendingSwapUrl( undefined );\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\tisDecorative: false,\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 updateIsDecorative( value ) {\n\t\tsetAttributes( {\n\t\t\tisDecorative: value || undefined,\n\t\t\t...( value && {\n\t\t\t\talt: '',\n\t\t\t\tcaption: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: undefined,\n\t\t\t\tlinkTarget: undefined,\n\t\t\t\trel: undefined,\n\t\t\t} ),\n\t\t} );\n\t}\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tif ( imageElement ) {\n\t\t\timageElement.style.setProperty(\n\t\t\t\t'object-position',\n\t\t\t\tmediaPosition( value )\n\t\t\t);\n\t\t}\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 mediaSideloadFromUrl = getSettings()[ mediaSideloadFromUrlKey ];\n\t\tif ( ! mediaSideloadFromUrl ) {\n\t\t\treturn;\n\t\t}\n\t\tmediaSideloadFromUrl( {\n\t\t\turl,\n\t\t\tonSuccess( img ) {\n\t\t\t\tonSelectImage( img );\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\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst canEditImage =\n\t\tid &&\n\t\tnaturalWidth &&\n\t\tnaturalHeight &&\n\t\timageEditing &&\n\t\t!! editMediaEntity;\n\tconst allowCrop =\n\t\tisSingleSelected &&\n\t\tcanEditImage &&\n\t\t!! openImageMediaEditorModal &&\n\t\t! isContentOnlyMode &&\n\t\t! isUploading;\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 component. Calculations later on for that\n\t// component 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 selectedStyleState = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst { getSelectedBlockStyleState } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn getSelectedBlockStyleState( clientId );\n\t\t},\n\t\t[ clientId, isSingleSelected ]\n\t);\n\tconst hasSelectedStyleState =\n\t\t! isDefaultBlockStyleState( selectedStyleState );\n\tconst selectedStyleStateKey = getStyleStateKey( selectedStyleState );\n\tconst activeWidth = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'width',\n\t} );\n\tconst activeHeight = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'height',\n\t} );\n\tconst activeAspectRatio = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'aspectRatio',\n\t} );\n\tconst activeScale = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'scale',\n\t\tstyleKey: 'objectFit',\n\t} );\n\tconst setDimensionAttributes = ( nextDimensions ) => {\n\t\tsetAttributes(\n\t\t\tgetDimensionUpdateAttributes( {\n\t\t\t\tstyle: attributes.style,\n\t\t\t\tselectedState: selectedStyleState,\n\t\t\t\thasSelectedStyleState,\n\t\t\t\tnextDimensions,\n\t\t\t\tdimensionKeyMap: { scale: 'objectFit' },\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst dimensionsControl =\n\t\tshowDimensionsControls &&\n\t\t( SIZED_LAYOUTS.includes( parentLayoutType ) ? (\n\t\t\t<DimensionsTool\n\t\t\t\tkey={ selectedStyleStateKey }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tvalue={ { aspectRatio: activeAspectRatio, scale: activeScale } }\n\t\t\t\tonChange={ ( { aspectRatio: newAspectRatio } ) => {\n\t\t\t\t\tsetDimensionAttributes( {\n\t\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t\t\tscale: 'cover',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\t\ttools={ [ 'aspectRatio' ] }\n\t\t\t/>\n\t\t) : (\n\t\t\t<DimensionsTool\n\t\t\t\tkey={ selectedStyleStateKey }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tvalue={ {\n\t\t\t\t\twidth: activeWidth,\n\t\t\t\t\theight: activeHeight,\n\t\t\t\t\tscale: activeScale,\n\t\t\t\t\taspectRatio: activeAspectRatio,\n\t\t\t\t} }\n\t\t\t\tonChange={ ( {\n\t\t\t\t\twidth: 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\t\tsetDimensionAttributes( {\n\t\t\t\t\t\t// CSS includes `height: auto`, but we need\n\t\t\t\t\t\t// `width: auto` to fix the aspect ratio when\n\t\t\t\t\t\t// only height is set due to the width and\n\t\t\t\t\t\t// height attributes set via the server.\n\t\t\t\t\t\twidth: ! newWidth && newHeight ? 'auto' : newWidth,\n\t\t\t\t\t\theight: newHeight,\n\t\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t\t\tscale: newScale,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdefaultScale=\"cover\"\n\t\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\t\tscaleOptions={ scaleOptions }\n\t\t\t\tunitsOptions={ dimensionsUnitsOptions }\n\t\t\t\ttools={\n\t\t\t\t\tisWideAligned\n\t\t\t\t\t\t? [ 'aspectRatio', 'scale' ]\n\t\t\t\t\t\t: [ 'aspectRatio', 'widthHeight', 'scale' ]\n\t\t\t\t}\n\t\t\t/>\n\t\t) );\n\n\tconst resetSettings = () => {\n\t\tsetAttributes( {\n\t\t\tlightbox: undefined,\n\t\t} );\n\t\tupdateImage( DEFAULT_MEDIA_SIZE_SLUG );\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\thideCaptionControls = 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\tcaption: captionBinding,\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\thideCaptionControls: !! captionBinding,\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! lockHrefControls &&\n\t\t! lockUrlControls &&\n\t\t! isDecorative;\n\n\tconst showCoverControls =\n\t\tisSingleSelected && canInsertCover && ! isContentOnlyMode;\n\n\tconst showBlockControls = showUrlInput || allowCrop || showCoverControls;\n\n\tconst mediaControls = isSingleSelected && ! lockUrlControls && (\n\t\t<>\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\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\tvariant=\"toolbar\"\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n\n\tconst hasDataFormBlockFields =\n\t\twindow?.__experimentalContentOnlyInspectorFields;\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\tref={ cropButtonRef }\n\t\t\t\t\t\t\tonClick={ openImageMediaEditorModal }\n\t\t\t\t\t\t\taria-haspopup=\"dialog\"\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\t// Disable rather than hide while the edited image\n\t\t\t\t\t\t\t// loads, so the button keeps focus when the modal\n\t\t\t\t\t\t\t// closes instead of dropping it to the canvas.\n\t\t\t\t\t\t\tdisabled={ isSwappingMedia }\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{ canUploadExternalImage && (\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{ ! hasDataFormBlockFields && isSingleSelected && (\n\t\t\t\t<InspectorControls group=\"content\">\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Media' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tonSelectImage( undefined );\n\t\t\t\t\t\t\tsetAttributes( { isDecorative: false } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! lockUrlControls && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\t\t\t\t\thasValue={ () => !! url }\n\t\t\t\t\t\t\t\tonDeselect={ () => onSelectImage( undefined ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaControl\n\t\t\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\t\t\tmediaUrl={ url }\n\t\t\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\t\t\tfilename={\n\t\t\t\t\t\t\t\t\t\timage?.media_details?.sizes?.full\n\t\t\t\t\t\t\t\t\t\t\t?.file ||\n\t\t\t\t\t\t\t\t\t\timage?.slug ||\n\t\t\t\t\t\t\t\t\t\tgetFilename( url )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\t\t\tonReset={ () => onSelectImage( undefined ) }\n\t\t\t\t\t\t\t\t\tisUploading={ isUploading }\n\t\t\t\t\t\t\t\t\temptyLabel={ __( 'Add image' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isDecorative && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! alt }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: undefined } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\t\tvalue={ alt || '' }\n\t\t\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\t\t\treadOnly={ lockAltControls }\n\t\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\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)\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ ! lockAltControls && ! lightboxChecked && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Mark as decorative' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! isDecorative }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isDecorative: false } )\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\t<CheckboxControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mark as decorative' ) }\n\t\t\t\t\t\t\t\t\tchecked={ !! isDecorative }\n\t\t\t\t\t\t\t\t\tonChange={ updateIsDecorative }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Hidden from assistive technologies.'\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls\n\t\t\t\tgroup=\"dimensions\"\n\t\t\t\tresetAllFilter={ ( attrs ) => {\n\t\t\t\t\treturn getDimensionResetAttributes( {\n\t\t\t\t\t\tattributes: attrs,\n\t\t\t\t\t\tselectedState: selectedStyleState,\n\t\t\t\t\t\thasSelectedStyleState,\n\t\t\t\t\t\tkeys: [ 'aspectRatio', 'height', 'objectFit', 'width' ],\n\t\t\t\t\t\tdefaultAttributes: {\n\t\t\t\t\t\t\taspectRatio: undefined,\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\tscale: undefined,\n\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ dimensionsControl }\n\t\t\t\t{ ! hasSelectedStyleState && url && scale && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! focalPoint }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ resetSettings }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ResolutionTool\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\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</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\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\tcreateInterpolateElement(\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. <a>(Note: many devices and browsers do not display this text.)</a>'\n\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\ta: (\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),\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}\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 ( isDecorative ) {\n\t\tdefaultedAlt = filename\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: file name */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'This image has been marked as decorative; its file name is %s'\n\t\t\t\t\t),\n\t\t\t\t\tfilename\n\t\t\t )\n\t\t\t: __( 'This image has been marked as decorative.' );\n\t} else if ( 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\n\tconst { postType, postId, queryId } = context;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\n\tconst img = (\n\t\t<ImageWrapper href={ href }>\n\t\t\t{ temporaryURL && hasImageErrored ? (\n\t\t\t\t// Show a placeholder during upload when the blob URL can't be loaded. This can\n\t\t\t\t// happen when the user uploads a HEIC image in a browser that doesn't support them.\n\t\t\t\t<Placeholder\n\t\t\t\t\tclassName=\"wp-block-image__placeholder\"\n\t\t\t\t\twithIllustration\n\t\t\t\t>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\t\t\talt={ defaultedAlt }\n\t\t\t\t\t\tonError={ onImageError }\n\t\t\t\t\t\tonLoad={ onImageLoad }\n\t\t\t\t\t\tref={ setRefs }\n\t\t\t\t\t\tclassName={ clsx( borderProps.className, {\n\t\t\t\t\t\t\t'is-swapping-media': isSwappingMedia,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\twidth={ naturalWidth }\n\t\t\t\t\t\theight={ naturalHeight }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\taspectRatio,\n\t\t\t\t\t\t\t...( resizeDelta\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\tpixelSize.width + resizeDelta.width,\n\t\t\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\t\t\tpixelSize.height +\n\t\t\t\t\t\t\t\t\t\t\tresizeDelta.height,\n\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\t\tconst style = {};\n\t\t\t\t\t\t\t\t\t\tif ( width === 'auto' ) {\n\t\t\t\t\t\t\t\t\t\t\tstyle.width = 'auto';\n\t\t\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t\t\twidth !== undefined &&\n\t\t\t\t\t\t\t\t\t\t\twidth !== null\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tstyle.width =\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof width === 'number'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `${ width }px`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: width;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\theight === 'auto' ||\n\t\t\t\t\t\t\t\t\t\t\theight === undefined ||\n\t\t\t\t\t\t\t\t\t\t\theight === null\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tstyle.height = 'auto';\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tstyle.height =\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof height === 'number'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `${ height }px`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: height;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn style;\n\t\t\t\t\t\t\t\t } )() ),\n\t\t\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t\t\tobjectPosition:\n\t\t\t\t\t\t\t\tfocalPoint && scale\n\t\t\t\t\t\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ( isUploading || isSwappingMedia ) && <Spinner /> }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</ImageWrapper>\n\t);\n\n\tlet resizableBox;\n\tif (\n\t\tisResizable &&\n\t\tisSingleSelected &&\n\t\t! isUploading &&\n\t\t! SIZED_LAYOUTS.includes( parentLayoutType )\n\t) {\n\t\tconst numericRatio = aspectRatio && evalAspectRatio( aspectRatio );\n\t\tconst customRatio = pixelSize.width / pixelSize.height;\n\t\tconst naturalRatio = naturalWidth / naturalHeight;\n\t\tconst ratio = numericRatio || customRatio || naturalRatio || 1;\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\tresizableBox = (\n\t\t\t<ResizableBox\n\t\t\t\tref={ effectResizeableBoxPlacement }\n\t\t\t\tstyle={ {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t// To match the vertical-align: bottom of the img (from style.scss)\n\t\t\t\t\t// syncs the top with the img. This matters when the img height is\n\t\t\t\t\t// less than the line-height.\n\t\t\t\t\tinset: `${ offsetTop }px 0 0 0`,\n\t\t\t\t} }\n\t\t\t\tsize={ pixelSize }\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={ () => {\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResize={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetResizeDelta( delta );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\tsetResizeDelta( null );\n\t\t\t\t\tsetPixelSize( ( current ) => ( {\n\t\t\t\t\t\twidth: current.width + delta.width,\n\t\t\t\t\t\theight: current.height + delta.height,\n\t\t\t\t\t} ) );\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);\n\t}\n\n\tif ( ! url && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaControls }\n\t\t\t\t{ controls }\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\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tfeatured_media: id,\n\t\t} );\n\t\tcreateSuccessNotice( __( 'Post featured image updated.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst featuredImageControl =\n\t\t! isDescendentOfQueryLoop && postId && id ? (\n\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t{ ( { canEdit, selectedClientIds } ) =>\n\t\t\t\t\tcanEdit &&\n\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\tclientId === selectedClientIds[ 0 ] && (\n\t\t\t\t\t\t<MenuItem onClick={ setPostFeatureImage }>\n\t\t\t\t\t\t\t{ __( 'Set as featured image' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</BlockSettingsMenuControls>\n\t\t) : null;\n\n\treturn (\n\t\t<>\n\t\t\t{ mediaControls }\n\t\t\t{ controls }\n\t\t\t{ featuredImageControl }\n\t\t\t{ img }\n\t\t\t{ resizableBox }\n\n\t\t\t{ ! isDecorative && (\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Image caption text' ) }\n\t\t\t\t\tshowToolbarButton={\n\t\t\t\t\t\tisSingleSelected &&\n\t\t\t\t\t\t( hasNonContentControls || isContentOnlyMode ) &&\n\t\t\t\t\t\t! hideCaptionControls\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["getSettings", "img"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/image/index.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsizeSlug: 'large',\n\t\t\turl: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg',\n\t\t\t// translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block.\n\t\t\tcaption: __( 'Mont Blanc appears—still, snowy, and serene.' ),\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif (\n\t\t\t( context === 'list-view' || context === 'breadcrumb' ) &&\n\t\t\tcustomName\n\t\t) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { caption, alt, url } = attributes;\n\n\t\t\tif ( ! url ) {\n\t\t\t\treturn __( 'Empty' );\n\t\t\t}\n\n\t\t\tif ( ! alt ) {\n\t\t\t\treturn caption || '';\n\t\t\t}\n\n\t\t\t// This is intended to be read by a screen reader.\n\t\t\t// A period simply means a pause, no need to translate it.\n\t\t\treturn alt + ( caption ? '. ' + caption : '' );\n\t\t}\n\t},\n\tgetEditWrapperProps( attributes ) {\n\t\treturn {\n\t\t\t'data-align': attributes.align,\n\t\t};\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'image',\n\t\t\tlabel: __( 'Image' ),\n\t\t\ttype: 'media',\n\t\t\tEdit: {\n\t\t\t\tcontrol: 'media', // TODO: replace with custom component\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\tmultiple: false,\n\t\t\t},\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\tid: item.id,\n\t\t\t\turl: item.url,\n\t\t\t\talt: item.alt,\n\t\t\t\tcaption: item.caption,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\tid: value.id,\n\t\t\t\turl: value.url,\n\t\t\t\talt: value.alt,\n\t\t\t\tcaption: value.caption,\n\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\tid: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'url',\n\t\t\tEdit: 'link', // TODO: replace with custom component\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\turl: item.href,\n\t\t\t\trel: item.rel,\n\t\t\t\tlinkTarget: item.linkTarget,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\thref: value.url,\n\t\t\t\trel: value.rel,\n\t\t\t\tlinkTarget: value.linkTarget,\n\t\t\t} ),\n\t\t\tisVisible: ( item ) => ! item.isDecorative,\n\t\t},\n\t\t{\n\t\t\tid: 'caption',\n\t\t\tlabel: __( 'Caption' ),\n\t\t\ttype: 'text',\n\t\t\tEdit: 'rich-text', // TODO: replace with custom component\n\t\t\tisVisible: ( item ) => ! item.isDecorative,\n\t\t},\n\t\t{\n\t\t\tid: 'alt',\n\t\t\tlabel: __( 'Alt text' ),\n\t\t\ttype: 'text',\n\t\t\tisVisible: ( item ) => ! item.isDecorative,\n\t\t},\n\t\t{\n\t\t\tid: 'isDecorative',\n\t\t\tlabel: __( 'Mark as decorative' ),\n\t\t\ttype: 'boolean',\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\tisDecorative: value || undefined,\n\t\t\t\t...( value && {\n\t\t\t\t\talt: '',\n\t\t\t\t\tcaption: undefined,\n\t\t\t\t\thref: undefined,\n\t\t\t\t\tlinkDestination: undefined,\n\t\t\t\t\tlinkTarget: undefined,\n\t\t\t\t\trel: undefined,\n\t\t\t\t} ),\n\t\t\t} ),\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'image', 'link', 'caption', 'alt', 'isDecorative' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/image/init.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { init } from './';\n\nexport default init();\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,YAAY;AAErB,IAAO,eAAQ,KAAK;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/image/save.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { mediaPosition } from './utils';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\turl,\n\t\talt,\n\t\tcaption,\n\t\talign,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\twidth,\n\t\theight,\n\t\taspectRatio,\n\t\tscale,\n\t\tfocalPoint,\n\t\tid,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t\ttitle,\n\t\tisDecorative,\n\t\tmetadata: { bindings = {} } = {},\n\t} = attributes;\n\n\tconst newRel = ! rel ? undefined : rel;\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = clsx( {\n\t\t// All other align classes are handled by block supports.\n\t\t// `{ align: 'none' }` is unique to transforms for the image block.\n\t\talignnone: 'none' === align,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'is-resized': width || height,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst imageClasses = clsx( borderProps.className, {\n\t\t[ `wp-image-${ id }` ]: !! id,\n\t} );\n\n\tconst image = (\n\t\t<img\n\t\t\tsrc={ url }\n\t\t\talt={ alt }\n\t\t\tclassName={ imageClasses || undefined }\n\t\t\tstyle={ ( () => {\n\t\t\t\tconst style = {\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\tobjectPosition:\n\t\t\t\t\t\tfocalPoint && scale\n\t\t\t\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t};\n\t\t\t\t// Only apply dimension styles when a width or height is provided.\n\t\t\t\tif ( width !== undefined || height !== undefined ) {\n\t\t\t\t\t// Only apply width when explicitly provided.\n\t\t\t\t\tif ( width === 'auto' ) {\n\t\t\t\t\t\tstyle.width = 'auto';\n\t\t\t\t\t} else if ( width !== undefined && width !== null ) {\n\t\t\t\t\t\tstyle.width =\n\t\t\t\t\t\t\ttypeof width === 'number' ? `${ width }px` : width;\n\t\t\t\t\t}\n\t\t\t\t\t// Force height to auto when unspecified to prevent\n\t\t\t\t\t// theme CSS from squishing the image.\n\t\t\t\t\tif (\n\t\t\t\t\t\theight === 'auto' ||\n\t\t\t\t\t\theight === undefined ||\n\t\t\t\t\t\theight === null\n\t\t\t\t\t) {\n\t\t\t\t\t\tstyle.height = 'auto';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstyle.height =\n\t\t\t\t\t\t\ttypeof height === 'number'\n\t\t\t\t\t\t\t\t? `${ height }px`\n\t\t\t\t\t\t\t\t: height;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn style;\n\t\t\t} )() }\n\t\t\ttitle={ title }\n\t\t\trole={ isDecorative ? 'none' : undefined }\n\t\t/>\n\t);\n\n\tconst displayCaption =\n\t\t! RichText.isEmpty( caption ) ||\n\t\tbindings.caption ||\n\t\tbindings?.__default?.source === 'core/pattern-overrides';\n\n\tconst figure = (\n\t\t<>\n\t\t\t{ href ? (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\thref={ href }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ newRel }\n\t\t\t\t>\n\t\t\t\t\t{ image }\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\timage\n\t\t\t) }\n\t\t\t{ displayCaption && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t{ figure }\n\t\t</figure>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAO,UAAU;AACjB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,2CAA2C;AAAA,EAC3C,2CAA2C;AAAA,OACrC;AACP,SAAS,qBAAqB;AA6C5B,SAoDA,UApDA,KAoDA,YApDA;AA3Ca,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC;AAAA,EAChC,IAAI;AAEJ,QAAM,SAAS,CAAE,MAAM,SAAY;AACnC,QAAM,cAAc,0BAA2B,UAAW;AAC1D,QAAM,cAAc,0BAA2B,UAAW;AAE1D,QAAM,UAAU,KAAM;AAAA;AAAA;AAAA,IAGrB,WAAW,WAAW;AAAA,IACtB,CAAE,QAAS,QAAS,EAAG,GAAG;AAAA,IAC1B,cAAc,SAAS;AAAA,IACvB,qBACC,CAAC,CAAE,YAAY,aACb,YAAY,SACb,OAAO,KAAM,YAAY,KAAM,EAAE,SAAS;AAAA,EAC7C,CAAE;AAEF,QAAM,eAAe,KAAM,YAAY,WAAW;AAAA,IACjD,CAAE,YAAa,EAAG,EAAG,GAAG,CAAC,CAAE;AAAA,EAC5B,CAAE;AAEF,QAAM,QACL;AAAA,IAAC;AAAA;AAAA,MACA,KAAM;AAAA,MACN;AAAA,MACA,WAAY,gBAAgB;AAAA,MAC5B,QAAU,MAAM;AACf,cAAM,QAAQ;AAAA,UACb,GAAG,YAAY;AAAA,UACf,GAAG,YAAY;AAAA,UACf;AAAA,UACA,WAAW;AAAA,UACX,gBACC,cAAc,QACX,cAAe,UAAW,IAC1B;AAAA,QACL;AAEA,YAAK,UAAU,UAAa,WAAW,QAAY;AAElD,cAAK,UAAU,QAAS;AACvB,kBAAM,QAAQ;AAAA,UACf,WAAY,UAAU,UAAa,UAAU,MAAO;AACnD,kBAAM,QACL,OAAO,UAAU,WAAW,GAAI,KAAM,OAAO;AAAA,UAC/C;AAGA,cACC,WAAW,UACX,WAAW,UACX,WAAW,MACV;AACD,kBAAM,SAAS;AAAA,UAChB,OAAO;AACN,kBAAM,SACL,OAAO,WAAW,WACf,GAAI,MAAO,OACX;AAAA,UACL;AAAA,QACD;AACA,eAAO;AAAA,MACR,GAAI;AAAA,MACJ;AAAA,MACA,MAAO,eAAe,SAAS;AAAA;AAAA,EAChC;AAGD,QAAM,iBACL,CAAE,SAAS,QAAS,OAAQ,KAC5B,SAAS,WACT,UAAU,WAAW,WAAW;AAEjC,QAAM,SACL,iCACG;AAAA,WACD;AAAA,MAAC;AAAA;AAAA,QACA,WAAY;AAAA,QACZ;AAAA,QACA,QAAS;AAAA,QACT,KAAM;AAAA,QAEJ;AAAA;AAAA,IACH,IAEA;AAAA,IAEC,kBACD;AAAA,MAAC,SAAS;AAAA,MAAT;AAAA,QACA,WAAY,kCAAmC,SAAU;AAAA,QACzD,SAAQ;AAAA,QACR,OAAQ;AAAA;AAAA,IACT;AAAA,KAEF;AAGD,SACC,oBAAC,YAAS,GAAG,cAAc,KAAM,EAAE,WAAW,QAAQ,CAAE,GACrD,kBACH;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/image/transforms.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\nimport { select } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Returns the subset of block attributes that should be carried over when\n * converting an animated-GIF Image block into its converted Video block.\n *\n * The conversion swaps one block for another via `createBlock`, which would\n * otherwise drop everything the author set on the original block. This carries\n * the attributes both blocks support: block alignment, the HTML anchor, custom\n * class names, and margin spacing.\n *\n * Image-only attributes such as links (`href`/`linkDestination`), sizing\n * (`sizeSlug`/`scale`), and `border`/`shadow` styles are intentionally not\n * carried: the Video block has no equivalent, so copying them would leave\n * attributes the target block cannot represent.\n *\n * @param {Object} attributes Source block attributes.\n * @return {Object} Attributes to spread into the converted block.\n */\nfunction getCarriedGifConversionAttributes( attributes ) {\n\tconst { align, anchor, className, style } = attributes;\n\tconst margin = style?.spacing?.margin;\n\n\treturn {\n\t\t...( align && { align } ),\n\t\t...( anchor && { anchor } ),\n\t\t...( className && { className } ),\n\t\t...( margin && { style: { spacing: { margin } } } ),\n\t};\n}\n\n/**\n * Returns the sideloaded video companion of an animated GIF image attachment,\n * or `null` when the media is not a converted animated GIF.\n *\n * An animated GIF uploaded through the editor gets a muted, looping video\n * transcode sideloaded next to it and recorded (as basenames) in the\n * attachment's `media_details.animated_video` / `animated_video_poster`.\n *\n * Block transforms match and run synchronously, so this reads the attachment\n * record straight from the core-data store: it only returns the companion once\n * the record is resolved. The Image block resolves the record while the block\n * is selected, which is also when the block switcher can offer the transform.\n *\n * @param {number} id Image attachment ID.\n * @param {string} url Image block URL, used to cheaply skip non-GIF media.\n * @return {Object|null} Companion details (absolute `src`/`poster` URLs and\n * the GIF's intrinsic `width`/`height`), or `null`.\n */\nfunction getAnimatedGifVideoCompanion( id, url ) {\n\tif ( ! id ) {\n\t\treturn null;\n\t}\n\t/*\n\t * Only animated GIFs have a video companion. Gate on the `.gif` extension\n\t * so an ordinary image never reaches into the attachment record just to\n\t * discover it has no companion. Strip any query string or fragment first\n\t * so a URL like `cat.gif?ver=2` still matches.\n\t */\n\tconst urlPath = url?.split( /[?#]/ )[ 0 ];\n\tif ( ! urlPath?.toLowerCase().endsWith( '.gif' ) ) {\n\t\treturn null;\n\t}\n\tconst record = select( coreStore ).getEntityRecord(\n\t\t'postType',\n\t\t'attachment',\n\t\tid,\n\t\t{ context: 'view' }\n\t);\n\tconst details = record?.media_details;\n\tif ( ! details?.animated_video || ! record?.source_url ) {\n\t\treturn null;\n\t}\n\t// Companion files are sideloaded next to the GIF, so they share its\n\t// directory; build their URLs from the GIF's own source URL.\n\tconst dir = record.source_url.slice(\n\t\t0,\n\t\trecord.source_url.lastIndexOf( '/' ) + 1\n\t);\n\treturn {\n\t\tsrc: dir + details.animated_video,\n\t\tposter: details.animated_video_poster\n\t\t\t? dir + details.animated_video_poster\n\t\t\t: undefined,\n\t\twidth: details.width,\n\t\theight: details.height,\n\t};\n}\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', 'width', 'height' ],\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\n// Normalise an `<img>` pixel dimension attribute to the `<value>px` form the\n// Image block stores in its `width`/`height` attributes. Non-integer values\n// (e.g. `50%`) are dropped because the attribute round-trips through inline\n// styles that expect pixel units.\nfunction parsePixelDimension( value ) {\n\treturn value && /^\\d+$/.test( value ) ? `${ value }px` : undefined;\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\tconst img = node.querySelector( 'img' );\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 = node.className + ' ' + 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\t// Pin only one dimension and let the other follow the aspect\n\t\t\t\t// ratio via `auto`. Pinning both as fixed pixels stretches the\n\t\t\t\t// image when a theme caps the width while the height stays\n\t\t\t\t// fixed. So width sources use `height: 'auto'`; height-only\n\t\t\t\t// sources use `width: 'auto'`.\n\t\t\t\tconst widthValue = parsePixelDimension(\n\t\t\t\t\timg.getAttribute( 'width' )\n\t\t\t\t);\n\t\t\t\tconst heightValue = parsePixelDimension(\n\t\t\t\t\timg.getAttribute( 'height' )\n\t\t\t\t);\n\t\t\t\t// When both dimensions are declared, preserve the source's\n\t\t\t\t// shape via `aspectRatio` (mirroring the resize handle). CSS\n\t\t\t\t// `aspect-ratio` needs no fixed dimensions, so the image keeps\n\t\t\t\t// its proportions even when the `src` can't resolve to natural\n\t\t\t\t// dimensions (e.g. an empty or blob `src`) — without it the\n\t\t\t\t// `height: 'auto'` would collapse to `0`.\n\t\t\t\t// `parseInt` is `NaN` for an absent dimension and `0` for a\n\t\t\t\t// zero one (both falsy), so a bogus ratio is never stored.\n\t\t\t\tconst widthNumber = parseInt( widthValue, 10 );\n\t\t\t\tconst heightNumber = parseInt( heightValue, 10 );\n\t\t\t\tconst aspectRatio =\n\t\t\t\t\twidthNumber && heightNumber\n\t\t\t\t\t\t? String( widthNumber / heightNumber )\n\t\t\t\t\t\t: undefined;\n\t\t\t\t// A height-only source declares a single dimension, so it can't\n\t\t\t\t// carry an aspect ratio: `width: 'auto'` is capped by\n\t\t\t\t// `max-width: 100%` while the fixed height can still stretch a\n\t\t\t\t// wide source. This is a known edge case (a panoramic image\n\t\t\t\t// pinned by height only) left unsolved here.\n\t\t\t\tconst width =\n\t\t\t\t\twidthValue || ( heightValue ? 'auto' : undefined );\n\t\t\t\tconst height = widthValue ? 'auto' : heightValue;\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\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\taspectRatio,\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\tto: [\n\t\t{\n\t\t\t// Offer converting an animated GIF into the Video block's \"GIF\"\n\t\t\t// variation: a muted, looping, autoplaying video transcoded from\n\t\t\t// the GIF and sideloaded next to it when it was uploaded. Only\n\t\t\t// matches when that companion video exists, so ordinary images\n\t\t\t// never see this transform.\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( { id, url } ) =>\n\t\t\t\t!! getAnimatedGifVideoCompanion( id, url ),\n\t\t\ttransform( attributes ) {\n\t\t\t\tconst { id, url, caption } = attributes;\n\t\t\t\tconst companion = getAnimatedGifVideoCompanion( id, url );\n\n\t\t\t\treturn createBlock( 'core/video', {\n\t\t\t\t\t...getCarriedGifConversionAttributes( attributes ),\n\t\t\t\t\tid,\n\t\t\t\t\tsrc: companion.src,\n\t\t\t\t\tposter: companion.poster,\n\t\t\t\t\tcaption,\n\t\t\t\t\tcontrols: false,\n\t\t\t\t\tloop: true,\n\t\t\t\t\tautoplay: true,\n\t\t\t\t\tmuted: true,\n\t\t\t\t\tplaysInline: true,\n\t\t\t\t\t/*\n\t\t\t\t\t * Carry the GIF's intrinsic dimensions so the <video>\n\t\t\t\t\t * keeps its aspect ratio from the first paint. Without\n\t\t\t\t\t * them the element collapses to the browser-default size\n\t\t\t\t\t * and then jumps once the poster/metadata load, which\n\t\t\t\t\t * shows up as a brief duplicated image during the swap.\n\t\t\t\t\t */\n\t\t\t\t\twidth: companion.width,\n\t\t\t\t\theight: companion.height,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\nimport { select } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Returns the subset of block attributes that should be carried over when\n * converting an animated-GIF Image block into its converted Video block.\n *\n * The conversion swaps one block for another via `createBlock`, which would\n * otherwise drop everything the author set on the original block. This carries\n * the attributes both blocks support: block alignment, the HTML anchor, custom\n * class names, and margin spacing.\n *\n * Image-only attributes such as links (`href`/`linkDestination`), sizing\n * (`sizeSlug`/`scale`), and `border`/`shadow` styles are intentionally not\n * carried: the Video block has no equivalent, so copying them would leave\n * attributes the target block cannot represent.\n *\n * @param {Object} attributes Source block attributes.\n * @return {Object} Attributes to spread into the converted block.\n */\nfunction getCarriedGifConversionAttributes( attributes ) {\n\tconst { align, anchor, className, style } = attributes;\n\tconst margin = style?.spacing?.margin;\n\n\treturn {\n\t\t...( align && { align } ),\n\t\t...( anchor && { anchor } ),\n\t\t...( className && { className } ),\n\t\t...( margin && { style: { spacing: { margin } } } ),\n\t};\n}\n\n/**\n * Returns the sideloaded video companion of an animated GIF image attachment,\n * or `null` when the media is not a converted animated GIF.\n *\n * An animated GIF uploaded through the editor gets a muted, looping video\n * transcode sideloaded next to it and recorded (as basenames) in the\n * attachment's `media_details.animated_video` / `animated_video_poster`.\n *\n * Block transforms match and run synchronously, so this reads the attachment\n * record straight from the core-data store: it only returns the companion once\n * the record is resolved. The Image block resolves the record while the block\n * is selected, which is also when the block switcher can offer the transform.\n *\n * @param {number} id Image attachment ID.\n * @param {string} url Image block URL, used to cheaply skip non-GIF media.\n * @return {Object|null} Companion details (absolute `src`/`poster` URLs and\n * the GIF's intrinsic `width`/`height`), or `null`.\n */\nfunction getAnimatedGifVideoCompanion( id, url ) {\n\tif ( ! id ) {\n\t\treturn null;\n\t}\n\t/*\n\t * Only animated GIFs have a video companion. Gate on the `.gif` extension\n\t * so an ordinary image never reaches into the attachment record just to\n\t * discover it has no companion. Strip any query string or fragment first\n\t * so a URL like `cat.gif?ver=2` still matches.\n\t */\n\tconst urlPath = url?.split( /[?#]/ )[ 0 ];\n\tif ( ! urlPath?.toLowerCase().endsWith( '.gif' ) ) {\n\t\treturn null;\n\t}\n\tconst record = select( coreStore ).getEntityRecord(\n\t\t'postType',\n\t\t'attachment',\n\t\tid,\n\t\t{ context: 'view' }\n\t);\n\tconst details = record?.media_details;\n\tif ( ! details?.animated_video || ! record?.source_url ) {\n\t\treturn null;\n\t}\n\t// Companion files are sideloaded next to the GIF, so they share its\n\t// directory; build their URLs from the GIF's own source URL.\n\tconst dir = record.source_url.slice(\n\t\t0,\n\t\trecord.source_url.lastIndexOf( '/' ) + 1\n\t);\n\treturn {\n\t\tsrc: dir + details.animated_video,\n\t\tposter: details.animated_video_poster\n\t\t\t? dir + details.animated_video_poster\n\t\t\t: undefined,\n\t\twidth: details.width,\n\t\theight: details.height,\n\t};\n}\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', 'width', 'height' ],\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\n// Normalise an `<img>` pixel dimension attribute to the `<value>px` form the\n// Image block stores in its `width`/`height` attributes. Non-integer values\n// (e.g. `50%`) are dropped because the attribute round-trips through inline\n// styles that expect pixel units.\nfunction parsePixelDimension( value ) {\n\treturn value && /^\\d+$/.test( value ) ? `${ value }px` : undefined;\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\tconst img = node.querySelector( 'img' );\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 = node.className + ' ' + 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\t// Pin only one dimension and let the other follow the aspect\n\t\t\t\t// ratio via `auto`. Pinning both as fixed pixels stretches the\n\t\t\t\t// image when a theme caps the width while the height stays\n\t\t\t\t// fixed. So width sources use `height: 'auto'`; height-only\n\t\t\t\t// sources use `width: 'auto'`.\n\t\t\t\tconst widthValue = parsePixelDimension(\n\t\t\t\t\timg.getAttribute( 'width' )\n\t\t\t\t);\n\t\t\t\tconst heightValue = parsePixelDimension(\n\t\t\t\t\timg.getAttribute( 'height' )\n\t\t\t\t);\n\t\t\t\t// When both dimensions are declared, preserve the source's\n\t\t\t\t// shape via `aspectRatio` (mirroring the resize handle). CSS\n\t\t\t\t// `aspect-ratio` needs no fixed dimensions, so the image keeps\n\t\t\t\t// its proportions even when the `src` can't resolve to natural\n\t\t\t\t// dimensions (e.g. an empty or blob `src`) — without it the\n\t\t\t\t// `height: 'auto'` would collapse to `0`.\n\t\t\t\t// `parseInt` is `NaN` for an absent dimension and `0` for a\n\t\t\t\t// zero one (both falsy), so a bogus ratio is never stored.\n\t\t\t\tconst widthNumber = parseInt( widthValue, 10 );\n\t\t\t\tconst heightNumber = parseInt( heightValue, 10 );\n\t\t\t\tconst aspectRatio =\n\t\t\t\t\twidthNumber && heightNumber\n\t\t\t\t\t\t? String( widthNumber / heightNumber )\n\t\t\t\t\t\t: undefined;\n\t\t\t\t// A height-only source declares a single dimension, so it can't\n\t\t\t\t// carry an aspect ratio: `width: 'auto'` is capped by\n\t\t\t\t// `max-width: 100%` while the fixed height can still stretch a\n\t\t\t\t// wide source. This is a known edge case (a panoramic image\n\t\t\t\t// pinned by height only) left unsolved here.\n\t\t\t\tconst width =\n\t\t\t\t\twidthValue || ( heightValue ? 'auto' : undefined );\n\t\t\t\tconst height = widthValue ? 'auto' : heightValue;\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\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\taspectRatio,\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\tto: [\n\t\t{\n\t\t\t// Offer converting an animated GIF into the Video block's \"GIF\"\n\t\t\t// variation: a muted, looping, autoplaying video transcoded from\n\t\t\t// the GIF and sideloaded next to it when it was uploaded. Only\n\t\t\t// matches when that companion video exists, so ordinary images\n\t\t\t// never see this transform.\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( { id, url } ) =>\n\t\t\t\t!! getAnimatedGifVideoCompanion( id, url ),\n\t\t\ttransform( attributes ) {\n\t\t\t\tconst { id, url, caption } = attributes;\n\t\t\t\tconst companion = getAnimatedGifVideoCompanion( id, url );\n\n\t\t\t\treturn createBlock( 'core/video', {\n\t\t\t\t\t...getCarriedGifConversionAttributes( attributes ),\n\t\t\t\t\tid,\n\t\t\t\t\tsrc: companion.src,\n\t\t\t\t\tposter: companion.poster,\n\t\t\t\t\tcaption,\n\t\t\t\t\tcontrols: false,\n\t\t\t\t\tloop: true,\n\t\t\t\t\tautoplay: true,\n\t\t\t\t\tmuted: true,\n\t\t\t\t\tplaysInline: true,\n\t\t\t\t\t/*\n\t\t\t\t\t * Carry the GIF's intrinsic dimensions so the <video>\n\t\t\t\t\t * keeps its aspect ratio from the first paint. Without\n\t\t\t\t\t * them the element collapses to the browser-default size\n\t\t\t\t\t * and then jumps once the poster/metadata load, which\n\t\t\t\t\t * shows up as a brief duplicated image during the swap.\n\t\t\t\t\t */\n\t\t\t\t\twidth: companion.width,\n\t\t\t\t\theight: companion.height,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,eAAe,iBAAiB;AACzC,SAAS,aAAa,0BAA0B;AAChD,SAAS,cAAc;AACvB,SAAS,SAAS,iBAAiB;AAmBnC,SAAS,kCAAmC,YAAa;AACxD,QAAM,EAAE,OAAO,QAAQ,WAAW,MAAM,IAAI;AAC5C,QAAM,SAAS,OAAO,SAAS;AAE/B,SAAO;AAAA,IACN,GAAK,SAAS,EAAE,MAAM;AAAA,IACtB,GAAK,UAAU,EAAE,OAAO;AAAA,IACxB,GAAK,aAAa,EAAE,UAAU;AAAA,IAC9B,GAAK,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;AAAA,EACjD;AACD;AAoBA,SAAS,6BAA8B,IAAI,KAAM;AAChD,MAAK,CAAE,IAAK;AACX,WAAO;AAAA,EACR;AAOA,QAAM,UAAU,KAAK,MAAO,MAAO,EAAG,CAAE;AACxC,MAAK,CAAE,SAAS,YAAY,EAAE,SAAU,MAAO,GAAI;AAClD,WAAO;AAAA,EACR;AACA,QAAM,SAAS,OAAQ,SAAU,EAAE;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,IACA,EAAE,SAAS,OAAO;AAAA,EACnB;AACA,QAAM,UAAU,QAAQ;AACxB,MAAK,CAAE,SAAS,kBAAkB,CAAE,QAAQ,YAAa;AACxD,WAAO;AAAA,EACR;AAGA,QAAM,MAAM,OAAO,WAAW;AAAA,IAC7B;AAAA,IACA,OAAO,WAAW,YAAa,GAAI,IAAI;AAAA,EACxC;AACA,SAAO;AAAA,IACN,KAAK,MAAM,QAAQ;AAAA,IACnB,QAAQ,QAAQ,wBACb,MAAM,QAAQ,wBACd;AAAA,IACH,OAAO,QAAQ;AAAA,IACf,QAAQ,QAAQ;AAAA,EACjB;AACD;AAEO,SAAS,gBAAiB,YAAY,EAAE,UAAU,GAAI;AAC5D,QAAM,EAAE,KAAK,IAAI,SAAS,eAAe,mBAAoB,EAAG;AAEhE,OAAK,YAAY,UAAU;AAE3B,MAAI,eAAe,KAAK,cAAe,KAAM;AAG7C,SACC,gBACA,aAAa,cACb,aAAa,eAAe,MAC3B;AACD,mBAAe,aAAa;AAAA,EAC7B;AAEA,MAAK,cAAe;AACnB,iBAAa,WAAW,YAAa,YAAa;AAAA,EACnD;AAEA,SAAO,KAAK,UAAU,KAAK;AAC5B;AAEA,SAAS,gCAAiC,MAAM,eAAgB;AAC/D,QAAM,EAAE,KAAK,IAAI,SAAS,eAAe,mBAAoB,EAAG;AAEhE,OAAK,YAAY;AAEjB,QAAM,EAAE,kBAAkB,IAAI;AAE9B,MAAK,qBAAqB,kBAAkB,aAAa,KAAM;AAC9D,WAAO,kBAAkB,aAAc,aAAc,KAAK;AAAA,EAC3D;AACD;AAEA,IAAM,cAAc;AAAA,EACnB,KAAK;AAAA,IACJ,YAAY,CAAE,OAAO,OAAO,SAAS,SAAS,QAAS;AAAA,IACvD,SAAS;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;AAMA,SAAS,oBAAqB,OAAQ;AACrC,SAAO,SAAS,QAAQ,KAAM,KAAM,IAAI,GAAI,KAAM,OAAO;AAC1D;AAEA,IAAM,SAAS,CAAE,EAAE,sBAAsB,OAAS;AAAA,EACjD,QAAQ;AAAA,IACP,SAAS,CAAE,KAAM;AAAA,IACjB,UAAU;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,QACF,YAAY,CAAE,QAAQ,OAAO,QAAS;AAAA,QACtC,SAAS,CAAE,GAAI;AAAA,QACf,UAAU;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACX,UAAU;AAAA,MACX;AAAA,IACD;AAAA,EACD;AACD;AAEA,IAAM,aAAa;AAAA,EAClB,MAAM;AAAA,IACL;AAAA,MACC,MAAM;AAAA,MACN,SAAS,CAAE,SACV,KAAK,aAAa,YAAY,CAAC,CAAE,KAAK,cAAe,KAAM;AAAA,MAC5D;AAAA,MACA,WAAW,CAAE,SAAU;AACtB,cAAM,MAAM,KAAK,cAAe,KAAM;AAGtC,cAAM,YAAY,KAAK,YAAY,MAAM,IAAI;AAC7C,cAAM,eACL,2CAA2C;AAAA,UAC1C;AAAA,QACD;AACD,cAAM,SAAS,KAAK,OAAO,KAAK,SAAY,KAAK;AACjD,cAAM,QAAQ,eAAe,aAAc,CAAE,IAAI;AACjD,cAAM,YAAY,iCAAiC;AAAA,UAClD;AAAA,QACD;AACA,cAAM,KAAK,YAAY,OAAQ,UAAW,CAAE,CAAE,IAAI;AAClD,cAAM,gBAAgB,KAAK,cAAe,GAAI;AAC9C,cAAM,kBACL,iBAAiB,cAAc,OAAO,WAAW;AAClD,cAAM,OACL,iBAAiB,cAAc,OAC5B,cAAc,OACd;AACJ,cAAM,MACL,iBAAiB,cAAc,MAC5B,cAAc,MACd;AACJ,cAAM,YACL,iBAAiB,cAAc,YAC5B,cAAc,YACd;AAMJ,cAAM,aAAa;AAAA,UAClB,IAAI,aAAc,OAAQ;AAAA,QAC3B;AACA,cAAM,cAAc;AAAA,UACnB,IAAI,aAAc,QAAS;AAAA,QAC5B;AASA,cAAM,cAAc,SAAU,YAAY,EAAG;AAC7C,cAAM,eAAe,SAAU,aAAa,EAAG;AAC/C,cAAM,cACL,eAAe,eACZ,OAAQ,cAAc,YAAa,IACnC;AAMJ,cAAM,QACL,eAAgB,cAAc,SAAS;AACxC,cAAM,SAAS,aAAa,SAAS;AACrC,cAAM,aAAa;AAAA,UAClB;AAAA,UACA,KAAK;AAAA,UACL;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,QACD;AAEA,YAAK,UAAW,WAAW,GAAI,GAAI;AAClC,qBAAW,OAAO,WAAW;AAC7B,iBAAO,WAAW;AAAA,QACnB;AAEA,eAAO,YAAa,cAAc,UAAW;AAAA,MAC9C;AAAA,IACD;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,MAIC,MAAM;AAAA,MACN,QAAS,OAAQ;AAChB,eAAO,MAAM;AAAA,UACZ,CAAE,SAAU,KAAK,KAAK,QAAS,QAAS,MAAM;AAAA,QAC/C;AAAA,MACD;AAAA,MACA,UAAW,OAAQ;AAClB,cAAM,SAAS,MAAM,IAAK,CAAE,SAAU;AACrC,iBAAO,YAAa,cAAc;AAAA,YACjC,MAAM,cAAe,IAAK;AAAA,UAC3B,CAAE;AAAA,QACH,CAAE;AACF,eAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,KAAK;AAAA,MACL,YAAY;AAAA,QACX,KAAK;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,UAAU;AAAA,QACX;AAAA,QACA,KAAK;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,UAAU;AAAA,QACX;AAAA,QACA,SAAS;AAAA,UACR,WAAW;AAAA,QACZ;AAAA,QACA,MAAM;AAAA,UACL,WAAW,CAAE,YAAY,EAAE,UAAU,MAAO;AAC3C,mBAAO;AAAA,cACN,UAAU;AAAA,cACV;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACA,KAAK;AAAA,UACJ,WAAW,CAAE,YAAY,EAAE,UAAU,MAAO;AAC3C,mBAAO;AAAA,cACN,UAAU;AAAA,cACV;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACA,WAAW;AAAA,UACV,WAAW,CAAE,YAAY,EAAE,UAAU,MAAO;AAC3C,mBAAO;AAAA,cACN,UAAU;AAAA,cACV;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACA,IAAI;AAAA,UACH,MAAM;AAAA,UACN,WAAW,CAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAO;AACnC,gBAAK,CAAE,IAAK;AACX;AAAA,YACD;AAEA,mBAAO,SAAU,GAAG,QAAS,eAAe,EAAG,GAAG,EAAG;AAAA,UACtD;AAAA,QACD;AAAA,QACA,OAAO;AAAA,UACN,MAAM;AAAA,UACN,WAAW,CAAE,EAAE,OAAO,EAAE,QAAQ,YAAY,EAAE,MAAO;AACpD,mBAAO,MAAM,QAAS,SAAS,EAAG;AAAA,UACnC;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,IAAI;AAAA,IACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMC,MAAM;AAAA,MACN,QAAQ,CAAE,YAAa;AAAA,MACvB,SAAS,CAAE,EAAE,IAAI,IAAI,MACpB,CAAC,CAAE,6BAA8B,IAAI,GAAI;AAAA,MAC1C,UAAW,YAAa;AACvB,cAAM,EAAE,IAAI,KAAK,QAAQ,IAAI;AAC7B,cAAM,YAAY,6BAA8B,IAAI,GAAI;AAExD,eAAO,YAAa,cAAc;AAAA,UACjC,GAAG,kCAAmC,UAAW;AAAA,UACjD;AAAA,UACA,KAAK,UAAU;AAAA,UACf,QAAQ,UAAU;AAAA,UAClB;AAAA,UACA,UAAU;AAAA,UACV,MAAM;AAAA,UACN,UAAU;AAAA,UACV,OAAO;AAAA,UACP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAQb,OAAO,UAAU;AAAA,UACjB,QAAQ,UAAU;AAAA,QACnB,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AACD;AAEA,IAAO,qBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/image/use-max-width-observer.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { useRef } from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\n\nfunction useMaxWidthObserver() {\n\tconst [ contentResizeListener, { width } ] = useResizeObserver();\n\tconst observerRef = useRef();\n\n\tconst maxWidthObserver = (\n\t\t<div\n\t\t\t// Some themes set max-width on blocks.\n\t\t\tclassName=\"wp-block\"\n\t\t\taria-hidden=\"true\"\n\t\t\tstyle={ {\n\t\t\t\tposition: 'absolute',\n\t\t\t\tinset: 0,\n\t\t\t\twidth: '100%',\n\t\t\t\theight: 0,\n\t\t\t\tmargin: 0,\n\t\t\t} }\n\t\t\tref={ observerRef }\n\t\t>\n\t\t\t{ contentResizeListener }\n\t\t</div>\n\t);\n\n\treturn [ maxWidthObserver, width ];\n}\n\nexport { useMaxWidthObserver };\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,yBAAyB;AAOhC;AALF,SAAS,sBAAsB;AAC9B,QAAM,CAAE,uBAAuB,EAAE,MAAM,CAAE,IAAI,kBAAkB;AAC/D,QAAM,cAAc,OAAO;AAE3B,QAAM,mBACL;AAAA,IAAC;AAAA;AAAA,MAEA,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,OAAQ;AAAA,QACP,UAAU;AAAA,QACV,OAAO;AAAA,QACP,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,MACT;AAAA,MACA,KAAM;AAAA,MAEJ;AAAA;AAAA,EACH;AAGD,SAAO,CAAE,kBAAkB,KAAM;AAClC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -80,7 +80,8 @@ function hasKnownAttachmentMetadata(attachment) {
|
|
|
80
80
|
function useOpenImageMediaEditorModal({
|
|
81
81
|
attributes,
|
|
82
82
|
setAttributes,
|
|
83
|
-
onClose
|
|
83
|
+
onClose,
|
|
84
|
+
onUrlChange
|
|
84
85
|
}) {
|
|
85
86
|
const { id, url, alt, caption } = attributes;
|
|
86
87
|
const registry = useRegistry();
|
|
@@ -152,6 +153,9 @@ function useOpenImageMediaEditorModal({
|
|
|
152
153
|
if (newId !== currentBlockAttributes.id) {
|
|
153
154
|
nextAttributes.id = newId;
|
|
154
155
|
nextAttributes.url = newUrl ?? currentBlockAttributes.url;
|
|
156
|
+
if (nextAttributes.url !== currentBlockAttributes.url) {
|
|
157
|
+
onUrlChange?.(nextAttributes.url);
|
|
158
|
+
}
|
|
155
159
|
blockAttributesRef.current = {
|
|
156
160
|
...blockAttributesRef.current,
|
|
157
161
|
id: nextAttributes.id,
|
|
@@ -181,7 +185,7 @@ function useOpenImageMediaEditorModal({
|
|
|
181
185
|
setAttributes(nextAttributes);
|
|
182
186
|
}
|
|
183
187
|
},
|
|
184
|
-
[resolveFreshAttachmentRecord, setAttributes]
|
|
188
|
+
[onUrlChange, resolveFreshAttachmentRecord, setAttributes]
|
|
185
189
|
);
|
|
186
190
|
const openImageMediaEditorModal = useCallback(async () => {
|
|
187
191
|
if (!id || !openMediaEditorModal) {
|