@wordpress/block-library 11.0.0 → 11.0.2-next.v.202609171837.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 +18 -0
- package/README.md +7 -7
- package/build/archives/edit.cjs.map +3 -3
- package/build/audio/edit.cjs.map +3 -3
- package/build/avatar/hooks.cjs.map +2 -2
- package/build/button/edit.cjs.map +2 -2
- package/build/categories/edit.cjs.map +3 -3
- package/build/code/block.json +1 -0
- package/build/code/save.cjs.map +2 -2
- package/build/comment-template/hooks.cjs.map +2 -2
- package/build/cover/edit/index.cjs.map +2 -2
- package/build/cover/edit/inspector-controls.cjs.map +2 -2
- package/build/cover/transforms.cjs.map +2 -2
- package/build/details/block.json +1 -0
- package/build/details/index.cjs.map +2 -2
- package/build/embed/embed-controls.cjs.map +2 -2
- 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 +1 -0
- package/build/footnotes/edit.cjs.map +2 -2
- package/build/gallery/dynamic-gallery.cjs.map +3 -3
- package/build/gallery/edit.cjs +64 -37
- 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/heading/block.json +2 -0
- package/build/heading/index.cjs.map +2 -2
- 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.map +2 -2
- package/build/index.cjs.map +2 -2
- package/build/latest-comments/edit.cjs.map +3 -3
- 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/math/block.json +2 -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/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.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/shared/invalid-draft-display.cjs.map +2 -2
- package/build/navigation-submenu/edit.cjs.map +2 -2
- package/build/paragraph/block.json +1 -0
- 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/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-name/edit.cjs.map +2 -2
- package/build/post-content/block.json +1 -0
- package/build/post-date/edit.cjs.map +2 -2
- package/build/post-excerpt/block.json +1 -0
- package/build/post-excerpt/edit.cjs.map +2 -2
- package/build/post-featured-image/edit.cjs.map +2 -2
- package/build/post-navigation-link/edit.cjs.map +3 -3
- package/build/post-time-to-read/edit.cjs.map +2 -2
- 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-title/use-archive-label.cjs.map +2 -2
- package/build/quote/deprecated.cjs.map +2 -2
- package/build/quote/transforms.cjs.map +2 -2
- package/build/search/edit.cjs.map +3 -3
- package/build/separator/edit.cjs.map +3 -3
- package/build/social-links/edit.cjs.map +3 -3
- package/build/table/state.cjs.map +2 -2
- package/build/table-of-contents/edit.cjs.map +3 -3
- package/build/table-of-contents/utils.cjs.map +2 -2
- package/build/tabs/use-tab-actions.cjs.map +2 -2
- 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/term-count/use-term-count.cjs.map +2 -2
- package/build/term-description/use-term-description.cjs.map +2 -2
- package/build/term-name/use-term-name.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/index.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/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/verse/block.json +1 -0
- package/build/video/edit-common-settings.cjs.map +3 -3
- package/build/video/tracks-editor.cjs.map +3 -3
- package/build-module/archives/edit.mjs +2 -2
- package/build-module/archives/edit.mjs.map +2 -2
- 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/button/edit.mjs.map +2 -2
- package/build-module/categories/edit.mjs +2 -2
- package/build-module/categories/edit.mjs.map +2 -2
- package/build-module/code/block.json +1 -0
- package/build-module/code/save.mjs.map +2 -2
- package/build-module/comment-template/hooks.mjs.map +2 -2
- package/build-module/cover/edit/index.mjs.map +2 -2
- package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
- package/build-module/cover/transforms.mjs.map +2 -2
- package/build-module/details/block.json +1 -0
- package/build-module/details/index.mjs.map +2 -2
- package/build-module/embed/embed-controls.mjs.map +2 -2
- package/build-module/file/deprecated.mjs.map +2 -2
- package/build-module/file/edit.mjs.map +2 -2
- package/build-module/file/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 +1 -0
- package/build-module/footnotes/edit.mjs.map +2 -2
- 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 +67 -40
- 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/heading/block.json +2 -0
- package/build-module/heading/index.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.map +2 -2
- package/build-module/index.mjs.map +2 -2
- package/build-module/latest-comments/edit.mjs +2 -2
- package/build-module/latest-comments/edit.mjs.map +2 -2
- 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/math/block.json +2 -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/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.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/shared/invalid-draft-display.mjs.map +2 -2
- package/build-module/navigation-submenu/edit.mjs.map +2 -2
- package/build-module/paragraph/block.json +1 -0
- 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/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-name/edit.mjs.map +2 -2
- package/build-module/post-content/block.json +1 -0
- package/build-module/post-date/edit.mjs.map +2 -2
- package/build-module/post-excerpt/block.json +1 -0
- package/build-module/post-excerpt/edit.mjs.map +2 -2
- package/build-module/post-featured-image/edit.mjs.map +2 -2
- package/build-module/post-navigation-link/edit.mjs +2 -2
- package/build-module/post-navigation-link/edit.mjs.map +2 -2
- package/build-module/post-time-to-read/edit.mjs.map +2 -2
- 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-title/use-archive-label.mjs.map +2 -2
- package/build-module/quote/deprecated.mjs.map +2 -2
- package/build-module/quote/transforms.mjs.map +2 -2
- 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/social-links/edit.mjs +2 -2
- package/build-module/social-links/edit.mjs.map +2 -2
- package/build-module/table/state.mjs.map +2 -2
- 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/use-tab-actions.mjs.map +2 -2
- 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/term-count/use-term-count.mjs.map +2 -2
- package/build-module/term-description/use-term-description.mjs.map +2 -2
- package/build-module/term-name/use-term-name.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/index.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/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/verse/block.json +1 -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/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 +9 -5
- package/build-style/editor.css +9 -5
- 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/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 +1 -1
- package/build-style/navigation/style.css +1 -1
- 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 +23 -19
- package/build-style/style.css +23 -19
- 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 +40 -40
- package/src/archives/edit.jsx +2 -2
- package/src/audio/edit.jsx +2 -2
- package/src/avatar/hooks.js +2 -2
- package/src/button/edit.jsx +1 -1
- package/src/button/style.scss +2 -2
- package/src/calendar/index.php +1 -1
- package/src/categories/edit.jsx +2 -2
- package/src/code/README.md +1 -0
- package/src/code/block.json +1 -0
- package/src/code/save.jsx +1 -1
- package/src/columns/style.scss +2 -3
- package/src/comment-template/hooks.js +1 -1
- package/src/comments/style.scss +1 -1
- package/src/common.scss +1 -2
- package/src/cover/edit/index.jsx +2 -2
- package/src/cover/edit/inspector-controls.jsx +2 -2
- package/src/cover/style.scss +10 -0
- package/src/cover/test/{edit.jsdom.test.js → edit.browser.test.js} +104 -145
- package/src/cover/transforms.js +3 -3
- package/src/details/README.md +1 -0
- package/src/details/block.json +1 -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/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 +1 -0
- package/src/footnotes/block.json +1 -0
- package/src/footnotes/edit.jsx +1 -1
- package/src/gallery/dynamic-gallery.jsx +4 -4
- package/src/gallery/edit.jsx +121 -68
- 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/heading/README.md +2 -0
- package/src/heading/block.json +2 -0
- package/src/heading/index.js +2 -2
- package/src/html/modal.jsx +0 -3
- package/src/image/edit.jsx +1 -1
- package/src/image/image.jsx +7 -7
- 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 +1 -1
- package/src/index.jsx +1 -1
- package/src/latest-comments/edit.jsx +2 -2
- 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/math/README.md +2 -2
- package/src/math/block.json +2 -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/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 +1 -1
- 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 +1 -1
- 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/shared/invalid-draft-display.jsx +2 -2
- package/src/navigation-link/test/__snapshots__/hooks.jsdom.test.js.snap +41 -11
- package/src/navigation-submenu/edit.jsx +1 -1
- package/src/paragraph/README.md +1 -0
- package/src/paragraph/block.json +1 -0
- package/src/paragraph/edit.jsx +1 -1
- package/src/paragraph/index.js +7 -0
- package/src/pattern/index.php +2 -2
- 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-name/edit.jsx +1 -1
- package/src/post-content/README.md +1 -0
- package/src/post-content/block.json +1 -0
- package/src/post-date/edit.jsx +2 -2
- package/src/post-excerpt/README.md +1 -0
- package/src/post-excerpt/block.json +1 -0
- package/src/post-excerpt/edit.jsx +1 -1
- package/src/post-featured-image/edit.jsx +2 -2
- package/src/post-navigation-link/edit.jsx +4 -4
- package/src/post-time-to-read/edit.jsx +2 -2
- package/src/post-title/style.scss +2 -3
- 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-pagination/editor.scss +0 -3
- package/src/query-title/use-archive-label.js +1 -1
- package/src/quote/deprecated.jsx +2 -2
- package/src/quote/transforms.js +3 -3
- package/src/search/edit.jsx +6 -6
- package/src/search/theme.scss +1 -1
- package/src/separator/edit.jsx +7 -4
- package/src/social-links/edit.jsx +2 -2
- package/src/table/state.js +1 -1
- package/src/table-of-contents/edit.jsx +6 -6
- package/src/table-of-contents/utils.ts +2 -2
- package/src/tabs/use-tab-actions.js +1 -1
- 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/term-count/use-term-count.js +1 -1
- package/src/term-description/use-term-description.js +1 -1
- package/src/term-name/use-term-name.js +1 -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/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/edit-common-settings.jsx +3 -3
- package/src/video/tracks-editor.jsx +2 -2
- package/build/gallery/flex-styles.cjs.map +0 -7
- package/build-module/gallery/flex-styles.mjs.map +0 -7
- package/src/gallery/flex-styles.js +0 -99
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cover/edit/index.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { Placeholder, SandBox, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { createBlocksFromInnerBlocksTemplate } from '@wordpress/blocks';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tEMBED_VIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\nimport { getBackgroundEmbedHtml } from '../embed-video-utils';\nimport { unlock } from '../../lock-unlock';\n\nconst { openMediaEditorModalKey } = unlock( blockEditorPrivateApis );\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\tstyle: {\n\t\t\t\t\ttypography: {\n\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t\tsizeSlug,\n\t\tposter,\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\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst openMediaEditorModal = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()[ openMediaEditorModalKey ],\n\t\t[]\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tconst registry = useRegistry();\n\n\t// Ref to access latest values after async operations (e.g. getMediaColor),\n\t// avoiding stale values that could overwrite concurrent remote changes.\n\tconst propsRef = useRef( { attributes, overlayColor } );\n\tuseLayoutEffect( () => {\n\t\tpropsRef.current = { attributes, overlayColor };\n\t} );\n\n\tconst { media } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tmedia:\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\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ??\n\t\tmedia?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\t// Read latest values after await to avoid stale closures.\n\t\t\tconst { attributes: currentAttrs, overlayColor: currentOverlay } =\n\t\t\t\tpropsRef.current;\n\n\t\t\tlet newOverlayColor = currentOverlay.color;\n\t\t\tif ( ! currentAttrs.isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tcurrentAttrs.dimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: currentAttrs.isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Update the block only when the featured image changes.\n\t\t// The other dependencies are stable references (dispatch actions / setters).\n\t}, [\n\t\tmediaUrl,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetAttributes,\n\t\tsetOverlayColor,\n\t\tuseFeaturedImage,\n\t] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\t// Create the initial inner paragraph when the block gains a background\n\t// and has no content yet.\n\tconst scaffoldInnerBlocks = () => {\n\t\tconst {\n\t\t\tgetBlocks,\n\t\t\tisBlockSelected,\n\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t} = registry.select( blockEditorStore );\n\t\tif ( getBlocks( clientId ).length > 0 ) {\n\t\t\treturn;\n\t\t}\n\t\t// Check for fontSize support before we pass a fontSize attribute to\n\t\t// the innerBlocks.\n\t\tconst [ fontSizes ] = unlock(\n\t\t\tregistry.select( blockEditorStore )\n\t\t).getBlockSettings( clientId, 'typography.fontSizes' );\n\t\tconst hasFontSizes = fontSizes?.length > 0;\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\tgetInnerBlocksTemplate( {\n\t\t\t\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t\t\t\t} )\n\t\t\t),\n\t\t\tisBlockSelected( clientId ),\n\t\t\tgetSelectedBlocksInitialCaretPosition()\n\t\t);\n\t};\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\t// Read latest values to avoid stale closures.\n\t\tconst { attributes: currentAttrs, overlayColor: currentOverlay } =\n\t\t\tpropsRef.current;\n\n\t\tlet newOverlayColor = currentOverlay.color;\n\t\tif ( ! currentAttrs.isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t// Fold next attribute change into the same undo level as the setOverlayColor above.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\tcurrentAttrs.url === undefined && currentAttrs.dimRatio === 100\n\t\t\t\t? 50\n\t\t\t\t: currentAttrs.dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tif ( backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes?.id ) {\n\t\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t\t// Try to use the previous selected image size if it's available\n\t\t\t// otherwise try the default image size or fallback to full size.\n\t\t\tif (\n\t\t\t\tsizeSlug &&\n\t\t\t\t( newMedia?.sizes?.[ sizeSlug ] ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ] )\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = sizeSlug;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ sizeSlug ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ]?.source_url;\n\t\t\t} else if (\n\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ] ||\n\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = imageDefaultSize;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t\t\t\t?.source_url;\n\t\t\t} else {\n\t\t\t\tmediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\t}\n\t\t}\n\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( {\n\t\t\t\t...mediaAttributes,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t\tuseFeaturedImage: undefined,\n\t\t\t\tdimRatio: newDimRatio,\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: currentAttrs.isUserOverlayColor || false,\n\t\t\t} );\n\n\t\t\tscaffoldInnerBlocks();\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\n\t\t// Skip for embeds, which never auto-assign an overlay color; otherwise\n\t\t// the non-persistent flag lands on the media reset itself (unsaveable).\n\t\tif ( ! isUserOverlayColor && overlayColor.color ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\t\t\t// Fold next attribute change into the same undo level as the setOverlayColor above.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\n\t\t// Read latest dimRatio after await to avoid stale closure.\n\t\tconst { attributes: currentAttrs } = propsRef.current;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tcurrentAttrs.dimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\t\t// Fold next attribute change into the same undo level as the setOverlayColor above.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( {\n\t\t\t\tisUserOverlayColor: true,\n\t\t\t\tisDark: newIsDark,\n\t\t\t} );\n\n\t\t\t// Skip when the color is cleared: that returns the block to its\n\t\t\t// placeholder, which only renders while there is no content.\n\t\t\tif ( newOverlayColor ) {\n\t\t\t\tscaffoldInnerBlocks();\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\n\t\t// Read latest overlayColor after await to avoid stale closure.\n\t\tconst { overlayColor: currentOverlay } = propsRef.current;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tcurrentOverlay.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst onSelectEmbedUrl = ( embedUrl ) => {\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\t// Set initial attributes with URL\n\t\tsetAttributes( {\n\t\t\turl: embedUrl,\n\t\t\tbackgroundType: EMBED_VIDEO_BACKGROUND_TYPE,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tid: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t} );\n\t};\n\n\t// Fetch embed preview for embed videos\n\tconst { embedPreview, isFetchingEmbed } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( backgroundType !== EMBED_VIDEO_BACKGROUND_TYPE || ! url ) {\n\t\t\t\treturn {\n\t\t\t\t\tembedPreview: undefined,\n\t\t\t\t\tisFetchingEmbed: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst { getEmbedPreview, isRequestingEmbedPreview } =\n\t\t\t\tselect( coreStore );\n\n\t\t\treturn {\n\t\t\t\tembedPreview: getEmbedPreview( url ),\n\t\t\t\tisFetchingEmbed: isRequestingEmbedPreview( url ),\n\t\t\t};\n\t\t},\n\t\t[ url, backgroundType ]\n\t);\n\n\t// Compute embed HTML for editor display via SandBox\n\tconst embedHtml = useMemo( () => {\n\t\tif (\n\t\t\tbackgroundType !== EMBED_VIDEO_BACKGROUND_TYPE ||\n\t\t\t! embedPreview?.html\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\treturn getBackgroundEmbedHtml( embedPreview.html );\n\t}, [ embedPreview, backgroundType ] );\n\n\t// Set while the media editor has pointed the cover at a freshly\n\t// generated file the browser hasn't finished loading; cleared by the\n\t// background <img> load/error handlers (or immediately after\n\t// setAttributes for CSS backgrounds, which never fire load events).\n\tconst [ isSwappingMedia, setIsSwappingMedia ] = useState( false );\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\tconst isEmbedVideoBackground =\n\t\tEMBED_VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' && minHeight ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst editMediaButtonRef = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst openCoverMediaEditorModal = useCallback( () => {\n\t\tif ( ! id || ! openMediaEditorModal ) {\n\t\t\treturn;\n\t\t}\n\n\t\topenMediaEditorModal( {\n\t\t\tid,\n\t\t\tonClose: () => {\n\t\t\t\teditMediaButtonRef.current?.focus();\n\t\t\t},\n\t\t\tonUpdate: async ( { id: newId, url: newUrl } ) => {\n\t\t\t\tif ( typeof newId !== 'number' ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( newId !== id && newUrl ) {\n\t\t\t\t\tsetIsSwappingMedia( true );\n\t\t\t\t}\n\n\t\t\t\tconst nextAttributes = {\n\t\t\t\t\tid: newId,\n\t\t\t\t\tbackgroundType: IMAGE_BACKGROUND_TYPE,\n\t\t\t\t\t...( newUrl ? { url: newUrl } : {} ),\n\t\t\t\t\t...( newId !== id\n\t\t\t\t\t\t? { sizeSlug: DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\t\t\t\t: {} ),\n\t\t\t\t};\n\n\t\t\t\tif ( newUrl ) {\n\t\t\t\t\tconst averageBackgroundColor =\n\t\t\t\t\t\tawait getMediaColor( newUrl );\n\n\t\t\t\t\t// Read latest values after await to avoid stale closures.\n\t\t\t\t\tconst {\n\t\t\t\t\t\tattributes: currentAttrs,\n\t\t\t\t\t\toverlayColor: currentOverlay,\n\t\t\t\t\t} = propsRef.current;\n\n\t\t\t\t\tlet newOverlayColor = currentOverlay.color;\n\t\t\t\t\tif ( ! currentAttrs.isUserOverlayColor ) {\n\t\t\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t\t\t\t// Fold next attribute change into the same undo level as the setOverlayColor above.\n\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t}\n\n\t\t\t\t\tnextAttributes.isDark = compositeIsDark(\n\t\t\t\t\t\tcurrentAttrs.dimRatio,\n\t\t\t\t\t\tnewOverlayColor,\n\t\t\t\t\t\taverageBackgroundColor\n\t\t\t\t\t);\n\t\t\t\t\tnextAttributes.isUserOverlayColor =\n\t\t\t\t\t\tcurrentAttrs.isUserOverlayColor || false;\n\t\t\t\t}\n\n\t\t\t\tsetAttributes( nextAttributes );\n\n\t\t\t\t// A CSS background (parallax/repeated) renders as a div and\n\t\t\t\t// never fires a load event; getMediaColor already fetched\n\t\t\t\t// the file, so the swap is done once attributes are set.\n\t\t\t\tconst {\n\t\t\t\t\thasParallax: currentHasParallax,\n\t\t\t\t\tisRepeated: currentIsRepeated,\n\t\t\t\t} = propsRef.current.attributes;\n\t\t\t\tif ( currentHasParallax || currentIsRepeated ) {\n\t\t\t\t\tsetIsSwappingMedia( false );\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\t}, [\n\t\tid,\n\t\topenMediaEditorModal,\n\t\tsetAttributes,\n\t\tsetOverlayColor,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst showEditMediaButton =\n\t\thasNonContentControls &&\n\t\t! useFeaturedImage &&\n\t\tisImageBackground &&\n\t\t!! id &&\n\t\t!! url &&\n\t\t! isUploadingMedia &&\n\t\t!! openMediaEditorModal;\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\t// Read latest values after await to avoid stale closures.\n\t\tconst { attributes: currentAttrs, overlayColor: currentOverlay } =\n\t\t\tpropsRef.current;\n\n\t\tconst newOverlayColor = ! currentAttrs.isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: currentOverlay.color;\n\n\t\tif ( ! currentAttrs.isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\t\t\t// Fold next attribute change into the same undo level as the setOverlayColor above.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio =\n\t\t\tcurrentAttrs.dimRatio === 100 ? 50 : currentAttrs.dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( {\n\t\t\t\tid: undefined,\n\t\t\t\turl: undefined,\n\t\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\t\tdimRatio: newDimRatio,\n\t\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t\t: undefined,\n\t\t\t\tisDark: newIsDark,\n\t\t\t} );\n\n\t\t\t// Skip when the featured image is disabled: that can return the\n\t\t\t// block to its placeholder, which only renders while there is no\n\t\t\t// content.\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tscaffoldInnerBlocks();\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tonSelectEmbedUrl={ onSelectEmbedUrl }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\tonEditMedia={ openCoverMediaEditorModal }\n\t\t\teditMediaButtonRef={ editMediaButtonRef }\n\t\t\tshowEditMediaButton={ showEditMediaButton }\n\t\t\tisEditMediaDisabled={ isSwappingMedia }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t\tfeaturedImage={ media }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ clsx( 'is-placeholder', blockProps.className ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tpresentation=\"toggle-buttons\"\n\t\t\t\t\t\t\t\taria-label={ __( 'Overlay color' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = clsx(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia || isSwappingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t\tonLoad={ () => setIsSwappingMedia( false ) }\n\t\t\t\t\t\t\tonError={ () => setIsSwappingMedia( false ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isEmbedVideoBackground && embedHtml && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background wp-block-cover__embed-background\"\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<SandBox\n\t\t\t\t\t\t\tallowSameOrigin\n\t\t\t\t\t\t\thtml={ embedHtml }\n\t\t\t\t\t\t\ttitle=\"Background video\"\n\t\t\t\t\t\t\tstyles={ [\n\t\t\t\t\t\t\t\t'iframe{position:fixed;top:0;left:0;width:100%;height:100%;}',\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ isEmbedVideoBackground && ! embedHtml && isFetchingEmbed && (\n\t\t\t\t\t<Spinner />\n\t\t\t\t) }\n\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ( isUploadingMedia || isSwappingMedia ) && <Spinner /> }\n\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { Placeholder, SandBox, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { createBlocksFromInnerBlocksTemplate } from '@wordpress/blocks';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tEMBED_VIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\nimport { getBackgroundEmbedHtml } from '../embed-video-utils';\nimport { unlock } from '../../lock-unlock';\n\nconst { openMediaEditorModalKey } = unlock( blockEditorPrivateApis );\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\tstyle: {\n\t\t\t\t\ttypography: {\n\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t\tsizeSlug,\n\t\tposter,\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\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst openMediaEditorModal = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()[ openMediaEditorModalKey ],\n\t\t[]\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tconst registry = useRegistry();\n\n\t// Ref to access latest values after async operations (e.g. getMediaColor),\n\t// avoiding stale values that could overwrite concurrent remote changes.\n\tconst propsRef = useRef( { attributes, overlayColor } );\n\tuseLayoutEffect( () => {\n\t\tpropsRef.current = { attributes, overlayColor };\n\t} );\n\n\tconst { media } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tmedia:\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\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ??\n\t\tmedia?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\t// Read latest values after await to avoid stale closures.\n\t\t\tconst { attributes: currentAttrs, overlayColor: currentOverlay } =\n\t\t\t\tpropsRef.current;\n\n\t\t\tlet newOverlayColor = currentOverlay.color;\n\t\t\tif ( ! currentAttrs.isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tcurrentAttrs.dimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: currentAttrs.isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Update the block only when the featured image changes.\n\t\t// The other dependencies are stable references (dispatch actions / setters).\n\t}, [\n\t\tmediaUrl,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetAttributes,\n\t\tsetOverlayColor,\n\t\tuseFeaturedImage,\n\t] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t\toriginalUrl?.replaceAll( '&', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\t// Create the initial inner paragraph when the block gains a background\n\t// and has no content yet.\n\tconst scaffoldInnerBlocks = () => {\n\t\tconst {\n\t\t\tgetBlocks,\n\t\t\tisBlockSelected,\n\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t} = registry.select( blockEditorStore );\n\t\tif ( getBlocks( clientId ).length > 0 ) {\n\t\t\treturn;\n\t\t}\n\t\t// Check for fontSize support before we pass a fontSize attribute to\n\t\t// the innerBlocks.\n\t\tconst [ fontSizes ] = unlock(\n\t\t\tregistry.select( blockEditorStore )\n\t\t).getBlockSettings( clientId, 'typography.fontSizes' );\n\t\tconst hasFontSizes = fontSizes?.length > 0;\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\tgetInnerBlocksTemplate( {\n\t\t\t\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t\t\t\t} )\n\t\t\t),\n\t\t\tisBlockSelected( clientId ),\n\t\t\tgetSelectedBlocksInitialCaretPosition()\n\t\t);\n\t};\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\t// Read latest values to avoid stale closures.\n\t\tconst { attributes: currentAttrs, overlayColor: currentOverlay } =\n\t\t\tpropsRef.current;\n\n\t\tlet newOverlayColor = currentOverlay.color;\n\t\tif ( ! currentAttrs.isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t// Fold next attribute change into the same undo level as the setOverlayColor above.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\tcurrentAttrs.url === undefined && currentAttrs.dimRatio === 100\n\t\t\t\t? 50\n\t\t\t\t: currentAttrs.dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tif ( backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes?.id ) {\n\t\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t\t// Try to use the previous selected image size if it's available\n\t\t\t// otherwise try the default image size or fallback to full size.\n\t\t\tif (\n\t\t\t\tsizeSlug &&\n\t\t\t\t( newMedia?.sizes?.[ sizeSlug ] ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ] )\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = sizeSlug;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ sizeSlug ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ]?.source_url;\n\t\t\t} else if (\n\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ] ||\n\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = imageDefaultSize;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t\t\t\t?.source_url;\n\t\t\t} else {\n\t\t\t\tmediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\t}\n\t\t}\n\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( {\n\t\t\t\t...mediaAttributes,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t\tuseFeaturedImage: undefined,\n\t\t\t\tdimRatio: newDimRatio,\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: currentAttrs.isUserOverlayColor || false,\n\t\t\t} );\n\n\t\t\tscaffoldInnerBlocks();\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\n\t\t// Skip for embeds, which never auto-assign an overlay color; otherwise\n\t\t// the non-persistent flag lands on the media reset itself (unsaveable).\n\t\tif ( ! isUserOverlayColor && overlayColor.color ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\t\t\t// Fold next attribute change into the same undo level as the setOverlayColor above.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\n\t\t// Read latest dimRatio after await to avoid stale closure.\n\t\tconst { attributes: currentAttrs } = propsRef.current;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tcurrentAttrs.dimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\t\t// Fold next attribute change into the same undo level as the setOverlayColor above.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( {\n\t\t\t\tisUserOverlayColor: true,\n\t\t\t\tisDark: newIsDark,\n\t\t\t} );\n\n\t\t\t// Skip when the color is cleared: that returns the block to its\n\t\t\t// placeholder, which only renders while there is no content.\n\t\t\tif ( newOverlayColor ) {\n\t\t\t\tscaffoldInnerBlocks();\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\n\t\t// Read latest overlayColor after await to avoid stale closure.\n\t\tconst { overlayColor: currentOverlay } = propsRef.current;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tcurrentOverlay.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst onSelectEmbedUrl = ( embedUrl ) => {\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\t// Set initial attributes with URL\n\t\tsetAttributes( {\n\t\t\turl: embedUrl,\n\t\t\tbackgroundType: EMBED_VIDEO_BACKGROUND_TYPE,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tid: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t} );\n\t};\n\n\t// Fetch embed preview for embed videos\n\tconst { embedPreview, isFetchingEmbed } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( backgroundType !== EMBED_VIDEO_BACKGROUND_TYPE || ! url ) {\n\t\t\t\treturn {\n\t\t\t\t\tembedPreview: undefined,\n\t\t\t\t\tisFetchingEmbed: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst { getEmbedPreview, isRequestingEmbedPreview } =\n\t\t\t\tselect( coreStore );\n\n\t\t\treturn {\n\t\t\t\tembedPreview: getEmbedPreview( url ),\n\t\t\t\tisFetchingEmbed: isRequestingEmbedPreview( url ),\n\t\t\t};\n\t\t},\n\t\t[ url, backgroundType ]\n\t);\n\n\t// Compute embed HTML for editor display via SandBox\n\tconst embedHtml = useMemo( () => {\n\t\tif (\n\t\t\tbackgroundType !== EMBED_VIDEO_BACKGROUND_TYPE ||\n\t\t\t! embedPreview?.html\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\treturn getBackgroundEmbedHtml( embedPreview.html );\n\t}, [ embedPreview, backgroundType ] );\n\n\t// Set while the media editor has pointed the cover at a freshly\n\t// generated file the browser hasn't finished loading; cleared by the\n\t// background <img> load/error handlers (or immediately after\n\t// setAttributes for CSS backgrounds, which never fire load events).\n\tconst [ isSwappingMedia, setIsSwappingMedia ] = useState( false );\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\tconst isEmbedVideoBackground =\n\t\tEMBED_VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' && minHeight ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst editMediaButtonRef = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst openCoverMediaEditorModal = useCallback( () => {\n\t\tif ( ! id || ! openMediaEditorModal ) {\n\t\t\treturn;\n\t\t}\n\n\t\topenMediaEditorModal( {\n\t\t\tid,\n\t\t\tonClose: () => {\n\t\t\t\teditMediaButtonRef.current?.focus();\n\t\t\t},\n\t\t\tonUpdate: async ( { id: newId, url: newUrl } ) => {\n\t\t\t\tif ( typeof newId !== 'number' ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( newId !== id && newUrl ) {\n\t\t\t\t\tsetIsSwappingMedia( true );\n\t\t\t\t}\n\n\t\t\t\tconst nextAttributes = {\n\t\t\t\t\tid: newId,\n\t\t\t\t\tbackgroundType: IMAGE_BACKGROUND_TYPE,\n\t\t\t\t\t...( newUrl ? { url: newUrl } : {} ),\n\t\t\t\t\t...( newId !== id\n\t\t\t\t\t\t? { sizeSlug: DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\t\t\t\t: {} ),\n\t\t\t\t};\n\n\t\t\t\tif ( newUrl ) {\n\t\t\t\t\tconst averageBackgroundColor =\n\t\t\t\t\t\tawait getMediaColor( newUrl );\n\n\t\t\t\t\t// Read latest values after await to avoid stale closures.\n\t\t\t\t\tconst {\n\t\t\t\t\t\tattributes: currentAttrs,\n\t\t\t\t\t\toverlayColor: currentOverlay,\n\t\t\t\t\t} = propsRef.current;\n\n\t\t\t\t\tlet newOverlayColor = currentOverlay.color;\n\t\t\t\t\tif ( ! currentAttrs.isUserOverlayColor ) {\n\t\t\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t\t\t\t// Fold next attribute change into the same undo level as the setOverlayColor above.\n\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t}\n\n\t\t\t\t\tnextAttributes.isDark = compositeIsDark(\n\t\t\t\t\t\tcurrentAttrs.dimRatio,\n\t\t\t\t\t\tnewOverlayColor,\n\t\t\t\t\t\taverageBackgroundColor\n\t\t\t\t\t);\n\t\t\t\t\tnextAttributes.isUserOverlayColor =\n\t\t\t\t\t\tcurrentAttrs.isUserOverlayColor || false;\n\t\t\t\t}\n\n\t\t\t\tsetAttributes( nextAttributes );\n\n\t\t\t\t// A CSS background (parallax/repeated) renders as a div and\n\t\t\t\t// never fires a load event; getMediaColor already fetched\n\t\t\t\t// the file, so the swap is done once attributes are set.\n\t\t\t\tconst {\n\t\t\t\t\thasParallax: currentHasParallax,\n\t\t\t\t\tisRepeated: currentIsRepeated,\n\t\t\t\t} = propsRef.current.attributes;\n\t\t\t\tif ( currentHasParallax || currentIsRepeated ) {\n\t\t\t\t\tsetIsSwappingMedia( false );\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\t}, [\n\t\tid,\n\t\topenMediaEditorModal,\n\t\tsetAttributes,\n\t\tsetOverlayColor,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst showEditMediaButton =\n\t\thasNonContentControls &&\n\t\t! useFeaturedImage &&\n\t\tisImageBackground &&\n\t\t!! id &&\n\t\t!! url &&\n\t\t! isUploadingMedia &&\n\t\t!! openMediaEditorModal;\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\t// Read latest values after await to avoid stale closures.\n\t\tconst { attributes: currentAttrs, overlayColor: currentOverlay } =\n\t\t\tpropsRef.current;\n\n\t\tconst newOverlayColor = ! currentAttrs.isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: currentOverlay.color;\n\n\t\tif ( ! currentAttrs.isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\t\t\t// Fold next attribute change into the same undo level as the setOverlayColor above.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio =\n\t\t\tcurrentAttrs.dimRatio === 100 ? 50 : currentAttrs.dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( {\n\t\t\t\tid: undefined,\n\t\t\t\turl: undefined,\n\t\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\t\tdimRatio: newDimRatio,\n\t\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t\t: undefined,\n\t\t\t\tisDark: newIsDark,\n\t\t\t} );\n\n\t\t\t// Skip when the featured image is disabled: that can return the\n\t\t\t// block to its placeholder, which only renders while there is no\n\t\t\t// content.\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tscaffoldInnerBlocks();\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tonSelectEmbedUrl={ onSelectEmbedUrl }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\tonEditMedia={ openCoverMediaEditorModal }\n\t\t\teditMediaButtonRef={ editMediaButtonRef }\n\t\t\tshowEditMediaButton={ showEditMediaButton }\n\t\t\tisEditMediaDisabled={ isSwappingMedia }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t\tfeaturedImage={ media }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ clsx( 'is-placeholder', blockProps.className ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tpresentation=\"toggle-buttons\"\n\t\t\t\t\t\t\t\taria-label={ __( 'Overlay color' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = clsx(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia || isSwappingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t\tonLoad={ () => setIsSwappingMedia( false ) }\n\t\t\t\t\t\t\tonError={ () => setIsSwappingMedia( false ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isEmbedVideoBackground && embedHtml && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background wp-block-cover__embed-background\"\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<SandBox\n\t\t\t\t\t\t\tallowSameOrigin\n\t\t\t\t\t\t\thtml={ embedHtml }\n\t\t\t\t\t\t\ttitle=\"Background video\"\n\t\t\t\t\t\t\tstyles={ [\n\t\t\t\t\t\t\t\t'iframe{position:fixed;top:0;left:0;width:100%;height:100%;}',\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ isEmbedVideoBackground && ! embedHtml && isFetchingEmbed && (\n\t\t\t\t\t<Spinner />\n\t\t\t\t) }\n\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ( isUploadingMedia || isSwappingMedia ) && <Spinner /> }\n\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorPrivateApis", "blockEditorStore", "coreStore", "noticesStore", "CoverBlockControls", "CoverInspectorControls", "ResizableCoverPopover", "clsx", "CoverPlaceholder"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cover/edit/inspector-controls.jsx"],
|
|
4
|
-
"sourcesContent": ["import { useMemo } from '@wordpress/element';\nimport {\n\tFocalPointPicker,\n\tRangeControl,\n\tTextareaControl as WCTextareaControl,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\tstore as blockEditorStore,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { Link } from '@wordpress/ui';\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\nimport { unlock } from '../../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport {\n\tgetActiveDimensionValue,\n\tgetDimensionResetAttributes,\n\tgetDimensionUpdateAttributes,\n\tgetStyleStateKey,\n} from '../../utils/style-state';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\nimport PosterImage from '../../utils/poster-image';\n\nconst {\n\tcleanEmptyObject,\n\tisDefaultBlockStyleState,\n\tResolutionTool,\n\tHTMLElementControl,\n} = unlock( blockEditorPrivateApis );\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tfeaturedImage,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tid,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t\tposter,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst sizeSlug = attributes.sizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\tconst { imageSizes, selectedStyleState } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getSelectedBlockStyleState } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\timageSizes: getSettings()?.imageSizes,\n\t\t\t\tselectedStyleState: getSelectedBlockStyleState( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst hasSelectedStyleState =\n\t\t! isDefaultBlockStyleState( selectedStyleState );\n\tconst selectedStyleStateKey = getStyleStateKey( selectedStyleState );\n\tconst stateMinHeight = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'minHeight',\n\t\tstyleKey: 'minHeight',\n\t\trootValue: undefined,\n\t} );\n\tconst [ stateMinHeightValue, stateMinHeightUnit ] =\n\t\tparseQuantityAndUnitFromRawValue( stateMinHeight || '' );\n\tconst activeMinHeight = hasSelectedStyleState\n\t\t? stateMinHeightValue\n\t\t: minHeight;\n\tconst activeMinHeightUnit = hasSelectedStyleState\n\t\t? stateMinHeightUnit || minHeightUnit\n\t\t: minHeightUnit;\n\tconst activeAspectRatio = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'aspectRatio',\n\t\trootValue: attributes?.style?.dimensions?.aspectRatio,\n\t} );\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tid && isImageBackground\n\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\tid,\n\t\t\t\t\t\t{ context: 'view' }\n\t\t\t\t )\n\t\t\t\t: null,\n\t\t[ id, isImageBackground ]\n\t);\n\n\tconst currentBackgroundImage = useFeaturedImage ? featuredImage : image;\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl =\n\t\t\tcurrentBackgroundImage?.media_details?.sizes?.[ newSizeSlug ]\n\t\t\t\t?.source_url;\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tconst imageSizeOptions = imageSizes\n\t\t?.filter(\n\t\t\t( { slug } ) =>\n\t\t\t\tcurrentBackgroundImage?.media_details?.sizes?.[ slug ]\n\t\t\t\t\t?.source_url\n\t\t)\n\t\t?.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker = isVideoBackground || isImageBackground;\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst showOverlayControls =\n\t\tcolorGradientSettings.hasColorsOrGradients && ! hasSelectedStyleState;\n\n\tconst setMinHeightAttributes = ( nextMinHeight, nextUnit ) => {\n\t\tif ( hasSelectedStyleState ) {\n\t\t\tsetAttributes(\n\t\t\t\tgetDimensionUpdateAttributes( {\n\t\t\t\t\tstyle: attributes.style,\n\t\t\t\t\tselectedState: selectedStyleState,\n\t\t\t\t\thasSelectedStyleState,\n\t\t\t\t\tnextDimensions: {\n\t\t\t\t\t\tminHeight:\n\t\t\t\t\t\t\tnextMinHeight === undefined\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: `${ nextMinHeight }${\n\t\t\t\t\t\t\t\t\t\tnextUnit || activeMinHeightUnit || 'px'\n\t\t\t\t\t\t\t\t }`,\n\t\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t\t},\n\t\t\t\t} )\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tminHeight: nextMinHeight,\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\tconst getResetMinHeightAttributes = ( attrs = attributes ) => {\n\t\treturn getDimensionResetAttributes( {\n\t\t\tstyle: attrs.style,\n\t\t\tselectedState: selectedStyleState,\n\t\t\thasSelectedStyleState,\n\t\t\tkeys: [ 'minHeight' ],\n\t\t\tdefaultAttributes: {\n\t\t\t\tminHeight: undefined,\n\t\t\t\tminHeightUnit: undefined,\n\t\t\t},\n\t\t} );\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( !! url || useFeaturedImage ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\thasParallax: false,\n\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\tisRepeated: false,\n\t\t\t\t\t\t\t\talt: '',\n\t\t\t\t\t\t\t\tposter: undefined,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tupdateImage( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t\thasValue={ () => !! hasParallax }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\thasParallax: false,\n\t\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\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<ToggleControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\t\tchecked={ !! hasParallax }\n\t\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t\thasValue={ () => isRepeated }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tisRepeated: false,\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<ToggleControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! focalPoint }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isVideoBackground && (\n\t\t\t\t\t\t\t<PosterImage\n\t\t\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\t\t\tonChange={ ( posterImage ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tposter: posterImage?.url,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! alt }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: '' } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<WCTextareaControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\t\t\topenInNewTab\n\t\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! imageSizeOptions?.length && (\n\t\t\t\t\t\t\t<ResolutionTool\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ showOverlayControls && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tkey={ selectedStyleStateKey }\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\thasValue={ () => !! activeMinHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( getResetMinHeightAttributes() )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ getResetMinHeightAttributes }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ activeAspectRatio ? '' : activeMinHeight }\n\t\t\t\t\t\tunit={ activeMinHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetMinHeightAttributes( newMinHeight )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) => {\n\t\t\t\t\t\t\tif ( hasSelectedStyleState ) {\n\t\t\t\t\t\t\t\tif ( activeMinHeight !== undefined ) {\n\t\t\t\t\t\t\t\t\tsetMinHeightAttributes(\n\t\t\t\t\t\t\t\t\t\tactiveMinHeight,\n\t\t\t\t\t\t\t\t\t\tnextUnit\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\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<HTMLElementControl\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { useMemo } from '@wordpress/element';\nimport {\n\tFocalPointPicker,\n\tRangeControl,\n\tTextareaControl as WCTextareaControl,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\tstore as blockEditorStore,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { Link } from '@wordpress/ui';\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\nimport { unlock } from '../../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport {\n\tgetActiveDimensionValue,\n\tgetDimensionResetAttributes,\n\tgetDimensionUpdateAttributes,\n\tgetStyleStateKey,\n} from '../../utils/style-state';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\nimport PosterImage from '../../utils/poster-image';\n\nconst {\n\tcleanEmptyObject,\n\tisDefaultBlockStyleState,\n\tResolutionTool,\n\tHTMLElementControl,\n} = unlock( blockEditorPrivateApis );\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tfeaturedImage,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tid,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t\tposter,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst sizeSlug = attributes.sizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\tconst { imageSizes, selectedStyleState } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getSelectedBlockStyleState } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\timageSizes: getSettings()?.imageSizes,\n\t\t\t\tselectedStyleState: getSelectedBlockStyleState( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst hasSelectedStyleState =\n\t\t! isDefaultBlockStyleState( selectedStyleState );\n\tconst selectedStyleStateKey = getStyleStateKey( selectedStyleState );\n\tconst stateMinHeight = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'minHeight',\n\t\tstyleKey: 'minHeight',\n\t\trootValue: undefined,\n\t} );\n\tconst [ stateMinHeightValue, stateMinHeightUnit ] =\n\t\tparseQuantityAndUnitFromRawValue( stateMinHeight || '' );\n\tconst activeMinHeight = hasSelectedStyleState\n\t\t? stateMinHeightValue\n\t\t: minHeight;\n\tconst activeMinHeightUnit = hasSelectedStyleState\n\t\t? stateMinHeightUnit || minHeightUnit\n\t\t: minHeightUnit;\n\tconst activeAspectRatio = getActiveDimensionValue( {\n\t\tattributes,\n\t\tselectedState: selectedStyleState,\n\t\thasSelectedStyleState,\n\t\tattributeKey: 'aspectRatio',\n\t\trootValue: attributes?.style?.dimensions?.aspectRatio,\n\t} );\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tid && isImageBackground\n\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\tid,\n\t\t\t\t\t\t{ context: 'view' }\n\t\t\t\t\t)\n\t\t\t\t: null,\n\t\t[ id, isImageBackground ]\n\t);\n\n\tconst currentBackgroundImage = useFeaturedImage ? featuredImage : image;\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl =\n\t\t\tcurrentBackgroundImage?.media_details?.sizes?.[ newSizeSlug ]\n\t\t\t\t?.source_url;\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tconst imageSizeOptions = imageSizes\n\t\t?.filter(\n\t\t\t( { slug } ) =>\n\t\t\t\tcurrentBackgroundImage?.media_details?.sizes?.[ slug ]\n\t\t\t\t\t?.source_url\n\t\t)\n\t\t?.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker = isVideoBackground || isImageBackground;\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst showOverlayControls =\n\t\tcolorGradientSettings.hasColorsOrGradients && ! hasSelectedStyleState;\n\n\tconst setMinHeightAttributes = ( nextMinHeight, nextUnit ) => {\n\t\tif ( hasSelectedStyleState ) {\n\t\t\tsetAttributes(\n\t\t\t\tgetDimensionUpdateAttributes( {\n\t\t\t\t\tstyle: attributes.style,\n\t\t\t\t\tselectedState: selectedStyleState,\n\t\t\t\t\thasSelectedStyleState,\n\t\t\t\t\tnextDimensions: {\n\t\t\t\t\t\tminHeight:\n\t\t\t\t\t\t\tnextMinHeight === undefined\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: `${ nextMinHeight }${\n\t\t\t\t\t\t\t\t\t\tnextUnit || activeMinHeightUnit || 'px'\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t\t},\n\t\t\t\t} )\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tminHeight: nextMinHeight,\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\tconst getResetMinHeightAttributes = ( attrs = attributes ) => {\n\t\treturn getDimensionResetAttributes( {\n\t\t\tstyle: attrs.style,\n\t\t\tselectedState: selectedStyleState,\n\t\t\thasSelectedStyleState,\n\t\t\tkeys: [ 'minHeight' ],\n\t\t\tdefaultAttributes: {\n\t\t\t\tminHeight: undefined,\n\t\t\t\tminHeightUnit: undefined,\n\t\t\t},\n\t\t} );\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( !! url || useFeaturedImage ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\thasParallax: false,\n\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\tisRepeated: false,\n\t\t\t\t\t\t\t\talt: '',\n\t\t\t\t\t\t\t\tposter: undefined,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tupdateImage( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t\thasValue={ () => !! hasParallax }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\thasParallax: false,\n\t\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\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<ToggleControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\t\tchecked={ !! hasParallax }\n\t\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t\thasValue={ () => isRepeated }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tisRepeated: false,\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<ToggleControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! focalPoint }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isVideoBackground && (\n\t\t\t\t\t\t\t<PosterImage\n\t\t\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\t\t\tonChange={ ( posterImage ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tposter: posterImage?.url,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! alt }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: '' } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<WCTextareaControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\t\t\topenInNewTab\n\t\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! imageSizeOptions?.length && (\n\t\t\t\t\t\t\t<ResolutionTool\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ showOverlayControls && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tkey={ selectedStyleStateKey }\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\thasValue={ () => !! activeMinHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( getResetMinHeightAttributes() )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ getResetMinHeightAttributes }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ activeAspectRatio ? '' : activeMinHeight }\n\t\t\t\t\t\tunit={ activeMinHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetMinHeightAttributes( newMinHeight )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) => {\n\t\t\t\t\t\t\tif ( hasSelectedStyleState ) {\n\t\t\t\t\t\t\t\tif ( activeMinHeight !== undefined ) {\n\t\t\t\t\t\t\t\t\tsetMinHeightAttributes(\n\t\t\t\t\t\t\t\t\t\tactiveMinHeight,\n\t\t\t\t\t\t\t\t\t\tnextUnit\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\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<HTMLElementControl\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorPrivateApis", "UnitControl", "useCustomUnits", "parseQuantityAndUnitFromRawValue", "blockEditorStore", "coreStore", "useMultipleOriginColorsAndGradients", "ToolsPanel", "ToolsPanelItem", "PosterImage", "WCTextareaControl", "ColorGradientSettingsDropdown"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/cover/transforms.js"],
|
|
4
|
-
"sourcesContent": ["import { createBlock } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { IMAGE_BACKGROUND_TYPE, VIDEO_BACKGROUND_TYPE } from './shared';\nimport { unlock } from '../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { caption, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\tdimRatio: 50,\n\t\t\t\t\t\turl,\n\t\t\t\t\t\talt,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( { caption, src, align, id, anchor } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\tdimRatio: 50,\n\t\t\t\t\t\turl: src,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tbackgroundType: VIDEO_BACKGROUND_TYPE,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst { align, anchor, backgroundColor, gradient, style } =\n\t\t\t\t\tattributes;\n\n\t\t\t\t// If the Group block being transformed has a Cover block as its\n\t\t\t\t// only child return that Cover block.\n\t\t\t\tif (\n\t\t\t\t\tinnerBlocks?.length === 1 &&\n\t\t\t\t\tinnerBlocks[ 0 ]?.name === 'core/cover'\n\t\t\t\t) {\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/cover',\n\t\t\t\t\t\tinnerBlocks[ 0 ].attributes,\n\t\t\t\t\t\tinnerBlocks[ 0 ].innerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// If no background or gradient color is provided, default to 50% opacity.\n\t\t\t\t// This matches the styling of a Cover block with a background image,\n\t\t\t\t// in the state where a background image has been removed.\n\t\t\t\tconst dimRatio =\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tgradient ||\n\t\t\t\t\tstyle?.color?.background ||\n\t\t\t\t\tstyle?.color?.gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: 50;\n\n\t\t\t\t// Move the background or gradient color to the parent Cover block.\n\t\t\t\tconst parentAttributes = {\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t\tdimRatio,\n\t\t\t\t\toverlayColor: backgroundColor,\n\t\t\t\t\tcustomOverlayColor: style?.color?.background,\n\t\t\t\t\tgradient,\n\t\t\t\t\tcustomGradient: style?.color?.gradient,\n\t\t\t\t};\n\n\t\t\t\tconst attributesWithoutBackgroundColors = {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tbackgroundColor: undefined,\n\t\t\t\t\tgradient: undefined,\n\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\tcolor: style?.color\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\t\t\tbackground: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA4B;AAC5B,0BAAsD;AACtD,oBAA6D;AAC7D,yBAAuB;AAEvB,IAAM,EAAE,iBAAiB,QAAI,2BAAQ,oBAAAA,WAAuB;AAE5D,IAAM,aAAa;AAAA,EAClB,MAAM;AAAA,IACL;AAAA,MACC,MAAM;AAAA,MACN,QAAQ,CAAE,YAAa;AAAA,MACvB,WAAW,CAAE,EAAE,SAAS,KAAK,KAAK,OAAO,IAAI,QAAQ,MAAM,UAC1D;AAAA,QACC;AAAA,QACA;AAAA,UACC,UAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO;AAAA,YACN,OAAO;AAAA,cACN,SAAS,OAAO,OAAO;AAAA,YACxB;AAAA,UACD;AAAA,QACD;AAAA,QACA;AAAA,cACC,2BAAa,kBAAkB;AAAA,YAC9B,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAO;AAAA,cACN,YAAY;AAAA,gBACX,WAAW;AAAA,cACZ;AAAA,YACD;AAAA,UACD,CAAE;AAAA,QACH;AAAA,MACD;AAAA,IACF;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ,CAAE,YAAa;AAAA,MACvB,WAAW,CAAE,EAAE,SAAS,KAAK,OAAO,IAAI,OAAO,UAC9C;AAAA,QACC;AAAA,QACA;AAAA,UACC,UAAU;AAAA,UACV,KAAK;AAAA,UACL;AAAA,UACA;AAAA,UACA,gBAAgB;AAAA,UAChB;AAAA,QACD;AAAA,QACA;AAAA,cACC,2BAAa,kBAAkB;AAAA,YAC9B,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAO;AAAA,cACN,YAAY;AAAA,gBACX,WAAW;AAAA,cACZ;AAAA,YACD;AAAA,UACD,CAAE;AAAA,QACH;AAAA,MACD;AAAA,IACF;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ,CAAE,YAAa;AAAA,MACvB,WAAW,CAAE,YAAY,gBAAiB;AACzC,cAAM,EAAE,OAAO,QAAQ,iBAAiB,UAAU,MAAM,IACvD;AAID,YACC,aAAa,WAAW,KACxB,YAAa,CAAE,GAAG,SAAS,cAC1B;AACD,qBAAO;AAAA,YACN;AAAA,YACA,YAAa,CAAE,EAAE;AAAA,YACjB,YAAa,CAAE,EAAE;AAAA,UAClB;AAAA,QACD;AAKA,cAAM,WACL,mBACA,YACA,OAAO,OAAO,cACd,OAAO,OAAO,WACX,SACA;AAGJ,cAAM,mBAAmB;AAAA,UACxB;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAc;AAAA,UACd,oBAAoB,OAAO,OAAO;AAAA,UAClC;AAAA,UACA,gBAAgB,OAAO,OAAO;AAAA,QAC/B;AAEA,cAAM,oCAAoC;AAAA,UACzC,GAAG;AAAA,UACH,iBAAiB;AAAA,UACjB,UAAU;AAAA,UACV,OAAO,iBAAkB;AAAA,YACxB,GAAG,YAAY;AAAA,YACf,OAAO,OAAO,QACX;AAAA,cACA,GAAG,OAAO;AAAA,cACV,YAAY;AAAA,cACZ,UAAU;AAAA,
|
|
4
|
+
"sourcesContent": ["import { createBlock } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { IMAGE_BACKGROUND_TYPE, VIDEO_BACKGROUND_TYPE } from './shared';\nimport { unlock } from '../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { caption, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\tdimRatio: 50,\n\t\t\t\t\t\turl,\n\t\t\t\t\t\talt,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( { caption, src, align, id, anchor } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\tdimRatio: 50,\n\t\t\t\t\t\turl: src,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tbackgroundType: VIDEO_BACKGROUND_TYPE,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst { align, anchor, backgroundColor, gradient, style } =\n\t\t\t\t\tattributes;\n\n\t\t\t\t// If the Group block being transformed has a Cover block as its\n\t\t\t\t// only child return that Cover block.\n\t\t\t\tif (\n\t\t\t\t\tinnerBlocks?.length === 1 &&\n\t\t\t\t\tinnerBlocks[ 0 ]?.name === 'core/cover'\n\t\t\t\t) {\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/cover',\n\t\t\t\t\t\tinnerBlocks[ 0 ].attributes,\n\t\t\t\t\t\tinnerBlocks[ 0 ].innerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// If no background or gradient color is provided, default to 50% opacity.\n\t\t\t\t// This matches the styling of a Cover block with a background image,\n\t\t\t\t// in the state where a background image has been removed.\n\t\t\t\tconst dimRatio =\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tgradient ||\n\t\t\t\t\tstyle?.color?.background ||\n\t\t\t\t\tstyle?.color?.gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: 50;\n\n\t\t\t\t// Move the background or gradient color to the parent Cover block.\n\t\t\t\tconst parentAttributes = {\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t\tdimRatio,\n\t\t\t\t\toverlayColor: backgroundColor,\n\t\t\t\t\tcustomOverlayColor: style?.color?.background,\n\t\t\t\t\tgradient,\n\t\t\t\t\tcustomGradient: style?.color?.gradient,\n\t\t\t\t};\n\n\t\t\t\tconst attributesWithoutBackgroundColors = {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tbackgroundColor: undefined,\n\t\t\t\t\tgradient: undefined,\n\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\tcolor: style?.color\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\t\t\tbackground: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\n\t\t\t\t// Preserve the block by nesting it within the Cover block,\n\t\t\t\t// instead of converting the Group block directly to the Cover block.\n\t\t\t\treturn createBlock( 'core/cover', parentAttributes, [\n\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\tattributesWithoutBackgroundColors,\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t),\n\t\t\t\t] );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents an image background.\n\t\t\t\t\treturn backgroundType === IMAGE_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\turl,\n\t\t\t\t\talt,\n\t\t\t\t\talign,\n\t\t\t\t\tid,\n\t\t\t\t\tanchor,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents a video background.\n\t\t\t\t\treturn backgroundType === VIDEO_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, align, id, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/video', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\tsrc: url,\n\t\t\t\t\tid,\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tisMatch: ( { url, useFeaturedImage } ) => {\n\t\t\t\t// If the Cover block uses background media, skip this transform,\n\t\t\t\t// and instead use the Group block's default transform.\n\t\t\t\tif ( url || useFeaturedImage ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\t// Convert Cover overlay colors to comparable Group background colors.\n\t\t\t\tconst transformedColorAttributes = {\n\t\t\t\t\tbackgroundColor: attributes?.overlayColor,\n\t\t\t\t\tgradient: attributes?.gradient,\n\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\tattributes?.customOverlayColor ||\n\t\t\t\t\t\t\tattributes?.customGradient ||\n\t\t\t\t\t\t\tattributes?.style?.color\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\tattributes?.customOverlayColor,\n\t\t\t\t\t\t\t\t\t\tgradient: attributes?.customGradient,\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.color,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\n\t\t\t\t// If the Cover block contains only a single Group block as a direct child,\n\t\t\t\t// then attempt to merge the Cover's background colors with the child Group block,\n\t\t\t\t// and remove the Cover block as the wrapper.\n\t\t\t\tif (\n\t\t\t\t\tinnerBlocks?.length === 1 &&\n\t\t\t\t\tinnerBlocks[ 0 ]?.name === 'core/group'\n\t\t\t\t) {\n\t\t\t\t\tconst groupAttributes = cleanEmptyObject(\n\t\t\t\t\t\tinnerBlocks[ 0 ].attributes || {}\n\t\t\t\t\t);\n\n\t\t\t\t\t// If the Group block contains any kind of background color or gradient,\n\t\t\t\t\t// skip merging Cover background colors, and preserve the Group block's colors.\n\t\t\t\t\tif (\n\t\t\t\t\t\tgroupAttributes?.backgroundColor ||\n\t\t\t\t\t\tgroupAttributes?.gradient ||\n\t\t\t\t\t\tgroupAttributes?.style?.color?.background ||\n\t\t\t\t\t\tgroupAttributes?.style?.color?.gradient\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\tgroupAttributes,\n\t\t\t\t\t\t\tinnerBlocks[ 0 ]?.innerBlocks\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...transformedColorAttributes,\n\t\t\t\t\t\t\t...groupAttributes,\n\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t...groupAttributes?.style,\n\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\ttransformedColorAttributes?.style?.color ||\n\t\t\t\t\t\t\t\t\tgroupAttributes?.style?.color\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t...transformedColorAttributes\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.style?.color,\n\t\t\t\t\t\t\t\t\t\t\t\t...groupAttributes?.style\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.color,\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks[ 0 ]?.innerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// In all other cases, transform the Cover block directly to a Group block.\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ ...attributes, ...transformedColorAttributes },\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorPrivateApis"]
|
|
7
7
|
}
|
package/build/details/block.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/details/index.js"],
|
|
4
|
-
"sourcesContent": ["import { details as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: __( 'Type / to add a hidden block' ),\n\t\t},\n\t],\n];\n\nexport const settings = {\n\ticon,\n\ttemplate: TEMPLATE,\n\texample: {\n\t\tattributes: {\n\t\t\tsummary: __( 'La Mancha' ),\n\t\t\tshowContent: true,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { summary } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasSummary = summary?.trim().length > 0;\n\n\t\t// In the list view, use the block's summary as the label.\n\t\t// If the summary is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasSummary ) ) {\n\t\t\treturn customName || summary;\n\t\t}\n\n\t\tif ( context === 'breadcrumb' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! hasSummary\n\t\t\t\t? __( 'Details. Empty.' )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: %s: accessibility text; summary title. */\n\t\t\t\t\t\t__( 'Details. %s' ),\n\t\t\t\t\t\tsummary\n\t\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAChC,kBAA4B;AAC5B,wBAAsB;AACtB,mBAAqB;AACrB,kBAAiB;AACjB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAGjB,IAAM,WAAW;AAAA,EAChB;AAAA,IACC;AAAA,IACA;AAAA,MACC,iBAAa,gBAAI,8BAA+B;AAAA,IACjD;AAAA,EACD;AACD;AAEO,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,UAAU;AAAA,EACV,SAAS;AAAA,IACR,YAAY;AAAA,MACX,aAAS,gBAAI,WAAY;AAAA,MACzB,aAAa;AAAA,IACd;AAAA,IACA,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,aAAS;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,QAAQ,IAAI;AAEpB,UAAM,aAAa,YAAY,UAAU;AACzC,UAAM,aAAa,SAAS,KAAK,EAAE,SAAS;AAI5C,QAAK,YAAY,gBAAiB,cAAc,aAAe;AAC9D,aAAO,cAAc;AAAA,IACtB;AAEA,QAAK,YAAY,gBAAgB,YAAa;AAC7C,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,CAAE,iBACN,gBAAI,iBAAkB,QACtB;AAAA;AAAA,YAEA,gBAAI,aAAc;AAAA,QAClB;AAAA,
|
|
4
|
+
"sourcesContent": ["import { details as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: __( 'Type / to add a hidden block' ),\n\t\t},\n\t],\n];\n\nexport const settings = {\n\ticon,\n\ttemplate: TEMPLATE,\n\texample: {\n\t\tattributes: {\n\t\t\tsummary: __( 'La Mancha' ),\n\t\t\tshowContent: true,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { summary } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasSummary = summary?.trim().length > 0;\n\n\t\t// In the list view, use the block's summary as the label.\n\t\t// If the summary is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasSummary ) ) {\n\t\t\treturn customName || summary;\n\t\t}\n\n\t\tif ( context === 'breadcrumb' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! hasSummary\n\t\t\t\t? __( 'Details. Empty.' )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: %s: accessibility text; summary title. */\n\t\t\t\t\t\t__( 'Details. %s' ),\n\t\t\t\t\t\tsummary\n\t\t\t\t\t);\n\t\t}\n\t},\n\tsave,\n\tedit,\n\ttransforms,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAChC,kBAA4B;AAC5B,wBAAsB;AACtB,mBAAqB;AACrB,kBAAiB;AACjB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAGjB,IAAM,WAAW;AAAA,EAChB;AAAA,IACC;AAAA,IACA;AAAA,MACC,iBAAa,gBAAI,8BAA+B;AAAA,IACjD;AAAA,EACD;AACD;AAEO,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,UAAU;AAAA,EACV,SAAS;AAAA,IACR,YAAY;AAAA,MACX,aAAS,gBAAI,WAAY;AAAA,MACzB,aAAa;AAAA,IACd;AAAA,IACA,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,aAAS;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,QAAQ,IAAI;AAEpB,UAAM,aAAa,YAAY,UAAU;AACzC,UAAM,aAAa,SAAS,KAAK,EAAE,SAAS;AAI5C,QAAK,YAAY,gBAAiB,cAAc,aAAe;AAC9D,aAAO,cAAc;AAAA,IACtB;AAEA,QAAK,YAAY,gBAAgB,YAAa;AAC7C,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,CAAE,iBACN,gBAAI,iBAAkB,QACtB;AAAA;AAAA,YAEA,gBAAI,aAAc;AAAA,QAClB;AAAA,MACD;AAAA,IACH;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
|
|
6
6
|
"names": ["metadata", "icon", "save", "edit", "transforms", "initBlock", "metadata"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/embed/embed-controls.jsx"],
|
|
4
|
-
"sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { BlockControls, InspectorControls } from '@wordpress/block-editor';\nimport { pencil } from '@wordpress/icons';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nfunction getResponsiveHelp( checked ) {\n\treturn checked\n\t\t? __(\n\t\t\t\t'This embed will preserve its aspect ratio when the browser is resized.'\n\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,wBAMO;AACP,0BAAiD;AACjD,mBAAuB;AACvB,mBAA+C;AAuB7C;AArBF,SAAS,kBAAmB,SAAU;AACrC,SAAO,cACJ;AAAA,IACA;AAAA,
|
|
4
|
+
"sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { BlockControls, InspectorControls } from '@wordpress/block-editor';\nimport { pencil } from '@wordpress/icons';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nfunction getResponsiveHelp( checked ) {\n\treturn checked\n\t\t? __(\n\t\t\t\t'This embed will preserve its aspect ratio when the browser is resized.'\n\t\t\t)\n\t\t: __(\n\t\t\t\t'This embed may not preserve its aspect ratio when the browser is resized.'\n\t\t\t);\n}\n\nconst EmbedControls = ( {\n\tblockSupportsResponsive,\n\tshowEditButton,\n\tthemeSupportsResponsive,\n\tallowResponsive,\n\ttoggleResponsive,\n\tswitchBackToURLInput,\n} ) => {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ showEditButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\t\t\t\tlabel={ __( 'Edit URL' ) }\n\t\t\t\t\t\t\ticon={ pencil }\n\t\t\t\t\t\t\tonClick={ switchBackToURLInput }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ themeSupportsResponsive && blockSupportsResponsive && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Media settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\ttoggleResponsive( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Media settings' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => ! allowResponsive }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\ttoggleResponsive( ! allowResponsive );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Resize for smaller devices' ) }\n\t\t\t\t\t\t\t\tchecked={ allowResponsive }\n\t\t\t\t\t\t\t\thelp={ getResponsiveHelp }\n\t\t\t\t\t\t\t\tonChange={ toggleResponsive }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default EmbedControls;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,wBAMO;AACP,0BAAiD;AACjD,mBAAuB;AACvB,mBAA+C;AAuB7C;AArBF,SAAS,kBAAmB,SAAU;AACrC,SAAO,cACJ;AAAA,IACA;AAAA,EACD,QACC;AAAA,IACA;AAAA,EACD;AACH;AAEA,IAAM,gBAAgB,CAAE;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAO;AACN,QAAM,wBAAoB,6CAA+B;AAEzD,SACC,4EACC;AAAA,gDAAC,qCACA,sDAAC,kCACE,4BACD;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,WAAQ,gBAAI,UAAW;AAAA,QACvB,MAAO;AAAA,QACP,SAAU;AAAA;AAAA,IACX,GAEF,GACD;AAAA,IACE,2BAA2B,2BAC5B,4CAAC,yCACA;AAAA,MAAC,kBAAAA;AAAA,MAAA;AAAA,QACA,WAAQ,gBAAI,gBAAiB;AAAA,QAC7B,UAAW,MAAM;AAChB,2BAAkB,IAAK;AAAA,QACxB;AAAA,QACA;AAAA,QAEA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,gBAAiB;AAAA,YAC7B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAE;AAAA,YACnB,YAAa,MAAM;AAClB,+BAAkB,CAAE,eAAgB;AAAA,YACrC;AAAA,YAEA;AAAA,cAAC;AAAA;AAAA,gBACA,WAAQ,gBAAI,4BAA6B;AAAA,gBACzC,SAAU;AAAA,gBACV,MAAO;AAAA,gBACP,UAAW;AAAA;AAAA,YACZ;AAAA;AAAA,QACD;AAAA;AAAA,IACD,GACD;AAAA,KAEF;AAEF;AAEA,IAAO,yBAAQ;",
|
|
6
6
|
"names": ["ToolsPanel", "ToolsPanelItem"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/file/deprecated.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\t__experimentalGetElementClassName,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\n\n// Version of the file block without PR#43050 removing the translated aria-label.\nconst v3 = {\n\tattributes: {\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tfileId: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'id',\n\t\t},\n\t\tfileName: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a:not([download])',\n\t\t},\n\t\ttextLinkHref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttextLinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'target',\n\t\t},\n\t\tshowDownloadButton: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tdownloadButtonText: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a[download]',\n\t\t},\n\t\tdisplayPreview: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tpreviewHeight: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 600,\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\thref,\n\t\t\tfileId,\n\t\t\tfileName,\n\t\t\ttextLinkHref,\n\t\t\ttextLinkTarget,\n\t\t\tshowDownloadButton,\n\t\t\tdownloadButtonText,\n\t\t\tdisplayPreview,\n\t\t\tpreviewHeight,\n\t\t} = attributes;\n\n\t\tconst pdfEmbedLabel = RichText.isEmpty( fileName )\n\t\t\t? __( 'PDF embed' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: %s: filename. */\n\t\t\t\t\t__( 'Embed of %s.' ),\n\t\t\t\t\tfileName\n\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,0BAIO;AACP,kBAA4B;AAoFxB;AAjFJ,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,IAAI;AAAA,MACH,MAAM;AAAA,IACP;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACb,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,oBAAoB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MACnB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACX;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,EACR;AAAA,EACA,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,IACD,IAAI;AAEJ,UAAM,gBAAgB,6BAAS,QAAS,QAAS,QAC9C,gBAAI,WAAY,QAChB;AAAA;AAAA,UAEA,gBAAI,cAAe;AAAA,MACnB;AAAA,
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\t__experimentalGetElementClassName,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\n\n// Version of the file block without PR#43050 removing the translated aria-label.\nconst v3 = {\n\tattributes: {\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tfileId: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'id',\n\t\t},\n\t\tfileName: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a:not([download])',\n\t\t},\n\t\ttextLinkHref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttextLinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'target',\n\t\t},\n\t\tshowDownloadButton: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tdownloadButtonText: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a[download]',\n\t\t},\n\t\tdisplayPreview: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tpreviewHeight: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 600,\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\thref,\n\t\t\tfileId,\n\t\t\tfileName,\n\t\t\ttextLinkHref,\n\t\t\ttextLinkTarget,\n\t\t\tshowDownloadButton,\n\t\t\tdownloadButtonText,\n\t\t\tdisplayPreview,\n\t\t\tpreviewHeight,\n\t\t} = attributes;\n\n\t\tconst pdfEmbedLabel = RichText.isEmpty( fileName )\n\t\t\t? __( 'PDF embed' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: %s: filename. */\n\t\t\t\t\t__( 'Embed of %s.' ),\n\t\t\t\t\tfileName\n\t\t\t\t);\n\n\t\tconst hasFilename = ! RichText.isEmpty( fileName );\n\n\t\t// Only output an `aria-describedby` when the element it's referring to is\n\t\t// actually rendered.\n\t\tconst describedById = hasFilename ? fileId : undefined;\n\n\t\treturn (\n\t\t\thref && (\n\t\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t\t{ displayPreview && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<object\n\t\t\t\t\t\t\t\tclassName=\"wp-block-file__embed\"\n\t\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\theight: `${ previewHeight }px`,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-label={ pdfEmbedLabel }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasFilename && (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tid={ describedById }\n\t\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t\t\ttarget={ textLinkTarget }\n\t\t\t\t\t\t\trel={\n\t\t\t\t\t\t\t\ttextLinkTarget\n\t\t\t\t\t\t\t\t\t? 'noreferrer noopener'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RichText.Content value={ fileName } />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'wp-block-file__button',\n\t\t\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tdownload\n\t\t\t\t\t\t\taria-describedby={ describedById }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RichText.Content value={ downloadButtonText } />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t},\n};\n\n// In #41239 the button was made an element button which added a `wp-element-button` classname\n// to the download link element.\nconst v2 = {\n\tattributes: {\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tfileId: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'id',\n\t\t},\n\t\tfileName: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a:not([download])',\n\t\t},\n\t\ttextLinkHref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttextLinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'target',\n\t\t},\n\t\tshowDownloadButton: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tdownloadButtonText: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a[download]',\n\t\t},\n\t\tdisplayPreview: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tpreviewHeight: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 600,\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\thref,\n\t\t\tfileId,\n\t\t\tfileName,\n\t\t\ttextLinkHref,\n\t\t\ttextLinkTarget,\n\t\t\tshowDownloadButton,\n\t\t\tdownloadButtonText,\n\t\t\tdisplayPreview,\n\t\t\tpreviewHeight,\n\t\t} = attributes;\n\n\t\tconst pdfEmbedLabel = RichText.isEmpty( fileName )\n\t\t\t? __( 'PDF embed' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: %s: filename. */\n\t\t\t\t\t__( 'Embed of %s.' ),\n\t\t\t\t\tfileName\n\t\t\t\t);\n\n\t\tconst hasFilename = ! RichText.isEmpty( fileName );\n\n\t\t// Only output an `aria-describedby` when the element it's referring to is\n\t\t// actually rendered.\n\t\tconst describedById = hasFilename ? fileId : undefined;\n\n\t\treturn (\n\t\t\thref && (\n\t\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t\t{ displayPreview && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<object\n\t\t\t\t\t\t\t\tclassName=\"wp-block-file__embed\"\n\t\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\theight: `${ previewHeight }px`,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-label={ pdfEmbedLabel }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasFilename && (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tid={ describedById }\n\t\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t\t\ttarget={ textLinkTarget }\n\t\t\t\t\t\t\trel={\n\t\t\t\t\t\t\t\ttextLinkTarget\n\t\t\t\t\t\t\t\t\t? 'noreferrer noopener'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RichText.Content value={ fileName } />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\t\tclassName=\"wp-block-file__button\"\n\t\t\t\t\t\t\tdownload\n\t\t\t\t\t\t\taria-describedby={ describedById }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RichText.Content value={ downloadButtonText } />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t},\n};\n\n// Version of the file block without PR#28062 accessibility fix.\nconst v1 = {\n\tattributes: {\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tfileName: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a:not([download])',\n\t\t},\n\t\ttextLinkHref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttextLinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a:not([download])',\n\t\t\tattribute: 'target',\n\t\t},\n\t\tshowDownloadButton: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tdownloadButtonText: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a[download]',\n\t\t},\n\t\tdisplayPreview: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tpreviewHeight: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 600,\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\thref,\n\t\t\tfileName,\n\t\t\ttextLinkHref,\n\t\t\ttextLinkTarget,\n\t\t\tshowDownloadButton,\n\t\t\tdownloadButtonText,\n\t\t\tdisplayPreview,\n\t\t\tpreviewHeight,\n\t\t} = attributes;\n\n\t\tconst pdfEmbedLabel = RichText.isEmpty( fileName )\n\t\t\t? __( 'PDF embed' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: %s: filename. */\n\t\t\t\t\t__( 'Embed of %s.' ),\n\t\t\t\t\tfileName\n\t\t\t\t);\n\n\t\treturn (\n\t\t\thref && (\n\t\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t\t{ displayPreview && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<object\n\t\t\t\t\t\t\t\tclassName=\"wp-block-file__embed\"\n\t\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\theight: `${ previewHeight }px`,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-label={ pdfEmbedLabel }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! RichText.isEmpty( fileName ) && (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t\t\ttarget={ textLinkTarget }\n\t\t\t\t\t\t\trel={\n\t\t\t\t\t\t\t\ttextLinkTarget\n\t\t\t\t\t\t\t\t\t? 'noreferrer noopener'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RichText.Content value={ fileName } />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\t\tclassName=\"wp-block-file__button\"\n\t\t\t\t\t\t\tdownload\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RichText.Content value={ downloadButtonText } />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t},\n};\n\nconst deprecated = [ v3, v2, v1 ];\n\nexport default deprecated;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,0BAIO;AACP,kBAA4B;AAoFxB;AAjFJ,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,IAAI;AAAA,MACH,MAAM;AAAA,IACP;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACb,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,oBAAoB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MACnB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACX;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,EACR;AAAA,EACA,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,IACD,IAAI;AAEJ,UAAM,gBAAgB,6BAAS,QAAS,QAAS,QAC9C,gBAAI,WAAY,QAChB;AAAA;AAAA,UAEA,gBAAI,cAAe;AAAA,MACnB;AAAA,IACD;AAEF,UAAM,cAAc,CAAE,6BAAS,QAAS,QAAS;AAIjD,UAAM,gBAAgB,cAAc,SAAS;AAE7C,WACC,QACC,6CAAC,SAAM,GAAG,kCAAc,KAAK,GAC1B;AAAA,wBACD,2EACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,MAAO;AAAA,UACP,MAAK;AAAA,UACL,OAAQ;AAAA,YACP,OAAO;AAAA,YACP,QAAQ,GAAI,aAAc;AAAA,UAC3B;AAAA,UACA,cAAa;AAAA;AAAA,MACd,GACD;AAAA,MAEC,eACD;AAAA,QAAC;AAAA;AAAA,UACA,IAAK;AAAA,UACL,MAAO;AAAA,UACP,QAAS;AAAA,UACT,KACC,iBACG,wBACA;AAAA,UAGJ,sDAAC,6BAAS,SAAT,EAAiB,OAAQ,UAAW;AAAA;AAAA,MACtC;AAAA,MAEC,sBACD;AAAA,QAAC;AAAA;AAAA,UACA;AAAA,UACA,eAAY,YAAAA;AAAA,YACX;AAAA,gBACA,uDAAmC,QAAS;AAAA,UAC7C;AAAA,UACA,UAAQ;AAAA,UACR,oBAAmB;AAAA,UAEnB,sDAAC,6BAAS,SAAT,EAAiB,OAAQ,oBAAqB;AAAA;AAAA,MAChD;AAAA,OAEF;AAAA,EAGH;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,IAAI;AAAA,MACH,MAAM;AAAA,IACP;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACb,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,oBAAoB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MACnB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACX;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,EACR;AAAA,EACA,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,IACD,IAAI;AAEJ,UAAM,gBAAgB,6BAAS,QAAS,QAAS,QAC9C,gBAAI,WAAY,QAChB;AAAA;AAAA,UAEA,gBAAI,cAAe;AAAA,MACnB;AAAA,IACD;AAEF,UAAM,cAAc,CAAE,6BAAS,QAAS,QAAS;AAIjD,UAAM,gBAAgB,cAAc,SAAS;AAE7C,WACC,QACC,6CAAC,SAAM,GAAG,kCAAc,KAAK,GAC1B;AAAA,wBACD,2EACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,MAAO;AAAA,UACP,MAAK;AAAA,UACL,OAAQ;AAAA,YACP,OAAO;AAAA,YACP,QAAQ,GAAI,aAAc;AAAA,UAC3B;AAAA,UACA,cAAa;AAAA;AAAA,MACd,GACD;AAAA,MAEC,eACD;AAAA,QAAC;AAAA;AAAA,UACA,IAAK;AAAA,UACL,MAAO;AAAA,UACP,QAAS;AAAA,UACT,KACC,iBACG,wBACA;AAAA,UAGJ,sDAAC,6BAAS,SAAT,EAAiB,OAAQ,UAAW;AAAA;AAAA,MACtC;AAAA,MAEC,sBACD;AAAA,QAAC;AAAA;AAAA,UACA;AAAA,UACA,WAAU;AAAA,UACV,UAAQ;AAAA,UACR,oBAAmB;AAAA,UAEnB,sDAAC,6BAAS,SAAT,EAAiB,OAAQ,oBAAqB;AAAA;AAAA,MAChD;AAAA,OAEF;AAAA,EAGH;AACD;AAGA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,IAAI;AAAA,MACH,MAAM;AAAA,IACP;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,IACP;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACb,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,oBAAoB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MACnB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACX;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,EACR;AAAA,EACA,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;AAEJ,UAAM,gBAAgB,6BAAS,QAAS,QAAS,QAC9C,gBAAI,WAAY,QAChB;AAAA;AAAA,UAEA,gBAAI,cAAe;AAAA,MACnB;AAAA,IACD;AAEF,WACC,QACC,6CAAC,SAAM,GAAG,kCAAc,KAAK,GAC1B;AAAA,wBACD,2EACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,MAAO;AAAA,UACP,MAAK;AAAA,UACL,OAAQ;AAAA,YACP,OAAO;AAAA,YACP,QAAQ,GAAI,aAAc;AAAA,UAC3B;AAAA,UACA,cAAa;AAAA;AAAA,MACd,GACD;AAAA,MAEC,CAAE,6BAAS,QAAS,QAAS,KAC9B;AAAA,QAAC;AAAA;AAAA,UACA,MAAO;AAAA,UACP,QAAS;AAAA,UACT,KACC,iBACG,wBACA;AAAA,UAGJ,sDAAC,6BAAS,SAAT,EAAiB,OAAQ,UAAW;AAAA;AAAA,MACtC;AAAA,MAEC,sBACD;AAAA,QAAC;AAAA;AAAA,UACA;AAAA,UACA,WAAU;AAAA,UACV,UAAQ;AAAA,UAER,sDAAC,6BAAS,SAAT,EAAiB,OAAQ,oBAAqB;AAAA;AAAA,MAChD;AAAA,OAEF;AAAA,EAGH;AACD;AAEA,IAAM,aAAa,CAAE,IAAI,IAAI,EAAG;AAEhC,IAAO,qBAAQ;",
|
|
6
6
|
"names": ["clsx"]
|
|
7
7
|
}
|