@wordpress/block-library 11.0.0 → 11.1.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 +29 -0
- package/README.md +7 -7
- package/build/accordion/block.json +4 -1
- package/build/accordion-item/block.json +7 -1
- package/build/accordion-panel/block.json +9 -1
- package/build/archives/block.json +9 -0
- package/build/archives/edit.cjs.map +3 -3
- package/build/audio/block.json +8 -0
- package/build/audio/edit.cjs.map +3 -3
- package/build/avatar/hooks.cjs.map +2 -2
- package/build/breadcrumbs/block.json +3 -0
- package/build/breadcrumbs/edit.cjs.map +3 -3
- package/build/button/edit.cjs.map +2 -2
- package/build/buttons/block.json +9 -0
- package/build/categories/block.json +12 -1
- package/build/categories/edit.cjs.map +3 -3
- package/build/code/block.json +10 -0
- package/build/code/save.cjs.map +2 -2
- package/build/column/block.json +9 -0
- package/build/columns/block.json +9 -0
- package/build/comment-author-name/block.json +3 -0
- package/build/comment-content/block.json +5 -0
- package/build/comment-date/block.json +3 -0
- package/build/comment-edit-link/block.json +3 -0
- package/build/comment-reply-link/block.json +3 -0
- package/build/comment-template/hooks.cjs.map +2 -2
- package/build/comments/block.json +10 -0
- package/build/comments-pagination/block.json +3 -0
- package/build/comments-pagination-next/block.json +3 -0
- package/build/comments-pagination-numbers/block.json +3 -0
- package/build/comments-pagination-previous/block.json +6 -0
- package/build/comments-title/block.json +3 -0
- package/build/cover/edit/index.cjs +4 -1
- package/build/cover/edit/index.cjs.map +2 -2
- package/build/cover/edit/inspector-controls.cjs +52 -13
- package/build/cover/edit/inspector-controls.cjs.map +2 -2
- package/build/cover/transforms.cjs.map +2 -2
- package/build/details/block.json +12 -0
- package/build/details/index.cjs.map +2 -2
- package/build/embed/embed-controls.cjs.map +2 -2
- package/build/file/block.json +9 -0
- package/build/file/deprecated.cjs.map +2 -2
- package/build/file/edit.cjs.map +2 -2
- package/build/file/inspector.cjs.map +3 -3
- package/build/file/save.cjs.map +2 -2
- package/build/footnotes/block.json +10 -0
- package/build/footnotes/edit.cjs.map +2 -2
- package/build/gallery/block.json +9 -0
- package/build/gallery/dynamic-gallery.cjs.map +3 -3
- package/build/gallery/edit.cjs +65 -39
- package/build/gallery/edit.cjs.map +3 -3
- package/build/gallery/{flex-styles.cjs → gallery-styles.cjs} +31 -32
- package/build/gallery/gallery-styles.cjs.map +7 -0
- package/build/gallery/responsive-styles.cjs +27 -5
- package/build/gallery/responsive-styles.cjs.map +2 -2
- package/build/group/block.json +1 -0
- package/build/heading/block.json +11 -0
- package/build/heading/index.cjs.map +2 -2
- package/build/home-link/block.json +18 -0
- package/build/home-link/edit.cjs.map +3 -3
- package/build/html/modal.cjs +3 -6
- package/build/html/modal.cjs.map +2 -2
- package/build/image/edit.cjs.map +2 -2
- package/build/image/image.cjs +10 -8
- package/build/image/image.cjs.map +3 -3
- package/build/image/use-open-image-media-editor-modal.cjs +20 -0
- package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
- package/build/index.cjs.map +2 -2
- package/build/latest-comments/block.json +10 -0
- package/build/latest-comments/edit.cjs.map +3 -3
- package/build/latest-posts/block.json +10 -0
- package/build/latest-posts/edit.cjs.map +2 -2
- package/build/list/ordered-list-settings.cjs.map +3 -3
- package/build/list-item/hooks/use-enter.cjs.map +2 -2
- package/build/loginout/block.json +10 -0
- package/build/math/block.json +12 -0
- package/build/math/deprecated.cjs +29 -12
- package/build/math/deprecated.cjs.map +2 -2
- package/build/math/edit.cjs +67 -46
- package/build/math/edit.cjs.map +2 -2
- package/build/math/save.cjs +2 -2
- package/build/math/save.cjs.map +2 -2
- package/build/media-text/block.json +1 -0
- package/build/media-text/constants.cjs +3 -0
- package/build/media-text/constants.cjs.map +2 -2
- package/build/media-text/deprecated.cjs.map +2 -2
- package/build/media-text/edit.cjs +40 -0
- package/build/media-text/edit.cjs.map +3 -3
- package/build/media-text/image-fill.cjs.map +2 -2
- package/build/media-text/media-container.cjs +3 -3
- package/build/media-text/media-container.cjs.map +2 -2
- package/build/navigation/edit/index.cjs +1 -4
- package/build/navigation/edit/index.cjs.map +2 -2
- package/build/navigation/edit/menu-inspector-controls.cjs.map +2 -2
- package/build/navigation/edit/overlay-template-part-selector.cjs.map +3 -3
- package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
- package/build/navigation/edit/use-generate-default-navigation-title.cjs.map +2 -2
- package/build/navigation/view.cjs +2 -2
- package/build/navigation/view.cjs.map +2 -2
- package/build/navigation-link/edit.cjs.map +2 -2
- package/build/navigation-link/link-ui/page-creator.cjs.map +3 -3
- package/build/navigation-link/shared/controls.cjs.map +3 -3
- package/build/navigation-link/shared/invalid-draft-display.cjs.map +2 -2
- package/build/navigation-link/shared/use-link-preview.cjs +13 -13
- package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
- package/build/navigation-overlay-close/block.json +7 -0
- package/build/navigation-submenu/block.json +6 -0
- package/build/navigation-submenu/edit.cjs +9 -1
- package/build/navigation-submenu/edit.cjs.map +3 -3
- package/build/page-list/block.json +10 -0
- package/build/paragraph/block.json +1 -0
- package/build/paragraph/edit.cjs +1 -2
- package/build/paragraph/edit.cjs.map +2 -2
- package/build/paragraph/index.cjs +6 -0
- package/build/paragraph/index.cjs.map +3 -3
- package/build/playlist/block.json +1 -0
- package/build/playlist/edit.cjs +2 -1
- package/build/playlist/edit.cjs.map +3 -3
- package/build/post-author/edit.cjs.map +3 -3
- package/build/post-author-biography/block.json +4 -0
- package/build/post-author-name/block.json +5 -0
- package/build/post-author-name/edit.cjs.map +2 -2
- package/build/post-comments-count/block.json +3 -0
- package/build/post-comments-form/block.json +10 -0
- package/build/post-content/block.json +3 -0
- package/build/post-date/block.json +3 -0
- package/build/post-date/edit.cjs.map +2 -2
- package/build/post-excerpt/block.json +6 -0
- package/build/post-excerpt/edit.cjs.map +2 -2
- package/build/post-featured-image/edit.cjs +11 -9
- package/build/post-featured-image/edit.cjs.map +2 -2
- package/build/post-navigation-link/block.json +30 -0
- package/build/post-navigation-link/edit.cjs +13 -2
- package/build/post-navigation-link/edit.cjs.map +3 -3
- package/build/post-template/block.json +13 -1
- package/build/post-terms/block.json +6 -0
- package/build/post-time-to-read/block.json +6 -0
- package/build/post-time-to-read/edit.cjs.map +2 -2
- package/build/post-title/block.json +10 -0
- package/build/preformatted/block.json +7 -0
- package/build/pullquote/block.json +1 -0
- package/build/pullquote/deprecated.cjs.map +2 -2
- package/build/query/deprecated.cjs.map +2 -2
- package/build/query/edit/inspector-controls/index.cjs.map +3 -3
- package/build/query/edit/inspector-controls/order-control.cjs.map +3 -3
- package/build/query/edit/inspector-controls/sticky-control.cjs.map +3 -3
- package/build/query/view.cjs.map +2 -2
- package/build/query-no-results/block.json +10 -2
- package/build/query-pagination/block.json +3 -0
- package/build/query-pagination-next/block.json +3 -0
- package/build/query-pagination-numbers/block.json +3 -0
- package/build/query-pagination-previous/block.json +3 -0
- package/build/query-title/block.json +3 -0
- package/build/query-title/use-archive-label.cjs.map +2 -2
- package/build/query-total/block.json +6 -0
- package/build/quote/block.json +1 -0
- package/build/quote/deprecated.cjs.map +2 -2
- package/build/quote/transforms.cjs.map +2 -2
- package/build/read-more/block.json +6 -0
- package/build/rss/block.json +6 -0
- package/build/search/edit.cjs.map +3 -3
- package/build/separator/edit.cjs.map +3 -3
- package/build/site-tagline/block.json +8 -1
- package/build/site-title/block.json +7 -1
- package/build/social-links/block.json +3 -0
- package/build/social-links/edit.cjs +2 -3
- package/build/social-links/edit.cjs.map +3 -3
- package/build/tab-panel/block.json +25 -0
- package/build/tab-panel/controls.cjs.map +3 -3
- package/build/tab-panels/block.json +18 -1
- package/build/table/state.cjs.map +2 -2
- package/build/table-of-contents/block.json +7 -0
- package/build/table-of-contents/edit.cjs.map +3 -3
- package/build/table-of-contents/utils.cjs.map +2 -2
- package/build/tabs/block.json +24 -1
- package/build/tabs/use-tab-actions.cjs.map +2 -2
- package/build/tag-cloud/block.json +19 -0
- package/build/tag-cloud/edit.cjs.map +3 -3
- package/build/template-part/edit/advanced-controls.cjs.map +3 -3
- package/build/template-part/edit/import-controls.cjs.map +3 -3
- 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 +1 -1
- package/build/term-count/block.json +7 -0
- package/build/term-count/use-term-count.cjs.map +2 -2
- package/build/term-description/block.json +9 -0
- package/build/term-description/use-term-description.cjs.map +2 -2
- package/build/term-name/block.json +10 -0
- package/build/term-name/use-term-name.cjs.map +2 -2
- package/build/term-template/block.json +10 -1
- 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/order-control.cjs.map +3 -3
- package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +3 -3
- package/build/utils/hooks.cjs.map +2 -2
- package/build/utils/media-control.cjs +5 -1
- package/build/utils/media-control.cjs.map +2 -2
- package/build/utils/poster-image.cjs.map +2 -2
- package/build/utils/search-patterns.cjs +7 -43
- package/build/utils/search-patterns.cjs.map +3 -3
- package/build/utils/style-state.cjs +4 -6
- package/build/utils/style-state.cjs.map +2 -2
- package/build/verse/block.json +1 -0
- package/build/video/block.json +6 -0
- package/build/video/edit-common-settings.cjs.map +3 -3
- package/build/video/edit.cjs +23 -15
- package/build/video/edit.cjs.map +3 -3
- package/build/video/index.cjs +0 -2
- package/build/video/index.cjs.map +3 -3
- package/build/video/save.cjs +5 -1
- package/build/video/save.cjs.map +3 -3
- package/build/video/tracks-editor.cjs.map +3 -3
- package/build-module/accordion/block.json +4 -1
- package/build-module/accordion-item/block.json +7 -1
- package/build-module/accordion-panel/block.json +9 -1
- package/build-module/archives/block.json +9 -0
- package/build-module/archives/edit.mjs +2 -2
- package/build-module/archives/edit.mjs.map +2 -2
- package/build-module/audio/block.json +8 -0
- package/build-module/audio/edit.mjs +2 -2
- package/build-module/audio/edit.mjs.map +2 -2
- package/build-module/avatar/hooks.mjs.map +2 -2
- package/build-module/breadcrumbs/block.json +3 -0
- package/build-module/breadcrumbs/edit.mjs +3 -3
- package/build-module/breadcrumbs/edit.mjs.map +2 -2
- package/build-module/button/edit.mjs.map +2 -2
- package/build-module/buttons/block.json +9 -0
- package/build-module/categories/block.json +12 -1
- package/build-module/categories/edit.mjs +2 -2
- package/build-module/categories/edit.mjs.map +2 -2
- package/build-module/code/block.json +10 -0
- package/build-module/code/save.mjs.map +2 -2
- package/build-module/column/block.json +9 -0
- package/build-module/columns/block.json +9 -0
- package/build-module/comment-author-name/block.json +3 -0
- package/build-module/comment-content/block.json +5 -0
- package/build-module/comment-date/block.json +3 -0
- package/build-module/comment-edit-link/block.json +3 -0
- package/build-module/comment-reply-link/block.json +3 -0
- package/build-module/comment-template/hooks.mjs.map +2 -2
- package/build-module/comments/block.json +10 -0
- package/build-module/comments-pagination/block.json +3 -0
- package/build-module/comments-pagination-next/block.json +3 -0
- package/build-module/comments-pagination-numbers/block.json +3 -0
- package/build-module/comments-pagination-previous/block.json +6 -0
- package/build-module/comments-title/block.json +3 -0
- package/build-module/cover/edit/index.mjs +4 -1
- package/build-module/cover/edit/index.mjs.map +2 -2
- package/build-module/cover/edit/inspector-controls.mjs +57 -14
- package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
- package/build-module/cover/transforms.mjs.map +2 -2
- package/build-module/details/block.json +12 -0
- package/build-module/details/index.mjs.map +2 -2
- package/build-module/embed/embed-controls.mjs.map +2 -2
- package/build-module/file/block.json +9 -0
- package/build-module/file/deprecated.mjs.map +2 -2
- package/build-module/file/edit.mjs.map +2 -2
- package/build-module/file/inspector.mjs +2 -2
- package/build-module/file/inspector.mjs.map +2 -2
- package/build-module/file/save.mjs.map +2 -2
- package/build-module/footnotes/block.json +10 -0
- package/build-module/footnotes/edit.mjs.map +2 -2
- package/build-module/gallery/block.json +9 -0
- package/build-module/gallery/dynamic-gallery.mjs +2 -2
- package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
- package/build-module/gallery/edit.mjs +68 -42
- package/build-module/gallery/edit.mjs.map +2 -2
- package/build-module/gallery/{flex-styles.mjs → gallery-styles.mjs} +29 -30
- package/build-module/gallery/gallery-styles.mjs.map +7 -0
- package/build-module/gallery/responsive-styles.mjs +25 -4
- package/build-module/gallery/responsive-styles.mjs.map +2 -2
- package/build-module/group/block.json +1 -0
- package/build-module/heading/block.json +11 -0
- package/build-module/heading/index.mjs.map +2 -2
- package/build-module/home-link/block.json +18 -0
- package/build-module/home-link/edit.mjs +2 -2
- package/build-module/home-link/edit.mjs.map +2 -2
- package/build-module/html/modal.mjs +3 -6
- package/build-module/html/modal.mjs.map +2 -2
- package/build-module/image/edit.mjs.map +2 -2
- package/build-module/image/image.mjs +12 -10
- package/build-module/image/image.mjs.map +2 -2
- package/build-module/image/use-open-image-media-editor-modal.mjs +20 -0
- package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
- package/build-module/index.mjs.map +2 -2
- package/build-module/latest-comments/block.json +10 -0
- package/build-module/latest-comments/edit.mjs +2 -2
- package/build-module/latest-comments/edit.mjs.map +2 -2
- package/build-module/latest-posts/block.json +10 -0
- package/build-module/latest-posts/edit.mjs.map +2 -2
- package/build-module/list/ordered-list-settings.mjs +2 -2
- package/build-module/list/ordered-list-settings.mjs.map +2 -2
- package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
- package/build-module/loginout/block.json +10 -0
- package/build-module/math/block.json +12 -0
- package/build-module/math/deprecated.mjs +29 -12
- package/build-module/math/deprecated.mjs.map +2 -2
- package/build-module/math/edit.mjs +68 -47
- package/build-module/math/edit.mjs.map +2 -2
- package/build-module/math/save.mjs +2 -2
- package/build-module/math/save.mjs.map +2 -2
- package/build-module/media-text/block.json +1 -0
- package/build-module/media-text/constants.mjs +2 -0
- 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 +42 -1
- package/build-module/media-text/edit.mjs.map +2 -2
- package/build-module/media-text/image-fill.mjs.map +2 -2
- package/build-module/media-text/media-container.mjs +1 -1
- package/build-module/media-text/media-container.mjs.map +2 -2
- package/build-module/navigation/edit/index.mjs +1 -4
- package/build-module/navigation/edit/index.mjs.map +2 -2
- package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-template-part-selector.mjs +2 -2
- package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
- package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
- package/build-module/navigation/edit/use-generate-default-navigation-title.mjs.map +2 -2
- package/build-module/navigation/view.mjs +2 -2
- package/build-module/navigation/view.mjs.map +2 -2
- package/build-module/navigation-link/edit.mjs.map +2 -2
- package/build-module/navigation-link/link-ui/page-creator.mjs +2 -2
- package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
- package/build-module/navigation-link/shared/controls.mjs +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/use-link-preview.mjs +13 -13
- package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
- package/build-module/navigation-overlay-close/block.json +7 -0
- package/build-module/navigation-submenu/block.json +6 -0
- package/build-module/navigation-submenu/edit.mjs +11 -2
- package/build-module/navigation-submenu/edit.mjs.map +2 -2
- package/build-module/page-list/block.json +10 -0
- package/build-module/paragraph/block.json +1 -0
- package/build-module/paragraph/edit.mjs +1 -2
- package/build-module/paragraph/edit.mjs.map +2 -2
- package/build-module/paragraph/index.mjs +6 -0
- package/build-module/paragraph/index.mjs.map +2 -2
- package/build-module/playlist/block.json +1 -0
- package/build-module/playlist/edit.mjs +5 -4
- package/build-module/playlist/edit.mjs.map +2 -2
- package/build-module/post-author/edit.mjs +2 -2
- package/build-module/post-author/edit.mjs.map +2 -2
- package/build-module/post-author-biography/block.json +4 -0
- package/build-module/post-author-name/block.json +5 -0
- package/build-module/post-author-name/edit.mjs.map +2 -2
- package/build-module/post-comments-count/block.json +3 -0
- package/build-module/post-comments-form/block.json +10 -0
- package/build-module/post-content/block.json +3 -0
- package/build-module/post-date/block.json +3 -0
- package/build-module/post-date/edit.mjs.map +2 -2
- package/build-module/post-excerpt/block.json +6 -0
- package/build-module/post-excerpt/edit.mjs.map +2 -2
- package/build-module/post-featured-image/edit.mjs +11 -9
- package/build-module/post-featured-image/edit.mjs.map +2 -2
- package/build-module/post-navigation-link/block.json +30 -0
- package/build-module/post-navigation-link/edit.mjs +19 -5
- package/build-module/post-navigation-link/edit.mjs.map +2 -2
- package/build-module/post-template/block.json +13 -1
- package/build-module/post-terms/block.json +6 -0
- package/build-module/post-time-to-read/block.json +6 -0
- package/build-module/post-time-to-read/edit.mjs.map +2 -2
- package/build-module/post-title/block.json +10 -0
- package/build-module/preformatted/block.json +7 -0
- package/build-module/pullquote/block.json +1 -0
- package/build-module/pullquote/deprecated.mjs.map +2 -2
- package/build-module/query/deprecated.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/index.mjs +2 -2
- package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
- package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/sticky-control.mjs +2 -2
- package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
- package/build-module/query/view.mjs.map +2 -2
- package/build-module/query-no-results/block.json +10 -2
- package/build-module/query-pagination/block.json +3 -0
- package/build-module/query-pagination-next/block.json +3 -0
- package/build-module/query-pagination-numbers/block.json +3 -0
- package/build-module/query-pagination-previous/block.json +3 -0
- package/build-module/query-title/block.json +3 -0
- package/build-module/query-title/use-archive-label.mjs.map +2 -2
- package/build-module/query-total/block.json +6 -0
- package/build-module/quote/block.json +1 -0
- package/build-module/quote/deprecated.mjs.map +2 -2
- package/build-module/quote/transforms.mjs.map +2 -2
- package/build-module/read-more/block.json +6 -0
- package/build-module/rss/block.json +6 -0
- package/build-module/search/edit.mjs +3 -3
- package/build-module/search/edit.mjs.map +2 -2
- package/build-module/separator/edit.mjs +5 -2
- package/build-module/separator/edit.mjs.map +2 -2
- package/build-module/site-tagline/block.json +8 -1
- package/build-module/site-title/block.json +7 -1
- package/build-module/social-links/block.json +3 -0
- package/build-module/social-links/edit.mjs +4 -5
- package/build-module/social-links/edit.mjs.map +2 -2
- package/build-module/tab-panel/block.json +25 -0
- package/build-module/tab-panel/controls.mjs +2 -2
- package/build-module/tab-panel/controls.mjs.map +2 -2
- package/build-module/tab-panels/block.json +18 -1
- package/build-module/table/state.mjs.map +2 -2
- package/build-module/table-of-contents/block.json +7 -0
- package/build-module/table-of-contents/edit.mjs +2 -2
- package/build-module/table-of-contents/edit.mjs.map +2 -2
- package/build-module/table-of-contents/utils.mjs.map +2 -2
- package/build-module/tabs/block.json +24 -1
- package/build-module/tabs/use-tab-actions.mjs.map +2 -2
- package/build-module/tag-cloud/block.json +19 -0
- package/build-module/tag-cloud/edit.mjs +2 -2
- package/build-module/tag-cloud/edit.mjs.map +2 -2
- package/build-module/template-part/edit/advanced-controls.mjs +5 -2
- package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
- package/build-module/template-part/edit/import-controls.mjs +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 +1 -1
- package/build-module/term-count/block.json +7 -0
- package/build-module/term-count/use-term-count.mjs.map +2 -2
- package/build-module/term-description/block.json +9 -0
- package/build-module/term-description/use-term-description.mjs.map +2 -2
- package/build-module/term-name/block.json +10 -0
- package/build-module/term-name/use-term-name.mjs.map +2 -2
- package/build-module/term-template/block.json +10 -1
- 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/order-control.mjs +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 +2 -2
- package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
- package/build-module/utils/hooks.mjs.map +2 -2
- package/build-module/utils/media-control.mjs +5 -1
- package/build-module/utils/media-control.mjs.map +2 -2
- package/build-module/utils/poster-image.mjs.map +2 -2
- package/build-module/utils/search-patterns.mjs +7 -32
- package/build-module/utils/search-patterns.mjs.map +2 -2
- package/build-module/utils/style-state.mjs +6 -4
- package/build-module/utils/style-state.mjs.map +2 -2
- package/build-module/verse/block.json +1 -0
- package/build-module/video/block.json +6 -0
- package/build-module/video/edit-common-settings.mjs +2 -2
- package/build-module/video/edit-common-settings.mjs.map +2 -2
- package/build-module/video/edit.mjs +25 -16
- package/build-module/video/edit.mjs.map +2 -2
- package/build-module/video/index.mjs +0 -2
- package/build-module/video/index.mjs.map +2 -2
- package/build-module/video/save.mjs +7 -2
- package/build-module/video/save.mjs.map +2 -2
- package/build-module/video/tracks-editor.mjs +2 -2
- package/build-module/video/tracks-editor.mjs.map +2 -2
- package/build-style/button/style-rtl.css +2 -1
- package/build-style/button/style.css +2 -1
- package/build-style/columns/style-rtl.css +1 -1
- package/build-style/columns/style.css +1 -1
- package/build-style/comments/editor-rtl.css +1 -1
- package/build-style/comments/editor.css +1 -1
- package/build-style/comments/style-rtl.css +1 -1
- package/build-style/comments/style.css +1 -1
- package/build-style/common-rtl.css +1 -1
- package/build-style/common.css +1 -1
- package/build-style/cover/style-rtl.css +6 -0
- package/build-style/cover/style.css +6 -0
- package/build-style/editor-rtl.css +21 -7
- package/build-style/editor.css +21 -7
- package/build-style/embed/editor-rtl.css +2 -1
- package/build-style/embed/editor.css +2 -1
- package/build-style/gallery/style-rtl.css +1 -2
- package/build-style/gallery/style.css +1 -2
- package/build-style/image/editor-rtl.css +6 -0
- package/build-style/image/editor.css +6 -0
- package/build-style/image/style-rtl.css +6 -9
- package/build-style/image/style.css +6 -9
- package/build-style/math/editor-rtl.css +5 -0
- package/build-style/math/editor.css +5 -0
- package/build-style/navigation/editor-rtl.css +1 -0
- package/build-style/navigation/editor.css +1 -0
- package/build-style/navigation/style-rtl.css +19 -4
- package/build-style/navigation/style.css +19 -4
- package/build-style/navigation-link/editor-rtl.css +3 -1
- package/build-style/navigation-link/editor.css +3 -1
- package/build-style/navigation-overlay-close/style-rtl.css +1 -1
- package/build-style/navigation-overlay-close/style.css +1 -1
- package/build-style/navigation-submenu/editor-rtl.css +3 -1
- package/build-style/navigation-submenu/editor.css +3 -1
- package/build-style/post-navigation-link/style-rtl.css +3 -0
- package/build-style/post-navigation-link/style.css +3 -0
- package/build-style/post-title/style-rtl.css +2 -2
- package/build-style/post-title/style.css +2 -2
- package/build-style/query-pagination/editor-rtl.css +0 -3
- package/build-style/query-pagination/editor.css +0 -3
- package/build-style/search/theme-rtl.css +1 -1
- package/build-style/search/theme.css +1 -1
- package/build-style/style-rtl.css +47 -23
- package/build-style/style.css +47 -23
- package/build-style/tab-panel/style-rtl.css +2 -0
- package/build-style/tab-panel/style.css +2 -0
- package/build-style/theme-rtl.css +1 -1
- package/build-style/theme.css +1 -1
- package/build-style/verse/style-rtl.css +2 -1
- package/build-style/verse/style.css +2 -1
- package/package.json +42 -43
- package/src/accordion/README.md +3 -0
- package/src/accordion/block.json +4 -1
- package/src/accordion-item/README.md +5 -0
- package/src/accordion-item/block.json +7 -1
- package/src/accordion-panel/README.md +7 -0
- package/src/accordion-panel/block.json +9 -1
- package/src/archives/README.md +4 -0
- package/src/archives/block.json +9 -0
- package/src/archives/edit.jsx +2 -2
- package/src/audio/README.md +4 -0
- package/src/audio/block.json +8 -0
- package/src/audio/edit.jsx +2 -2
- package/src/avatar/hooks.js +2 -2
- package/src/breadcrumbs/README.md +2 -0
- package/src/breadcrumbs/block.json +3 -0
- package/src/breadcrumbs/edit.jsx +3 -3
- package/src/breadcrumbs/index.php +1 -1
- package/src/button/edit.jsx +1 -1
- package/src/button/style.scss +2 -2
- package/src/buttons/README.md +4 -0
- package/src/buttons/block.json +9 -0
- package/src/calendar/index.php +1 -1
- package/src/categories/README.md +6 -0
- package/src/categories/block.json +12 -1
- package/src/categories/edit.jsx +2 -2
- package/src/code/README.md +5 -0
- package/src/code/block.json +10 -0
- package/src/code/save.jsx +1 -1
- package/src/column/README.md +4 -0
- package/src/column/block.json +9 -0
- package/src/columns/README.md +4 -0
- package/src/columns/block.json +9 -0
- package/src/columns/style.scss +2 -3
- package/src/comment-author-name/README.md +2 -0
- package/src/comment-author-name/block.json +3 -0
- package/src/comment-content/README.md +4 -0
- package/src/comment-content/block.json +5 -0
- package/src/comment-date/README.md +2 -0
- package/src/comment-date/block.json +3 -0
- package/src/comment-edit-link/README.md +2 -0
- package/src/comment-edit-link/block.json +3 -0
- package/src/comment-reply-link/README.md +2 -0
- package/src/comment-reply-link/block.json +3 -0
- package/src/comment-template/hooks.js +1 -1
- package/src/comments/README.md +5 -0
- package/src/comments/block.json +10 -0
- package/src/comments/style.scss +1 -1
- package/src/comments-pagination/README.md +2 -0
- package/src/comments-pagination/block.json +3 -0
- package/src/comments-pagination-next/README.md +2 -0
- package/src/comments-pagination-next/block.json +3 -0
- package/src/comments-pagination-numbers/README.md +2 -0
- package/src/comments-pagination-numbers/block.json +3 -0
- package/src/comments-pagination-previous/README.md +2 -0
- package/src/comments-pagination-previous/block.json +6 -0
- package/src/comments-title/README.md +2 -0
- package/src/comments-title/block.json +3 -0
- package/src/common.scss +1 -2
- package/src/cover/edit/index.jsx +5 -2
- package/src/cover/edit/inspector-controls.jsx +66 -15
- package/src/cover/style.scss +10 -0
- package/src/cover/test/{edit.jsdom.test.js → edit.browser.test.js} +122 -147
- package/src/cover/transforms.js +3 -3
- package/src/details/README.md +7 -0
- package/src/details/block.json +12 -0
- package/src/details/index.js +1 -1
- package/src/embed/editor.scss +2 -2
- package/src/embed/embed-controls.jsx +2 -2
- package/src/file/README.md +4 -0
- package/src/file/block.json +9 -0
- package/src/file/deprecated.jsx +3 -3
- package/src/file/edit.jsx +5 -3
- package/src/file/inspector.jsx +3 -3
- package/src/file/save.jsx +2 -2
- package/src/footnotes/README.md +5 -0
- package/src/footnotes/block.json +10 -0
- package/src/footnotes/edit.jsx +1 -1
- package/src/gallery/README.md +4 -0
- package/src/gallery/block.json +9 -0
- package/src/gallery/dynamic-gallery.jsx +4 -4
- package/src/gallery/edit.jsx +122 -70
- package/src/gallery/gallery-styles.js +117 -0
- package/src/gallery/index.php +181 -67
- package/src/gallery/responsive-styles.js +59 -5
- package/src/gallery/test/edit.jsdom.test.js +71 -3
- package/src/gallery/test/responsive-styles.js +59 -5
- package/src/group/README.md +1 -0
- package/src/group/block.json +1 -0
- package/src/heading/README.md +6 -0
- package/src/heading/block.json +11 -0
- package/src/heading/index.js +2 -2
- package/src/home-link/README.md +5 -0
- package/src/home-link/block.json +18 -0
- package/src/home-link/edit.jsx +2 -2
- package/src/html/modal.jsx +0 -3
- package/src/icon/index.php +9 -0
- package/src/image/edit.jsx +1 -1
- package/src/image/editor.scss +8 -0
- package/src/image/image.jsx +20 -18
- package/src/image/index.php +10 -4
- package/src/image/style.scss +1 -0
- package/src/image/test/use-open-image-media-editor-modal.jsdom.test.js +140 -1
- package/src/image/use-open-image-media-editor-modal.js +37 -0
- package/src/index.jsx +1 -1
- package/src/latest-comments/README.md +5 -0
- package/src/latest-comments/block.json +10 -0
- package/src/latest-comments/edit.jsx +2 -2
- package/src/latest-posts/README.md +5 -0
- package/src/latest-posts/block.json +10 -0
- package/src/latest-posts/edit.jsx +1 -1
- package/src/list/ordered-list-settings.jsx +2 -2
- package/src/list-item/hooks/use-enter.js +1 -1
- package/src/loginout/README.md +5 -0
- package/src/loginout/block.json +10 -0
- package/src/math/README.md +7 -2
- package/src/math/block.json +12 -0
- package/src/math/deprecated.jsx +38 -12
- package/src/math/edit.jsx +49 -20
- package/src/math/editor.scss +5 -0
- package/src/math/save.jsx +20 -4
- package/src/media-text/README.md +1 -0
- package/src/media-text/block.json +1 -0
- package/src/media-text/constants.js +1 -0
- package/src/media-text/deprecated.jsx +3 -3
- package/src/media-text/edit.jsx +48 -3
- package/src/media-text/image-fill.js +2 -2
- package/src/media-text/media-container.jsx +1 -1
- package/src/navigation/edit/index.jsx +3 -5
- package/src/navigation/edit/menu-inspector-controls.jsx +2 -2
- package/src/navigation/edit/overlay-template-part-selector.jsx +3 -3
- package/src/navigation/edit/responsive-wrapper.jsx +1 -1
- package/src/navigation/edit/use-generate-default-navigation-title.js +2 -2
- package/src/navigation/editor.scss +1 -0
- package/src/navigation/index.php +12 -0
- package/src/navigation/style.scss +41 -5
- package/src/navigation/test/use-navigation-menu.jsdom.test.js +6 -28
- package/src/navigation/test/view.jsdom.test.js +23 -0
- package/src/navigation/view.js +9 -6
- package/src/navigation-link/edit.jsx +1 -1
- package/src/navigation-link/editor.scss +6 -1
- package/src/navigation-link/link-ui/page-creator.jsx +2 -2
- package/src/navigation-link/shared/controls.jsx +2 -2
- package/src/navigation-link/shared/invalid-draft-display.jsx +2 -2
- package/src/navigation-link/shared/test/use-link-preview.jsdom.test.js +22 -22
- package/src/navigation-link/shared/use-link-preview.js +15 -14
- package/src/navigation-link/test/__snapshots__/hooks.jsdom.test.js.snap +41 -11
- package/src/navigation-overlay-close/README.md +1 -0
- package/src/navigation-overlay-close/block.json +7 -0
- package/src/navigation-overlay-close/style.scss +1 -1
- package/src/navigation-submenu/README.md +7 -0
- package/src/navigation-submenu/block.json +6 -0
- package/src/navigation-submenu/edit.jsx +12 -2
- package/src/navigation-submenu/editor.scss +6 -1
- package/src/navigation-submenu/index.php +11 -0
- package/src/page-list/README.md +5 -0
- package/src/page-list/block.json +10 -0
- package/src/paragraph/README.md +1 -0
- package/src/paragraph/block.json +1 -0
- package/src/paragraph/edit.jsx +2 -4
- package/src/paragraph/index.js +7 -0
- package/src/pattern/index.php +2 -2
- package/src/playlist/README.md +1 -0
- package/src/playlist/block.json +1 -0
- package/src/playlist/edit.jsx +6 -4
- package/src/playlist-track/test/edit.jsdom.test.jsx +2 -3
- package/src/post-author/edit.jsx +2 -2
- package/src/post-author-biography/README.md +3 -0
- package/src/post-author-biography/block.json +4 -0
- package/src/post-author-name/README.md +4 -0
- package/src/post-author-name/block.json +5 -0
- package/src/post-author-name/edit.jsx +1 -1
- package/src/post-comments-count/README.md +2 -0
- package/src/post-comments-count/block.json +3 -0
- package/src/post-comments-form/README.md +5 -0
- package/src/post-comments-form/block.json +10 -0
- package/src/post-content/README.md +3 -0
- package/src/post-content/block.json +3 -0
- package/src/post-date/README.md +2 -0
- package/src/post-date/block.json +3 -0
- package/src/post-date/edit.jsx +2 -2
- package/src/post-excerpt/README.md +5 -0
- package/src/post-excerpt/block.json +6 -0
- package/src/post-excerpt/edit.jsx +1 -1
- package/src/post-featured-image/edit.jsx +13 -11
- package/src/post-navigation-link/README.md +12 -0
- package/src/post-navigation-link/block.json +30 -0
- package/src/post-navigation-link/edit.jsx +27 -6
- package/src/post-navigation-link/index.php +94 -5
- package/src/post-navigation-link/style.scss +2 -0
- package/src/post-template/README.md +7 -0
- package/src/post-template/block.json +13 -1
- package/src/post-terms/README.md +5 -0
- package/src/post-terms/block.json +6 -0
- package/src/post-time-to-read/README.md +5 -0
- package/src/post-time-to-read/block.json +6 -0
- package/src/post-time-to-read/edit.jsx +2 -2
- package/src/post-title/README.md +5 -0
- package/src/post-title/block.json +10 -0
- package/src/post-title/style.scss +2 -3
- package/src/preformatted/README.md +6 -0
- package/src/preformatted/block.json +7 -0
- package/src/pullquote/README.md +1 -0
- package/src/pullquote/block.json +1 -0
- package/src/pullquote/deprecated.jsx +1 -1
- package/src/query/deprecated.jsx +1 -1
- package/src/query/edit/inspector-controls/index.jsx +4 -4
- package/src/query/edit/inspector-controls/order-control.jsx +2 -2
- package/src/query/edit/inspector-controls/sticky-control.jsx +2 -2
- package/src/query/view.js +6 -9
- package/src/query-no-results/README.md +7 -0
- package/src/query-no-results/block.json +10 -2
- package/src/query-pagination/README.md +2 -0
- package/src/query-pagination/block.json +3 -0
- package/src/query-pagination/editor.scss +0 -3
- package/src/query-pagination-next/README.md +2 -0
- package/src/query-pagination-next/block.json +3 -0
- package/src/query-pagination-numbers/README.md +2 -0
- package/src/query-pagination-numbers/block.json +3 -0
- package/src/query-pagination-previous/README.md +2 -0
- package/src/query-pagination-previous/block.json +3 -0
- package/src/query-title/README.md +2 -0
- package/src/query-title/block.json +3 -0
- package/src/query-title/use-archive-label.js +1 -1
- package/src/query-total/README.md +5 -0
- package/src/query-total/block.json +6 -0
- package/src/quote/README.md +1 -0
- package/src/quote/block.json +1 -0
- package/src/quote/deprecated.jsx +2 -2
- package/src/quote/transforms.js +3 -3
- package/src/read-more/README.md +5 -0
- package/src/read-more/block.json +6 -0
- package/src/rss/README.md +5 -0
- package/src/rss/block.json +6 -0
- package/src/search/edit.jsx +6 -6
- package/src/search/theme.scss +1 -1
- package/src/separator/edit.jsx +7 -4
- package/src/site-tagline/README.md +6 -0
- package/src/site-tagline/block.json +8 -1
- package/src/site-title/README.md +5 -0
- package/src/site-title/block.json +7 -1
- package/src/social-links/README.md +2 -0
- package/src/social-links/block.json +3 -0
- package/src/social-links/edit.jsx +4 -5
- package/src/tab-panel/README.md +9 -0
- package/src/tab-panel/block.json +25 -0
- package/src/tab-panel/controls.jsx +2 -2
- package/src/tab-panel/style.scss +5 -2
- package/src/tab-panels/README.md +7 -0
- package/src/tab-panels/block.json +18 -1
- package/src/table/state.js +1 -1
- package/src/table-of-contents/README.md +6 -0
- package/src/table-of-contents/block.json +7 -0
- package/src/table-of-contents/edit.jsx +6 -6
- package/src/table-of-contents/utils.ts +2 -2
- package/src/tabs/README.md +9 -0
- package/src/tabs/block.json +24 -1
- package/src/tabs/use-tab-actions.js +1 -1
- package/src/tag-cloud/README.md +9 -0
- package/src/tag-cloud/block.json +19 -0
- package/src/tag-cloud/edit.jsx +2 -2
- package/src/template-part/edit/advanced-controls.jsx +5 -2
- package/src/template-part/edit/import-controls.jsx +2 -2
- package/src/template-part/edit/index.jsx +2 -2
- package/src/template-part/edit/inner-blocks.jsx +1 -1
- package/src/template-part/edit/placeholder.jsx +2 -2
- package/src/template-part/edit/selection-modal.jsx +1 -1
- package/src/term-count/README.md +6 -0
- package/src/term-count/block.json +7 -0
- package/src/term-count/use-term-count.js +1 -1
- package/src/term-description/README.md +5 -0
- package/src/term-description/block.json +9 -0
- package/src/term-description/use-term-description.js +1 -1
- package/src/term-name/README.md +5 -0
- package/src/term-name/block.json +10 -0
- package/src/term-name/index.php +1 -1
- package/src/term-name/use-term-name.js +1 -1
- package/src/term-template/README.md +5 -0
- package/src/term-template/block.json +10 -1
- package/src/terms-query/edit/inspector-controls/index.jsx +2 -2
- package/src/terms-query/edit/inspector-controls/inherit-control.jsx +1 -1
- package/src/terms-query/edit/inspector-controls/order-control.jsx +2 -2
- package/src/terms-query/edit/inspector-controls/taxonomy-control.jsx +2 -2
- package/src/utils/hooks.js +1 -1
- package/src/utils/media-control.jsx +16 -10
- package/src/utils/poster-image.jsx +2 -2
- package/src/utils/search-patterns.js +9 -53
- package/src/utils/style-state.js +6 -4
- package/src/utils/test/{search-patterns.js → search-patterns.jsdom.test.js} +1 -22
- package/src/utils/test/waveform-player.jsdom.test.jsx +36 -38
- package/src/utils/test/{waveform-utils.jsdom.test.js → waveform-utils.browser.test.js} +64 -44
- package/src/verse/README.md +1 -0
- package/src/verse/block.json +1 -0
- package/src/verse/style.scss +2 -2
- package/src/video/README.md +7 -0
- package/src/video/block.json +6 -0
- package/src/video/edit-common-settings.jsx +3 -3
- package/src/video/edit.jsx +56 -51
- package/src/video/index.js +0 -2
- package/src/video/save.jsx +10 -1
- package/src/video/tracks-editor.jsx +2 -2
- package/build/gallery/flex-styles.cjs.map +0 -7
- package/build/video/variations.cjs +0 -75
- package/build/video/variations.cjs.map +0 -7
- package/build-module/gallery/flex-styles.mjs.map +0 -7
- package/build-module/video/variations.mjs +0 -50
- package/build-module/video/variations.mjs.map +0 -7
- package/src/gallery/flex-styles.js +0 -99
- package/src/video/test/variations.js +0 -63
- package/src/video/variations.js +0 -62
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/media-text/deprecated.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tInnerBlocks,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\nconst v1ToV5ImageFillStyles = ( url, focalPoint ) => {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ focalPoint.x * 100 }% ${ focalPoint.y * 100 }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n};\n\nconst v6ToV7ImageFillStyles = ( url, focalPoint ) => {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t ) }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n};\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\tconst { customBackgroundColor, ...restAttributes } = attributes;\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\n// After align attribute's default was updated this function explicitly sets\n// the align value for deprecated blocks to the `wide` value which was default\n// for their versions of this block.\nconst migrateDefaultAlign = ( attributes ) => {\n\tif ( attributes.align ) {\n\t\treturn attributes;\n\t}\n\n\treturn {\n\t\t...attributes,\n\t\talign: 'wide',\n\t};\n};\n\nconst v0Attributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nconst v4ToV5BlockAttributes = {\n\t...v0Attributes,\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n\tmediaUrl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure video,figure img',\n\t\tattribute: 'src',\n\t},\n\tmediaLink: {\n\t\ttype: 'string',\n\t},\n\tlinkDestination: {\n\t\ttype: 'string',\n\t},\n\tlinkTarget: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'target',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'href',\n\t},\n\trel: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'rel',\n\t},\n\tlinkClass: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'class',\n\t},\n\tmediaSizeSlug: {\n\t\ttype: 'string',\n\t},\n\tverticalAlignment: {\n\t\ttype: 'string',\n\t},\n\timageFill: {\n\t\ttype: 'boolean',\n\t},\n\tfocalPoint: {\n\t\ttype: 'object',\n\t},\n};\n\nconst v6Attributes = {\n\t...v4ToV5BlockAttributes,\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t\trole: 'content',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t\trole: 'content',\n\t},\n\tmediaUrl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure video,figure img',\n\t\tattribute: 'src',\n\t\trole: 'content',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'href',\n\t\trole: 'content',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t\trole: 'content',\n\t},\n};\n\nconst v7Attributes = {\n\t...v6Attributes,\n\talign: {\n\t\ttype: 'string',\n\t\t// v7 changed the default for the `align` attribute.\n\t\tdefault: 'none',\n\t},\n\t// New attribute.\n\tuseFeaturedImage: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nconst v4ToV5Supports = {\n\tanchor: true,\n\talign: [ 'wide', 'full' ],\n\thtml: false,\n\tcolor: {\n\t\tgradients: true,\n\t\tlink: true,\n\t},\n};\n\nconst v6Supports = {\n\t...v4ToV5Supports,\n\tcolor: {\n\t\tgradients: true,\n\t\tlink: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tbackground: true,\n\t\t\ttext: true,\n\t\t},\n\t},\n\tspacing: {\n\t\tmargin: true,\n\t\tpadding: true,\n\t},\n\ttypography: {\n\t\tfontSize: true,\n\t\tlineHeight: true,\n\t\t__experimentalFontFamily: true,\n\t\t__experimentalFontWeight: true,\n\t\t__experimentalFontStyle: true,\n\t\t__experimentalTextTransform: true,\n\t\t__experimentalTextDecoration: true,\n\t\t__experimentalLetterSpacing: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tfontSize: true,\n\t\t},\n\t},\n};\n\nconst v7Supports = {\n\t...v6Supports,\n\t__experimentalBorder: {\n\t\tcolor: true,\n\t\tradius: true,\n\t\tstyle: true,\n\t\twidth: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t},\n\t},\n\tcolor: {\n\t\tgradients: true,\n\t\theading: true,\n\t\tlink: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tbackground: true,\n\t\t\ttext: true,\n\t\t},\n\t},\n\tinteractivity: {\n\t\tclientNavigation: true,\n\t},\n};\n\n// Version with 'none' as the default alignment.\n// See: https://github.com/WordPress/gutenberg/pull/64981\nconst v7 = {\n\tattributes: v7Attributes,\n\tsupports: v7Supports,\n\tusesContext: [ 'postId', 'postType' ],\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = mediaUrl ? (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t) : null;\n\n\t\tif ( href ) {\n\t\t\timage = (\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}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v6ToV7ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\tif ( 'right' === mediaPosition ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version with wide as the default alignment.\n// See: https://github.com/WordPress/gutenberg/pull/48404\nconst v6 = {\n\tattributes: v6Attributes,\n\tsupports: v6Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\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}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v6ToV7ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\tif ( 'right' === mediaPosition ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateDefaultAlign,\n\tisEligible( attributes, innerBlocks, { block } ) {\n\t\tconst { attributes: finalizedAttributes } = block;\n\t\t// When the align attribute defaults to none, valid block markup should\n\t\t// not contain any alignment CSS class. Unfortunately, this\n\t\t// deprecation's version of the block won't be invalidated due to the\n\t\t// alignwide class still being in the markup. That is because the custom\n\t\t// CSS classname support picks it up and adds it to the className\n\t\t// attribute. At the time of parsing, the className attribute won't\n\t\t// contain the alignwide class, hence the need to check the finalized\n\t\t// block attributes.\n\t\treturn (\n\t\t\tattributes.align === undefined &&\n\t\t\t!! finalizedAttributes.className?.includes( 'alignwide' )\n\t\t);\n\t},\n};\n\n// Version with non-rounded background position attribute for focal point.\n// See: https://github.com/WordPress/gutenberg/pull/33915\nconst v5 = {\n\tattributes: v4ToV5BlockAttributes,\n\tsupports: v4ToV5Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\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}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\tif ( 'right' === mediaPosition ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateDefaultAlign,\n};\n\n// Version with CSS grid\n// See: https://github.com/WordPress/gutenberg/pull/40806\nconst v4 = {\n\tattributes: v4ToV5BlockAttributes,\n\tsupports: v4ToV5Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\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}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateDefaultAlign,\n};\n\n// Version with ad-hoc color attributes\n// See: https://github.com/WordPress/gutenberg/pull/21169\nconst v3 = {\n\tattributes: {\n\t\t...v0Attributes,\n\t\tisStackedOnMobile: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaLink: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tverticalAlignment: {\n\t\t\ttype: 'string',\n\t\t},\n\t\timageFill: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tfocalPoint: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tmigrate: compose( migrateCustomColors, migrateDefaultAlign ),\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={\n\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\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}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version with stack on mobile off by default\n// See: https://github.com/WordPress/gutenberg/pull/14364\nconst v2 = {\n\tattributes: {\n\t\t...v0Attributes,\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaUrl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure video,figure img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\tverticalAlignment: {\n\t\t\ttype: 'string',\n\t\t},\n\t\timageFill: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tfocalPoint: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tmigrate: compose( migrateCustomColors, migrateDefaultAlign ),\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t} = attributes;\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version without the wp-image-#### class on image\n// See: https://github.com/WordPress/gutenberg/pull/11922\nconst v1 = {\n\tattributes: {\n\t\t...v0Attributes,\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaUrl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure video,figure img',\n\t\t\tattribute: 'src',\n\t\t},\n\t},\n\tmigrate: migrateDefaultAlign,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t} = attributes;\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t} );\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nexport default [ v7, v6, v5, v4, v3, v2, v1 ];\n"],
|
|
5
|
-
"mappings": ";AAAA,OAAO,UAAU;AACjB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,eAAe;AACxB,SAAS,+BAA+B;AAuSrC,cAgDC,YAhDD;AArSH,IAAM,wBAAwB,CAAE,KAAK,eAAgB;AACpD,SAAO,MACJ;AAAA,IACA,iBAAiB,OAAQ,GAAI;AAAA,IAC7B,oBAAoB,aACjB,GAAI,WAAW,IAAI,GAAI,KAAM,WAAW,IAAI,GAAI,MAChD;AAAA,EACH,IACA,CAAC;AACL;AAEA,IAAM,wBAAwB,CAAE,KAAK,eAAgB;AACpD,SAAO,MACJ;AAAA,IACA,iBAAiB,OAAQ,GAAI;AAAA,IAC7B,oBAAoB,aACjB,GAAI,KAAK,MAAO,WAAW,IAAI,GAAI,CAAE,KAAM,KAAK;AAAA,MAChD,WAAW,IAAI;AAAA,IACf,CAAE,MACF;AAAA,EACH,IACA,CAAC;AACL;AAEA,IAAM,sBAAsB;AAC5B,IAAM,OAAO,MAAM;AAAC;AAEpB,IAAM,sBAAsB,CAAE,eAAgB;AAC7C,MAAK,CAAE,WAAW,uBAAwB;AACzC,WAAO;AAAA,EACR;AACA,QAAM,QAAQ;AAAA,IACb,OAAO;AAAA,MACN,YAAY,WAAW;AAAA,IACxB;AAAA,EACD;AACA,QAAM,EAAE,uBAAuB,GAAG,eAAe,IAAI;AACrD,SAAO;AAAA,IACN,GAAG;AAAA,IACH;AAAA,EACD;AACD;AAKA,IAAM,sBAAsB,CAAE,eAAgB;AAC7C,MAAK,WAAW,OAAQ;AACvB,WAAO;AAAA,EACR;AAEA,SAAO;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,EACR;AACD;AAEA,IAAM,eAAe;AAAA,EACpB,OAAO;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,EACP;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,EACP;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,mBAAmB;AAAA,IAClB,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AACD;AAEA,IAAM,wBAAwB;AAAA,EAC7B,GAAG;AAAA,EACH,mBAAmB;AAAA,IAClB,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,EACP;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,EACP;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,KAAK;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,eAAe;AAAA,IACd,MAAM;AAAA,EACP;AAAA,EACA,mBAAmB;AAAA,IAClB,MAAM;AAAA,EACP;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,EACP;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,EACP;AACD;AAEA,IAAM,eAAe;AAAA,EACpB,GAAG;AAAA,EACH,UAAU;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,IACT,MAAM;AAAA,EACP;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,MAAM;AAAA,EACP;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,MAAM;AAAA,EACP;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AACD;AAEA,IAAM,eAAe;AAAA,EACpB,GAAG;AAAA,EACH,OAAO;AAAA,IACN,MAAM;AAAA;AAAA,IAEN,SAAS;AAAA,EACV;AAAA;AAAA,EAEA,kBAAkB;AAAA,IACjB,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AACD;AAEA,IAAM,iBAAiB;AAAA,EACtB,QAAQ;AAAA,EACR,OAAO,CAAE,QAAQ,MAAO;AAAA,EACxB,MAAM;AAAA,EACN,OAAO;AAAA,IACN,WAAW;AAAA,IACX,MAAM;AAAA,EACP;AACD;AAEA,IAAM,aAAa;AAAA,EAClB,GAAG;AAAA,EACH,OAAO;AAAA,IACN,WAAW;AAAA,IACX,MAAM;AAAA,IACN,+BAA+B;AAAA,MAC9B,YAAY;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,SAAS;AAAA,IACR,QAAQ;AAAA,IACR,SAAS;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACX,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,0BAA0B;AAAA,IAC1B,0BAA0B;AAAA,IAC1B,yBAAyB;AAAA,IACzB,6BAA6B;AAAA,IAC7B,8BAA8B;AAAA,IAC9B,6BAA6B;AAAA,IAC7B,+BAA+B;AAAA,MAC9B,UAAU;AAAA,IACX;AAAA,EACD;AACD;AAEA,IAAM,aAAa;AAAA,EAClB,GAAG;AAAA,EACH,sBAAsB;AAAA,IACrB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,+BAA+B;AAAA,MAC9B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,OAAO;AAAA,IACN,WAAW;AAAA,IACX,SAAS;AAAA,IACT,MAAM;AAAA,IACN,+BAA+B;AAAA,MAC9B,YAAY;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,eAAe;AAAA,IACd,kBAAkB;AAAA,EACnB;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,aAAa,CAAE,UAAU,UAAW;AAAA,EACpC,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,gBACL,WAAW,iBAAiB;AAC7B,UAAM,SAAS,CAAE,MAAM,SAAY;AAEnC,UAAM,eAAe,KAAM;AAAA,MAC1B,CAAE,YAAa,OAAQ,EAAG,GAAG,WAAW,cAAc;AAAA,MACtD,CAAE,QAAS,aAAc,EAAG,GAAG,WAAW,cAAc;AAAA,IACzD,CAAE;AAEF,QAAI,QAAQ,WACX;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,KAAM;AAAA,QACN,WAAY,gBAAgB;AAAA;AAAA,IAC7B,IACG;AAEJ,QAAK,MAAO;AACX,cACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA,QAAS;AAAA,UACT,KAAM;AAAA,UAEJ;AAAA;AAAA,MACH;AAAA,IAEF;AAEA,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,IACD;AAEA,QAAK,YAAY,eAAgB;AAChC,aACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG,oBAAoB,KAAM;AAAA,cAC9B,WAAW;AAAA,YACZ,CAAE;AAAA;AAAA,QACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,OAAQ;AAAA,YAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,QAC7C;AAAA,SACD;AAAA,IAEF;AACA,WACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG,oBAAoB,KAAM;AAAA,YAC9B,WAAW;AAAA,UACZ,CAAE;AAAA;AAAA,MACH;AAAA,OACD;AAAA,EAEF;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,gBACL,WAAW,iBAAiB;AAC7B,UAAM,SAAS,CAAE,MAAM,SAAY;AAEnC,UAAM,eAAe,KAAM;AAAA,MAC1B,CAAE,YAAa,OAAQ,EAAG,GAAG,WAAW,cAAc;AAAA,MACtD,CAAE,QAAS,aAAc,EAAG,GAAG,WAAW,cAAc;AAAA,IACzD,CAAE;AAEF,QAAI,QACH;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,KAAM;AAAA,QACN,WAAY,gBAAgB;AAAA;AAAA,IAC7B;AAGD,QAAK,MAAO;AACX,cACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA,QAAS;AAAA,UACT,KAAM;AAAA,UAEJ;AAAA;AAAA,MACH;AAAA,IAEF;AAEA,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,IACD;AAEA,QAAK,YAAY,eAAgB;AAChC,aACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG,oBAAoB,KAAM;AAAA,cAC9B,WAAW;AAAA,YACZ,CAAE;AAAA;AAAA,QACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,OAAQ;AAAA,YAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,QAC7C;AAAA,SACD;AAAA,IAEF;AACA,WACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG,oBAAoB,KAAM;AAAA,YAC9B,WAAW;AAAA,UACZ,CAAE;AAAA;AAAA,MACH;AAAA,OACD;AAAA,EAEF;AAAA,EACA,SAAS;AAAA,EACT,WAAY,YAAY,aAAa,EAAE,MAAM,GAAI;AAChD,UAAM,EAAE,YAAY,oBAAoB,IAAI;AAS5C,WACC,WAAW,UAAU,UACrB,CAAC,CAAE,oBAAoB,WAAW,SAAU,WAAY;AAAA,EAE1D;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,gBACL,WAAW,iBAAiB;AAC7B,UAAM,SAAS,CAAE,MAAM,SAAY;AAEnC,UAAM,eAAe,KAAM;AAAA,MAC1B,CAAE,YAAa,OAAQ,EAAG,GAAG,WAAW,cAAc;AAAA,MACtD,CAAE,QAAS,aAAc,EAAG,GAAG,WAAW,cAAc;AAAA,IACzD,CAAE;AAEF,QAAI,QACH;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,KAAM;AAAA,QACN,WAAY,gBAAgB;AAAA;AAAA,IAC7B;AAGD,QAAK,MAAO;AACX,cACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA,QAAS;AAAA,UACT,KAAM;AAAA,UAEJ;AAAA;AAAA,MACH;AAAA,IAEF;AAEA,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,IACD;AAEA,QAAK,YAAY,eAAgB;AAChC,aACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG,oBAAoB,KAAM;AAAA,cAC9B,WAAW;AAAA,YACZ,CAAE;AAAA;AAAA,QACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,OAAQ;AAAA,YAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,QAC7C;AAAA,SACD;AAAA,IAEF;AACA,WACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG,oBAAoB,KAAM;AAAA,YAC9B,WAAW;AAAA,UACZ,CAAE;AAAA;AAAA,MACH;AAAA,OACD;AAAA,EAEF;AAAA,EACA,SAAS;AACV;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,gBACL,WAAW,iBAAiB;AAC7B,UAAM,SAAS,CAAE,MAAM,SAAY;AAEnC,UAAM,eAAe,KAAM;AAAA,MAC1B,CAAE,YAAa,OAAQ,EAAG,GAAG,WAAW,cAAc;AAAA,MACtD,CAAE,QAAS,aAAc,EAAG,GAAG,WAAW,cAAc;AAAA,IACzD,CAAE;AAEF,QAAI,QACH;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,KAAM;AAAA,QACN,WAAY,gBAAgB;AAAA;AAAA,IAC7B;AAGD,QAAK,MAAO;AACX,cACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA,QAAS;AAAA,UACT,KAAM;AAAA,UAEJ;AAAA;AAAA,MACH;AAAA,IAEF;AAEA,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AAEA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,IACD;AAEA,WACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG,oBAAoB,KAAM;AAAA,YAC9B,WAAW;AAAA,UACZ,CAAE;AAAA;AAAA,MACH;AAAA,OACD;AAAA,EAEF;AAAA,EACA,SAAS;AACV;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,GAAG;AAAA,IACH,mBAAmB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IACP;AAAA,IACA,uBAAuB;AAAA,MACtB,MAAM;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,KAAK;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,mBAAmB;AAAA,MAClB,MAAM;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,SAAS,QAAS,qBAAqB,mBAAoB;AAAA,EAC3D,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,SAAS,CAAE,MAAM,SAAY;AAEnC,QAAI,QACH;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,KAAM;AAAA,QACN,WACC,WAAW,cAAc,UACtB,YAAa,OAAQ,KACrB;AAAA;AAAA,IAEL;AAGD,QAAK,MAAO;AACX,cACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA,QAAS;AAAA,UACT,KAAM;AAAA,UAEJ;AAAA;AAAA,MACH;AAAA,IAEF;AAEA,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,kBAAkB;AAAA,MACvB;AAAA,MACA;AAAA,IACD;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,kBAAkB,mBAAmB;AAAA,MACrC,CAAE,eAAgB,GAAG;AAAA,MACrB,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb,iBAAiB,kBACd,SACA;AAAA,MACH;AAAA,IACD;AACA,WACC,qBAAC,SAAI,WAAwB,OAC5B;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA,oBAAC,SAAI,WAAU,gCACd,8BAAC,YAAY,SAAZ,EAAoB,GACtB;AAAA,OACD;AAAA,EAEF;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,GAAG;AAAA,IACH,iBAAiB;AAAA,MAChB,MAAM;AAAA,IACP;AAAA,IACA,uBAAuB;AAAA,MACtB,MAAM;AAAA,IACP;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,mBAAmB;AAAA,MAClB,MAAM;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,SAAS,QAAS,qBAAqB,mBAAoB;AAAA,EAC3D,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,mBAAmB;AAAA,MACxB,OAAO,MACN;AAAA,QAAC;AAAA;AAAA,UACA,KAAM;AAAA,UACN,KAAM;AAAA,UACN,WACC,WAAW,cAAc,UACtB,YAAa,OAAQ,KACrB;AAAA;AAAA,MAEL;AAAA,MAED,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,kBAAkB;AAAA,MACvB;AAAA,MACA;AAAA,IACD;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,CAAE,eAAgB,GAAG;AAAA,MACrB,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb,iBAAiB,kBACd,SACA;AAAA,MACH;AAAA,IACD;AACA,WACC,qBAAC,SAAI,WAAwB,OAC5B;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA,oBAAC,SAAI,WAAU,gCACd,8BAAC,YAAY,SAAZ,EAAoB,GACtB;AAAA,OACD;AAAA,EAEF;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,GAAG;AAAA,IACH,iBAAiB;AAAA,MAChB,MAAM;AAAA,IACP;AAAA,IACA,uBAAuB;AAAA,MACtB,MAAM;AAAA,IACP;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,EACD;AAAA,EACA,SAAS;AAAA,EACT,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM,oBAAC,SAAI,KAAM,UAAW,KAAM,UAAW;AAAA,MACpD,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,kBAAkB;AAAA,MACvB;AAAA,MACA;AAAA,IACD;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,CAAE,eAAgB,GAAG;AAAA,MACrB,wBAAwB;AAAA,IACzB,CAAE;AAEF,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb,iBAAiB,kBACd,SACA;AAAA,MACH;AAAA,IACD;AACA,WACC,qBAAC,SAAI,WAAwB,OAC5B;AAAA,0BAAC,YAAO,WAAU,8BACb,4BAAkB,SAAU,KAAK,MAAO,GAC7C;AAAA,MACA,oBAAC,SAAI,WAAU,gCACd,8BAAC,YAAY,SAAZ,EAAoB,GACtB;AAAA,OACD;AAAA,EAEF;AACD;AAEA,IAAO,qBAAQ,CAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAG;",
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tInnerBlocks,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\nconst v1ToV5ImageFillStyles = ( url, focalPoint ) => {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ focalPoint.x * 100 }% ${ focalPoint.y * 100 }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t\t}\n\t\t: {};\n};\n\nconst v6ToV7ImageFillStyles = ( url, focalPoint ) => {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t\t) }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t\t}\n\t\t: {};\n};\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\tconst { customBackgroundColor, ...restAttributes } = attributes;\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\n// After align attribute's default was updated this function explicitly sets\n// the align value for deprecated blocks to the `wide` value which was default\n// for their versions of this block.\nconst migrateDefaultAlign = ( attributes ) => {\n\tif ( attributes.align ) {\n\t\treturn attributes;\n\t}\n\n\treturn {\n\t\t...attributes,\n\t\talign: 'wide',\n\t};\n};\n\nconst v0Attributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nconst v4ToV5BlockAttributes = {\n\t...v0Attributes,\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n\tmediaUrl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure video,figure img',\n\t\tattribute: 'src',\n\t},\n\tmediaLink: {\n\t\ttype: 'string',\n\t},\n\tlinkDestination: {\n\t\ttype: 'string',\n\t},\n\tlinkTarget: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'target',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'href',\n\t},\n\trel: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'rel',\n\t},\n\tlinkClass: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'class',\n\t},\n\tmediaSizeSlug: {\n\t\ttype: 'string',\n\t},\n\tverticalAlignment: {\n\t\ttype: 'string',\n\t},\n\timageFill: {\n\t\ttype: 'boolean',\n\t},\n\tfocalPoint: {\n\t\ttype: 'object',\n\t},\n};\n\nconst v6Attributes = {\n\t...v4ToV5BlockAttributes,\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t\trole: 'content',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t\trole: 'content',\n\t},\n\tmediaUrl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure video,figure img',\n\t\tattribute: 'src',\n\t\trole: 'content',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'href',\n\t\trole: 'content',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t\trole: 'content',\n\t},\n};\n\nconst v7Attributes = {\n\t...v6Attributes,\n\talign: {\n\t\ttype: 'string',\n\t\t// v7 changed the default for the `align` attribute.\n\t\tdefault: 'none',\n\t},\n\t// New attribute.\n\tuseFeaturedImage: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nconst v4ToV5Supports = {\n\tanchor: true,\n\talign: [ 'wide', 'full' ],\n\thtml: false,\n\tcolor: {\n\t\tgradients: true,\n\t\tlink: true,\n\t},\n};\n\nconst v6Supports = {\n\t...v4ToV5Supports,\n\tcolor: {\n\t\tgradients: true,\n\t\tlink: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tbackground: true,\n\t\t\ttext: true,\n\t\t},\n\t},\n\tspacing: {\n\t\tmargin: true,\n\t\tpadding: true,\n\t},\n\ttypography: {\n\t\tfontSize: true,\n\t\tlineHeight: true,\n\t\t__experimentalFontFamily: true,\n\t\t__experimentalFontWeight: true,\n\t\t__experimentalFontStyle: true,\n\t\t__experimentalTextTransform: true,\n\t\t__experimentalTextDecoration: true,\n\t\t__experimentalLetterSpacing: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tfontSize: true,\n\t\t},\n\t},\n};\n\nconst v7Supports = {\n\t...v6Supports,\n\t__experimentalBorder: {\n\t\tcolor: true,\n\t\tradius: true,\n\t\tstyle: true,\n\t\twidth: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t},\n\t},\n\tcolor: {\n\t\tgradients: true,\n\t\theading: true,\n\t\tlink: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tbackground: true,\n\t\t\ttext: true,\n\t\t},\n\t},\n\tinteractivity: {\n\t\tclientNavigation: true,\n\t},\n};\n\n// Version with 'none' as the default alignment.\n// See: https://github.com/WordPress/gutenberg/pull/64981\nconst v7 = {\n\tattributes: v7Attributes,\n\tsupports: v7Supports,\n\tusesContext: [ 'postId', 'postType' ],\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = mediaUrl ? (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t) : null;\n\n\t\tif ( href ) {\n\t\t\timage = (\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}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v6ToV7ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\tif ( 'right' === mediaPosition ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version with wide as the default alignment.\n// See: https://github.com/WordPress/gutenberg/pull/48404\nconst v6 = {\n\tattributes: v6Attributes,\n\tsupports: v6Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\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}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v6ToV7ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\tif ( 'right' === mediaPosition ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateDefaultAlign,\n\tisEligible( attributes, innerBlocks, { block } ) {\n\t\tconst { attributes: finalizedAttributes } = block;\n\t\t// When the align attribute defaults to none, valid block markup should\n\t\t// not contain any alignment CSS class. Unfortunately, this\n\t\t// deprecation's version of the block won't be invalidated due to the\n\t\t// alignwide class still being in the markup. That is because the custom\n\t\t// CSS classname support picks it up and adds it to the className\n\t\t// attribute. At the time of parsing, the className attribute won't\n\t\t// contain the alignwide class, hence the need to check the finalized\n\t\t// block attributes.\n\t\treturn (\n\t\t\tattributes.align === undefined &&\n\t\t\t!! finalizedAttributes.className?.includes( 'alignwide' )\n\t\t);\n\t},\n};\n\n// Version with non-rounded background position attribute for focal point.\n// See: https://github.com/WordPress/gutenberg/pull/33915\nconst v5 = {\n\tattributes: v4ToV5BlockAttributes,\n\tsupports: v4ToV5Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\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}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\tif ( 'right' === mediaPosition ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateDefaultAlign,\n};\n\n// Version with CSS grid\n// See: https://github.com/WordPress/gutenberg/pull/40806\nconst v4 = {\n\tattributes: v4ToV5BlockAttributes,\n\tsupports: v4ToV5Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\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}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateDefaultAlign,\n};\n\n// Version with ad-hoc color attributes\n// See: https://github.com/WordPress/gutenberg/pull/21169\nconst v3 = {\n\tattributes: {\n\t\t...v0Attributes,\n\t\tisStackedOnMobile: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaLink: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tverticalAlignment: {\n\t\t\ttype: 'string',\n\t\t},\n\t\timageFill: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tfocalPoint: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tmigrate: compose( migrateCustomColors, migrateDefaultAlign ),\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={\n\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\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}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version with stack on mobile off by default\n// See: https://github.com/WordPress/gutenberg/pull/14364\nconst v2 = {\n\tattributes: {\n\t\t...v0Attributes,\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaUrl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure video,figure img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\tverticalAlignment: {\n\t\t\ttype: 'string',\n\t\t},\n\t\timageFill: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tfocalPoint: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tmigrate: compose( migrateCustomColors, migrateDefaultAlign ),\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t} = attributes;\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version without the wp-image-#### class on image\n// See: https://github.com/WordPress/gutenberg/pull/11922\nconst v1 = {\n\tattributes: {\n\t\t...v0Attributes,\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaUrl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure video,figure img',\n\t\t\tattribute: 'src',\n\t\t},\n\t},\n\tmigrate: migrateDefaultAlign,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t} = attributes;\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t} );\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nexport default [ v7, v6, v5, v4, v3, v2, v1 ];\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// packages/block-library/src/media-text/edit.jsx
|
|
2
2
|
import clsx from "clsx";
|
|
3
3
|
import { __ } from "@wordpress/i18n";
|
|
4
|
-
import { useSelect } from "@wordpress/data";
|
|
4
|
+
import { useDispatch, useSelect } from "@wordpress/data";
|
|
5
5
|
import { useState, useRef } from "@wordpress/element";
|
|
6
6
|
import {
|
|
7
7
|
BlockControls,
|
|
@@ -27,8 +27,11 @@ import {
|
|
|
27
27
|
import { isBlobURL, getBlobTypeByURL } from "@wordpress/blob";
|
|
28
28
|
import { pullLeft, pullRight } from "@wordpress/icons";
|
|
29
29
|
import { useEntityProp, store as coreStore } from "@wordpress/core-data";
|
|
30
|
+
import { store as noticesStore } from "@wordpress/notices";
|
|
31
|
+
import { getFilename } from "@wordpress/url";
|
|
30
32
|
import MediaContainer from "./media-container.mjs";
|
|
31
33
|
import {
|
|
34
|
+
ALLOWED_MEDIA_TYPES,
|
|
32
35
|
DEFAULT_MEDIA_SIZE_SLUG,
|
|
33
36
|
WIDTH_CONSTRAINT_PERCENTAGE,
|
|
34
37
|
LINK_DESTINATION_NONE,
|
|
@@ -37,6 +40,7 @@ import {
|
|
|
37
40
|
} from "./constants.mjs";
|
|
38
41
|
import { unlock } from "../lock-unlock.mjs";
|
|
39
42
|
import { useToolsPanelDropdownMenuProps } from "../utils/hooks.mjs";
|
|
43
|
+
import { MediaControl } from "../utils/media-control.mjs";
|
|
40
44
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
41
45
|
var { ResolutionTool } = unlock(blockEditorPrivateApis);
|
|
42
46
|
var applyWidthConstraints = (width) => Math.max(
|
|
@@ -273,6 +277,42 @@ function MediaTextEdit({
|
|
|
273
277
|
});
|
|
274
278
|
};
|
|
275
279
|
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
280
|
+
const { createErrorNotice } = useDispatch(noticesStore);
|
|
281
|
+
const onUploadError = (message) => {
|
|
282
|
+
createErrorNotice(message, { type: "snackbar" });
|
|
283
|
+
};
|
|
284
|
+
const mediaInspectorPanel = isSelected ? /* @__PURE__ */ jsx(InspectorControls, { group: "content", children: /* @__PURE__ */ jsx(
|
|
285
|
+
ToolsPanel,
|
|
286
|
+
{
|
|
287
|
+
label: __("Media"),
|
|
288
|
+
resetAll: () => onSelectMedia(void 0),
|
|
289
|
+
dropdownMenuProps,
|
|
290
|
+
children: /* @__PURE__ */ jsx(
|
|
291
|
+
ToolsPanelItem,
|
|
292
|
+
{
|
|
293
|
+
label: __("Media"),
|
|
294
|
+
hasValue: () => !!mediaUrl || !!useFeaturedImage,
|
|
295
|
+
onDeselect: () => onSelectMedia(void 0),
|
|
296
|
+
isShownByDefault: true,
|
|
297
|
+
children: /* @__PURE__ */ jsx(
|
|
298
|
+
MediaControl,
|
|
299
|
+
{
|
|
300
|
+
mediaId,
|
|
301
|
+
mediaUrl: mediaUrl || featuredImageURL,
|
|
302
|
+
filename: image?.media_details?.sizes?.full?.file || image?.slug || getFilename(mediaUrl),
|
|
303
|
+
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
304
|
+
onSelect: onSelectMedia,
|
|
305
|
+
onError: onUploadError,
|
|
306
|
+
onReset: () => onSelectMedia(void 0),
|
|
307
|
+
useFeaturedImage,
|
|
308
|
+
onToggleFeaturedImage: toggleUseFeaturedImage,
|
|
309
|
+
emptyLabel: __("Add media")
|
|
310
|
+
}
|
|
311
|
+
)
|
|
312
|
+
}
|
|
313
|
+
)
|
|
314
|
+
}
|
|
315
|
+
) }) : null;
|
|
276
316
|
const mediaTextGeneralSettings = /* @__PURE__ */ jsxs(
|
|
277
317
|
ToolsPanel,
|
|
278
318
|
{
|
|
@@ -422,6 +462,7 @@ function MediaTextEdit({
|
|
|
422
462
|
);
|
|
423
463
|
const blockEditingMode = useBlockEditingMode();
|
|
424
464
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
465
|
+
mediaInspectorPanel,
|
|
425
466
|
/* @__PURE__ */ jsx(InspectorControls, { children: mediaTextGeneralSettings }),
|
|
426
467
|
/* @__PURE__ */ jsxs(BlockControls, { group: "block", children: [
|
|
427
468
|
blockEditingMode === "default" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/media-text/edit.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tRangeControl,\n\tTextareaControl as WCTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport MediaContainer from './media-container';\nimport {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n} from './constants';\nimport { unlock } from '../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t\tuseFeaturedImage: false,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newLinkDestination = linkDestination;\n\t\tlet newHref = href;\n\n\t\t// Only apply default link behavior for images (not videos).\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Check if default link setting should be used.\n\t\t\tif ( ! newLinkDestination ) {\n\t\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t\tswitch (\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t\t) {\n\t\t\t\t\tcase 'file':\n\t\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\t\tnewLinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'post':\n\t\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\t\tnewLinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tnewLinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set href based on linkDestination.\n\t\t\tswitch ( newLinkDestination ) {\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tnewHref = media.url;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tnewHref = media.link;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tlinkDestination: newLinkDestination,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: false,\n\t\t} );\n\t};\n}\n\nfunction MediaTextResolutionTool( { image, value, onChange } ) {\n\tconst { imageSizes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\timageSizes: getSettings().imageSizes,\n\t\t};\n\t}, [] );\n\n\tif ( ! imageSizes?.length ) {\n\t\treturn null;\n\t}\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => getImageSourceUrlBySizeSlug( image, slug ) )\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\treturn (\n\t\t<ResolutionTool\n\t\t\tvalue={ value }\n\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\toptions={ imageSizeOptions }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nfunction MediaTextEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tmediaSizeSlug,\n\t\trel,\n\t\tverticalAlignment,\n\t\tallowedBlocks,\n\t\tuseFeaturedImage,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { featuredImageMedia } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tfeaturedImageMedia:\n\t\t\t\t\tfeaturedImage && useFeaturedImage\n\t\t\t\t\t\t? select( coreStore ).getEntityRecord(\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\tfeaturedImage,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, useFeaturedImage ]\n\t);\n\n\tconst { image } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getEntityRecord(\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\tmediaId,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst featuredImageURL = useFeaturedImage\n\t\t? featuredImageMedia?.source_url\n\t\t: '';\n\tconst featuredImageAlt = useFeaturedImage\n\t\t? featuredImageMedia?.alt_text\n\t\t: '';\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\timageFill: false,\n\t\t\tmediaType: 'image',\n\t\t\tmediaId: undefined,\n\t\t\tmediaUrl: undefined,\n\t\t\tmediaAlt: undefined,\n\t\t\tmediaLink: undefined,\n\t\t\tlinkDestination: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\tlinkClass: undefined,\n\t\t\trel: undefined,\n\t\t\thref: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t} );\n\t};\n\n\tconst refMedia = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMedia.current;\n\t\tconst { x, y } = value;\n\t\tstyle.objectPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( null );\n\t};\n\n\tconst classNames = clsx( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill-element': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst mediaTextGeneralSettings = (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\timageFill: false,\n\t\t\t\t\tmediaAlt: '',\n\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\tmediaWidth: 50,\n\t\t\t\t} );\n\t\t\t\tupdateImage( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => mediaWidth !== 50 }\n\t\t\t\tonDeselect={ () => setAttributes( { mediaWidth: 50 } ) }\n\t\t\t>\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => ! isStackedOnMobile }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( { isStackedOnMobile: true } )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! imageFill }\n\t\t\t\t\tonDeselect={ () => setAttributes( { imageFill: false } ) }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\t\tchecked={ !! imageFill }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\timageFill: ! imageFill,\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</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ imageFill &&\n\t\t\t\t( mediaUrl || featuredImageURL ) &&\n\t\t\t\tmediaType === 'image' && (\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( { focalPoint: undefined } )\n\t\t\t\t\t\t}\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={\n\t\t\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t\t\t}\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/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t{ mediaType === 'image' && mediaUrl && ! useFeaturedImage && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! mediaAlt }\n\t\t\t\t\tonDeselect={ () => setAttributes( { mediaAlt: '' } ) }\n\t\t\t\t>\n\t\t\t\t\t<WCTextareaControl\n\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={\n\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__(\n\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)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\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) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\n\t\t\t\t<MediaTextResolutionTool\n\t\t\t\t\timage={ image }\n\t\t\t\t\tvalue={ mediaSizeSlug }\n\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t\tlabel={ __( 'Align media and text vertically' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\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\n\t\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\trefMedia={ refMedia }\n\t\t\t\t\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t\tuseFeaturedImage,\n\t\t\t\t\t\tfeaturedImageURL,\n\t\t\t\t\t\tfeaturedImageAlt,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"],
|
|
5
|
-
"mappings": ";AAAA,OAAO,UAAU;AACjB,SAAS,UAAU;AACnB,SAAS,iBAAiB;
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tRangeControl,\n\tTextareaControl as WCTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { getFilename } from '@wordpress/url';\nimport MediaContainer from './media-container';\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n} from './constants';\nimport { unlock } from '../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { MediaControl } from '../utils/media-control';\n\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t\tuseFeaturedImage: false,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newLinkDestination = linkDestination;\n\t\tlet newHref = href;\n\n\t\t// Only apply default link behavior for images (not videos).\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Check if default link setting should be used.\n\t\t\tif ( ! newLinkDestination ) {\n\t\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t\tswitch (\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t\t) {\n\t\t\t\t\tcase 'file':\n\t\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\t\tnewLinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'post':\n\t\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\t\tnewLinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tnewLinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set href based on linkDestination.\n\t\t\tswitch ( newLinkDestination ) {\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tnewHref = media.url;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tnewHref = media.link;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tlinkDestination: newLinkDestination,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: false,\n\t\t} );\n\t};\n}\n\nfunction MediaTextResolutionTool( { image, value, onChange } ) {\n\tconst { imageSizes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\timageSizes: getSettings().imageSizes,\n\t\t};\n\t}, [] );\n\n\tif ( ! imageSizes?.length ) {\n\t\treturn null;\n\t}\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => getImageSourceUrlBySizeSlug( image, slug ) )\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\treturn (\n\t\t<ResolutionTool\n\t\t\tvalue={ value }\n\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\toptions={ imageSizeOptions }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nfunction MediaTextEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tmediaSizeSlug,\n\t\trel,\n\t\tverticalAlignment,\n\t\tallowedBlocks,\n\t\tuseFeaturedImage,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { featuredImageMedia } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tfeaturedImageMedia:\n\t\t\t\t\tfeaturedImage && useFeaturedImage\n\t\t\t\t\t\t? select( coreStore ).getEntityRecord(\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\tfeaturedImage,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, useFeaturedImage ]\n\t);\n\n\tconst { image } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getEntityRecord(\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\tmediaId,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst featuredImageURL = useFeaturedImage\n\t\t? featuredImageMedia?.source_url\n\t\t: '';\n\tconst featuredImageAlt = useFeaturedImage\n\t\t? featuredImageMedia?.alt_text\n\t\t: '';\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\timageFill: false,\n\t\t\tmediaType: 'image',\n\t\t\tmediaId: undefined,\n\t\t\tmediaUrl: undefined,\n\t\t\tmediaAlt: undefined,\n\t\t\tmediaLink: undefined,\n\t\t\tlinkDestination: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\tlinkClass: undefined,\n\t\t\trel: undefined,\n\t\t\thref: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t} );\n\t};\n\n\tconst refMedia = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMedia.current;\n\t\tconst { x, y } = value;\n\t\tstyle.objectPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( null );\n\t};\n\n\tconst classNames = clsx( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill-element': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst mediaInspectorPanel = isSelected ? (\n\t\t<InspectorControls group=\"content\">\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Media' ) }\n\t\t\t\tresetAll={ () => onSelectMedia( undefined ) }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Media' ) }\n\t\t\t\t\thasValue={ () => !! mediaUrl || !! useFeaturedImage }\n\t\t\t\t\tonDeselect={ () => onSelectMedia( undefined ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<MediaControl\n\t\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\t\tmediaUrl={ mediaUrl || featuredImageURL }\n\t\t\t\t\t\tfilename={\n\t\t\t\t\t\t\timage?.media_details?.sizes?.full?.file ||\n\t\t\t\t\t\t\timage?.slug ||\n\t\t\t\t\t\t\tgetFilename( mediaUrl )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ () => onSelectMedia( undefined ) }\n\t\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t\temptyLabel={ __( 'Add media' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t) : null;\n\n\tconst mediaTextGeneralSettings = (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\timageFill: false,\n\t\t\t\t\tmediaAlt: '',\n\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\tmediaWidth: 50,\n\t\t\t\t} );\n\t\t\t\tupdateImage( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => mediaWidth !== 50 }\n\t\t\t\tonDeselect={ () => setAttributes( { mediaWidth: 50 } ) }\n\t\t\t>\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => ! isStackedOnMobile }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( { isStackedOnMobile: true } )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! imageFill }\n\t\t\t\t\tonDeselect={ () => setAttributes( { imageFill: false } ) }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\t\tchecked={ !! imageFill }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\timageFill: ! imageFill,\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</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ imageFill &&\n\t\t\t\t( mediaUrl || featuredImageURL ) &&\n\t\t\t\tmediaType === 'image' && (\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( { focalPoint: undefined } )\n\t\t\t\t\t\t}\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={\n\t\t\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t\t\t}\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/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t{ mediaType === 'image' && mediaUrl && ! useFeaturedImage && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! mediaAlt }\n\t\t\t\t\tonDeselect={ () => setAttributes( { mediaAlt: '' } ) }\n\t\t\t\t>\n\t\t\t\t\t<WCTextareaControl\n\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={\n\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__(\n\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)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\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) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\n\t\t\t\t<MediaTextResolutionTool\n\t\t\t\t\timage={ image }\n\t\t\t\t\tvalue={ mediaSizeSlug }\n\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t{ mediaInspectorPanel }\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t\tlabel={ __( 'Align media and text vertically' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\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\n\t\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\trefMedia={ refMedia }\n\t\t\t\t\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t\tuseFeaturedImage,\n\t\t\t\t\t\tfeaturedImageURL,\n\t\t\t\t\t\tfeaturedImageAlt,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAO,UAAU;AACjB,SAAS,UAAU;AACnB,SAAS,aAAa,iBAAiB;AACvC,SAAS,UAAU,cAAc;AACjC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iCAAiC;AAAA,EACjC,SAAS;AAAA,EACT;AAAA,EACA,eAAe;AAAA,OACT;AACP;AAAA,EACC;AAAA,EACA,mBAAmB;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,4BAA4B;AAAA,EAC5B,gCAAgC;AAAA,OAC1B;AACP,SAAS,WAAW,wBAAwB;AAC5C,SAAS,UAAU,iBAAiB;AACpC,SAAS,eAAe,SAAS,iBAAiB;AAClD,SAAS,SAAS,oBAAoB;AACtC,SAAS,mBAAmB;AAC5B,OAAO,oBAAoB;AAC3B;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,cAAc;AACvB,SAAS,sCAAsC;AAC/C,SAAS,oBAAoB;AAmI3B,SAsTK,UAtTL,KAsTK,YAtTL;AAjIF,IAAM,EAAE,eAAe,IAAI,OAAQ,sBAAuB;AAG1D,IAAM,wBAAwB,CAAE,UAC/B,KAAK;AAAA,EACJ;AAAA,EACA,KAAK,IAAK,OAAO,MAAM,2BAA4B;AACpD;AAED,SAAS,4BAA6B,OAAO,MAAO;AACnD,SAAO,OAAO,eAAe,QAAS,IAAK,GAAG;AAC/C;AAEA,SAAS,oBAAqB;AAAA,EAC7B,YAAY,EAAE,iBAAiB,KAAK;AAAA,EACpC;AACD,GAAI;AACH,SAAO,CAAE,UAAW;AACnB,QAAK,CAAE,SAAS,CAAE,MAAM,KAAM;AAC7B,oBAAe;AAAA,QACd,UAAU;AAAA,QACV,SAAS;AAAA,QACT,WAAW;AAAA,QACX,UAAU;AAAA,QACV,WAAW;AAAA,QACX,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,kBAAkB;AAAA,MACnB,CAAE;AACF;AAAA,IACD;AAEA,QAAK,UAAW,MAAM,GAAI,GAAI;AAC7B,YAAM,OAAO,iBAAkB,MAAM,GAAI;AAAA,IAC1C;AAEA,QAAI;AACJ,QAAI;AAEJ,QAAK,MAAM,YAAa;AACvB,UAAK,MAAM,eAAe,SAAU;AACnC,oBAAY;AAAA,MACb,OAAO;AAGN,oBAAY;AAAA,MACb;AAAA,IACD,OAAO;AAEN,kBAAY,MAAM;AAAA,IACnB;AAEA,QAAK,cAAc,SAAU;AAE5B,YACC,MAAM,OAAO,OAAO,OACpB,MAAM,eAAe,OAAO,OAAO;AAAA,IACrC;AAEA,QAAI,qBAAqB;AACzB,QAAI,UAAU;AAGd,QAAK,cAAc,SAAU;AAE5B,UAAK,CAAE,oBAAqB;AAG3B,gBACC,QAAQ,IAAI,OAAO,MAAM,UAAU,cAAc,QACjD,uBACC;AAAA,UACD,KAAK;AAAA,UACL,KAAK;AACJ,iCAAqB;AACrB;AAAA,UACD,KAAK;AAAA,UACL,KAAK;AACJ,iCAAqB;AACrB;AAAA,UACD,KAAK;AAAA,UACL;AACC,iCAAqB;AACrB;AAAA,QACF;AAAA,MACD;AAGA,cAAS,oBAAqB;AAAA,QAC7B,KAAK;AACJ,oBAAU,MAAM;AAChB;AAAA,QACD,KAAK;AACJ,oBAAU,MAAM;AAChB;AAAA,MACF;AAAA,IACD;AAEA,kBAAe;AAAA,MACd,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf;AAAA,MACA,UAAU,OAAO,MAAM;AAAA,MACvB,WAAW,MAAM,QAAQ;AAAA,MACzB,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,kBAAkB;AAAA,IACnB,CAAE;AAAA,EACH;AACD;AAEA,SAAS,wBAAyB,EAAE,OAAO,OAAO,SAAS,GAAI;AAC9D,QAAM,EAAE,WAAW,IAAI,UAAW,CAAE,WAAY;AAC/C,UAAM,EAAE,YAAY,IAAI,OAAQ,gBAAiB;AACjD,WAAO;AAAA,MACN,YAAY,YAAY,EAAE;AAAA,IAC3B;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,MAAK,CAAE,YAAY,QAAS;AAC3B,WAAO;AAAA,EACR;AAEA,QAAM,mBAAmB,WACvB,OAAQ,CAAE,EAAE,KAAK,MAAO,4BAA6B,OAAO,IAAK,CAAE,EACnE,IAAK,CAAE,EAAE,MAAM,KAAK,OAAS,EAAE,OAAO,MAAM,OAAO,KAAK,EAAI;AAE9D,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,cAAe;AAAA,MACf,SAAU;AAAA,MACV;AAAA;AAAA,EACD;AAEF;AAEA,SAAS,cAAe;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,EAAE,QAAQ,SAAS;AAC7B,GAAI;AACH,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;AAAA,EACD,IAAI;AAEJ,QAAM,CAAE,aAAc,IAAI;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,EAAE,mBAAmB,IAAI;AAAA,IAC9B,CAAE,WAAY;AACb,aAAO;AAAA,QACN,oBACC,iBAAiB,mBACd,OAAQ,SAAU,EAAE;AAAA,UACpB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACC,SAAS;AAAA,UACV;AAAA,QACD,IACC;AAAA,MACL;AAAA,IACD;AAAA,IACA,CAAE,eAAe,gBAAiB;AAAA,EACnC;AAEA,QAAM,EAAE,MAAM,IAAI;AAAA,IACjB,CAAE,WAAY;AACb,aAAO;AAAA,QACN,OACC,WAAW,aACR,OAAQ,SAAU,EAAE;AAAA,UACpB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACC,SAAS;AAAA,UACV;AAAA,QACD,IACC;AAAA,MACL;AAAA,IACD;AAAA,IACA,CAAE,YAAY,OAAQ;AAAA,EACvB;AAEA,QAAM,mBAAmB,mBACtB,oBAAoB,aACpB;AACH,QAAM,mBAAmB,mBACtB,oBAAoB,WACpB;AAEH,QAAM,yBAAyB,MAAM;AACpC,kBAAe;AAAA,MACd,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,MACT,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,KAAK;AAAA,MACL,MAAM;AAAA,MACN,kBAAkB,CAAE;AAAA,IACrB,CAAE;AAAA,EACH;AAEA,QAAM,WAAW,OAAO;AACxB,QAAM,8BAA8B,CAAE,UAAW;AAChD,UAAM,EAAE,OAAAA,OAAM,IAAI,SAAS;AAC3B,UAAM,EAAE,GAAG,EAAE,IAAI;AACjB,IAAAA,OAAM,iBAAiB,GAAI,IAAI,GAAI,KAAM,IAAI,GAAI;AAAA,EAClD;AAEA,QAAM,CAAE,qBAAqB,sBAAuB,IAAI,SAAU,IAAK;AAEvE,QAAM,gBAAgB,oBAAqB,EAAE,YAAY,cAAc,CAAE;AAEzE,QAAM,YAAY,CAAE,UAAW;AAC9B,kBAAe,KAAM;AAAA,EACtB;AAEA,QAAM,gBAAgB,CAAE,UAAW;AAClC,2BAAwB,sBAAuB,KAAM,CAAE;AAAA,EACxD;AACA,QAAM,oBAAoB,CAAE,UAAW;AACtC,kBAAe;AAAA,MACd,YAAY,sBAAuB,KAAM;AAAA,IAC1C,CAAE;AACF,2BAAwB,IAAK;AAAA,EAC9B;AAEA,QAAM,aAAa,KAAM;AAAA,IACxB,0BAA0B,YAAY;AAAA,IACtC,eAAe;AAAA,IACf,wBAAwB;AAAA,IACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAAG;AAAA,IACpD,yBAAyB;AAAA,EAC1B,CAAE;AACF,QAAM,cAAc,GAAI,uBAAuB,UAAW;AAC1D,QAAM,sBACL,YAAY,gBACT,OAAQ,WAAY,KACpB,GAAI,WAAY;AACpB,QAAM,QAAQ;AAAA,IACb;AAAA,IACA,eAAe;AAAA,EAChB;AACA,QAAM,mBAAmB,CAAE,gBAAiB;AAC3C,kBAAe,EAAE,UAAU,YAAY,CAAE;AAAA,EAC1C;AACA,QAAM,4BAA4B,CAAE,cAAe;AAClD,kBAAe,EAAE,mBAAmB,UAAU,CAAE;AAAA,EACjD;AACA,QAAM,cAAc,CAAE,qBAAsB;AAC3C,UAAM,SAAS,4BAA6B,OAAO,gBAAiB;AAEpE,QAAK,CAAE,QAAS;AACf,aAAO;AAAA,IACR;AAEA,kBAAe;AAAA,MACd,UAAU;AAAA,MACV,eAAe;AAAA,IAChB,CAAE;AAAA,EACH;AACA,QAAM,oBAAoB,+BAA+B;AAEzD,QAAM,EAAE,kBAAkB,IAAI,YAAa,YAAa;AAExD,QAAM,gBAAgB,CAAE,YAAa;AACpC,sBAAmB,SAAS,EAAE,MAAM,WAAW,CAAE;AAAA,EAClD;AAEA,QAAM,sBAAsB,aAC3B,oBAAC,qBAAkB,OAAM,WACxB;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,OAAQ;AAAA,MACpB,UAAW,MAAM,cAAe,MAAU;AAAA,MAC1C;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACA,OAAQ,GAAI,OAAQ;AAAA,UACpB,UAAW,MAAM,CAAC,CAAE,YAAY,CAAC,CAAE;AAAA,UACnC,YAAa,MAAM,cAAe,MAAU;AAAA,UAC5C,kBAAgB;AAAA,UAEhB;AAAA,YAAC;AAAA;AAAA,cACA;AAAA,cACA,UAAW,YAAY;AAAA,cACvB,UACC,OAAO,eAAe,OAAO,MAAM,QACnC,OAAO,QACP,YAAa,QAAS;AAAA,cAEvB,cAAe;AAAA,cACf,UAAW;AAAA,cACX,SAAU;AAAA,cACV,SAAU,MAAM,cAAe,MAAU;AAAA,cACzC;AAAA,cACA,uBAAwB;AAAA,cACxB,YAAa,GAAI,WAAY;AAAA;AAAA,UAC9B;AAAA;AAAA,MACD;AAAA;AAAA,EACD,GACD,IACG;AAEJ,QAAM,2BACL;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,UAAW;AAAA,MACvB,UAAW,MAAM;AAChB,sBAAe;AAAA,UACd,mBAAmB;AAAA,UACnB,WAAW;AAAA,UACX,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,YAAY;AAAA,QACb,CAAE;AACF,oBAAa,uBAAwB;AAAA,MACtC;AAAA,MACA;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,GAAI,aAAc;AAAA,YAC1B,kBAAgB;AAAA,YAChB,UAAW,MAAM,eAAe;AAAA,YAChC,YAAa,MAAM,cAAe,EAAE,YAAY,GAAG,CAAE;AAAA,YAErD;AAAA,cAAC;AAAA;AAAA,gBACA,OAAQ,GAAI,aAAc;AAAA,gBAC1B,OAAQ,uBAAuB;AAAA,gBAC/B,UAAW;AAAA,gBACX,KAAM;AAAA,gBACN,KAAM,MAAM;AAAA;AAAA,YACb;AAAA;AAAA,QACD;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,GAAI,iBAAkB;AAAA,YAC9B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAE;AAAA,YACnB,YAAa,MACZ,cAAe,EAAE,mBAAmB,KAAK,CAAE;AAAA,YAG5C;AAAA,cAAC;AAAA;AAAA,gBACA,OAAQ,GAAI,iBAAkB;AAAA,gBAC9B,SAAU;AAAA,gBACV,UAAW,MACV,cAAe;AAAA,kBACd,mBAAmB,CAAE;AAAA,gBACtB,CAAE;AAAA;AAAA,YAEJ;AAAA;AAAA,QACD;AAAA,QACE,cAAc,WACf;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,GAAI,oBAAqB;AAAA,YACjC,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MAAM,cAAe,EAAE,WAAW,MAAM,CAAE;AAAA,YAEvD;AAAA,cAAC;AAAA;AAAA,gBACA,OAAQ,GAAI,oBAAqB;AAAA,gBACjC,SAAU,CAAC,CAAE;AAAA,gBACb,UAAW,MACV,cAAe;AAAA,kBACd,WAAW,CAAE;AAAA,gBACd,CAAE;AAAA;AAAA,YAEJ;AAAA;AAAA,QACD;AAAA,QAEC,cACC,YAAY,qBACd,cAAc,WACb;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,GAAI,aAAc;AAAA,YAC1B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MACZ,cAAe,EAAE,YAAY,OAAU,CAAE;AAAA,YAG1C;AAAA,cAAC;AAAA;AAAA,gBACA,OAAQ,GAAI,aAAc;AAAA,gBAC1B,KACC,oBAAoB,mBACjB,mBACA;AAAA,gBAEJ,OAAQ;AAAA,gBACR,UAAW,CAAE,UACZ,cAAe,EAAE,YAAY,MAAM,CAAE;AAAA,gBAEtC,aAAc;AAAA,gBACd,QAAS;AAAA;AAAA,YACV;AAAA;AAAA,QACD;AAAA,QAEA,cAAc,WAAW,YAAY,CAAE,oBACxC;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,GAAI,kBAAmB;AAAA,YAC/B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MAAM,cAAe,EAAE,UAAU,GAAG,CAAE;AAAA,YAEnD;AAAA,cAAC;AAAA;AAAA,gBACA,OAAQ,GAAI,kBAAmB;AAAA,gBAC/B,OAAQ;AAAA,gBACR,UAAW;AAAA,gBACX,MACC,iCACC;AAAA;AAAA,oBAAC;AAAA;AAAA,sBACA;AAAA;AAAA,wBAEC;AAAA,0BACC;AAAA,wBACD;AAAA;AAAA,sBAGC;AAAA,wBACD;AAAA,sBACD;AAAA;AAAA,kBACD;AAAA,kBACA,oBAAC,QAAG;AAAA,kBACF,GAAI,4BAA6B;AAAA,mBACpC;AAAA;AAAA,YAEF;AAAA;AAAA,QACD;AAAA,QAEC,cAAc,WAAW,CAAE,oBAC5B;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA,OAAQ;AAAA,YACR,UAAW;AAAA;AAAA,QACZ;AAAA;AAAA;AAAA,EAEF;AAGD,QAAM,aAAa,cAAe;AAAA,IACjC,WAAW;AAAA,IACX;AAAA,EACD,CAAE;AAEF,QAAM,mBAAmB;AAAA,IACxB,EAAE,WAAW,+BAA+B;AAAA,IAC5C,EAAE,cAAc;AAAA,EACjB;AAEA,QAAM,mBAAmB,oBAAoB;AAE7C,SACC,iCACG;AAAA;AAAA,IACF,oBAAC,qBAAoB,oCAA0B;AAAA,IAC/C,qBAAC,iBAAc,OAAM,SAClB;AAAA,2BAAqB,aACtB,iCACC;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,UAAW;AAAA,YACX,OAAQ;AAAA,YACR,OAAQ,GAAI,iCAAkC;AAAA;AAAA,QAC/C;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,MAAO;AAAA,YACP,OAAQ,GAAI,oBAAqB;AAAA,YACjC,UAAW,kBAAkB;AAAA,YAC7B,SAAU,MACT,cAAe,EAAE,eAAe,OAAO,CAAE;AAAA;AAAA,QAE3C;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,MAAO;AAAA,YACP,OAAQ,GAAI,qBAAsB;AAAA,YAClC,UAAW,kBAAkB;AAAA,YAC7B,SAAU,MACT,cAAe,EAAE,eAAe,QAAQ,CAAE;AAAA;AAAA,QAE5C;AAAA,SACD;AAAA,MAGC,cAAc,WAAW,CAAE,oBAC5B;AAAA,QAAC;AAAA;AAAA,UACA,KAAM,QAAQ;AAAA,UACd,aAAc;AAAA,UACd;AAAA,UACA;AAAA,UACA,UAAW,SAAS,MAAM;AAAA,UAC1B,WAAY,SAAS,MAAM;AAAA,UAC3B;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACD;AAAA,OAEF;AAAA,IACA,qBAAC,SAAM,GAAG,YACP;AAAA,wBAAkB,WAAW,oBAAC,SAAM,GAAG,kBAAmB;AAAA,MAC5D;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAe,qBAAqB;AAAA,UACpC;AAAA,UACE,GAAG;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA;AAAA,MACD;AAAA,MACE,kBAAkB,WAAW,oBAAC,SAAM,GAAG,kBAAmB;AAAA,OAC7D;AAAA,KACD;AAEF;AAEA,IAAO,eAAQ;",
|
|
6
6
|
"names": ["style"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/media-text/image-fill.js"],
|
|
4
|
-
"sourcesContent": ["export function imageFillStyles( url, focalPoint ) {\n\treturn url\n\t\t? {\n\t\t\t\tobjectPosition: focalPoint\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t
|
|
5
|
-
"mappings": ";AAAO,SAAS,gBAAiB,KAAK,YAAa;AAClD,SAAO,MACJ;AAAA,IACA,gBAAgB,aACb,GAAI,KAAK,MAAO,WAAW,IAAI,GAAI,CAAE,KAAM,KAAK;AAAA,MAChD,WAAW,IAAI;AAAA,
|
|
4
|
+
"sourcesContent": ["export function imageFillStyles( url, focalPoint ) {\n\treturn url\n\t\t? {\n\t\t\t\tobjectPosition: focalPoint\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t\t) }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t\t}\n\t\t: {};\n}\n"],
|
|
5
|
+
"mappings": ";AAAO,SAAS,gBAAiB,KAAK,YAAa;AAClD,SAAO,MACJ;AAAA,IACA,gBAAgB,aACb,GAAI,KAAK,MAAO,WAAW,IAAI,GAAI,CAAE,KAAM,KAAK;AAAA,MAChD,WAAW,IAAI;AAAA,IAChB,CAAE,MACD;AAAA,EACJ,IACC,CAAC;AACL;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -16,8 +16,8 @@ import { createBlobURL, isBlobURL } from "@wordpress/blob";
|
|
|
16
16
|
import { store as noticesStore } from "@wordpress/notices";
|
|
17
17
|
import { media as icon } from "@wordpress/icons";
|
|
18
18
|
import { imageFillStyles } from "./image-fill.mjs";
|
|
19
|
+
import { ALLOWED_MEDIA_TYPES } from "./constants.mjs";
|
|
19
20
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
20
|
-
var ALLOWED_MEDIA_TYPES = ["image", "video"];
|
|
21
21
|
var noop = () => {
|
|
22
22
|
};
|
|
23
23
|
var ResizableBoxContainer = forwardRef(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/media-text/media-container.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport { ResizableBox, Spinner, Placeholder } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\nimport { imageFillStyles } from './image-fill';\n\n/**\n * Constants\n */\nconst
|
|
5
|
-
"mappings": ";AAAA,OAAO,UAAU;AACjB,SAAS,cAAc,SAAS,mBAAmB;AACnD;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,OACH;AACP,SAAS,UAAU;AACnB,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,eAAe,iBAAiB;AACzC,SAAS,SAAS,oBAAoB;AACtC,SAAS,SAAS,YAAY;AAC9B,SAAS,uBAAuB;
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { ResizableBox, Spinner, Placeholder } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\nimport { imageFillStyles } from './image-fill';\nimport { ALLOWED_MEDIA_TYPES } from './constants';\n\n/**\n * Constants\n */\nconst noop = () => {};\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( {\n\tmediaId,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n\tuseFeaturedImage,\n} ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\tname={ mediaUrl ? __( 'Replace' ) : __( 'Add media' ) }\n\t\t\t\tonReset={ () => onSelectMedia( undefined ) }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( {\n\tclassName,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst onFilesPreUpload = ( files ) => {\n\t\tif ( files.length === 1 ) {\n\t\t\tonSelectMedia( { url: createBlobURL( files[ 0 ] ) } );\n\t\t}\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tonFilesPreUpload={ onFilesPreUpload }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t\tenableResize,\n\t\ttoggleUseFeaturedImage,\n\t\tuseFeaturedImage,\n\t\tfeaturedImageURL,\n\t\tfeaturedImageAlt,\n\t\trefMedia,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tconst toolbarEditButton = (\n\t\t<ToolbarEditButton\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tmediaUrl={\n\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t: mediaUrl\n\t\t\t}\n\t\t\tmediaId={ mediaId }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t/>\n\t);\n\n\tif ( mediaUrl || featuredImageURL || useFeaturedImage ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: enableResize && mediaPosition === 'left',\n\t\t\tleft: enableResize && mediaPosition === 'right',\n\t\t};\n\n\t\tconst positionStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl || featuredImageURL, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () =>\n\t\t\t\tuseFeaturedImage && featuredImageURL ? (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ refMedia }\n\t\t\t\t\t\tsrc={ featuredImageURL }\n\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\tstyle={ positionStyles }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\tmediaUrl && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ refMedia }\n\t\t\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tstyle={ positionStyles }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\tvideo: () => <video controls ref={ refMedia } src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t{ toolbarEditButton }\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t{ ! useFeaturedImage && <PlaceholderContainer { ...props } /> }\n\t\t\t\t{ ! featuredImageURL && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-media-text--placeholder-image\"\n\t\t\t\t\t\tstyle={ positionStyles }\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ toolbarEditButton }\n\t\t\t<PlaceholderContainer { ...props } />\n\t\t</>\n\t);\n}\n\nexport default forwardRef( MediaContainer );\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -257,10 +257,7 @@ function Navigation({
|
|
|
257
257
|
hasSelectedStyleState
|
|
258
258
|
} = useSelect(
|
|
259
259
|
(select) => {
|
|
260
|
-
const {
|
|
261
|
-
getSettings,
|
|
262
|
-
hasSelectedStyleState: hasSelectedBlockStyleState
|
|
263
|
-
} = unlock(select(blockEditorStore));
|
|
260
|
+
const { getSettings, hasSelectedBlockStyleState } = select(blockEditorStore);
|
|
264
261
|
const settings = getSettings();
|
|
265
262
|
return {
|
|
266
263
|
isPreviewMode: settings.isPreviewMode,
|