@wordpress/block-library 11.0.0 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/README.md +7 -7
- package/build/accordion/block.json +4 -1
- package/build/accordion-item/block.json +7 -1
- package/build/accordion-panel/block.json +9 -1
- package/build/archives/block.json +9 -0
- package/build/archives/edit.cjs.map +3 -3
- package/build/audio/block.json +8 -0
- package/build/audio/edit.cjs.map +3 -3
- package/build/avatar/hooks.cjs.map +2 -2
- package/build/breadcrumbs/block.json +3 -0
- package/build/breadcrumbs/edit.cjs.map +3 -3
- package/build/button/edit.cjs.map +2 -2
- package/build/buttons/block.json +9 -0
- package/build/categories/block.json +12 -1
- package/build/categories/edit.cjs.map +3 -3
- package/build/code/block.json +10 -0
- package/build/code/save.cjs.map +2 -2
- package/build/column/block.json +9 -0
- package/build/columns/block.json +9 -0
- package/build/comment-author-name/block.json +3 -0
- package/build/comment-content/block.json +5 -0
- package/build/comment-date/block.json +3 -0
- package/build/comment-edit-link/block.json +3 -0
- package/build/comment-reply-link/block.json +3 -0
- package/build/comment-template/hooks.cjs.map +2 -2
- package/build/comments/block.json +10 -0
- package/build/comments-pagination/block.json +3 -0
- package/build/comments-pagination-next/block.json +3 -0
- package/build/comments-pagination-numbers/block.json +3 -0
- package/build/comments-pagination-previous/block.json +6 -0
- package/build/comments-title/block.json +3 -0
- package/build/cover/edit/index.cjs +4 -1
- package/build/cover/edit/index.cjs.map +2 -2
- package/build/cover/edit/inspector-controls.cjs +52 -13
- package/build/cover/edit/inspector-controls.cjs.map +2 -2
- package/build/cover/transforms.cjs.map +2 -2
- package/build/details/block.json +12 -0
- package/build/details/index.cjs.map +2 -2
- package/build/embed/embed-controls.cjs.map +2 -2
- package/build/file/block.json +9 -0
- package/build/file/deprecated.cjs.map +2 -2
- package/build/file/edit.cjs.map +2 -2
- package/build/file/inspector.cjs.map +3 -3
- package/build/file/save.cjs.map +2 -2
- package/build/footnotes/block.json +10 -0
- package/build/footnotes/edit.cjs.map +2 -2
- package/build/gallery/block.json +9 -0
- package/build/gallery/dynamic-gallery.cjs.map +3 -3
- package/build/gallery/edit.cjs +65 -39
- package/build/gallery/edit.cjs.map +3 -3
- package/build/gallery/{flex-styles.cjs → gallery-styles.cjs} +31 -32
- package/build/gallery/gallery-styles.cjs.map +7 -0
- package/build/gallery/responsive-styles.cjs +27 -5
- package/build/gallery/responsive-styles.cjs.map +2 -2
- package/build/group/block.json +1 -0
- package/build/heading/block.json +11 -0
- package/build/heading/index.cjs.map +2 -2
- package/build/home-link/block.json +18 -0
- package/build/home-link/edit.cjs.map +3 -3
- package/build/html/modal.cjs +3 -6
- package/build/html/modal.cjs.map +2 -2
- package/build/image/edit.cjs.map +2 -2
- package/build/image/image.cjs +10 -8
- package/build/image/image.cjs.map +3 -3
- package/build/image/use-open-image-media-editor-modal.cjs +20 -0
- package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
- package/build/index.cjs.map +2 -2
- package/build/latest-comments/block.json +10 -0
- package/build/latest-comments/edit.cjs.map +3 -3
- package/build/latest-posts/block.json +10 -0
- package/build/latest-posts/edit.cjs.map +2 -2
- package/build/list/ordered-list-settings.cjs.map +3 -3
- package/build/list-item/hooks/use-enter.cjs.map +2 -2
- package/build/loginout/block.json +10 -0
- package/build/math/block.json +12 -0
- package/build/math/deprecated.cjs +29 -12
- package/build/math/deprecated.cjs.map +2 -2
- package/build/math/edit.cjs +67 -46
- package/build/math/edit.cjs.map +2 -2
- package/build/math/save.cjs +2 -2
- package/build/math/save.cjs.map +2 -2
- package/build/media-text/block.json +1 -0
- package/build/media-text/constants.cjs +3 -0
- package/build/media-text/constants.cjs.map +2 -2
- package/build/media-text/deprecated.cjs.map +2 -2
- package/build/media-text/edit.cjs +40 -0
- package/build/media-text/edit.cjs.map +3 -3
- package/build/media-text/image-fill.cjs.map +2 -2
- package/build/media-text/media-container.cjs +3 -3
- package/build/media-text/media-container.cjs.map +2 -2
- package/build/navigation/edit/index.cjs +1 -4
- package/build/navigation/edit/index.cjs.map +2 -2
- package/build/navigation/edit/menu-inspector-controls.cjs.map +2 -2
- package/build/navigation/edit/overlay-template-part-selector.cjs.map +3 -3
- package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
- package/build/navigation/edit/use-generate-default-navigation-title.cjs.map +2 -2
- package/build/navigation/view.cjs +2 -2
- package/build/navigation/view.cjs.map +2 -2
- package/build/navigation-link/edit.cjs.map +2 -2
- package/build/navigation-link/link-ui/page-creator.cjs.map +3 -3
- package/build/navigation-link/shared/controls.cjs.map +3 -3
- package/build/navigation-link/shared/invalid-draft-display.cjs.map +2 -2
- package/build/navigation-link/shared/use-link-preview.cjs +13 -13
- package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
- package/build/navigation-overlay-close/block.json +7 -0
- package/build/navigation-submenu/block.json +6 -0
- package/build/navigation-submenu/edit.cjs +9 -1
- package/build/navigation-submenu/edit.cjs.map +3 -3
- package/build/page-list/block.json +10 -0
- package/build/paragraph/block.json +1 -0
- package/build/paragraph/edit.cjs +1 -2
- package/build/paragraph/edit.cjs.map +2 -2
- package/build/paragraph/index.cjs +6 -0
- package/build/paragraph/index.cjs.map +3 -3
- package/build/playlist/block.json +1 -0
- package/build/playlist/edit.cjs +2 -1
- package/build/playlist/edit.cjs.map +3 -3
- package/build/post-author/edit.cjs.map +3 -3
- package/build/post-author-biography/block.json +4 -0
- package/build/post-author-name/block.json +5 -0
- package/build/post-author-name/edit.cjs.map +2 -2
- package/build/post-comments-count/block.json +3 -0
- package/build/post-comments-form/block.json +10 -0
- package/build/post-content/block.json +3 -0
- package/build/post-date/block.json +3 -0
- package/build/post-date/edit.cjs.map +2 -2
- package/build/post-excerpt/block.json +6 -0
- package/build/post-excerpt/edit.cjs.map +2 -2
- package/build/post-featured-image/edit.cjs +11 -9
- package/build/post-featured-image/edit.cjs.map +2 -2
- package/build/post-navigation-link/block.json +30 -0
- package/build/post-navigation-link/edit.cjs +13 -2
- package/build/post-navigation-link/edit.cjs.map +3 -3
- package/build/post-template/block.json +13 -1
- package/build/post-terms/block.json +6 -0
- package/build/post-time-to-read/block.json +6 -0
- package/build/post-time-to-read/edit.cjs.map +2 -2
- package/build/post-title/block.json +10 -0
- package/build/preformatted/block.json +7 -0
- package/build/pullquote/block.json +1 -0
- package/build/pullquote/deprecated.cjs.map +2 -2
- package/build/query/deprecated.cjs.map +2 -2
- package/build/query/edit/inspector-controls/index.cjs.map +3 -3
- package/build/query/edit/inspector-controls/order-control.cjs.map +3 -3
- package/build/query/edit/inspector-controls/sticky-control.cjs.map +3 -3
- package/build/query/view.cjs.map +2 -2
- package/build/query-no-results/block.json +10 -2
- package/build/query-pagination/block.json +3 -0
- package/build/query-pagination-next/block.json +3 -0
- package/build/query-pagination-numbers/block.json +3 -0
- package/build/query-pagination-previous/block.json +3 -0
- package/build/query-title/block.json +3 -0
- package/build/query-title/use-archive-label.cjs.map +2 -2
- package/build/query-total/block.json +6 -0
- package/build/quote/block.json +1 -0
- package/build/quote/deprecated.cjs.map +2 -2
- package/build/quote/transforms.cjs.map +2 -2
- package/build/read-more/block.json +6 -0
- package/build/rss/block.json +6 -0
- package/build/search/edit.cjs.map +3 -3
- package/build/separator/edit.cjs.map +3 -3
- package/build/site-tagline/block.json +8 -1
- package/build/site-title/block.json +7 -1
- package/build/social-links/block.json +3 -0
- package/build/social-links/edit.cjs +2 -3
- package/build/social-links/edit.cjs.map +3 -3
- package/build/tab-panel/block.json +25 -0
- package/build/tab-panel/controls.cjs.map +3 -3
- package/build/tab-panels/block.json +18 -1
- package/build/table/state.cjs.map +2 -2
- package/build/table-of-contents/block.json +7 -0
- package/build/table-of-contents/edit.cjs.map +3 -3
- package/build/table-of-contents/utils.cjs.map +2 -2
- package/build/tabs/block.json +24 -1
- package/build/tabs/use-tab-actions.cjs.map +2 -2
- package/build/tag-cloud/block.json +19 -0
- package/build/tag-cloud/edit.cjs.map +3 -3
- package/build/template-part/edit/advanced-controls.cjs.map +3 -3
- package/build/template-part/edit/import-controls.cjs.map +3 -3
- package/build/template-part/edit/index.cjs.map +2 -2
- package/build/template-part/edit/inner-blocks.cjs.map +2 -2
- package/build/template-part/edit/placeholder.cjs.map +2 -2
- package/build/template-part/edit/selection-modal.cjs.map +1 -1
- package/build/term-count/block.json +7 -0
- package/build/term-count/use-term-count.cjs.map +2 -2
- package/build/term-description/block.json +9 -0
- package/build/term-description/use-term-description.cjs.map +2 -2
- package/build/term-name/block.json +10 -0
- package/build/term-name/use-term-name.cjs.map +2 -2
- package/build/term-template/block.json +10 -1
- package/build/terms-query/edit/inspector-controls/index.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/order-control.cjs.map +3 -3
- package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +3 -3
- package/build/utils/hooks.cjs.map +2 -2
- package/build/utils/media-control.cjs +5 -1
- package/build/utils/media-control.cjs.map +2 -2
- package/build/utils/poster-image.cjs.map +2 -2
- package/build/utils/search-patterns.cjs +7 -43
- package/build/utils/search-patterns.cjs.map +3 -3
- package/build/utils/style-state.cjs +4 -6
- package/build/utils/style-state.cjs.map +2 -2
- package/build/verse/block.json +1 -0
- package/build/video/block.json +6 -0
- package/build/video/edit-common-settings.cjs.map +3 -3
- package/build/video/edit.cjs +23 -15
- package/build/video/edit.cjs.map +3 -3
- package/build/video/index.cjs +0 -2
- package/build/video/index.cjs.map +3 -3
- package/build/video/save.cjs +5 -1
- package/build/video/save.cjs.map +3 -3
- package/build/video/tracks-editor.cjs.map +3 -3
- package/build-module/accordion/block.json +4 -1
- package/build-module/accordion-item/block.json +7 -1
- package/build-module/accordion-panel/block.json +9 -1
- package/build-module/archives/block.json +9 -0
- package/build-module/archives/edit.mjs +2 -2
- package/build-module/archives/edit.mjs.map +2 -2
- package/build-module/audio/block.json +8 -0
- package/build-module/audio/edit.mjs +2 -2
- package/build-module/audio/edit.mjs.map +2 -2
- package/build-module/avatar/hooks.mjs.map +2 -2
- package/build-module/breadcrumbs/block.json +3 -0
- package/build-module/breadcrumbs/edit.mjs +3 -3
- package/build-module/breadcrumbs/edit.mjs.map +2 -2
- package/build-module/button/edit.mjs.map +2 -2
- package/build-module/buttons/block.json +9 -0
- package/build-module/categories/block.json +12 -1
- package/build-module/categories/edit.mjs +2 -2
- package/build-module/categories/edit.mjs.map +2 -2
- package/build-module/code/block.json +10 -0
- package/build-module/code/save.mjs.map +2 -2
- package/build-module/column/block.json +9 -0
- package/build-module/columns/block.json +9 -0
- package/build-module/comment-author-name/block.json +3 -0
- package/build-module/comment-content/block.json +5 -0
- package/build-module/comment-date/block.json +3 -0
- package/build-module/comment-edit-link/block.json +3 -0
- package/build-module/comment-reply-link/block.json +3 -0
- package/build-module/comment-template/hooks.mjs.map +2 -2
- package/build-module/comments/block.json +10 -0
- package/build-module/comments-pagination/block.json +3 -0
- package/build-module/comments-pagination-next/block.json +3 -0
- package/build-module/comments-pagination-numbers/block.json +3 -0
- package/build-module/comments-pagination-previous/block.json +6 -0
- package/build-module/comments-title/block.json +3 -0
- package/build-module/cover/edit/index.mjs +4 -1
- package/build-module/cover/edit/index.mjs.map +2 -2
- package/build-module/cover/edit/inspector-controls.mjs +57 -14
- package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
- package/build-module/cover/transforms.mjs.map +2 -2
- package/build-module/details/block.json +12 -0
- package/build-module/details/index.mjs.map +2 -2
- package/build-module/embed/embed-controls.mjs.map +2 -2
- package/build-module/file/block.json +9 -0
- package/build-module/file/deprecated.mjs.map +2 -2
- package/build-module/file/edit.mjs.map +2 -2
- package/build-module/file/inspector.mjs +2 -2
- package/build-module/file/inspector.mjs.map +2 -2
- package/build-module/file/save.mjs.map +2 -2
- package/build-module/footnotes/block.json +10 -0
- package/build-module/footnotes/edit.mjs.map +2 -2
- package/build-module/gallery/block.json +9 -0
- package/build-module/gallery/dynamic-gallery.mjs +2 -2
- package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
- package/build-module/gallery/edit.mjs +68 -42
- package/build-module/gallery/edit.mjs.map +2 -2
- package/build-module/gallery/{flex-styles.mjs → gallery-styles.mjs} +29 -30
- package/build-module/gallery/gallery-styles.mjs.map +7 -0
- package/build-module/gallery/responsive-styles.mjs +25 -4
- package/build-module/gallery/responsive-styles.mjs.map +2 -2
- package/build-module/group/block.json +1 -0
- package/build-module/heading/block.json +11 -0
- package/build-module/heading/index.mjs.map +2 -2
- package/build-module/home-link/block.json +18 -0
- package/build-module/home-link/edit.mjs +2 -2
- package/build-module/home-link/edit.mjs.map +2 -2
- package/build-module/html/modal.mjs +3 -6
- package/build-module/html/modal.mjs.map +2 -2
- package/build-module/image/edit.mjs.map +2 -2
- package/build-module/image/image.mjs +12 -10
- package/build-module/image/image.mjs.map +2 -2
- package/build-module/image/use-open-image-media-editor-modal.mjs +20 -0
- package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
- package/build-module/index.mjs.map +2 -2
- package/build-module/latest-comments/block.json +10 -0
- package/build-module/latest-comments/edit.mjs +2 -2
- package/build-module/latest-comments/edit.mjs.map +2 -2
- package/build-module/latest-posts/block.json +10 -0
- package/build-module/latest-posts/edit.mjs.map +2 -2
- package/build-module/list/ordered-list-settings.mjs +2 -2
- package/build-module/list/ordered-list-settings.mjs.map +2 -2
- package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
- package/build-module/loginout/block.json +10 -0
- package/build-module/math/block.json +12 -0
- package/build-module/math/deprecated.mjs +29 -12
- package/build-module/math/deprecated.mjs.map +2 -2
- package/build-module/math/edit.mjs +68 -47
- package/build-module/math/edit.mjs.map +2 -2
- package/build-module/math/save.mjs +2 -2
- package/build-module/math/save.mjs.map +2 -2
- package/build-module/media-text/block.json +1 -0
- package/build-module/media-text/constants.mjs +2 -0
- package/build-module/media-text/constants.mjs.map +2 -2
- package/build-module/media-text/deprecated.mjs.map +2 -2
- package/build-module/media-text/edit.mjs +42 -1
- package/build-module/media-text/edit.mjs.map +2 -2
- package/build-module/media-text/image-fill.mjs.map +2 -2
- package/build-module/media-text/media-container.mjs +1 -1
- package/build-module/media-text/media-container.mjs.map +2 -2
- package/build-module/navigation/edit/index.mjs +1 -4
- package/build-module/navigation/edit/index.mjs.map +2 -2
- package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-template-part-selector.mjs +2 -2
- package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
- package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
- package/build-module/navigation/edit/use-generate-default-navigation-title.mjs.map +2 -2
- package/build-module/navigation/view.mjs +2 -2
- package/build-module/navigation/view.mjs.map +2 -2
- package/build-module/navigation-link/edit.mjs.map +2 -2
- package/build-module/navigation-link/link-ui/page-creator.mjs +2 -2
- package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
- package/build-module/navigation-link/shared/controls.mjs +2 -2
- package/build-module/navigation-link/shared/controls.mjs.map +2 -2
- package/build-module/navigation-link/shared/invalid-draft-display.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-link-preview.mjs +13 -13
- package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
- package/build-module/navigation-overlay-close/block.json +7 -0
- package/build-module/navigation-submenu/block.json +6 -0
- package/build-module/navigation-submenu/edit.mjs +11 -2
- package/build-module/navigation-submenu/edit.mjs.map +2 -2
- package/build-module/page-list/block.json +10 -0
- package/build-module/paragraph/block.json +1 -0
- package/build-module/paragraph/edit.mjs +1 -2
- package/build-module/paragraph/edit.mjs.map +2 -2
- package/build-module/paragraph/index.mjs +6 -0
- package/build-module/paragraph/index.mjs.map +2 -2
- package/build-module/playlist/block.json +1 -0
- package/build-module/playlist/edit.mjs +5 -4
- package/build-module/playlist/edit.mjs.map +2 -2
- package/build-module/post-author/edit.mjs +2 -2
- package/build-module/post-author/edit.mjs.map +2 -2
- package/build-module/post-author-biography/block.json +4 -0
- package/build-module/post-author-name/block.json +5 -0
- package/build-module/post-author-name/edit.mjs.map +2 -2
- package/build-module/post-comments-count/block.json +3 -0
- package/build-module/post-comments-form/block.json +10 -0
- package/build-module/post-content/block.json +3 -0
- package/build-module/post-date/block.json +3 -0
- package/build-module/post-date/edit.mjs.map +2 -2
- package/build-module/post-excerpt/block.json +6 -0
- package/build-module/post-excerpt/edit.mjs.map +2 -2
- package/build-module/post-featured-image/edit.mjs +11 -9
- package/build-module/post-featured-image/edit.mjs.map +2 -2
- package/build-module/post-navigation-link/block.json +30 -0
- package/build-module/post-navigation-link/edit.mjs +19 -5
- package/build-module/post-navigation-link/edit.mjs.map +2 -2
- package/build-module/post-template/block.json +13 -1
- package/build-module/post-terms/block.json +6 -0
- package/build-module/post-time-to-read/block.json +6 -0
- package/build-module/post-time-to-read/edit.mjs.map +2 -2
- package/build-module/post-title/block.json +10 -0
- package/build-module/preformatted/block.json +7 -0
- package/build-module/pullquote/block.json +1 -0
- package/build-module/pullquote/deprecated.mjs.map +2 -2
- package/build-module/query/deprecated.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/index.mjs +2 -2
- package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
- package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/sticky-control.mjs +2 -2
- package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
- package/build-module/query/view.mjs.map +2 -2
- package/build-module/query-no-results/block.json +10 -2
- package/build-module/query-pagination/block.json +3 -0
- package/build-module/query-pagination-next/block.json +3 -0
- package/build-module/query-pagination-numbers/block.json +3 -0
- package/build-module/query-pagination-previous/block.json +3 -0
- package/build-module/query-title/block.json +3 -0
- package/build-module/query-title/use-archive-label.mjs.map +2 -2
- package/build-module/query-total/block.json +6 -0
- package/build-module/quote/block.json +1 -0
- package/build-module/quote/deprecated.mjs.map +2 -2
- package/build-module/quote/transforms.mjs.map +2 -2
- package/build-module/read-more/block.json +6 -0
- package/build-module/rss/block.json +6 -0
- package/build-module/search/edit.mjs +3 -3
- package/build-module/search/edit.mjs.map +2 -2
- package/build-module/separator/edit.mjs +5 -2
- package/build-module/separator/edit.mjs.map +2 -2
- package/build-module/site-tagline/block.json +8 -1
- package/build-module/site-title/block.json +7 -1
- package/build-module/social-links/block.json +3 -0
- package/build-module/social-links/edit.mjs +4 -5
- package/build-module/social-links/edit.mjs.map +2 -2
- package/build-module/tab-panel/block.json +25 -0
- package/build-module/tab-panel/controls.mjs +2 -2
- package/build-module/tab-panel/controls.mjs.map +2 -2
- package/build-module/tab-panels/block.json +18 -1
- package/build-module/table/state.mjs.map +2 -2
- package/build-module/table-of-contents/block.json +7 -0
- package/build-module/table-of-contents/edit.mjs +2 -2
- package/build-module/table-of-contents/edit.mjs.map +2 -2
- package/build-module/table-of-contents/utils.mjs.map +2 -2
- package/build-module/tabs/block.json +24 -1
- package/build-module/tabs/use-tab-actions.mjs.map +2 -2
- package/build-module/tag-cloud/block.json +19 -0
- package/build-module/tag-cloud/edit.mjs +2 -2
- package/build-module/tag-cloud/edit.mjs.map +2 -2
- package/build-module/template-part/edit/advanced-controls.mjs +5 -2
- package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
- package/build-module/template-part/edit/import-controls.mjs +2 -2
- package/build-module/template-part/edit/import-controls.mjs.map +2 -2
- package/build-module/template-part/edit/index.mjs.map +2 -2
- package/build-module/template-part/edit/inner-blocks.mjs.map +2 -2
- package/build-module/template-part/edit/placeholder.mjs.map +2 -2
- package/build-module/template-part/edit/selection-modal.mjs.map +1 -1
- package/build-module/term-count/block.json +7 -0
- package/build-module/term-count/use-term-count.mjs.map +2 -2
- package/build-module/term-description/block.json +9 -0
- package/build-module/term-description/use-term-description.mjs.map +2 -2
- package/build-module/term-name/block.json +10 -0
- package/build-module/term-name/use-term-name.mjs.map +2 -2
- package/build-module/term-template/block.json +10 -1
- package/build-module/terms-query/edit/inspector-controls/index.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
- package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs +2 -2
- package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
- package/build-module/utils/hooks.mjs.map +2 -2
- package/build-module/utils/media-control.mjs +5 -1
- package/build-module/utils/media-control.mjs.map +2 -2
- package/build-module/utils/poster-image.mjs.map +2 -2
- package/build-module/utils/search-patterns.mjs +7 -32
- package/build-module/utils/search-patterns.mjs.map +2 -2
- package/build-module/utils/style-state.mjs +6 -4
- package/build-module/utils/style-state.mjs.map +2 -2
- package/build-module/verse/block.json +1 -0
- package/build-module/video/block.json +6 -0
- package/build-module/video/edit-common-settings.mjs +2 -2
- package/build-module/video/edit-common-settings.mjs.map +2 -2
- package/build-module/video/edit.mjs +25 -16
- package/build-module/video/edit.mjs.map +2 -2
- package/build-module/video/index.mjs +0 -2
- package/build-module/video/index.mjs.map +2 -2
- package/build-module/video/save.mjs +7 -2
- package/build-module/video/save.mjs.map +2 -2
- package/build-module/video/tracks-editor.mjs +2 -2
- package/build-module/video/tracks-editor.mjs.map +2 -2
- package/build-style/button/style-rtl.css +2 -1
- package/build-style/button/style.css +2 -1
- package/build-style/columns/style-rtl.css +1 -1
- package/build-style/columns/style.css +1 -1
- package/build-style/comments/editor-rtl.css +1 -1
- package/build-style/comments/editor.css +1 -1
- package/build-style/comments/style-rtl.css +1 -1
- package/build-style/comments/style.css +1 -1
- package/build-style/common-rtl.css +1 -1
- package/build-style/common.css +1 -1
- package/build-style/cover/style-rtl.css +6 -0
- package/build-style/cover/style.css +6 -0
- package/build-style/editor-rtl.css +21 -7
- package/build-style/editor.css +21 -7
- package/build-style/embed/editor-rtl.css +2 -1
- package/build-style/embed/editor.css +2 -1
- package/build-style/gallery/style-rtl.css +1 -2
- package/build-style/gallery/style.css +1 -2
- package/build-style/image/editor-rtl.css +6 -0
- package/build-style/image/editor.css +6 -0
- package/build-style/image/style-rtl.css +6 -9
- package/build-style/image/style.css +6 -9
- package/build-style/math/editor-rtl.css +5 -0
- package/build-style/math/editor.css +5 -0
- package/build-style/navigation/editor-rtl.css +1 -0
- package/build-style/navigation/editor.css +1 -0
- package/build-style/navigation/style-rtl.css +19 -4
- package/build-style/navigation/style.css +19 -4
- package/build-style/navigation-link/editor-rtl.css +3 -1
- package/build-style/navigation-link/editor.css +3 -1
- package/build-style/navigation-overlay-close/style-rtl.css +1 -1
- package/build-style/navigation-overlay-close/style.css +1 -1
- package/build-style/navigation-submenu/editor-rtl.css +3 -1
- package/build-style/navigation-submenu/editor.css +3 -1
- package/build-style/post-navigation-link/style-rtl.css +3 -0
- package/build-style/post-navigation-link/style.css +3 -0
- package/build-style/post-title/style-rtl.css +2 -2
- package/build-style/post-title/style.css +2 -2
- package/build-style/query-pagination/editor-rtl.css +0 -3
- package/build-style/query-pagination/editor.css +0 -3
- package/build-style/search/theme-rtl.css +1 -1
- package/build-style/search/theme.css +1 -1
- package/build-style/style-rtl.css +47 -23
- package/build-style/style.css +47 -23
- package/build-style/tab-panel/style-rtl.css +2 -0
- package/build-style/tab-panel/style.css +2 -0
- package/build-style/theme-rtl.css +1 -1
- package/build-style/theme.css +1 -1
- package/build-style/verse/style-rtl.css +2 -1
- package/build-style/verse/style.css +2 -1
- package/package.json +42 -43
- package/src/accordion/README.md +3 -0
- package/src/accordion/block.json +4 -1
- package/src/accordion-item/README.md +5 -0
- package/src/accordion-item/block.json +7 -1
- package/src/accordion-panel/README.md +7 -0
- package/src/accordion-panel/block.json +9 -1
- package/src/archives/README.md +4 -0
- package/src/archives/block.json +9 -0
- package/src/archives/edit.jsx +2 -2
- package/src/audio/README.md +4 -0
- package/src/audio/block.json +8 -0
- package/src/audio/edit.jsx +2 -2
- package/src/avatar/hooks.js +2 -2
- package/src/breadcrumbs/README.md +2 -0
- package/src/breadcrumbs/block.json +3 -0
- package/src/breadcrumbs/edit.jsx +3 -3
- package/src/breadcrumbs/index.php +1 -1
- package/src/button/edit.jsx +1 -1
- package/src/button/style.scss +2 -2
- package/src/buttons/README.md +4 -0
- package/src/buttons/block.json +9 -0
- package/src/calendar/index.php +1 -1
- package/src/categories/README.md +6 -0
- package/src/categories/block.json +12 -1
- package/src/categories/edit.jsx +2 -2
- package/src/code/README.md +5 -0
- package/src/code/block.json +10 -0
- package/src/code/save.jsx +1 -1
- package/src/column/README.md +4 -0
- package/src/column/block.json +9 -0
- package/src/columns/README.md +4 -0
- package/src/columns/block.json +9 -0
- package/src/columns/style.scss +2 -3
- package/src/comment-author-name/README.md +2 -0
- package/src/comment-author-name/block.json +3 -0
- package/src/comment-content/README.md +4 -0
- package/src/comment-content/block.json +5 -0
- package/src/comment-date/README.md +2 -0
- package/src/comment-date/block.json +3 -0
- package/src/comment-edit-link/README.md +2 -0
- package/src/comment-edit-link/block.json +3 -0
- package/src/comment-reply-link/README.md +2 -0
- package/src/comment-reply-link/block.json +3 -0
- package/src/comment-template/hooks.js +1 -1
- package/src/comments/README.md +5 -0
- package/src/comments/block.json +10 -0
- package/src/comments/style.scss +1 -1
- package/src/comments-pagination/README.md +2 -0
- package/src/comments-pagination/block.json +3 -0
- package/src/comments-pagination-next/README.md +2 -0
- package/src/comments-pagination-next/block.json +3 -0
- package/src/comments-pagination-numbers/README.md +2 -0
- package/src/comments-pagination-numbers/block.json +3 -0
- package/src/comments-pagination-previous/README.md +2 -0
- package/src/comments-pagination-previous/block.json +6 -0
- package/src/comments-title/README.md +2 -0
- package/src/comments-title/block.json +3 -0
- package/src/common.scss +1 -2
- package/src/cover/edit/index.jsx +5 -2
- package/src/cover/edit/inspector-controls.jsx +66 -15
- package/src/cover/style.scss +10 -0
- package/src/cover/test/{edit.jsdom.test.js → edit.browser.test.js} +122 -147
- package/src/cover/transforms.js +3 -3
- package/src/details/README.md +7 -0
- package/src/details/block.json +12 -0
- package/src/details/index.js +1 -1
- package/src/embed/editor.scss +2 -2
- package/src/embed/embed-controls.jsx +2 -2
- package/src/file/README.md +4 -0
- package/src/file/block.json +9 -0
- package/src/file/deprecated.jsx +3 -3
- package/src/file/edit.jsx +5 -3
- package/src/file/inspector.jsx +3 -3
- package/src/file/save.jsx +2 -2
- package/src/footnotes/README.md +5 -0
- package/src/footnotes/block.json +10 -0
- package/src/footnotes/edit.jsx +1 -1
- package/src/gallery/README.md +4 -0
- package/src/gallery/block.json +9 -0
- package/src/gallery/dynamic-gallery.jsx +4 -4
- package/src/gallery/edit.jsx +122 -70
- package/src/gallery/gallery-styles.js +117 -0
- package/src/gallery/index.php +181 -67
- package/src/gallery/responsive-styles.js +59 -5
- package/src/gallery/test/edit.jsdom.test.js +71 -3
- package/src/gallery/test/responsive-styles.js +59 -5
- package/src/group/README.md +1 -0
- package/src/group/block.json +1 -0
- package/src/heading/README.md +6 -0
- package/src/heading/block.json +11 -0
- package/src/heading/index.js +2 -2
- package/src/home-link/README.md +5 -0
- package/src/home-link/block.json +18 -0
- package/src/home-link/edit.jsx +2 -2
- package/src/html/modal.jsx +0 -3
- package/src/icon/index.php +9 -0
- package/src/image/edit.jsx +1 -1
- package/src/image/editor.scss +8 -0
- package/src/image/image.jsx +20 -18
- package/src/image/index.php +10 -4
- package/src/image/style.scss +1 -0
- package/src/image/test/use-open-image-media-editor-modal.jsdom.test.js +140 -1
- package/src/image/use-open-image-media-editor-modal.js +37 -0
- package/src/index.jsx +1 -1
- package/src/latest-comments/README.md +5 -0
- package/src/latest-comments/block.json +10 -0
- package/src/latest-comments/edit.jsx +2 -2
- package/src/latest-posts/README.md +5 -0
- package/src/latest-posts/block.json +10 -0
- package/src/latest-posts/edit.jsx +1 -1
- package/src/list/ordered-list-settings.jsx +2 -2
- package/src/list-item/hooks/use-enter.js +1 -1
- package/src/loginout/README.md +5 -0
- package/src/loginout/block.json +10 -0
- package/src/math/README.md +7 -2
- package/src/math/block.json +12 -0
- package/src/math/deprecated.jsx +38 -12
- package/src/math/edit.jsx +49 -20
- package/src/math/editor.scss +5 -0
- package/src/math/save.jsx +20 -4
- package/src/media-text/README.md +1 -0
- package/src/media-text/block.json +1 -0
- package/src/media-text/constants.js +1 -0
- package/src/media-text/deprecated.jsx +3 -3
- package/src/media-text/edit.jsx +48 -3
- package/src/media-text/image-fill.js +2 -2
- package/src/media-text/media-container.jsx +1 -1
- package/src/navigation/edit/index.jsx +3 -5
- package/src/navigation/edit/menu-inspector-controls.jsx +2 -2
- package/src/navigation/edit/overlay-template-part-selector.jsx +3 -3
- package/src/navigation/edit/responsive-wrapper.jsx +1 -1
- package/src/navigation/edit/use-generate-default-navigation-title.js +2 -2
- package/src/navigation/editor.scss +1 -0
- package/src/navigation/index.php +12 -0
- package/src/navigation/style.scss +41 -5
- package/src/navigation/test/use-navigation-menu.jsdom.test.js +6 -28
- package/src/navigation/test/view.jsdom.test.js +23 -0
- package/src/navigation/view.js +9 -6
- package/src/navigation-link/edit.jsx +1 -1
- package/src/navigation-link/editor.scss +6 -1
- package/src/navigation-link/link-ui/page-creator.jsx +2 -2
- package/src/navigation-link/shared/controls.jsx +2 -2
- package/src/navigation-link/shared/invalid-draft-display.jsx +2 -2
- package/src/navigation-link/shared/test/use-link-preview.jsdom.test.js +22 -22
- package/src/navigation-link/shared/use-link-preview.js +15 -14
- package/src/navigation-link/test/__snapshots__/hooks.jsdom.test.js.snap +41 -11
- package/src/navigation-overlay-close/README.md +1 -0
- package/src/navigation-overlay-close/block.json +7 -0
- package/src/navigation-overlay-close/style.scss +1 -1
- package/src/navigation-submenu/README.md +7 -0
- package/src/navigation-submenu/block.json +6 -0
- package/src/navigation-submenu/edit.jsx +12 -2
- package/src/navigation-submenu/editor.scss +6 -1
- package/src/navigation-submenu/index.php +11 -0
- package/src/page-list/README.md +5 -0
- package/src/page-list/block.json +10 -0
- package/src/paragraph/README.md +1 -0
- package/src/paragraph/block.json +1 -0
- package/src/paragraph/edit.jsx +2 -4
- package/src/paragraph/index.js +7 -0
- package/src/pattern/index.php +2 -2
- package/src/playlist/README.md +1 -0
- package/src/playlist/block.json +1 -0
- package/src/playlist/edit.jsx +6 -4
- package/src/playlist-track/test/edit.jsdom.test.jsx +2 -3
- package/src/post-author/edit.jsx +2 -2
- package/src/post-author-biography/README.md +3 -0
- package/src/post-author-biography/block.json +4 -0
- package/src/post-author-name/README.md +4 -0
- package/src/post-author-name/block.json +5 -0
- package/src/post-author-name/edit.jsx +1 -1
- package/src/post-comments-count/README.md +2 -0
- package/src/post-comments-count/block.json +3 -0
- package/src/post-comments-form/README.md +5 -0
- package/src/post-comments-form/block.json +10 -0
- package/src/post-content/README.md +3 -0
- package/src/post-content/block.json +3 -0
- package/src/post-date/README.md +2 -0
- package/src/post-date/block.json +3 -0
- package/src/post-date/edit.jsx +2 -2
- package/src/post-excerpt/README.md +5 -0
- package/src/post-excerpt/block.json +6 -0
- package/src/post-excerpt/edit.jsx +1 -1
- package/src/post-featured-image/edit.jsx +13 -11
- package/src/post-navigation-link/README.md +12 -0
- package/src/post-navigation-link/block.json +30 -0
- package/src/post-navigation-link/edit.jsx +27 -6
- package/src/post-navigation-link/index.php +94 -5
- package/src/post-navigation-link/style.scss +2 -0
- package/src/post-template/README.md +7 -0
- package/src/post-template/block.json +13 -1
- package/src/post-terms/README.md +5 -0
- package/src/post-terms/block.json +6 -0
- package/src/post-time-to-read/README.md +5 -0
- package/src/post-time-to-read/block.json +6 -0
- package/src/post-time-to-read/edit.jsx +2 -2
- package/src/post-title/README.md +5 -0
- package/src/post-title/block.json +10 -0
- package/src/post-title/style.scss +2 -3
- package/src/preformatted/README.md +6 -0
- package/src/preformatted/block.json +7 -0
- package/src/pullquote/README.md +1 -0
- package/src/pullquote/block.json +1 -0
- package/src/pullquote/deprecated.jsx +1 -1
- package/src/query/deprecated.jsx +1 -1
- package/src/query/edit/inspector-controls/index.jsx +4 -4
- package/src/query/edit/inspector-controls/order-control.jsx +2 -2
- package/src/query/edit/inspector-controls/sticky-control.jsx +2 -2
- package/src/query/view.js +6 -9
- package/src/query-no-results/README.md +7 -0
- package/src/query-no-results/block.json +10 -2
- package/src/query-pagination/README.md +2 -0
- package/src/query-pagination/block.json +3 -0
- package/src/query-pagination/editor.scss +0 -3
- package/src/query-pagination-next/README.md +2 -0
- package/src/query-pagination-next/block.json +3 -0
- package/src/query-pagination-numbers/README.md +2 -0
- package/src/query-pagination-numbers/block.json +3 -0
- package/src/query-pagination-previous/README.md +2 -0
- package/src/query-pagination-previous/block.json +3 -0
- package/src/query-title/README.md +2 -0
- package/src/query-title/block.json +3 -0
- package/src/query-title/use-archive-label.js +1 -1
- package/src/query-total/README.md +5 -0
- package/src/query-total/block.json +6 -0
- package/src/quote/README.md +1 -0
- package/src/quote/block.json +1 -0
- package/src/quote/deprecated.jsx +2 -2
- package/src/quote/transforms.js +3 -3
- package/src/read-more/README.md +5 -0
- package/src/read-more/block.json +6 -0
- package/src/rss/README.md +5 -0
- package/src/rss/block.json +6 -0
- package/src/search/edit.jsx +6 -6
- package/src/search/theme.scss +1 -1
- package/src/separator/edit.jsx +7 -4
- package/src/site-tagline/README.md +6 -0
- package/src/site-tagline/block.json +8 -1
- package/src/site-title/README.md +5 -0
- package/src/site-title/block.json +7 -1
- package/src/social-links/README.md +2 -0
- package/src/social-links/block.json +3 -0
- package/src/social-links/edit.jsx +4 -5
- package/src/tab-panel/README.md +9 -0
- package/src/tab-panel/block.json +25 -0
- package/src/tab-panel/controls.jsx +2 -2
- package/src/tab-panel/style.scss +5 -2
- package/src/tab-panels/README.md +7 -0
- package/src/tab-panels/block.json +18 -1
- package/src/table/state.js +1 -1
- package/src/table-of-contents/README.md +6 -0
- package/src/table-of-contents/block.json +7 -0
- package/src/table-of-contents/edit.jsx +6 -6
- package/src/table-of-contents/utils.ts +2 -2
- package/src/tabs/README.md +9 -0
- package/src/tabs/block.json +24 -1
- package/src/tabs/use-tab-actions.js +1 -1
- package/src/tag-cloud/README.md +9 -0
- package/src/tag-cloud/block.json +19 -0
- package/src/tag-cloud/edit.jsx +2 -2
- package/src/template-part/edit/advanced-controls.jsx +5 -2
- package/src/template-part/edit/import-controls.jsx +2 -2
- package/src/template-part/edit/index.jsx +2 -2
- package/src/template-part/edit/inner-blocks.jsx +1 -1
- package/src/template-part/edit/placeholder.jsx +2 -2
- package/src/template-part/edit/selection-modal.jsx +1 -1
- package/src/term-count/README.md +6 -0
- package/src/term-count/block.json +7 -0
- package/src/term-count/use-term-count.js +1 -1
- package/src/term-description/README.md +5 -0
- package/src/term-description/block.json +9 -0
- package/src/term-description/use-term-description.js +1 -1
- package/src/term-name/README.md +5 -0
- package/src/term-name/block.json +10 -0
- package/src/term-name/index.php +1 -1
- package/src/term-name/use-term-name.js +1 -1
- package/src/term-template/README.md +5 -0
- package/src/term-template/block.json +10 -1
- package/src/terms-query/edit/inspector-controls/index.jsx +2 -2
- package/src/terms-query/edit/inspector-controls/inherit-control.jsx +1 -1
- package/src/terms-query/edit/inspector-controls/order-control.jsx +2 -2
- package/src/terms-query/edit/inspector-controls/taxonomy-control.jsx +2 -2
- package/src/utils/hooks.js +1 -1
- package/src/utils/media-control.jsx +16 -10
- package/src/utils/poster-image.jsx +2 -2
- package/src/utils/search-patterns.js +9 -53
- package/src/utils/style-state.js +6 -4
- package/src/utils/test/{search-patterns.js → search-patterns.jsdom.test.js} +1 -22
- package/src/utils/test/waveform-player.jsdom.test.jsx +36 -38
- package/src/utils/test/{waveform-utils.jsdom.test.js → waveform-utils.browser.test.js} +64 -44
- package/src/verse/README.md +1 -0
- package/src/verse/block.json +1 -0
- package/src/verse/style.scss +2 -2
- package/src/video/README.md +7 -0
- package/src/video/block.json +6 -0
- package/src/video/edit-common-settings.jsx +3 -3
- package/src/video/edit.jsx +56 -51
- package/src/video/index.js +0 -2
- package/src/video/save.jsx +10 -1
- package/src/video/tracks-editor.jsx +2 -2
- package/build/gallery/flex-styles.cjs.map +0 -7
- package/build/video/variations.cjs +0 -75
- package/build/video/variations.cjs.map +0 -7
- package/build-module/gallery/flex-styles.mjs.map +0 -7
- package/build-module/video/variations.mjs +0 -50
- package/build-module/video/variations.mjs.map +0 -7
- package/src/gallery/flex-styles.js +0 -99
- package/src/video/test/variations.js +0 -63
- package/src/video/variations.js +0 -62
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/categories/edit.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tPlaceholder,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t\tlabel,\n\t\tshowLabel,\n\t\ttaxonomy: taxonomySlug,\n\t},\n\tsetAttributes,\n\tclassName,\n\tclientId,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\n\tconst { records: allTaxonomies, isResolvingTaxonomies } = useEntityRecords(\n\t\t'root',\n\t\t'taxonomy',\n\t\t{ per_page: -1 }\n\t);\n\n\tconst taxonomies = allTaxonomies?.filter( ( t ) => t.visibility.public );\n\n\tconst taxonomy = taxonomies?.find( ( t ) => t.slug === taxonomySlug );\n\n\tconst isHierarchicalTaxonomy =\n\t\t! isResolvingTaxonomies && taxonomy?.hierarchical;\n\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( isHierarchicalTaxonomy && showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\ttaxonomySlug,\n\t\tquery\n\t);\n\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/categories/redirection-prevented/${ clientId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : decodeEntities( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn categoriesList.map( ( category ) =>\n\t\t\trenderCategoryListItem( category )\n\t\t);\n\t};\n\n\tconst renderCategoryListItem = ( category ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id } className={ `cat-item cat-item-${ id }` }>\n\t\t\t\t<a href={ link } onClick={ showRedirectionPreventedNotice }>\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t\t{ isHierarchicalTaxonomy &&\n\t\t\t\t\tshowHierarchy &&\n\t\t\t\t\t!! childCategories.length && (\n\t\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showLabel ? (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-categories__label\"\n\t\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\t\tplaceholder={ taxonomy?.name }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/label-has-associated-control\n\t\t\t\t\t<VisuallyHidden render={ <label htmlFor={ selectId } /> }>\n\t\t\t\t\t\t{ label ? label : taxonomy?.name }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: taxonomy's singular name */\n\t\t\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\t\t\ttaxonomy?.labels?.singular_name\n\t\t\t\t\t\t) }\n\t\t\t\t\t</option>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id } className={ `level-${ level }` }>\n\t\t\t\t{ Array.from( { length: level * 3 } ).map( () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tisHierarchicalTaxonomy &&\n\t\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\tconst TagName =\n\t\t!! categories?.length && ! displayAsDropdown && ! isResolving\n\t\t\t? 'ul'\n\t\t\t: 'div';\n\n\tconst classes = clsx(\n\t\tclassName,\n\t\t`wp-block-categories-taxonomy-${ taxonomySlug }`,\n\t\t{\n\t\t\t'wp-block-categories-list':\n\t\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t\t'wp-block-categories-dropdown':\n\t\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t\t}\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttaxonomy: 'category',\n\t\t\t\t\t\t\tdisplayAsDropdown: false,\n\t\t\t\t\t\t\tshowHierarchy: false,\n\t\t\t\t\t\t\tshowPostCounts: false,\n\t\t\t\t\t\t\tshowOnlyTopLevel: false,\n\t\t\t\t\t\t\tshowEmpty: false,\n\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ Array.isArray( taxonomies ) && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t\treturn taxonomySlug !== 'category';\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { taxonomy: 'category' } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\t\toptions={ taxonomies.map( ( t ) => ( {\n\t\t\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\t\t\tvalue: t.slug,\n\t\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\t\tvalue={ taxonomySlug }\n\t\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\ttaxonomy: selectedTaxonomy,\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</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! displayAsDropdown }\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAsDropdown: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabel: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showPostCounts }\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showPostCounts: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showOnlyTopLevel }\n\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showOnlyTopLevel: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\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={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute(\n\t\t\t\t\t\t\t\t\t'showOnlyTopLevel'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showEmpty }\n\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showEmpty: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showHierarchy }\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHierarchy: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\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={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Terms' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>{ taxonomy.labels.no_terms }</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</TagName>\n\t);\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
6
|
-
"names": ["noticeStore", "clsx", "ToolsPanel", "ToolsPanelItem"]
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tPlaceholder,\n\tSelectControl as WCSelectControl,\n\tSpinner,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t\tlabel,\n\t\tshowLabel,\n\t\ttaxonomy: taxonomySlug,\n\t},\n\tsetAttributes,\n\tclassName,\n\tclientId,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\n\tconst { records: allTaxonomies, isResolvingTaxonomies } = useEntityRecords(\n\t\t'root',\n\t\t'taxonomy',\n\t\t{ per_page: -1 }\n\t);\n\n\tconst taxonomies = allTaxonomies?.filter( ( t ) => t.visibility.public );\n\n\tconst taxonomy = taxonomies?.find( ( t ) => t.slug === taxonomySlug );\n\n\tconst isHierarchicalTaxonomy =\n\t\t! isResolvingTaxonomies && taxonomy?.hierarchical;\n\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( isHierarchicalTaxonomy && showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\ttaxonomySlug,\n\t\tquery\n\t);\n\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/categories/redirection-prevented/${ clientId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : decodeEntities( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn categoriesList.map( ( category ) =>\n\t\t\trenderCategoryListItem( category )\n\t\t);\n\t};\n\n\tconst renderCategoryListItem = ( category ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id } className={ `cat-item cat-item-${ id }` }>\n\t\t\t\t<a href={ link } onClick={ showRedirectionPreventedNotice }>\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t\t{ isHierarchicalTaxonomy &&\n\t\t\t\t\tshowHierarchy &&\n\t\t\t\t\t!! childCategories.length && (\n\t\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showLabel ? (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-categories__label\"\n\t\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\t\tplaceholder={ taxonomy?.name }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/label-has-associated-control\n\t\t\t\t\t<VisuallyHidden render={ <label htmlFor={ selectId } /> }>\n\t\t\t\t\t\t{ label ? label : taxonomy?.name }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: taxonomy's singular name */\n\t\t\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\t\t\ttaxonomy?.labels?.singular_name\n\t\t\t\t\t\t) }\n\t\t\t\t\t</option>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id } className={ `level-${ level }` }>\n\t\t\t\t{ Array.from( { length: level * 3 } ).map( () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tisHierarchicalTaxonomy &&\n\t\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\tconst TagName =\n\t\t!! categories?.length && ! displayAsDropdown && ! isResolving\n\t\t\t? 'ul'\n\t\t\t: 'div';\n\n\tconst classes = clsx(\n\t\tclassName,\n\t\t`wp-block-categories-taxonomy-${ taxonomySlug }`,\n\t\t{\n\t\t\t'wp-block-categories-list':\n\t\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t\t'wp-block-categories-dropdown':\n\t\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t\t}\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttaxonomy: 'category',\n\t\t\t\t\t\t\tdisplayAsDropdown: false,\n\t\t\t\t\t\t\tshowHierarchy: false,\n\t\t\t\t\t\t\tshowPostCounts: false,\n\t\t\t\t\t\t\tshowOnlyTopLevel: false,\n\t\t\t\t\t\t\tshowEmpty: false,\n\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ Array.isArray( taxonomies ) && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t\treturn taxonomySlug !== 'category';\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { taxonomy: 'category' } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<WCSelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\t\toptions={ taxonomies.map( ( t ) => ( {\n\t\t\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\t\t\tvalue: t.slug,\n\t\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\t\tvalue={ taxonomySlug }\n\t\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\ttaxonomy: selectedTaxonomy,\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</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! displayAsDropdown }\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAsDropdown: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabel: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showPostCounts }\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showPostCounts: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showOnlyTopLevel }\n\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showOnlyTopLevel: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\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={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute(\n\t\t\t\t\t\t\t\t\t'showOnlyTopLevel'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showEmpty }\n\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showEmpty: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showHierarchy }\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHierarchy: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\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={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Terms' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>{ taxonomy.labels.no_terms }</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</TagName>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["noticeStore", "clsx", "ToolsPanel", "ToolsPanelItem", "WCSelectControl"]
|
|
7
7
|
}
|
package/build/code/block.json
CHANGED
|
@@ -18,6 +18,15 @@
|
|
|
18
18
|
"supports": {
|
|
19
19
|
"align": [ "wide" ],
|
|
20
20
|
"anchor": true,
|
|
21
|
+
"background": {
|
|
22
|
+
"backgroundImage": true,
|
|
23
|
+
"backgroundSize": true,
|
|
24
|
+
"gradient": true,
|
|
25
|
+
"__experimentalDefaultControls": {
|
|
26
|
+
"backgroundImage": true,
|
|
27
|
+
"gradient": true
|
|
28
|
+
}
|
|
29
|
+
},
|
|
21
30
|
"typography": {
|
|
22
31
|
"fontSize": true,
|
|
23
32
|
"lineHeight": true,
|
|
@@ -58,6 +67,7 @@
|
|
|
58
67
|
"text": true
|
|
59
68
|
}
|
|
60
69
|
},
|
|
70
|
+
"shadow": true,
|
|
61
71
|
"interactivity": {
|
|
62
72
|
"clientNavigation": true
|
|
63
73
|
}
|
package/build/code/save.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/code/save.jsx"],
|
|
4
|
-
"sourcesContent": ["import { RichText, useBlockProps } from '@wordpress/block-editor';\nimport { escape } from './utils';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<pre { ...useBlockProps.save() }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"code\"\n\t\t\t\t// To do: `escape` encodes characters in shortcodes and URLs to\n\t\t\t\t// prevent embedding in PHP. Ideally checks for the code block,\n\t\t\t\t// or pre/code tags, should be made on the PHP side?\n\t\t\t\tvalue={ escape(\n\t\t\t\t\ttypeof attributes.content === 'string'\n\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t: attributes.content.toHTMLString( {\n\t\t\t\t\t\t\t\tpreserveWhiteSpace: true,\n\t\t\t\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAwC;AACxC,mBAAuB;AAKpB;AAHY,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,SACC,4CAAC,SAAM,GAAG,kCAAc,KAAK,GAC5B;AAAA,IAAC,6BAAS;AAAA,IAAT;AAAA,MACA,SAAQ;AAAA,MAIR,WAAQ;AAAA,QACP,OAAO,WAAW,YAAY,WAC3B,WAAW,UACX,WAAW,QAAQ,aAAc;AAAA,UACjC,oBAAoB;AAAA,
|
|
4
|
+
"sourcesContent": ["import { RichText, useBlockProps } from '@wordpress/block-editor';\nimport { escape } from './utils';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<pre { ...useBlockProps.save() }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"code\"\n\t\t\t\t// To do: `escape` encodes characters in shortcodes and URLs to\n\t\t\t\t// prevent embedding in PHP. Ideally checks for the code block,\n\t\t\t\t// or pre/code tags, should be made on the PHP side?\n\t\t\t\tvalue={ escape(\n\t\t\t\t\ttypeof attributes.content === 'string'\n\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t: attributes.content.toHTMLString( {\n\t\t\t\t\t\t\t\tpreserveWhiteSpace: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t) }\n\t\t\t/>\n\t\t</pre>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAwC;AACxC,mBAAuB;AAKpB;AAHY,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,SACC,4CAAC,SAAM,GAAG,kCAAc,KAAK,GAC5B;AAAA,IAAC,6BAAS;AAAA,IAAT;AAAA,MACA,SAAQ;AAAA,MAIR,WAAQ;AAAA,QACP,OAAO,WAAW,YAAY,WAC3B,WAAW,UACX,WAAW,QAAQ,aAAc;AAAA,UACjC,oBAAoB;AAAA,QACrB,CAAE;AAAA,MACL;AAAA;AAAA,EACD,GACD;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/column/block.json
CHANGED
|
@@ -24,6 +24,15 @@
|
|
|
24
24
|
"anchor": true,
|
|
25
25
|
"reusable": false,
|
|
26
26
|
"html": false,
|
|
27
|
+
"background": {
|
|
28
|
+
"backgroundImage": true,
|
|
29
|
+
"backgroundSize": true,
|
|
30
|
+
"gradient": true,
|
|
31
|
+
"__experimentalDefaultControls": {
|
|
32
|
+
"backgroundImage": true,
|
|
33
|
+
"gradient": true
|
|
34
|
+
}
|
|
35
|
+
},
|
|
27
36
|
"color": {
|
|
28
37
|
"gradients": true,
|
|
29
38
|
"heading": true,
|
package/build/columns/block.json
CHANGED
|
@@ -34,6 +34,15 @@
|
|
|
34
34
|
"text": true
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
|
+
"background": {
|
|
38
|
+
"backgroundImage": true,
|
|
39
|
+
"backgroundSize": true,
|
|
40
|
+
"gradient": true,
|
|
41
|
+
"__experimentalDefaultControls": {
|
|
42
|
+
"backgroundImage": true,
|
|
43
|
+
"gradient": true
|
|
44
|
+
}
|
|
45
|
+
},
|
|
37
46
|
"spacing": {
|
|
38
47
|
"blockGap": {
|
|
39
48
|
"__experimentalDefault": "2em",
|
|
@@ -10,8 +10,13 @@
|
|
|
10
10
|
"usesContext": [ "commentId" ],
|
|
11
11
|
"supports": {
|
|
12
12
|
"anchor": true,
|
|
13
|
+
"background": {
|
|
14
|
+
"gradient": true
|
|
15
|
+
},
|
|
13
16
|
"color": {
|
|
14
17
|
"gradients": true,
|
|
18
|
+
"heading": true,
|
|
19
|
+
"button": true,
|
|
15
20
|
"link": true,
|
|
16
21
|
"__experimentalDefaultControls": {
|
|
17
22
|
"background": true,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/comment-template/hooks.js"],
|
|
4
|
-
"sourcesContent": ["import { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\n\n// This is limited by WP REST API\nconst MAX_COMMENTS_PER_PAGE = 100;\n\n/**\n * Return an object with the query args needed to fetch the default page of\n * comments.\n *\n * @param {Object} props Hook props.\n * @param {number} props.postId ID of the post that contains the comments.\n * discussion settings.\n *\n * @return {Object} Query args to retrieve the comments.\n */\nexport const useCommentQueryArgs = ( { postId } ) => {\n\t// Initialize the query args that are not going to change.\n\tconst queryArgs = {\n\t\tstatus: 'approve',\n\t\torder: 'asc',\n\t\tcontext: 'embed',\n\t\tparent: 0,\n\t\t_embed: 'children',\n\t};\n\n\t// Get the Discussion settings that may be needed to query the comments.\n\tconst {\n\t\tpageComments,\n\t\tcommentsPerPage,\n\t\tdefaultCommentsPage: defaultPage,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings ?? {};\n\t}, [] );\n\n\t// WP REST API doesn't allow fetching more than max items limit set per single page of data.\n\t// As for the editor performance is more important than completeness of data and fetching only the\n\t// max allowed for single page should be enough for the purpose of design and laying out the page.\n\t// Fetching over the limit would return an error here but would work with backend query.\n\tconst perPage = pageComments\n\t\t? Math.min( commentsPerPage, MAX_COMMENTS_PER_PAGE )\n\t\t: MAX_COMMENTS_PER_PAGE;\n\n\t// Get the number of the default page.\n\tconst page = useDefaultPageIndex( {\n\t\tdefaultPage,\n\t\tpostId,\n\t\tperPage,\n\t\tqueryArgs,\n\t} );\n\n\t// Merge, memoize and return all query arguments, unless the default page's\n\t// number is not known yet.\n\treturn useMemo( () => {\n\t\treturn page\n\t\t\t? {\n\t\t\t\t\t...queryArgs,\n\t\t\t\t\tpost: postId,\n\t\t\t\t\tper_page: perPage,\n\t\t\t\t\tpage,\n\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6C;AAC7C,kBAA0B;AAC1B,0BAA0C;AAC1C,iBAA6B;AAC7B,uBAAqB;AAGrB,IAAM,wBAAwB;AAYvB,IAAM,sBAAsB,CAAE,EAAE,OAAO,MAAO;AAEpD,QAAM,YAAY;AAAA,IACjB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACT;AAGA,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,EACtB,QAAI,uBAAW,CAAE,WAAY;AAC5B,UAAM,EAAE,YAAY,IAAI,OAAQ,oBAAAA,KAAiB;AACjD,UAAM,EAAE,iCAAiC,IAAI,YAAY;AACzD,WAAO,oCAAoC,CAAC;AAAA,EAC7C,GAAG,CAAC,CAAE;AAMN,QAAM,UAAU,eACb,KAAK,IAAK,iBAAiB,qBAAsB,IACjD;AAGH,QAAM,OAAO,oBAAqB;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAIF,aAAO,wBAAS,MAAM;AACrB,WAAO,OACJ;AAAA,MACA,GAAG;AAAA,MACH,MAAM;AAAA,MACN,UAAU;AAAA,MACV;AAAA,
|
|
4
|
+
"sourcesContent": ["import { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\n\n// This is limited by WP REST API\nconst MAX_COMMENTS_PER_PAGE = 100;\n\n/**\n * Return an object with the query args needed to fetch the default page of\n * comments.\n *\n * @param {Object} props Hook props.\n * @param {number} props.postId ID of the post that contains the comments.\n * discussion settings.\n *\n * @return {Object} Query args to retrieve the comments.\n */\nexport const useCommentQueryArgs = ( { postId } ) => {\n\t// Initialize the query args that are not going to change.\n\tconst queryArgs = {\n\t\tstatus: 'approve',\n\t\torder: 'asc',\n\t\tcontext: 'embed',\n\t\tparent: 0,\n\t\t_embed: 'children',\n\t};\n\n\t// Get the Discussion settings that may be needed to query the comments.\n\tconst {\n\t\tpageComments,\n\t\tcommentsPerPage,\n\t\tdefaultCommentsPage: defaultPage,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings ?? {};\n\t}, [] );\n\n\t// WP REST API doesn't allow fetching more than max items limit set per single page of data.\n\t// As for the editor performance is more important than completeness of data and fetching only the\n\t// max allowed for single page should be enough for the purpose of design and laying out the page.\n\t// Fetching over the limit would return an error here but would work with backend query.\n\tconst perPage = pageComments\n\t\t? Math.min( commentsPerPage, MAX_COMMENTS_PER_PAGE )\n\t\t: MAX_COMMENTS_PER_PAGE;\n\n\t// Get the number of the default page.\n\tconst page = useDefaultPageIndex( {\n\t\tdefaultPage,\n\t\tpostId,\n\t\tperPage,\n\t\tqueryArgs,\n\t} );\n\n\t// Merge, memoize and return all query arguments, unless the default page's\n\t// number is not known yet.\n\treturn useMemo( () => {\n\t\treturn page\n\t\t\t? {\n\t\t\t\t\t...queryArgs,\n\t\t\t\t\tpost: postId,\n\t\t\t\t\tper_page: perPage,\n\t\t\t\t\tpage,\n\t\t\t\t}\n\t\t\t: null;\n\t}, [ postId, perPage, page ] );\n};\n\n/**\n * Return the index of the default page, depending on whether `defaultPage` is\n * `newest` or `oldest`. In the first case, the only way to know the page's\n * index is by using the `X-WP-TotalPages` header, which forces to make an\n * additional request.\n *\n * @param {Object} props Hook props.\n * @param {string} props.defaultPage Page shown by default (newest/oldest).\n * @param {number} props.postId ID of the post that contains the comments.\n * @param {number} props.perPage The number of comments included per page.\n * @param {Object} props.queryArgs Other query args.\n *\n * @return {number} Index of the default comments page.\n */\nconst useDefaultPageIndex = ( { defaultPage, postId, perPage, queryArgs } ) => {\n\t// Store the default page indices.\n\tconst [ defaultPages, setDefaultPages ] = useState( {} );\n\tconst key = `${ postId }_${ perPage }`;\n\tconst page = defaultPages[ key ] || 0;\n\n\tuseEffect( () => {\n\t\t// Do nothing if the page is already known or not the newest page.\n\t\tif ( page || defaultPage !== 'newest' ) {\n\t\t\treturn;\n\t\t}\n\t\t// We need to fetch comments to know the index. Use HEAD and limit\n\t\t// fields just to ID, to make this call as light as possible.\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\t...queryArgs,\n\t\t\t\tpost: postId,\n\t\t\t\tper_page: perPage,\n\t\t\t\t_fields: 'id',\n\t\t\t} ),\n\t\t\tmethod: 'HEAD',\n\t\t\tparse: false,\n\t\t} )\n\t\t\t.then( ( res ) => {\n\t\t\t\tconst pages = parseInt( res.headers.get( 'X-WP-TotalPages' ) );\n\t\t\t\tsetDefaultPages( {\n\t\t\t\t\t...defaultPages,\n\t\t\t\t\t[ key ]: pages <= 1 ? 1 : pages, // If there are 0 pages, it means that there are no comments, but there is no 0th page.\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\t// There's no 0th page, but we can't know the number of pages, fallback to 1.\n\t\t\t\tsetDefaultPages( {\n\t\t\t\t\t...defaultPages,\n\t\t\t\t\t[ key ]: 1,\n\t\t\t\t} );\n\t\t\t} );\n\t}, [ defaultPage, postId, perPage, setDefaultPages ] );\n\n\t// The oldest one is always the first one.\n\treturn defaultPage === 'newest' ? page : 1;\n};\n\n/**\n * Generate a tree structure of comment IDs from a list of comment entities. The\n * children of each comment are obtained from `_embedded`.\n *\n * @typedef {{ commentId: number, children: CommentNode }} CommentNode\n *\n * @param {Object[]} topLevelComments List of comment entities.\n * @return {{ commentTree: CommentNode[]}} Tree of comment IDs.\n */\nexport const useCommentTree = ( topLevelComments ) => {\n\tconst commentTree = useMemo(\n\t\t() =>\n\t\t\ttopLevelComments?.map( ( { id, _embedded } ) => {\n\t\t\t\tconst [ children ] = _embedded?.children || [ [] ];\n\t\t\t\treturn {\n\t\t\t\t\tcommentId: id,\n\t\t\t\t\tchildren: children.map( ( child ) => ( {\n\t\t\t\t\t\tcommentId: child.id,\n\t\t\t\t\t} ) ),\n\t\t\t\t};\n\t\t\t} ),\n\t\t[ topLevelComments ]\n\t);\n\n\treturn commentTree;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6C;AAC7C,kBAA0B;AAC1B,0BAA0C;AAC1C,iBAA6B;AAC7B,uBAAqB;AAGrB,IAAM,wBAAwB;AAYvB,IAAM,sBAAsB,CAAE,EAAE,OAAO,MAAO;AAEpD,QAAM,YAAY;AAAA,IACjB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACT;AAGA,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,EACtB,QAAI,uBAAW,CAAE,WAAY;AAC5B,UAAM,EAAE,YAAY,IAAI,OAAQ,oBAAAA,KAAiB;AACjD,UAAM,EAAE,iCAAiC,IAAI,YAAY;AACzD,WAAO,oCAAoC,CAAC;AAAA,EAC7C,GAAG,CAAC,CAAE;AAMN,QAAM,UAAU,eACb,KAAK,IAAK,iBAAiB,qBAAsB,IACjD;AAGH,QAAM,OAAO,oBAAqB;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAIF,aAAO,wBAAS,MAAM;AACrB,WAAO,OACJ;AAAA,MACA,GAAG;AAAA,MACH,MAAM;AAAA,MACN,UAAU;AAAA,MACV;AAAA,IACD,IACC;AAAA,EACJ,GAAG,CAAE,QAAQ,SAAS,IAAK,CAAE;AAC9B;AAgBA,IAAM,sBAAsB,CAAE,EAAE,aAAa,QAAQ,SAAS,UAAU,MAAO;AAE9E,QAAM,CAAE,cAAc,eAAgB,QAAI,yBAAU,CAAC,CAAE;AACvD,QAAM,MAAM,GAAI,MAAO,IAAK,OAAQ;AACpC,QAAM,OAAO,aAAc,GAAI,KAAK;AAEpC,gCAAW,MAAM;AAEhB,QAAK,QAAQ,gBAAgB,UAAW;AACvC;AAAA,IACD;AAGA,yBAAAC,SAAU;AAAA,MACT,UAAM,yBAAc,mBAAmB;AAAA,QACtC,GAAG;AAAA,QACH,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA,MACV,CAAE;AAAA,MACF,QAAQ;AAAA,MACR,OAAO;AAAA,IACR,CAAE,EACA,KAAM,CAAE,QAAS;AACjB,YAAM,QAAQ,SAAU,IAAI,QAAQ,IAAK,iBAAkB,CAAE;AAC7D,sBAAiB;AAAA,QAChB,GAAG;AAAA,QACH,CAAE,GAAI,GAAG,SAAS,IAAI,IAAI;AAAA;AAAA,MAC3B,CAAE;AAAA,IACH,CAAE,EACD,MAAO,MAAM;AAEb,sBAAiB;AAAA,QAChB,GAAG;AAAA,QACH,CAAE,GAAI,GAAG;AAAA,MACV,CAAE;AAAA,IACH,CAAE;AAAA,EACJ,GAAG,CAAE,aAAa,QAAQ,SAAS,eAAgB,CAAE;AAGrD,SAAO,gBAAgB,WAAW,OAAO;AAC1C;AAWO,IAAM,iBAAiB,CAAE,qBAAsB;AACrD,QAAM,kBAAc;AAAA,IACnB,MACC,kBAAkB,IAAK,CAAE,EAAE,IAAI,UAAU,MAAO;AAC/C,YAAM,CAAE,QAAS,IAAI,WAAW,YAAY,CAAE,CAAC,CAAE;AACjD,aAAO;AAAA,QACN,WAAW;AAAA,QACX,UAAU,SAAS,IAAK,CAAE,WAAa;AAAA,UACtC,WAAW,MAAM;AAAA,QAClB,EAAI;AAAA,MACL;AAAA,IACD,CAAE;AAAA,IACH,CAAE,gBAAiB;AAAA,EACpB;AAEA,SAAO;AACR;",
|
|
6
6
|
"names": ["blockEditorStore", "apiFetch"]
|
|
7
7
|
}
|
|
@@ -20,8 +20,18 @@
|
|
|
20
20
|
"anchor": true,
|
|
21
21
|
"align": [ "wide", "full" ],
|
|
22
22
|
"html": false,
|
|
23
|
+
"background": {
|
|
24
|
+
"backgroundImage": true,
|
|
25
|
+
"backgroundSize": true,
|
|
26
|
+
"gradient": true,
|
|
27
|
+
"__experimentalDefaultControls": {
|
|
28
|
+
"backgroundImage": true,
|
|
29
|
+
"gradient": true
|
|
30
|
+
}
|
|
31
|
+
},
|
|
23
32
|
"color": {
|
|
24
33
|
"gradients": true,
|
|
34
|
+
"button": true,
|
|
25
35
|
"heading": true,
|
|
26
36
|
"link": true,
|
|
27
37
|
"__experimentalDefaultControls": {
|
|
@@ -508,10 +508,13 @@ function CoverEdit({
|
|
|
508
508
|
setOverlayColor: onSetOverlayColor,
|
|
509
509
|
coverRef: ref,
|
|
510
510
|
currentSettings,
|
|
511
|
+
onSelectMedia,
|
|
512
|
+
onUploadError,
|
|
511
513
|
toggleUseFeaturedImage,
|
|
512
514
|
updateDimRatio: onUpdateDimRatio,
|
|
513
515
|
onClearMedia,
|
|
514
|
-
featuredImage: media
|
|
516
|
+
featuredImage: media,
|
|
517
|
+
isSelected
|
|
515
518
|
}
|
|
516
519
|
);
|
|
517
520
|
const resizableCoverProps = {
|
|
@@ -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\tonSelectMedia={ onSelectMedia }\n\t\t\tonUploadError={ onUploadError }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t\tfeaturedImage={ media }\n\t\t\tisSelected={ isSelected }\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
|
}
|