@wordpress/block-library 10.1.0 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/build/accordion/block.json +1 -0
- package/build/accordion/edit.cjs +0 -1
- package/build/accordion/edit.cjs.map +2 -2
- package/build/accordion/view.cjs +23 -0
- package/build/accordion/view.cjs.map +2 -2
- package/build/accordion-heading/deprecated.cjs +121 -1
- package/build/accordion-heading/deprecated.cjs.map +2 -2
- package/build/accordion-heading/edit.cjs +18 -1
- package/build/accordion-heading/edit.cjs.map +3 -3
- package/build/accordion-heading/save.cjs +18 -1
- package/build/accordion-heading/save.cjs.map +3 -3
- package/build/accordion-panel/edit.cjs +1 -1
- package/build/accordion-panel/edit.cjs.map +2 -2
- package/build/archives/edit.cjs +0 -1
- package/build/archives/edit.cjs.map +2 -2
- package/build/audio/edit.cjs +0 -1
- package/build/audio/edit.cjs.map +2 -2
- package/build/avatar/edit.cjs +0 -1
- package/build/avatar/edit.cjs.map +2 -2
- package/build/avatar/user-control.cjs +0 -1
- package/build/avatar/user-control.cjs.map +2 -2
- package/build/button/edit.cjs +18 -8
- package/build/button/edit.cjs.map +2 -2
- package/build/categories/edit.cjs +0 -1
- package/build/categories/edit.cjs.map +2 -2
- package/build/code/transforms.cjs +5 -3
- package/build/code/transforms.cjs.map +2 -2
- package/build/column/edit.cjs +0 -1
- package/build/column/edit.cjs.map +2 -2
- package/build/columns/edit.cjs +0 -1
- package/build/columns/edit.cjs.map +2 -2
- package/build/columns/transforms.cjs +9 -2
- package/build/columns/transforms.cjs.map +2 -2
- package/build/comment-author-avatar/edit.cjs +0 -1
- package/build/comment-author-avatar/edit.cjs.map +2 -2
- package/build/comments-pagination/comments-pagination-arrow-controls.cjs +0 -1
- package/build/comments-pagination/comments-pagination-arrow-controls.cjs.map +2 -2
- package/build/cover/block.json +11 -0
- package/build/cover/edit/block-controls.cjs +11 -4
- package/build/cover/edit/block-controls.cjs.map +2 -2
- package/build/cover/edit/embed-video-url-input.cjs +5 -3
- package/build/cover/edit/embed-video-url-input.cjs.map +3 -3
- package/build/cover/edit/index.cjs +1 -1
- package/build/cover/edit/index.cjs.map +2 -2
- package/build/cover/edit/inspector-controls.cjs +1 -3
- package/build/cover/edit/inspector-controls.cjs.map +2 -2
- package/build/cover/embed-video-utils.cjs +17 -7
- package/build/cover/embed-video-utils.cjs.map +2 -2
- package/build/details/transforms.cjs +1 -1
- package/build/details/transforms.cjs.map +2 -2
- package/build/embed/edit.cjs +2 -3
- package/build/embed/edit.cjs.map +2 -2
- package/build/embed/embed-placeholder.cjs +20 -21
- package/build/embed/embed-placeholder.cjs.map +3 -3
- package/build/file/edit.cjs +4 -3
- package/build/file/edit.cjs.map +2 -2
- package/build/file/inspector.cjs +0 -2
- package/build/file/inspector.cjs.map +2 -2
- package/build/file/transforms.cjs +25 -60
- package/build/file/transforms.cjs.map +2 -2
- package/build/form/edit.cjs +0 -2
- package/build/form/edit.cjs.map +2 -2
- package/build/freeform/convert-to-blocks-button.cjs +52 -0
- package/build/freeform/convert-to-blocks-button.cjs.map +7 -0
- package/build/freeform/edit.cjs +14 -33
- package/build/freeform/edit.cjs.map +3 -3
- package/build/freeform/index.cjs +1 -7
- package/build/freeform/index.cjs.map +3 -3
- package/build/gallery/block.json +8 -3
- package/build/gallery/dynamic-gallery.cjs +263 -0
- package/build/gallery/dynamic-gallery.cjs.map +7 -0
- package/build/gallery/dynamic-source.cjs +85 -0
- package/build/gallery/dynamic-source.cjs.map +7 -0
- package/build/gallery/edit.cjs +286 -206
- package/build/gallery/edit.cjs.map +3 -3
- package/build/gallery/gallery.cjs +0 -3
- package/build/gallery/gallery.cjs.map +2 -2
- package/build/gallery/gap-styles.cjs +49 -13
- package/build/gallery/gap-styles.cjs.map +3 -3
- package/build/gallery/index.cjs +2 -0
- package/build/gallery/index.cjs.map +3 -3
- package/build/gallery/save.cjs +16 -12
- package/build/gallery/save.cjs.map +2 -2
- package/build/gallery/use-dynamic-gallery.cjs +181 -0
- package/build/gallery/use-dynamic-gallery.cjs.map +7 -0
- package/build/gallery/variations.cjs +54 -0
- package/build/gallery/variations.cjs.map +7 -0
- package/build/group/edit.cjs +1 -2
- package/build/group/edit.cjs.map +2 -2
- package/build/group/transforms.cjs +3 -7
- package/build/group/transforms.cjs.map +2 -2
- package/build/heading/edit.cjs +10 -3
- package/build/heading/edit.cjs.map +2 -2
- package/build/html/block.json +2 -2
- package/build/html/edit.cjs +65 -23
- package/build/html/edit.cjs.map +3 -3
- package/build/html/index.cjs +3 -3
- package/build/html/index.cjs.map +2 -2
- package/build/html/modal.cjs +4 -8
- package/build/html/modal.cjs.map +2 -2
- package/build/html/save.cjs +2 -4
- package/build/html/save.cjs.map +2 -2
- package/build/html/transforms.cjs +7 -5
- package/build/html/transforms.cjs.map +2 -2
- package/build/icon/components/custom-inserter/icon-grid.cjs +25 -12
- package/build/icon/components/custom-inserter/icon-grid.cjs.map +2 -2
- package/build/icon/components/custom-inserter/index.cjs +100 -31
- package/build/icon/components/custom-inserter/index.cjs.map +3 -3
- package/build/icon/edit.cjs +11 -12
- package/build/icon/edit.cjs.map +2 -2
- package/build/image/block.json +1 -1
- package/build/image/image.cjs +23 -70
- package/build/image/image.cjs.map +3 -3
- package/build/image/transforms.cjs +78 -0
- package/build/image/transforms.cjs.map +3 -3
- package/build/index.cjs +18 -8
- package/build/index.cjs.map +2 -2
- package/build/latest-comments/edit.cjs +0 -2
- package/build/latest-comments/edit.cjs.map +2 -2
- package/build/latest-posts/block.json +8 -9
- package/build/latest-posts/constants.cjs +0 -3
- package/build/latest-posts/constants.cjs.map +2 -2
- package/build/latest-posts/deprecated.cjs +100 -8
- package/build/latest-posts/deprecated.cjs.map +2 -2
- package/build/latest-posts/edit.cjs +67 -84
- package/build/latest-posts/edit.cjs.map +2 -2
- package/build/list/ordered-list-settings.cjs +0 -1
- package/build/list/ordered-list-settings.cjs.map +2 -2
- package/build/list-item/edit.cjs +1 -1
- package/build/list-item/edit.cjs.map +2 -2
- package/build/list-item/hooks/use-enter.cjs +14 -17
- package/build/list-item/hooks/use-enter.cjs.map +3 -3
- package/build/list-item/hooks/use-space.cjs +3 -2
- package/build/list-item/hooks/use-space.cjs.map +3 -3
- package/build/media-text/edit.cjs +0 -1
- package/build/media-text/edit.cjs.map +2 -2
- package/build/missing/edit.cjs +1 -3
- package/build/missing/edit.cjs.map +2 -2
- package/build/navigation/edit/index.cjs +0 -1
- package/build/navigation/edit/index.cjs.map +2 -2
- package/build/navigation/edit/overlay-menu-preview-controls.cjs +0 -1
- package/build/navigation/edit/overlay-menu-preview-controls.cjs.map +2 -2
- package/build/navigation/edit/overlay-menu-preview.cjs +0 -1
- package/build/navigation/edit/overlay-menu-preview.cjs.map +2 -2
- package/build/navigation/edit/overlay-template-part-selector.cjs +0 -1
- package/build/navigation/edit/overlay-template-part-selector.cjs.map +2 -2
- package/build/navigation/edit/overlay-visibility-control.cjs +0 -1
- package/build/navigation/edit/overlay-visibility-control.cjs.map +2 -2
- package/build/navigation-link/shared/use-link-preview.cjs +11 -1
- package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
- package/build/navigation-overlay-close/edit.cjs +0 -1
- package/build/navigation-overlay-close/edit.cjs.map +2 -2
- package/build/page-list/edit.cjs +0 -1
- package/build/page-list/edit.cjs.map +2 -2
- package/build/paragraph/block.json +1 -0
- package/build/paragraph/use-enter.cjs +3 -7
- package/build/paragraph/use-enter.cjs.map +3 -3
- package/build/playlist/block.json +28 -15
- package/build/playlist/context.cjs +36 -0
- package/build/playlist/context.cjs.map +7 -0
- package/build/playlist/edit.cjs +257 -81
- package/build/playlist/edit.cjs.map +3 -3
- package/build/playlist/index.cjs +1 -1
- package/build/playlist/index.cjs.map +2 -2
- package/build/playlist/utils.cjs +19 -8
- package/build/playlist/utils.cjs.map +3 -3
- package/build/playlist/view.cjs +87 -17
- package/build/playlist/view.cjs.map +2 -2
- package/build/playlist-track/block.json +4 -5
- package/build/playlist-track/edit.cjs +114 -70
- package/build/playlist-track/edit.cjs.map +3 -3
- package/build/post-author/edit.cjs +0 -2
- package/build/post-author/edit.cjs.map +2 -2
- package/build/post-content/block.json +1 -0
- package/build/post-excerpt/edit.cjs +0 -1
- package/build/post-excerpt/edit.cjs.map +2 -2
- package/build/post-featured-image/overlay-controls.cjs +1 -2
- package/build/post-featured-image/overlay-controls.cjs.map +2 -2
- package/build/post-navigation-link/edit.cjs +0 -2
- package/build/post-navigation-link/edit.cjs.map +2 -2
- package/build/post-template/block.json +2 -1
- package/build/post-template/edit.cjs +10 -1
- package/build/post-template/edit.cjs.map +2 -2
- package/build/pullquote/block.json +3 -1
- package/build/query/block.json +3 -2
- package/build/query/edit/inspector-controls/author-control.cjs +1 -2
- package/build/query/edit/inspector-controls/author-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/format-controls.cjs +1 -2
- package/build/query/edit/inspector-controls/format-controls.cjs.map +2 -2
- package/build/query/edit/inspector-controls/index.cjs +38 -7
- package/build/query/edit/inspector-controls/index.cjs.map +2 -2
- package/build/query/edit/inspector-controls/offset-controls.cjs +0 -1
- package/build/query/edit/inspector-controls/offset-controls.cjs.map +2 -2
- package/build/query/edit/inspector-controls/order-control.cjs +0 -1
- package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/pages-control.cjs +0 -1
- package/build/query/edit/inspector-controls/pages-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/parent-control.cjs +0 -1
- package/build/query/edit/inspector-controls/parent-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/per-page-control.cjs +0 -1
- package/build/query/edit/inspector-controls/per-page-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/sticky-control.cjs +0 -1
- package/build/query/edit/inspector-controls/sticky-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/taxonomy-controls.cjs +1 -2
- package/build/query/edit/inspector-controls/taxonomy-controls.cjs.map +2 -2
- package/build/query/edit/query-content.cjs +10 -3
- package/build/query/edit/query-content.cjs.map +2 -2
- package/build/query/index.cjs +2 -1
- package/build/query/index.cjs.map +2 -2
- package/build/query-pagination/query-pagination-arrow-controls.cjs +0 -1
- package/build/query-pagination/query-pagination-arrow-controls.cjs.map +2 -2
- package/build/query-pagination-numbers/edit.cjs +0 -1
- package/build/query-pagination-numbers/edit.cjs.map +2 -2
- package/build/quote/block.json +3 -1
- package/build/quote/transforms.cjs +1 -7
- package/build/quote/transforms.cjs.map +2 -2
- package/build/rss/edit.cjs +0 -4
- package/build/rss/edit.cjs.map +2 -2
- package/build/search/edit.cjs +0 -4
- package/build/search/edit.cjs.map +2 -2
- package/build/separator/edit.cjs +1 -2
- package/build/separator/edit.cjs.map +2 -2
- package/build/site-logo/edit.cjs +34 -63
- package/build/site-logo/edit.cjs.map +3 -3
- package/build/social-links/edit.cjs +0 -1
- package/build/social-links/edit.cjs.map +2 -2
- package/build/spacer/controls.cjs +2 -4
- package/build/spacer/controls.cjs.map +2 -2
- package/build/spacer/edit.cjs +1 -2
- package/build/spacer/edit.cjs.map +2 -2
- package/build/tab-list/block.json +5 -4
- package/build/tab-list/edit.cjs +95 -54
- package/build/tab-list/edit.cjs.map +3 -3
- package/build/tab-list/save.cjs +4 -3
- package/build/tab-list/save.cjs.map +2 -2
- package/build/tab-panel/block.json +1 -6
- package/build/tab-panel/controls.cjs +2 -4
- package/build/tab-panel/controls.cjs.map +3 -3
- package/build/tab-panel/edit.cjs +15 -15
- package/build/tab-panel/edit.cjs.map +2 -2
- package/build/tab-panels/block.json +0 -1
- package/build/tab-panels/edit.cjs +2 -4
- package/build/tab-panels/edit.cjs.map +3 -3
- package/build/table-of-contents/edit.cjs +0 -1
- package/build/table-of-contents/edit.cjs.map +2 -2
- package/build/tabs/block.json +0 -5
- package/build/tabs/edit.cjs +6 -41
- package/build/tabs/edit.cjs.map +3 -3
- package/build/tabs/tab-toolbar-controls.cjs +74 -0
- package/build/tabs/tab-toolbar-controls.cjs.map +7 -0
- package/build/tabs/use-tab-actions.cjs +87 -0
- package/build/tabs/use-tab-actions.cjs.map +7 -0
- package/build/tabs/use-tab-list-items-sync.cjs +23 -5
- package/build/tabs/use-tab-list-items-sync.cjs.map +2 -2
- package/build/tag-cloud/edit.cjs +2 -6
- package/build/tag-cloud/edit.cjs.map +2 -2
- package/build/template-part/edit/advanced-controls.cjs +0 -1
- package/build/template-part/edit/advanced-controls.cjs.map +2 -2
- package/build/template-part/edit/import-controls.cjs +1 -2
- package/build/template-part/edit/import-controls.cjs.map +2 -2
- package/build/term-name/block.json +1 -3
- package/build/term-name/deprecated.cjs +105 -0
- package/build/term-name/deprecated.cjs.map +7 -0
- package/build/term-name/edit.cjs +11 -37
- package/build/term-name/edit.cjs.map +3 -3
- package/build/term-name/index.cjs +3 -1
- package/build/term-name/index.cjs.map +3 -3
- package/build/terms-query/edit/inspector-controls/include-control.cjs +0 -1
- package/build/terms-query/edit/inspector-controls/include-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/inherit-control.cjs +0 -1
- package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/max-terms-control.cjs +0 -1
- package/build/terms-query/edit/inspector-controls/max-terms-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/order-control.cjs +0 -1
- package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs +0 -1
- package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +2 -2
- package/build/text-columns/edit.cjs +0 -1
- package/build/text-columns/edit.cjs.map +2 -2
- package/build/utils/waveform-player.cjs +138 -22
- package/build/utils/waveform-player.cjs.map +2 -2
- package/build/utils/waveform-utils.cjs +315 -17
- package/build/utils/waveform-utils.cjs.map +2 -2
- package/build/verse/block.json +3 -1
- package/build/video/block.json +6 -0
- package/build/video/edit-common-settings.cjs +0 -1
- package/build/video/edit-common-settings.cjs.map +2 -2
- package/build/video/edit.cjs +17 -1
- package/build/video/edit.cjs.map +2 -2
- package/build/video/index.cjs +2 -0
- package/build/video/index.cjs.map +3 -3
- package/build/video/save.cjs +7 -1
- package/build/video/save.cjs.map +2 -2
- package/build/video/tracks-editor.cjs +0 -1
- package/build/video/tracks-editor.cjs.map +2 -2
- package/build/video/variations.cjs +75 -0
- package/build/video/variations.cjs.map +7 -0
- package/build-module/accordion/block.json +1 -0
- package/build-module/accordion/edit.mjs +0 -1
- package/build-module/accordion/edit.mjs.map +2 -2
- package/build-module/accordion/view.mjs +23 -0
- package/build-module/accordion/view.mjs.map +2 -2
- package/build-module/accordion-heading/deprecated.mjs +121 -1
- package/build-module/accordion-heading/deprecated.mjs.map +2 -2
- package/build-module/accordion-heading/edit.mjs +8 -1
- package/build-module/accordion-heading/edit.mjs.map +2 -2
- package/build-module/accordion-heading/save.mjs +8 -1
- package/build-module/accordion-heading/save.mjs.map +2 -2
- package/build-module/accordion-panel/edit.mjs +1 -1
- package/build-module/accordion-panel/edit.mjs.map +2 -2
- package/build-module/archives/edit.mjs +0 -1
- package/build-module/archives/edit.mjs.map +2 -2
- package/build-module/audio/edit.mjs +0 -1
- package/build-module/audio/edit.mjs.map +2 -2
- package/build-module/avatar/edit.mjs +0 -1
- package/build-module/avatar/edit.mjs.map +2 -2
- package/build-module/avatar/user-control.mjs +0 -1
- package/build-module/avatar/user-control.mjs.map +2 -2
- package/build-module/button/edit.mjs +19 -14
- package/build-module/button/edit.mjs.map +2 -2
- package/build-module/categories/edit.mjs +0 -1
- package/build-module/categories/edit.mjs.map +2 -2
- package/build-module/code/transforms.mjs +6 -4
- package/build-module/code/transforms.mjs.map +2 -2
- package/build-module/column/edit.mjs +0 -1
- package/build-module/column/edit.mjs.map +2 -2
- package/build-module/columns/edit.mjs +0 -1
- package/build-module/columns/edit.mjs.map +2 -2
- package/build-module/columns/transforms.mjs +9 -2
- package/build-module/columns/transforms.mjs.map +2 -2
- package/build-module/comment-author-avatar/edit.mjs +0 -1
- package/build-module/comment-author-avatar/edit.mjs.map +2 -2
- package/build-module/comments-pagination/comments-pagination-arrow-controls.mjs +0 -1
- package/build-module/comments-pagination/comments-pagination-arrow-controls.mjs.map +2 -2
- package/build-module/cover/block.json +11 -0
- package/build-module/cover/edit/block-controls.mjs +11 -4
- package/build-module/cover/edit/block-controls.mjs.map +2 -2
- package/build-module/cover/edit/embed-video-url-input.mjs +5 -4
- package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
- package/build-module/cover/edit/index.mjs +1 -1
- package/build-module/cover/edit/index.mjs.map +2 -2
- package/build-module/cover/edit/inspector-controls.mjs +1 -3
- package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
- package/build-module/cover/embed-video-utils.mjs +16 -7
- package/build-module/cover/embed-video-utils.mjs.map +2 -2
- package/build-module/details/transforms.mjs +2 -2
- package/build-module/details/transforms.mjs.map +2 -2
- package/build-module/embed/edit.mjs +2 -3
- package/build-module/embed/edit.mjs.map +2 -2
- package/build-module/embed/embed-placeholder.mjs +20 -24
- package/build-module/embed/embed-placeholder.mjs.map +2 -2
- package/build-module/file/edit.mjs +4 -3
- package/build-module/file/edit.mjs.map +2 -2
- package/build-module/file/inspector.mjs +0 -2
- package/build-module/file/inspector.mjs.map +2 -2
- package/build-module/file/transforms.mjs +25 -60
- package/build-module/file/transforms.mjs.map +2 -2
- package/build-module/form/edit.mjs +0 -2
- package/build-module/form/edit.mjs.map +2 -2
- package/build-module/freeform/convert-to-blocks-button.mjs +31 -0
- package/build-module/freeform/convert-to-blocks-button.mjs.map +7 -0
- package/build-module/freeform/edit.mjs +15 -34
- package/build-module/freeform/edit.mjs.map +2 -2
- package/build-module/freeform/index.mjs +1 -7
- package/build-module/freeform/index.mjs.map +2 -2
- package/build-module/gallery/block.json +8 -3
- package/build-module/gallery/dynamic-gallery.mjs +253 -0
- package/build-module/gallery/dynamic-gallery.mjs.map +7 -0
- package/build-module/gallery/dynamic-source.mjs +55 -0
- package/build-module/gallery/dynamic-source.mjs.map +7 -0
- package/build-module/gallery/edit.mjs +291 -209
- package/build-module/gallery/edit.mjs.map +2 -2
- package/build-module/gallery/gallery.mjs +0 -3
- package/build-module/gallery/gallery.mjs.map +2 -2
- package/build-module/gallery/gap-styles.mjs +53 -14
- package/build-module/gallery/gap-styles.mjs.map +2 -2
- package/build-module/gallery/index.mjs +2 -0
- package/build-module/gallery/index.mjs.map +2 -2
- package/build-module/gallery/save.mjs +16 -12
- package/build-module/gallery/save.mjs.map +2 -2
- package/build-module/gallery/use-dynamic-gallery.mjs +167 -0
- package/build-module/gallery/use-dynamic-gallery.mjs.map +7 -0
- package/build-module/gallery/variations.mjs +33 -0
- package/build-module/gallery/variations.mjs.map +7 -0
- package/build-module/group/edit.mjs +1 -2
- package/build-module/group/edit.mjs.map +2 -2
- package/build-module/group/transforms.mjs +4 -8
- package/build-module/group/transforms.mjs.map +2 -2
- package/build-module/heading/edit.mjs +11 -4
- package/build-module/heading/edit.mjs.map +2 -2
- package/build-module/html/block.json +2 -2
- package/build-module/html/edit.mjs +69 -25
- package/build-module/html/edit.mjs.map +2 -2
- package/build-module/html/index.mjs +3 -3
- package/build-module/html/index.mjs.map +2 -2
- package/build-module/html/modal.mjs +4 -8
- package/build-module/html/modal.mjs.map +2 -2
- package/build-module/html/save.mjs +2 -4
- package/build-module/html/save.mjs.map +2 -2
- package/build-module/html/transforms.mjs +8 -6
- package/build-module/html/transforms.mjs.map +2 -2
- package/build-module/icon/components/custom-inserter/icon-grid.mjs +25 -12
- package/build-module/icon/components/custom-inserter/icon-grid.mjs.map +2 -2
- package/build-module/icon/components/custom-inserter/index.mjs +102 -33
- package/build-module/icon/components/custom-inserter/index.mjs.map +2 -2
- package/build-module/icon/edit.mjs +11 -12
- package/build-module/icon/edit.mjs.map +2 -2
- package/build-module/image/block.json +1 -1
- package/build-module/image/image.mjs +23 -71
- package/build-module/image/image.mjs.map +2 -2
- package/build-module/image/transforms.mjs +78 -0
- package/build-module/image/transforms.mjs.map +2 -2
- package/build-module/index.mjs +18 -8
- package/build-module/index.mjs.map +2 -2
- package/build-module/latest-comments/edit.mjs +0 -2
- package/build-module/latest-comments/edit.mjs.map +2 -2
- package/build-module/latest-posts/block.json +8 -9
- package/build-module/latest-posts/constants.mjs +0 -2
- package/build-module/latest-posts/constants.mjs.map +2 -2
- package/build-module/latest-posts/deprecated.mjs +100 -8
- package/build-module/latest-posts/deprecated.mjs.map +2 -2
- package/build-module/latest-posts/edit.mjs +67 -85
- package/build-module/latest-posts/edit.mjs.map +2 -2
- package/build-module/list/ordered-list-settings.mjs +0 -1
- package/build-module/list/ordered-list-settings.mjs.map +2 -2
- package/build-module/list-item/edit.mjs +1 -1
- package/build-module/list-item/edit.mjs.map +2 -2
- package/build-module/list-item/hooks/use-enter.mjs +15 -21
- package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
- package/build-module/list-item/hooks/use-space.mjs +4 -6
- package/build-module/list-item/hooks/use-space.mjs.map +2 -2
- package/build-module/media-text/edit.mjs +0 -1
- package/build-module/media-text/edit.mjs.map +2 -2
- package/build-module/missing/edit.mjs +1 -3
- package/build-module/missing/edit.mjs.map +2 -2
- package/build-module/navigation/edit/index.mjs +0 -1
- package/build-module/navigation/edit/index.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-menu-preview-controls.mjs +0 -1
- package/build-module/navigation/edit/overlay-menu-preview-controls.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-menu-preview.mjs +0 -1
- package/build-module/navigation/edit/overlay-menu-preview.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-template-part-selector.mjs +0 -1
- package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-visibility-control.mjs +0 -1
- package/build-module/navigation/edit/overlay-visibility-control.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-link-preview.mjs +11 -1
- package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
- package/build-module/navigation-overlay-close/edit.mjs +0 -1
- package/build-module/navigation-overlay-close/edit.mjs.map +2 -2
- package/build-module/page-list/edit.mjs +0 -1
- package/build-module/page-list/edit.mjs.map +2 -2
- package/build-module/paragraph/block.json +1 -0
- package/build-module/paragraph/use-enter.mjs +4 -11
- package/build-module/paragraph/use-enter.mjs.map +2 -2
- package/build-module/playlist/block.json +28 -15
- package/build-module/playlist/context.mjs +11 -0
- package/build-module/playlist/context.mjs.map +7 -0
- package/build-module/playlist/edit.mjs +262 -84
- package/build-module/playlist/edit.mjs.map +2 -2
- package/build-module/playlist/index.mjs +1 -1
- package/build-module/playlist/index.mjs.map +2 -2
- package/build-module/playlist/utils.mjs +17 -7
- package/build-module/playlist/utils.mjs.map +2 -2
- package/build-module/playlist/view.mjs +93 -18
- package/build-module/playlist/view.mjs.map +2 -2
- package/build-module/playlist-track/block.json +4 -5
- package/build-module/playlist-track/edit.mjs +117 -72
- package/build-module/playlist-track/edit.mjs.map +2 -2
- package/build-module/post-author/edit.mjs +0 -2
- package/build-module/post-author/edit.mjs.map +2 -2
- package/build-module/post-content/block.json +1 -0
- package/build-module/post-excerpt/edit.mjs +0 -1
- package/build-module/post-excerpt/edit.mjs.map +2 -2
- package/build-module/post-featured-image/overlay-controls.mjs +1 -2
- package/build-module/post-featured-image/overlay-controls.mjs.map +2 -2
- package/build-module/post-navigation-link/edit.mjs +0 -2
- package/build-module/post-navigation-link/edit.mjs.map +2 -2
- package/build-module/post-template/block.json +2 -1
- package/build-module/post-template/edit.mjs +10 -1
- package/build-module/post-template/edit.mjs.map +2 -2
- package/build-module/pullquote/block.json +3 -1
- package/build-module/query/block.json +3 -2
- package/build-module/query/edit/inspector-controls/author-control.mjs +1 -2
- package/build-module/query/edit/inspector-controls/author-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/format-controls.mjs +1 -2
- package/build-module/query/edit/inspector-controls/format-controls.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/index.mjs +40 -8
- package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/offset-controls.mjs +0 -1
- package/build-module/query/edit/inspector-controls/offset-controls.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/order-control.mjs +0 -1
- package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/pages-control.mjs +0 -1
- package/build-module/query/edit/inspector-controls/pages-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/parent-control.mjs +0 -1
- package/build-module/query/edit/inspector-controls/parent-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/per-page-control.mjs +0 -1
- package/build-module/query/edit/inspector-controls/per-page-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/sticky-control.mjs +0 -1
- package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs +1 -2
- package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs.map +2 -2
- package/build-module/query/edit/query-content.mjs +10 -3
- package/build-module/query/edit/query-content.mjs.map +2 -2
- package/build-module/query/index.mjs +2 -1
- package/build-module/query/index.mjs.map +2 -2
- package/build-module/query-pagination/query-pagination-arrow-controls.mjs +0 -1
- package/build-module/query-pagination/query-pagination-arrow-controls.mjs.map +2 -2
- package/build-module/query-pagination-numbers/edit.mjs +0 -1
- package/build-module/query-pagination-numbers/edit.mjs.map +2 -2
- package/build-module/quote/block.json +3 -1
- package/build-module/quote/transforms.mjs +6 -8
- package/build-module/quote/transforms.mjs.map +2 -2
- package/build-module/rss/edit.mjs +0 -4
- package/build-module/rss/edit.mjs.map +2 -2
- package/build-module/search/edit.mjs +0 -4
- package/build-module/search/edit.mjs.map +2 -2
- package/build-module/separator/edit.mjs +1 -2
- package/build-module/separator/edit.mjs.map +2 -2
- package/build-module/site-logo/edit.mjs +34 -64
- package/build-module/site-logo/edit.mjs.map +2 -2
- package/build-module/social-links/edit.mjs +0 -1
- package/build-module/social-links/edit.mjs.map +2 -2
- package/build-module/spacer/controls.mjs +2 -4
- package/build-module/spacer/controls.mjs.map +2 -2
- package/build-module/spacer/edit.mjs +1 -2
- package/build-module/spacer/edit.mjs.map +2 -2
- package/build-module/tab-list/block.json +5 -4
- package/build-module/tab-list/edit.mjs +102 -56
- package/build-module/tab-list/edit.mjs.map +2 -2
- package/build-module/tab-list/save.mjs +5 -3
- package/build-module/tab-list/save.mjs.map +2 -2
- package/build-module/tab-panel/block.json +1 -6
- package/build-module/tab-panel/controls.mjs +2 -4
- package/build-module/tab-panel/controls.mjs.map +2 -2
- package/build-module/tab-panel/edit.mjs +16 -16
- package/build-module/tab-panel/edit.mjs.map +2 -2
- package/build-module/tab-panels/block.json +0 -1
- package/build-module/tab-panels/edit.mjs +2 -4
- package/build-module/tab-panels/edit.mjs.map +2 -2
- package/build-module/table-of-contents/edit.mjs +0 -1
- package/build-module/table-of-contents/edit.mjs.map +2 -2
- package/build-module/tabs/block.json +0 -5
- package/build-module/tabs/edit.mjs +7 -47
- package/build-module/tabs/edit.mjs.map +2 -2
- package/build-module/tabs/tab-toolbar-controls.mjs +46 -0
- package/build-module/tabs/tab-toolbar-controls.mjs.map +7 -0
- package/build-module/tabs/use-tab-actions.mjs +66 -0
- package/build-module/tabs/use-tab-actions.mjs.map +7 -0
- package/build-module/tabs/use-tab-list-items-sync.mjs +25 -7
- package/build-module/tabs/use-tab-list-items-sync.mjs.map +2 -2
- package/build-module/tag-cloud/edit.mjs +2 -6
- package/build-module/tag-cloud/edit.mjs.map +2 -2
- package/build-module/template-part/edit/advanced-controls.mjs +0 -1
- package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
- package/build-module/template-part/edit/import-controls.mjs +1 -2
- package/build-module/template-part/edit/import-controls.mjs.map +2 -2
- package/build-module/term-name/block.json +1 -3
- package/build-module/term-name/deprecated.mjs +74 -0
- package/build-module/term-name/deprecated.mjs.map +7 -0
- package/build-module/term-name/edit.mjs +11 -28
- package/build-module/term-name/edit.mjs.map +2 -2
- package/build-module/term-name/index.mjs +3 -1
- package/build-module/term-name/index.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/include-control.mjs +0 -1
- package/build-module/terms-query/edit/inspector-controls/include-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs +0 -1
- package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/max-terms-control.mjs +0 -1
- package/build-module/terms-query/edit/inspector-controls/max-terms-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/order-control.mjs +0 -1
- 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 +0 -1
- package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
- package/build-module/text-columns/edit.mjs +0 -1
- package/build-module/text-columns/edit.mjs.map +2 -2
- package/build-module/utils/waveform-player.mjs +144 -23
- package/build-module/utils/waveform-player.mjs.map +2 -2
- package/build-module/utils/waveform-utils.mjs +310 -16
- package/build-module/utils/waveform-utils.mjs.map +2 -2
- package/build-module/verse/block.json +3 -1
- package/build-module/video/block.json +6 -0
- package/build-module/video/edit-common-settings.mjs +0 -1
- package/build-module/video/edit-common-settings.mjs.map +2 -2
- package/build-module/video/edit.mjs +17 -1
- package/build-module/video/edit.mjs.map +2 -2
- package/build-module/video/index.mjs +2 -0
- package/build-module/video/index.mjs.map +2 -2
- package/build-module/video/save.mjs +7 -1
- package/build-module/video/save.mjs.map +2 -2
- package/build-module/video/tracks-editor.mjs +0 -1
- package/build-module/video/tracks-editor.mjs.map +2 -2
- package/build-module/video/variations.mjs +50 -0
- package/build-module/video/variations.mjs.map +7 -0
- package/build-style/accordion-panel/style-rtl.css +1 -2
- package/build-style/accordion-panel/style.css +1 -2
- package/build-style/audio/style-rtl.css +6 -0
- package/build-style/audio/style.css +6 -0
- package/build-style/audio/theme-rtl.css +6 -0
- package/build-style/audio/theme.css +6 -0
- package/build-style/columns/style-rtl.css +6 -0
- package/build-style/columns/style.css +6 -0
- package/build-style/common-rtl.css +6 -4
- package/build-style/common.css +6 -4
- package/build-style/editor-rtl.css +84 -24
- package/build-style/editor.css +84 -24
- package/build-style/embed/style-rtl.css +6 -0
- package/build-style/embed/style.css +6 -0
- package/build-style/embed/theme-rtl.css +6 -0
- package/build-style/embed/theme.css +6 -0
- package/build-style/freeform/editor-rtl.css +6 -0
- package/build-style/freeform/editor.css +6 -0
- package/build-style/gallery/editor-rtl.css +27 -3
- package/build-style/gallery/editor.css +27 -3
- package/build-style/gallery/style-rtl.css +6 -0
- package/build-style/gallery/style.css +6 -0
- package/build-style/gallery/theme-rtl.css +6 -0
- package/build-style/gallery/theme.css +6 -0
- package/build-style/html/editor-rtl.css +13 -0
- package/build-style/html/editor.css +13 -0
- package/build-style/icon/editor-rtl.css +80 -7
- package/build-style/icon/editor.css +80 -7
- package/build-style/image/editor-rtl.css +10 -0
- package/build-style/image/editor.css +10 -0
- package/build-style/image/style-rtl.css +6 -1
- package/build-style/image/style.css +6 -1
- package/build-style/image/theme-rtl.css +6 -0
- package/build-style/image/theme.css +6 -0
- package/build-style/latest-posts/style-rtl.css +26 -15
- package/build-style/latest-posts/style.css +26 -15
- package/build-style/more/editor-rtl.css +2 -2
- package/build-style/more/editor.css +2 -2
- package/build-style/navigation/editor-rtl.css +9 -4
- package/build-style/navigation/editor.css +9 -4
- package/build-style/navigation/style-rtl.css +6 -0
- package/build-style/navigation/style.css +6 -0
- package/build-style/navigation-link/editor-rtl.css +1 -1
- package/build-style/navigation-link/editor.css +1 -1
- package/build-style/navigation-submenu/editor-rtl.css +6 -0
- package/build-style/navigation-submenu/editor.css +6 -0
- package/build-style/nextpage/editor-rtl.css +2 -2
- package/build-style/nextpage/editor.css +2 -2
- package/build-style/page-list/editor-rtl.css +6 -0
- package/build-style/page-list/editor.css +6 -0
- package/build-style/playlist/editor-rtl.css +6 -0
- package/build-style/playlist/editor.css +6 -0
- package/build-style/playlist/style-rtl.css +158 -20
- package/build-style/playlist/style.css +158 -20
- package/build-style/playlist-track/style-rtl.css +10 -0
- package/build-style/playlist-track/style.css +10 -0
- package/build-style/post-template/style-rtl.css +6 -0
- package/build-style/post-template/style.css +6 -0
- package/build-style/query/editor-rtl.css +6 -0
- package/build-style/query/editor.css +6 -0
- package/build-style/rss/style-rtl.css +6 -0
- package/build-style/rss/style.css +6 -0
- package/build-style/shortcode/editor-rtl.css +6 -0
- package/build-style/shortcode/editor.css +6 -0
- package/build-style/style-rtl.css +192 -39
- package/build-style/style.css +192 -39
- package/build-style/table/editor-rtl.css +6 -0
- package/build-style/table/editor.css +6 -0
- package/build-style/table/theme-rtl.css +6 -0
- package/build-style/table/theme.css +6 -0
- package/build-style/template-part/editor-rtl.css +6 -0
- package/build-style/template-part/editor.css +6 -0
- package/build-style/theme-rtl.css +6 -0
- package/build-style/theme.css +6 -0
- package/build-style/video/editor-rtl.css +1 -1
- package/build-style/video/editor.css +1 -1
- package/build-style/video/style-rtl.css +6 -0
- package/build-style/video/style.css +6 -0
- package/build-style/video/theme-rtl.css +6 -0
- package/build-style/video/theme.css +6 -0
- package/build-types/table-of-contents/list.d.ts +1 -1
- package/build-types/table-of-contents/list.d.ts.map +1 -1
- package/package.json +48 -44
- package/src/accordion/README.md +2 -1
- package/src/accordion/block.json +1 -0
- package/src/accordion/edit.js +0 -1
- package/src/accordion/view.js +24 -0
- package/src/accordion-heading/README.md +1 -1
- package/src/accordion-heading/deprecated.js +122 -1
- package/src/accordion-heading/edit.js +12 -1
- package/src/accordion-heading/save.js +12 -1
- package/src/accordion-item/README.md +1 -1
- package/src/accordion-item/index.php +2 -1
- package/src/accordion-panel/edit.js +1 -1
- package/src/accordion-panel/style.scss +1 -4
- package/src/archives/edit.js +0 -1
- package/src/audio/edit.js +0 -1
- package/src/avatar/edit.js +0 -1
- package/src/avatar/user-control.js +0 -1
- package/src/button/edit.js +21 -15
- package/src/categories/edit.js +0 -1
- package/src/code/transforms.js +6 -4
- package/src/column/edit.js +0 -1
- package/src/columns/edit.js +0 -1
- package/src/columns/transforms.js +9 -2
- package/src/comment-author-avatar/edit.js +0 -1
- package/src/comments-pagination/comments-pagination-arrow-controls.js +0 -1
- package/src/common.scss +0 -4
- package/src/cover/README.md +60 -0
- package/src/cover/block.json +11 -0
- package/src/cover/edit/block-controls.js +21 -11
- package/src/cover/edit/embed-video-url-input.js +5 -4
- package/src/cover/edit/index.js +9 -11
- package/src/cover/edit/inspector-controls.js +0 -2
- package/src/cover/embed-video-utils.js +38 -13
- package/src/cover/test/edit.js +4 -4
- package/src/details/transforms.js +2 -2
- package/src/embed/edit.js +4 -5
- package/src/embed/embed-placeholder.js +16 -20
- package/src/file/edit.js +8 -8
- package/src/file/inspector.js +0 -2
- package/src/file/transforms.js +28 -60
- package/src/form/edit.js +0 -2
- package/src/freeform/convert-to-blocks-button.js +33 -0
- package/src/freeform/edit.js +11 -21
- package/src/freeform/index.js +1 -9
- package/src/gallery/README.md +4 -1
- package/src/gallery/block.json +8 -3
- package/src/gallery/dynamic-gallery.js +384 -0
- package/src/gallery/dynamic-source.js +117 -0
- package/src/gallery/edit.js +155 -49
- package/src/gallery/editor.scss +32 -4
- package/src/gallery/gallery.js +0 -7
- package/src/gallery/gap-styles.js +79 -20
- package/src/gallery/index.js +2 -0
- package/src/gallery/index.php +379 -42
- package/src/gallery/save.js +22 -11
- package/src/gallery/test/dynamic-source.js +90 -0
- package/src/gallery/use-dynamic-gallery.js +275 -0
- package/src/gallery/variations.js +37 -0
- package/src/group/edit.js +2 -3
- package/src/group/transforms.js +4 -8
- package/src/heading/edit.js +19 -14
- package/src/home-link/index.php +1 -1
- package/src/html/README.md +2 -1
- package/src/html/block.json +2 -2
- package/src/html/edit.js +86 -14
- package/src/html/editor.scss +10 -0
- package/src/html/index.js +3 -4
- package/src/html/modal.js +5 -9
- package/src/html/save.js +4 -7
- package/src/html/test/index.js +143 -0
- package/src/html/transforms.js +11 -6
- package/src/icon/components/custom-inserter/icon-grid.js +40 -11
- package/src/icon/components/custom-inserter/index.js +98 -25
- package/src/icon/edit.js +11 -17
- package/src/icon/editor.scss +33 -8
- package/src/icon/index.php +38 -45
- package/src/image/README.md +1 -1
- package/src/image/block.json +1 -1
- package/src/image/editor.scss +11 -0
- package/src/image/image.js +105 -169
- package/src/image/style.scss +0 -1
- package/src/image/test/use-open-image-media-editor-modal.js +19 -4
- package/src/image/transforms.js +128 -0
- package/src/index.js +19 -9
- package/src/latest-comments/edit.js +0 -2
- package/src/latest-posts/README.md +2 -2
- package/src/latest-posts/block.json +8 -9
- package/src/latest-posts/constants.js +0 -1
- package/src/latest-posts/deprecated.js +112 -9
- package/src/latest-posts/edit.js +38 -53
- package/src/latest-posts/index.php +60 -19
- package/src/latest-posts/style.scss +12 -2
- package/src/latest-posts/test/deprecated.js +153 -0
- package/src/list/ordered-list-settings.js +0 -1
- package/src/list-item/edit.js +1 -1
- package/src/list-item/hooks/use-enter.js +15 -22
- package/src/list-item/hooks/use-space.js +4 -6
- package/src/media-text/edit.js +0 -1
- package/src/media-text/editor.scss +1 -0
- package/src/missing/edit.js +1 -3
- package/src/more/editor.scss +1 -1
- package/src/navigation/edit/index.js +0 -1
- package/src/navigation/edit/overlay-menu-preview-controls.js +0 -1
- package/src/navigation/edit/overlay-menu-preview.js +0 -1
- package/src/navigation/edit/overlay-template-part-selector.js +0 -1
- package/src/navigation/edit/overlay-visibility-control.js +0 -1
- package/src/navigation/editor.scss +1 -2
- package/src/navigation-link/editor.scss +1 -1
- package/src/navigation-link/index.php +6 -3
- package/src/navigation-link/shared/test/controls.js +0 -4
- package/src/navigation-link/shared/test/use-entity-binding.js +8 -12
- package/src/navigation-link/shared/test/use-handle-link-change.test.js +0 -4
- package/src/navigation-link/shared/test/use-link-preview.test.js +17 -4
- package/src/navigation-link/shared/use-link-preview.js +24 -4
- package/src/navigation-overlay-close/edit.js +0 -1
- package/src/navigation-submenu/index.php +6 -3
- package/src/nextpage/editor.scss +1 -1
- package/src/page-list/edit.js +0 -1
- package/src/page-list/index.php +1 -1
- package/src/paragraph/README.md +1 -0
- package/src/paragraph/block.json +1 -0
- package/src/paragraph/use-enter.js +4 -11
- package/src/playlist/README.md +17 -20
- package/src/playlist/block.json +28 -15
- package/src/playlist/context.js +9 -0
- package/src/playlist/edit.js +298 -97
- package/src/playlist/editor.scss +6 -0
- package/src/playlist/index.js +1 -1
- package/src/playlist/index.php +91 -36
- package/src/playlist/style.scss +51 -6
- package/src/playlist/test/edit.js +13 -12
- package/src/playlist/utils.js +24 -12
- package/src/playlist/view.js +101 -20
- package/src/playlist-track/README.md +3 -5
- package/src/playlist-track/block.json +4 -5
- package/src/playlist-track/edit.js +116 -83
- package/src/playlist-track/index.php +24 -17
- package/src/playlist-track/style.scss +10 -0
- package/src/playlist-track/test/edit.js +169 -0
- package/src/post-author/edit.js +0 -2
- package/src/post-content/README.md +1 -0
- package/src/post-content/block.json +1 -0
- package/src/post-excerpt/edit.js +0 -1
- package/src/post-featured-image/overlay-controls.js +0 -1
- package/src/post-navigation-link/edit.js +0 -2
- package/src/post-template/README.md +1 -0
- package/src/post-template/block.json +2 -1
- package/src/post-template/edit.js +9 -0
- package/src/pullquote/README.md +1 -0
- package/src/pullquote/block.json +3 -1
- package/src/query/README.md +2 -1
- package/src/query/block.json +3 -2
- package/src/query/edit/inspector-controls/author-control.js +0 -1
- package/src/query/edit/inspector-controls/format-controls.js +0 -1
- package/src/query/edit/inspector-controls/index.js +43 -6
- package/src/query/edit/inspector-controls/offset-controls.js +0 -1
- package/src/query/edit/inspector-controls/order-control.js +0 -1
- package/src/query/edit/inspector-controls/pages-control.js +0 -1
- package/src/query/edit/inspector-controls/parent-control.js +0 -1
- package/src/query/edit/inspector-controls/per-page-control.js +0 -1
- package/src/query/edit/inspector-controls/sticky-control.js +0 -1
- package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/src/query/edit/query-content.js +19 -3
- package/src/query/index.js +1 -0
- package/src/query-pagination/query-pagination-arrow-controls.js +0 -1
- package/src/query-pagination-numbers/edit.js +0 -1
- package/src/quote/README.md +1 -0
- package/src/quote/block.json +3 -1
- package/src/quote/transforms.js +6 -8
- package/src/rss/edit.js +0 -4
- package/src/rss/index.php +1 -1
- package/src/search/edit.js +0 -4
- package/src/separator/edit.js +0 -1
- package/src/site-logo/edit.js +38 -78
- package/src/social-links/edit.js +0 -1
- package/src/spacer/controls.js +2 -4
- package/src/spacer/edit.js +2 -3
- package/src/tab-list/README.md +4 -5
- package/src/tab-list/block.json +5 -4
- package/src/tab-list/edit.js +133 -73
- package/src/tab-list/index.php +9 -4
- package/src/tab-list/save.js +5 -4
- package/src/tab-panel/README.md +4 -6
- package/src/tab-panel/block.json +1 -6
- package/src/tab-panel/controls.js +2 -4
- package/src/tab-panel/edit.js +19 -24
- package/src/tab-panels/README.md +5 -3
- package/src/tab-panels/block.json +0 -1
- package/src/tab-panels/edit.js +2 -4
- package/src/table-of-contents/edit.js +0 -1
- package/src/tabs/README.md +18 -9
- package/src/tabs/block.json +0 -5
- package/src/tabs/edit.js +8 -65
- package/src/tabs/tab-toolbar-controls.js +58 -0
- package/src/tabs/use-tab-actions.js +102 -0
- package/src/tabs/use-tab-list-items-sync.js +31 -12
- package/src/tag-cloud/edit.js +0 -4
- package/src/tag-cloud/index.php +1 -1
- package/src/template-part/edit/advanced-controls.js +0 -1
- package/src/template-part/edit/import-controls.js +0 -1
- package/src/template-part/index.php +1 -16
- package/src/term-name/README.md +1 -1
- package/src/term-name/block.json +1 -3
- package/src/term-name/deprecated.js +74 -0
- package/src/term-name/edit.js +2 -18
- package/src/term-name/index.js +2 -0
- package/src/terms-query/edit/inspector-controls/include-control.js +0 -1
- package/src/terms-query/edit/inspector-controls/inherit-control.js +0 -1
- package/src/terms-query/edit/inspector-controls/max-terms-control.js +0 -1
- package/src/terms-query/edit/inspector-controls/order-control.js +0 -1
- package/src/terms-query/edit/inspector-controls/taxonomy-control.js +0 -1
- package/src/text-columns/edit.js +0 -1
- package/src/utils/media-control.scss +1 -5
- package/src/utils/test/waveform-player.js +297 -38
- package/src/utils/test/waveform-utils.js +410 -9
- package/src/utils/waveform-player.js +189 -59
- package/src/utils/waveform-utils.js +443 -40
- package/src/verse/README.md +1 -0
- package/src/verse/block.json +3 -1
- package/src/video/README.md +2 -0
- package/src/video/block.json +6 -0
- package/src/video/edit-common-settings.js +0 -1
- package/src/video/edit.js +30 -1
- package/src/video/editor.scss +1 -1
- package/src/video/index.js +2 -0
- package/src/video/save.js +12 -0
- package/src/video/test/variations.js +65 -0
- package/src/video/tracks-editor.js +0 -1
- package/src/video/variations.js +65 -0
- package/build/freeform/migration-notice.cjs +0 -58
- package/build/freeform/migration-notice.cjs.map +0 -7
- package/build/tab-panel/add-tab-toolbar-control.cjs +0 -90
- package/build/tab-panel/add-tab-toolbar-control.cjs.map +0 -7
- package/build/tab-panel/remove-tab-toolbar-control.cjs +0 -99
- package/build/tab-panel/remove-tab-toolbar-control.cjs.map +0 -7
- package/build/tabs/controls.cjs +0 -45
- package/build/tabs/controls.cjs.map +0 -7
- package/build-module/freeform/migration-notice.mjs +0 -37
- package/build-module/freeform/migration-notice.mjs.map +0 -7
- package/build-module/tab-panel/add-tab-toolbar-control.mjs +0 -72
- package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +0 -7
- package/build-module/tab-panel/remove-tab-toolbar-control.mjs +0 -81
- package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +0 -7
- package/build-module/tabs/controls.mjs +0 -14
- package/build-module/tabs/controls.mjs.map +0 -7
- package/src/freeform/migration-notice.js +0 -49
- package/src/tab-panel/add-tab-toolbar-control.js +0 -90
- package/src/tab-panel/remove-tab-toolbar-control.js +0 -110
- package/src/tabs/controls.js +0 -14
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/columns/edit.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tRangeControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/column',\n};\n\nfunction ColumnInspectorControls( {\n\tclientId,\n\tsetAttributes,\n\tisStackedOnMobile,\n} ) {\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, canRemoveBlock, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blockOrder = getBlockOrder( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = blockOrder.reduce(\n\t\t\t\t( acc, blockId, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( blockId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: blockOrder.length,\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\t\t\tconst newlyAddedColumns = newColumns - previousColumns;\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth * newlyAddedColumns\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newlyAddedColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t<VStack spacing={ 4 } style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,kBAAmB;AACnB,wBAOO;AAEP,0BAQO;AACP,kBAAoD;AACpD,oBAIO;AAKP,mBAKO;AACP,mBAA+C;AAuH3C;AArHJ,IAAM,gBAAgB;AAAA,EACrB,MAAM;AACP;AAEA,SAAS,wBAAyB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,OAAO,sBAAsB,SAAS,QAAI;AAAA,IACjD,CAAE,WAAY;AACb,YAAM,EAAE,oBAAoB,gBAAgB,cAAc,IACzD,OAAQ,oBAAAA,KAAiB;AAC1B,YAAM,aAAa,cAAe,QAAS;AAI3C,YAAM,6BAA6B,WAAW;AAAA,QAC7C,CAAE,KAAK,SAAS,UAAW;AAC1B,cAAK,CAAE,eAAgB,OAAQ,GAAI;AAClC,gBAAI,KAAM,KAAM;AAAA,UACjB;AACA,iBAAO;AAAA,QACR;AAAA,QACA,CAAC;AAAA,MACF;AAEA,aAAO;AAAA,QACN,OAAO,WAAW;AAAA,QAClB,sBAAsB;AAAA,UACrB;AAAA,UACA;AAAA,QACD;AAAA,QACA,UAAU,KAAK,IAAK,GAAG,0BAA2B,IAAI;AAAA,MACvD;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,EAAE,UAAU,QAAI,uBAAW,oBAAAA,KAAiB;AAClD,QAAM,EAAE,mBAAmB,QAAI,yBAAa,oBAAAA,KAAiB;AAS7D,WAAS,cAAe,iBAAiB,YAAa;AACrD,QAAI,cAAc,UAAW,QAAS;AACtC,UAAM,wBAAoB,6CAAgC,WAAY;AAGtE,UAAM,iBAAiB,aAAa;AAEpC,QAAK,kBAAkB,mBAAoB;AAG1C,YAAM,qBAAiB,+BAAkB,MAAM,UAAW;AAC1D,YAAM,oBAAoB,aAAa;AAIvC,YAAM,aAAS;AAAA,QACd;AAAA,QACA,MAAM,iBAAiB;AAAA,MACxB;AAEA,oBAAc;AAAA,QACb,OAAG,oCAAuB,aAAa,MAAO;AAAA,QAC9C,GAAG,MAAM,KAAM;AAAA,UACd,QAAQ;AAAA,QACT,CAAE,EAAE,IAAK,MAAM;AACd,qBAAO,2BAAa,eAAe;AAAA,YAClC,OAAO,GAAI,cAAe;AAAA,UAC3B,CAAE;AAAA,QACH,CAAE;AAAA,MACH;AAAA,IACD,WAAY,gBAAiB;AAC5B,oBAAc;AAAA,QACb,GAAG;AAAA,QACH,GAAG,MAAM,KAAM;AAAA,UACd,QAAQ,aAAa;AAAA,QACtB,CAAE,EAAE,IAAK,MAAM;AACd,qBAAO,2BAAa,aAAc;AAAA,QACnC,CAAE;AAAA,MACH;AAAA,IACD,WAAY,aAAa,iBAAkB;AAE1C,oBAAc,YAAY;AAAA,QACzB;AAAA,QACA,EAAG,kBAAkB;AAAA,MACtB;AACA,UAAK,mBAAoB;AAExB,cAAM,aAAS,2CAA8B,aAAa,GAAI;AAE9D,0BAAc,oCAAuB,aAAa,MAAO;AAAA,MAC1D;AAAA,IACD;AAEA,uBAAoB,UAAU,WAAY;AAAA,EAC3C;AAEA,QAAM,wBAAoB,6CAA+B;AAEzD,SACC;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,WAAQ,gBAAI,UAAW;AAAA,MACvB,UAAW,MAAM;AAChB,sBAAe;AAAA,UACd,mBAAmB;AAAA,QACpB,CAAE;AAAA,MACH;AAAA,MACA;AAAA,MAEE;AAAA,gCACD,6CAAC,kBAAAC,sBAAA,EAAO,SAAU,GAAI,OAAQ,EAAE,YAAY,SAAS,GACpD;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,
|
|
4
|
+
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tRangeControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/column',\n};\n\nfunction ColumnInspectorControls( {\n\tclientId,\n\tsetAttributes,\n\tisStackedOnMobile,\n} ) {\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, canRemoveBlock, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blockOrder = getBlockOrder( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = blockOrder.reduce(\n\t\t\t\t( acc, blockId, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( blockId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: blockOrder.length,\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\t\t\tconst newlyAddedColumns = newColumns - previousColumns;\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth * newlyAddedColumns\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newlyAddedColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t<VStack spacing={ 4 } style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tupdateColumns( count, Math.max( minCount, value ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => isStackedOnMobile !== true }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst registry = useRegistry();\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst classes = clsx( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to override anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ColumnInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockVariations, getBlockType } = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tinstructions={ __( 'Divide into columns. Select a layout:' ) }\n\t\t\t\tonSelect={ ( nextVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorStore", "ToolsPanel", "VStack", "ToolsPanelItem", "clsx", "blocksStore"]
|
|
7
7
|
}
|
|
@@ -76,10 +76,17 @@ var transforms = {
|
|
|
76
76
|
__experimentalConvert: (blocks) => {
|
|
77
77
|
const columnWidth = +(100 / blocks.length).toFixed(2);
|
|
78
78
|
const innerBlocksTemplate = blocks.map(
|
|
79
|
-
({ name, attributes, innerBlocks }) => [
|
|
79
|
+
({ name, attributes, innerBlocks, innerContent }) => [
|
|
80
80
|
"core/column",
|
|
81
81
|
{ width: `${columnWidth}%` },
|
|
82
|
-
[
|
|
82
|
+
[
|
|
83
|
+
[
|
|
84
|
+
name,
|
|
85
|
+
{ ...attributes },
|
|
86
|
+
innerBlocks,
|
|
87
|
+
innerContent
|
|
88
|
+
]
|
|
89
|
+
]
|
|
83
90
|
]
|
|
84
91
|
);
|
|
85
92
|
return (0, import_blocks.createBlock)(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/columns/transforms.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n} from '@wordpress/blocks';\n\nconst MAXIMUM_SELECTED_BLOCKS = 6;\n\nconst getColumnBlocksFromGrid = ( innerBlocks, columnCount ) => {\n\tconst columnWidth = +( 100 / columnCount ).toFixed( 2 );\n\tconst innerBlocksTemplate = Array.from(\n\t\t{ length: columnCount },\n\t\t( _, columnIndex ) => [\n\t\t\t'core/column',\n\t\t\t{ width: `${ columnWidth }%` },\n\t\t\tinnerBlocks.filter(\n\t\t\t\t( _innerBlock, blockIndex ) =>\n\t\t\t\t\tblockIndex % columnCount === columnIndex\n\t\t\t),\n\t\t]\n\t);\n\n\treturn createBlocksFromInnerBlocksTemplate( innerBlocksTemplate );\n};\n\nconst getGridInnerBlocks = ( innerBlocks ) =>\n\tinnerBlocks.flatMap( ( column ) => {\n\t\tconst columnInnerBlocks = column.innerBlocks || [];\n\t\tif ( columnInnerBlocks.length > 1 ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ layout: { type: 'constrained' } },\n\t\t\t\t\tcolumnInnerBlocks\n\t\t\t\t),\n\t\t\t];\n\t\t}\n\t\treturn columnInnerBlocks;\n\t} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst { layout, ...rest } = attributes;\n\t\t\t\tconst { columnCount } = layout;\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\trest,\n\t\t\t\t\tgetColumnBlocksFromGrid( innerBlocks, columnCount )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { layout } ) =>\n\t\t\t\tlayout?.type === 'grid' &&\n\t\t\t\tNumber.isInteger( layout?.columnCount ) &&\n\t\t\t\tlayout.columnCount > 0,\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert: ( blocks ) => {\n\t\t\t\tconst columnWidth = +( 100 / blocks.length ).toFixed( 2 );\n\t\t\t\tconst innerBlocksTemplate = blocks.map(\n\t\t\t\t\t( { name, attributes, innerBlocks } ) => [\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ columnWidth }%` },\n\t\t\t\t\t\t[
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAGO;AAEP,IAAM,0BAA0B;AAEhC,IAAM,0BAA0B,CAAE,aAAa,gBAAiB;AAC/D,QAAM,cAAc,EAAG,MAAM,aAAc,QAAS,CAAE;AACtD,QAAM,sBAAsB,MAAM;AAAA,IACjC,EAAE,QAAQ,YAAY;AAAA,IACtB,CAAE,GAAG,gBAAiB;AAAA,MACrB;AAAA,MACA,EAAE,OAAO,GAAI,WAAY,IAAI;AAAA,MAC7B,YAAY;AAAA,QACX,CAAE,aAAa,eACd,aAAa,gBAAgB;AAAA,MAC/B;AAAA,IACD;AAAA,EACD;AAEA,aAAO,mDAAqC,mBAAoB;AACjE;AAEA,IAAM,qBAAqB,CAAE,gBAC5B,YAAY,QAAS,CAAE,WAAY;AAClC,QAAM,oBAAoB,OAAO,eAAe,CAAC;AACjD,MAAK,kBAAkB,SAAS,GAAI;AACnC,WAAO;AAAA,UACN;AAAA,QACC;AAAA,QACA,EAAE,QAAQ,EAAE,MAAM,cAAc,EAAE;AAAA,QAClC;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR,CAAE;AAEH,IAAM,aAAa;AAAA,EAClB,MAAM;AAAA,IACL;AAAA,MACC,MAAM;AAAA,MACN,QAAQ,CAAE,YAAa;AAAA,MACvB,UAAU;AAAA,MACV,WAAW,CAAE,YAAY,gBAAiB;AACzC,cAAM,EAAE,QAAQ,GAAG,KAAK,IAAI;AAC5B,cAAM,EAAE,YAAY,IAAI;AAExB,mBAAO;AAAA,UACN;AAAA,UACA;AAAA,UACA,wBAAyB,aAAa,WAAY;AAAA,QACnD;AAAA,MACD;AAAA,MACA,SAAS,CAAE,EAAE,OAAO,MACnB,QAAQ,SAAS,UACjB,OAAO,UAAW,QAAQ,WAAY,KACtC,OAAO,cAAc;AAAA,IACvB;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,QAAQ,CAAE,GAAI;AAAA,MACd,uBAAuB,CAAE,WAAY;AACpC,cAAM,cAAc,EAAG,MAAM,OAAO,QAAS,QAAS,CAAE;AACxD,cAAM,sBAAsB,OAAO;AAAA,UAClC,CAAE,EAAE,MAAM,YAAY,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n} from '@wordpress/blocks';\n\nconst MAXIMUM_SELECTED_BLOCKS = 6;\n\nconst getColumnBlocksFromGrid = ( innerBlocks, columnCount ) => {\n\tconst columnWidth = +( 100 / columnCount ).toFixed( 2 );\n\tconst innerBlocksTemplate = Array.from(\n\t\t{ length: columnCount },\n\t\t( _, columnIndex ) => [\n\t\t\t'core/column',\n\t\t\t{ width: `${ columnWidth }%` },\n\t\t\tinnerBlocks.filter(\n\t\t\t\t( _innerBlock, blockIndex ) =>\n\t\t\t\t\tblockIndex % columnCount === columnIndex\n\t\t\t),\n\t\t]\n\t);\n\n\treturn createBlocksFromInnerBlocksTemplate( innerBlocksTemplate );\n};\n\nconst getGridInnerBlocks = ( innerBlocks ) =>\n\tinnerBlocks.flatMap( ( column ) => {\n\t\tconst columnInnerBlocks = column.innerBlocks || [];\n\t\tif ( columnInnerBlocks.length > 1 ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ layout: { type: 'constrained' } },\n\t\t\t\t\tcolumnInnerBlocks\n\t\t\t\t),\n\t\t\t];\n\t\t}\n\t\treturn columnInnerBlocks;\n\t} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst { layout, ...rest } = attributes;\n\t\t\t\tconst { columnCount } = layout;\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\trest,\n\t\t\t\t\tgetColumnBlocksFromGrid( innerBlocks, columnCount )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { layout } ) =>\n\t\t\t\tlayout?.type === 'grid' &&\n\t\t\t\tNumber.isInteger( layout?.columnCount ) &&\n\t\t\t\tlayout.columnCount > 0,\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert: ( blocks ) => {\n\t\t\t\tconst columnWidth = +( 100 / blocks.length ).toFixed( 2 );\n\t\t\t\tconst innerBlocksTemplate = blocks.map(\n\t\t\t\t\t( { name, attributes, innerBlocks, innerContent } ) => [\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ columnWidth }%` },\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t{ ...attributes },\n\t\t\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t\t\tinnerContent,\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t],\n\t\t\t\t\t]\n\t\t\t\t);\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { length: selectedBlocksLength }, blocks ) => {\n\t\t\t\t// If a user is trying to transform a single Columns block, skip\n\t\t\t\t// the transformation. Enabling this functiontionality creates\n\t\t\t\t// nested Columns blocks resulting in an unintuitive user experience.\n\t\t\t\t// Multiple Columns blocks can still be transformed.\n\t\t\t\tif (\n\t\t\t\t\tblocks.length === 1 &&\n\t\t\t\t\tblocks[ 0 ].name === 'core/columns'\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tselectedBlocksLength &&\n\t\t\t\t\tselectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/media-text' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\talign,\n\t\t\t\t\tbackgroundColor,\n\t\t\t\t\ttextColor,\n\t\t\t\t\tstyle,\n\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\tmediaSizeSlug: sizeSlug,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\tmediaWidth,\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} = attributes;\n\t\t\t\tlet media;\n\t\t\t\tif ( mediaType === 'image' || ! mediaType ) {\n\t\t\t\t\tconst imageAttrs = { id, alt, url, sizeSlug };\n\t\t\t\t\tconst linkAttrs = {\n\t\t\t\t\t\thref: attributes.href,\n\t\t\t\t\t\tlinkClass: attributes.linkClass,\n\t\t\t\t\t\tlinkDestination: attributes.linkDestination,\n\t\t\t\t\t\tlinkTarget: attributes.linkTarget,\n\t\t\t\t\t\trel: attributes.rel,\n\t\t\t\t\t};\n\t\t\t\t\tmedia = [ 'core/image', { ...imageAttrs, ...linkAttrs } ];\n\t\t\t\t} else {\n\t\t\t\t\tmedia = [ 'core/video', { id, src: url } ];\n\t\t\t\t}\n\t\t\t\tconst innerBlocksTemplate = [\n\t\t\t\t\t[ 'core/column', { width: `${ mediaWidth }%` }, [ media ] ],\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ 100 - mediaWidth }%` },\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t],\n\t\t\t\t];\n\t\t\t\tif ( mediaPosition === 'right' ) {\n\t\t\t\t\tinnerBlocksTemplate.reverse();\n\t\t\t\t}\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tvariationName: 'group-grid',\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst columnCount = innerBlocks.length;\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\tisStackedOnMobile: undefined,\n\t\t\t\t\t\tverticalAlignment: undefined,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\ttype: 'grid',\n\t\t\t\t\t\t\t...( columnCount && { columnCount } ),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tgetGridInnerBlocks( innerBlocks )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tungroup: ( attributes, innerBlocks ) =>\n\t\tinnerBlocks.flatMap( ( innerBlock ) => innerBlock.innerBlocks ),\n};\n\nexport default transforms;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -62,7 +62,6 @@ function Edit({
|
|
|
62
62
|
const inspectorControls = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.PanelBody, { title: (0, import_i18n.__)("Settings"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
63
63
|
import_components.RangeControl,
|
|
64
64
|
{
|
|
65
|
-
__next40pxDefaultSize: true,
|
|
66
65
|
label: (0, import_i18n.__)("Image size"),
|
|
67
66
|
onChange: (newWidth) => setAttributes({
|
|
68
67
|
width: newWidth,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/comment-author-avatar/edit.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PanelBody, ResizableBox, RangeControl } from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\n\nexport default function Edit( {\n\tattributes,\n\tcontext: { commentId },\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { height, width } = attributes;\n\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst blockProps = useBlockProps();\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\tconst avatarURL = useSelect( ( select ) => {\n\t\tconst { __experimentalDiscussionSettings } =\n\t\t\tselect( blockEditorStore ).getSettings();\n\n\t\treturn __experimentalDiscussionSettings?.avatarURL;\n\t}, [] );\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<RangeControl\n\t\t\t\t\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAKO;AACP,wBAAsD;AACtD,uBAA8B;AAC9B,kBAA0B;AAC1B,kBAA0B;AAwCtB;AAtCW,SAAR,KAAuB;AAAA,EAC7B;AAAA,EACA,SAAS,EAAE,UAAU;AAAA,EACrB;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,QAAQ,MAAM,IAAI;AAE1B,QAAM,CAAE,OAAQ,QAAI;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,CAAE,UAAW,QAAI;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,QAAM,aAAa,UAAU,OAAO,OAAQ,OAAQ,IAAI;AACxD,QAAM,QAAQ,UAAU,OAAO,KAAM,OAAQ,IAAI;AACjD,QAAM,UAAU,QAAQ,MAAO,CAAE,IAAI;AACrC,QAAM,UAAU,QAAQ,MAAO,MAAM,SAAS,CAAE,IAAI;AACpD,QAAM,iBAAa,mCAAc;AACjC,QAAM,mBAAe,oBAAAA,0CAAiB,UAAW;AACjD,QAAM,gBAAgB,KAAK,MAAO,UAAU,GAAI;AAChD,QAAM,gBAAY,uBAAW,CAAE,WAAY;AAC1C,UAAM,EAAE,iCAAiC,IACxC,OAAQ,oBAAAC,KAAiB,EAAE,YAAY;AAExC,WAAO,kCAAkC;AAAA,EAC1C,GAAG,CAAC,CAAE;AAEN,QAAM,oBACL,4CAAC,yCACA,sDAAC,+BAAU,WAAQ,gBAAI,UAAW,GACjC;AAAA,IAAC;AAAA;AAAA,MACA,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PanelBody, ResizableBox, RangeControl } from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\n\nexport default function Edit( {\n\tattributes,\n\tcontext: { commentId },\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { height, width } = attributes;\n\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst blockProps = useBlockProps();\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\tconst avatarURL = useSelect( ( select ) => {\n\t\tconst { __experimentalDiscussionSettings } =\n\t\t\tselect( blockEditorStore ).getSettings();\n\n\t\treturn __experimentalDiscussionSettings?.avatarURL;\n\t}, [] );\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\twidth: newWidth,\n\t\t\t\t\t\t\theight: newWidth,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tmin={ minSize }\n\t\t\t\t\tmax={ maxSizeBuffer }\n\t\t\t\t\tinitialPosition={ width }\n\t\t\t\t\tvalue={ width }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst resizableAvatar = (\n\t\t<ResizableBox\n\t\t\tsize={ {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: parseInt( height + delta.height, 10 ),\n\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tlockAspectRatio\n\t\t\tenable={ {\n\t\t\t\ttop: false,\n\t\t\t\tright: ! isRTL(),\n\t\t\t\tbottom: true,\n\t\t\t\tleft: isRTL(),\n\t\t\t} }\n\t\t\tminWidth={ minSize }\n\t\t\tmaxWidth={ maxSizeBuffer }\n\t\t>\n\t\t\t<img\n\t\t\t\tsrc={\n\t\t\t\t\tavatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : avatarURL\n\t\t\t\t}\n\t\t\t\talt={ `${ authorName } ${ __( 'Avatar' ) }` }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</ResizableBox>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...spacingProps }>{ resizableAvatar }</div>\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAKO;AACP,wBAAsD;AACtD,uBAA8B;AAC9B,kBAA0B;AAC1B,kBAA0B;AAwCtB;AAtCW,SAAR,KAAuB;AAAA,EAC7B;AAAA,EACA,SAAS,EAAE,UAAU;AAAA,EACrB;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,QAAQ,MAAM,IAAI;AAE1B,QAAM,CAAE,OAAQ,QAAI;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,CAAE,UAAW,QAAI;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,QAAM,aAAa,UAAU,OAAO,OAAQ,OAAQ,IAAI;AACxD,QAAM,QAAQ,UAAU,OAAO,KAAM,OAAQ,IAAI;AACjD,QAAM,UAAU,QAAQ,MAAO,CAAE,IAAI;AACrC,QAAM,UAAU,QAAQ,MAAO,MAAM,SAAS,CAAE,IAAI;AACpD,QAAM,iBAAa,mCAAc;AACjC,QAAM,mBAAe,oBAAAA,0CAAiB,UAAW;AACjD,QAAM,gBAAgB,KAAK,MAAO,UAAU,GAAI;AAChD,QAAM,gBAAY,uBAAW,CAAE,WAAY;AAC1C,UAAM,EAAE,iCAAiC,IACxC,OAAQ,oBAAAC,KAAiB,EAAE,YAAY;AAExC,WAAO,kCAAkC;AAAA,EAC1C,GAAG,CAAC,CAAE;AAEN,QAAM,oBACL,4CAAC,yCACA,sDAAC,+BAAU,WAAQ,gBAAI,UAAW,GACjC;AAAA,IAAC;AAAA;AAAA,MACA,WAAQ,gBAAI,YAAa;AAAA,MACzB,UAAW,CAAE,aACZ,cAAe;AAAA,QACd,OAAO;AAAA,QACP,QAAQ;AAAA,MACT,CAAE;AAAA,MAEH,KAAM;AAAA,MACN,KAAM;AAAA,MACN,iBAAkB;AAAA,MAClB,OAAQ;AAAA;AAAA,EACT,GACD,GACD;AAGD,QAAM,kBACL;AAAA,IAAC;AAAA;AAAA,MACA,MAAO;AAAA,QACN;AAAA,QACA;AAAA,MACD;AAAA,MACA,YAAa;AAAA,MACb,cAAe,CAAE,OAAO,WAAW,KAAK,UAAW;AAClD,sBAAe;AAAA,UACd,QAAQ,SAAU,SAAS,MAAM,QAAQ,EAAG;AAAA,UAC5C,OAAO,SAAU,QAAQ,MAAM,OAAO,EAAG;AAAA,QAC1C,CAAE;AAAA,MACH;AAAA,MACA,iBAAe;AAAA,MACf,QAAS;AAAA,QACR,KAAK;AAAA,QACL,OAAO,KAAE,mBAAM;AAAA,QACf,QAAQ;AAAA,QACR,UAAM,mBAAM;AAAA,MACb;AAAA,MACA,UAAW;AAAA,MACX,UAAW;AAAA,MAEX;AAAA,QAAC;AAAA;AAAA,UACA,KACC,aAAa,WAAY,WAAW,SAAS,CAAE,IAAI;AAAA,UAEpD,KAAM,GAAI,UAAW,QAAK,gBAAI,QAAS,CAAE;AAAA,UACvC,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EACD;AAGD,SACC,4EACG;AAAA;AAAA,IACF,4CAAC,SAAM,GAAG,cAAiB,2BAAiB;AAAA,KAC7C;AAEF;",
|
|
6
6
|
"names": ["useSpacingProps", "blockEditorStore"]
|
|
7
7
|
}
|
|
@@ -30,7 +30,6 @@ function CommentsPaginationArrowControls({ value, onChange }) {
|
|
|
30
30
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
31
31
|
import_components.__experimentalToggleGroupControl,
|
|
32
32
|
{
|
|
33
|
-
__next40pxDefaultSize: true,
|
|
34
33
|
label: (0, import_i18n.__)("Arrow"),
|
|
35
34
|
value,
|
|
36
35
|
onChange,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/comments-pagination/comments-pagination-arrow-controls.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\n\nexport function CommentsPaginationArrowControls( { value, onChange } ) {\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAuB;AACvB,wBAGO;AAIL;AAFK,SAAS,gCAAiC,EAAE,OAAO,SAAS,GAAI;AACtE,SACC;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\n\nexport function CommentsPaginationArrowControls( { value, onChange } ) {\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tlabel={ __( 'Arrow' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\thelp={ __(\n\t\t\t\t'A decorative arrow appended to the next and previous comments link.'\n\t\t\t) }\n\t\t\tisBlock\n\t\t>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tvalue=\"none\"\n\t\t\t\tlabel={ _x(\n\t\t\t\t\t'None',\n\t\t\t\t\t'Arrow option for Comments Pagination Next/Previous blocks'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tvalue=\"arrow\"\n\t\t\t\tlabel={ _x(\n\t\t\t\t\t'Arrow',\n\t\t\t\t\t'Arrow option for Comments Pagination Next/Previous blocks'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tvalue=\"chevron\"\n\t\t\t\tlabel={ _x(\n\t\t\t\t\t'Chevron',\n\t\t\t\t\t'Arrow option for Comments Pagination Next/Previous blocks'\n\t\t\t\t) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAuB;AACvB,wBAGO;AAIL;AAFK,SAAS,gCAAiC,EAAE,OAAO,SAAS,GAAI;AACtE,SACC;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,WAAQ,gBAAI,OAAQ;AAAA,MACpB;AAAA,MACA;AAAA,MACA,UAAO;AAAA,QACN;AAAA,MACD;AAAA,MACA,SAAO;AAAA,MAEP;AAAA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YACA,OAAM;AAAA,YACN,WAAQ;AAAA,cACP;AAAA,cACA;AAAA,YACD;AAAA;AAAA,QACD;AAAA,QACA;AAAA,UAAC,kBAAAA;AAAA,UAAA;AAAA,YACA,OAAM;AAAA,YACN,WAAQ;AAAA,cACP;AAAA,cACA;AAAA,YACD;AAAA;AAAA,QACD;AAAA,QACA;AAAA,UAAC,kBAAAA;AAAA,UAAA;AAAA,YACA,OAAM;AAAA,YACN,WAAQ;AAAA,cACP;AAAA,cACA;AAAA,YACD;AAAA;AAAA,QACD;AAAA;AAAA;AAAA,EACD;AAEF;",
|
|
6
6
|
"names": ["ToggleGroupControl", "ToggleGroupControlOption"]
|
|
7
7
|
}
|
package/build/cover/block.json
CHANGED
|
@@ -85,6 +85,17 @@
|
|
|
85
85
|
"source": "attribute",
|
|
86
86
|
"selector": "video",
|
|
87
87
|
"attribute": "poster"
|
|
88
|
+
},
|
|
89
|
+
"allowedVideoProviders": {
|
|
90
|
+
"type": "array",
|
|
91
|
+
"default": [
|
|
92
|
+
"youtube",
|
|
93
|
+
"vimeo",
|
|
94
|
+
"videopress",
|
|
95
|
+
"animoto",
|
|
96
|
+
"tiktok",
|
|
97
|
+
"wordpress-tv"
|
|
98
|
+
]
|
|
88
99
|
}
|
|
89
100
|
},
|
|
90
101
|
"usesContext": [ "postId", "postType" ],
|
|
@@ -41,6 +41,7 @@ var import_icons = require("@wordpress/icons");
|
|
|
41
41
|
var import_shared = require("../shared.cjs");
|
|
42
42
|
var import_lock_unlock = require("../../lock-unlock.cjs");
|
|
43
43
|
var import_embed_video_url_input = __toESM(require("./embed-video-url-input.cjs"));
|
|
44
|
+
var import_embed_video_utils = require("../embed-video-utils.cjs");
|
|
44
45
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
45
46
|
var { cleanEmptyObject } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
|
|
46
47
|
function CoverBlockControls({
|
|
@@ -62,9 +63,14 @@ function CoverBlockControls({
|
|
|
62
63
|
useFeaturedImage,
|
|
63
64
|
minHeight,
|
|
64
65
|
minHeightUnit,
|
|
65
|
-
backgroundType
|
|
66
|
+
backgroundType,
|
|
67
|
+
allowedVideoProviders
|
|
66
68
|
} = attributes;
|
|
67
69
|
const { hasInnerBlocks, url } = currentSettings;
|
|
70
|
+
const filteredVideoProviders = (0, import_embed_video_utils.getAllowedVideoProviders)(
|
|
71
|
+
allowedVideoProviders
|
|
72
|
+
);
|
|
73
|
+
const hasAllowedVideoProviders = filteredVideoProviders.length > 0;
|
|
68
74
|
const [prevMinHeightValue, setPrevMinHeightValue] = (0, import_element.useState)(minHeight);
|
|
69
75
|
const [prevMinHeightUnit, setPrevMinHeightUnit] = (0, import_element.useState)(minHeightUnit);
|
|
70
76
|
const [isEmbedUrlInputOpen, setIsEmbedUrlInputOpen] = (0, import_element.useState)(false);
|
|
@@ -142,7 +148,7 @@ function CoverBlockControls({
|
|
|
142
148
|
name: !url ? (0, import_i18n.__)("Add media") : (0, import_i18n.__)("Replace"),
|
|
143
149
|
onReset: onClearMedia,
|
|
144
150
|
variant: "toolbar",
|
|
145
|
-
children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
151
|
+
children: ({ onClose }) => hasAllowedVideoProviders ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
146
152
|
import_components.MenuItem,
|
|
147
153
|
{
|
|
148
154
|
icon: import_icons.link,
|
|
@@ -152,7 +158,7 @@ function CoverBlockControls({
|
|
|
152
158
|
},
|
|
153
159
|
children: (0, import_i18n.__)("Embed video from URL")
|
|
154
160
|
}
|
|
155
|
-
)
|
|
161
|
+
) : null
|
|
156
162
|
}
|
|
157
163
|
) }),
|
|
158
164
|
isEmbedUrlInputOpen && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -162,7 +168,8 @@ function CoverBlockControls({
|
|
|
162
168
|
onSelectEmbedUrl(embedUrl);
|
|
163
169
|
},
|
|
164
170
|
onClose: () => setIsEmbedUrlInputOpen(false),
|
|
165
|
-
initialUrl: backgroundType === import_shared.EMBED_VIDEO_BACKGROUND_TYPE ? url : ""
|
|
171
|
+
initialUrl: backgroundType === import_shared.EMBED_VIDEO_BACKGROUND_TYPE ? url : "",
|
|
172
|
+
allowedVideoProviders: filteredVideoProviders
|
|
166
173
|
}
|
|
167
174
|
)
|
|
168
175
|
] });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cover/edit/block-controls.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem, ToolbarButton } from '@wordpress/components';\nimport { crop, link } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES, EMBED_VIDEO_BACKGROUND_TYPE } from '../shared';\nimport { unlock } from '../../lock-unlock';\nimport EmbedVideoUrlInput from './embed-video-url-input';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n\tonClearMedia,\n\tonSelectEmbedUrl,\n\tonEditMedia,\n\teditMediaButtonRef,\n\tshowEditMediaButton,\n\tblockEditingMode,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tbackgroundType,\n\t} = attributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst [ isEmbedUrlInputOpen, setIsEmbedUrlInputOpen ] = useState( false );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isContentOnlyMode && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showEditMediaButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tref={ editMediaButtonRef }\n\t\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\t\tlabel={ __( 'Crop background image' ) }\n\t\t\t\t\t\t\tonClick={ onEditMedia }\n\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add media' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ onClearMedia }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } )
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAyB;AAEzB,0BAMO;AACP,kBAAmB;AACnB,wBAAwC;AACxC,mBAA2B;AAK3B,oBAAiE;AACjE,yBAAuB;AACvB,mCAA+B;
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem, ToolbarButton } from '@wordpress/components';\nimport { crop, link } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES, EMBED_VIDEO_BACKGROUND_TYPE } from '../shared';\nimport { unlock } from '../../lock-unlock';\nimport EmbedVideoUrlInput from './embed-video-url-input';\nimport { getAllowedVideoProviders } from '../embed-video-utils';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n\tonClearMedia,\n\tonSelectEmbedUrl,\n\tonEditMedia,\n\teditMediaButtonRef,\n\tshowEditMediaButton,\n\tblockEditingMode,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tbackgroundType,\n\t\tallowedVideoProviders,\n\t} = attributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst filteredVideoProviders = getAllowedVideoProviders(\n\t\tallowedVideoProviders\n\t);\n\tconst hasAllowedVideoProviders = filteredVideoProviders.length > 0;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst [ isEmbedUrlInputOpen, setIsEmbedUrlInputOpen ] = useState( false );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isContentOnlyMode && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showEditMediaButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tref={ editMediaButtonRef }\n\t\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\t\tlabel={ __( 'Crop background image' ) }\n\t\t\t\t\t\t\tonClick={ onEditMedia }\n\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add media' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ onClearMedia }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) =>\n\t\t\t\t\t\thasAllowedVideoProviders ? (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsEmbedUrlInputOpen( true );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Embed video from URL' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) : null\n\t\t\t\t\t}\n\t\t\t\t</MediaReplaceFlow>\n\t\t\t</BlockControls>\n\t\t\t{ isEmbedUrlInputOpen && (\n\t\t\t\t<EmbedVideoUrlInput\n\t\t\t\t\tonSubmit={ ( embedUrl ) => {\n\t\t\t\t\t\tonSelectEmbedUrl( embedUrl );\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ () => setIsEmbedUrlInputOpen( false ) }\n\t\t\t\t\tinitialUrl={\n\t\t\t\t\t\tbackgroundType === EMBED_VIDEO_BACKGROUND_TYPE\n\t\t\t\t\t\t\t? url\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\tallowedVideoProviders={ filteredVideoProviders }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorPrivateApis", "BlockAlignmentMatrixControl", "FullHeightAlignmentControl", "EmbedVideoUrlInput"]
|
|
7
7
|
}
|
|
@@ -26,12 +26,14 @@ module.exports = __toCommonJS(embed_video_url_input_exports);
|
|
|
26
26
|
var import_element = require("@wordpress/element");
|
|
27
27
|
var import_components = require("@wordpress/components");
|
|
28
28
|
var import_i18n = require("@wordpress/i18n");
|
|
29
|
+
var import_ui = require("@wordpress/ui");
|
|
29
30
|
var import_embed_video_utils = require("../embed-video-utils.cjs");
|
|
30
31
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
31
32
|
function EmbedVideoUrlInput({
|
|
32
33
|
onSubmit,
|
|
33
34
|
onClose,
|
|
34
|
-
initialUrl = ""
|
|
35
|
+
initialUrl = "",
|
|
36
|
+
allowedVideoProviders
|
|
35
37
|
}) {
|
|
36
38
|
const [url, setUrl] = (0, import_element.useState)(initialUrl);
|
|
37
39
|
const [error, setError] = (0, import_element.useState)("");
|
|
@@ -40,7 +42,7 @@ function EmbedVideoUrlInput({
|
|
|
40
42
|
setError((0, import_i18n.__)("Please enter a URL."));
|
|
41
43
|
return;
|
|
42
44
|
}
|
|
43
|
-
if (!(0, import_embed_video_utils.isValidVideoEmbedUrl)(url)) {
|
|
45
|
+
if (!(0, import_embed_video_utils.isValidVideoEmbedUrl)(url, allowedVideoProviders)) {
|
|
44
46
|
setError(
|
|
45
47
|
(0, import_i18n.__)(
|
|
46
48
|
"This URL is not supported. Please enter a valid video link from a supported provider."
|
|
@@ -59,7 +61,7 @@ function EmbedVideoUrlInput({
|
|
|
59
61
|
onCancel: onClose,
|
|
60
62
|
confirmButtonText: (0, import_i18n.__)("Add video"),
|
|
61
63
|
size: "medium",
|
|
62
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
64
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Stack, { direction: "column", gap: "lg", children: [
|
|
63
65
|
error && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Notice, { status: "error", isDismissible: false, children: error }),
|
|
64
66
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
65
67
|
import_components.TextControl,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cover/edit/embed-video-url-input.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport {\n\t__experimentalConfirmDialog as ConfirmDialog,\n\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAyB;AACzB,
|
|
6
|
-
"names": ["ConfirmDialog"
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport {\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tTextControl,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { Stack } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport { isValidVideoEmbedUrl } from '../embed-video-utils';\n\nexport default function EmbedVideoUrlInput( {\n\tonSubmit,\n\tonClose,\n\tinitialUrl = '',\n\tallowedVideoProviders,\n} ) {\n\tconst [ url, setUrl ] = useState( initialUrl );\n\tconst [ error, setError ] = useState( '' );\n\n\tconst handleConfirm = () => {\n\t\tif ( ! url ) {\n\t\t\tsetError( __( 'Please enter a URL.' ) );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! isValidVideoEmbedUrl( url, allowedVideoProviders ) ) {\n\t\t\tsetError(\n\t\t\t\t__(\n\t\t\t\t\t'This URL is not supported. Please enter a valid video link from a supported provider.'\n\t\t\t\t)\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tonSubmit( url );\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen\n\t\t\tonConfirm={ handleConfirm }\n\t\t\tonCancel={ onClose }\n\t\t\tconfirmButtonText={ __( 'Add video' ) }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<Stack direction=\"column\" gap=\"lg\">\n\t\t\t\t{ error && (\n\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t{ error }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t<TextControl\n\t\t\t\t\ttype=\"url\"\n\t\t\t\t\tlabel={ __( 'Video URL' ) }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetUrl( value );\n\t\t\t\t\t\tsetError( '' );\n\t\t\t\t\t} }\n\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t'Enter YouTube, Vimeo, or other video URL'\n\t\t\t\t\t) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Add a background video to the cover block that will autoplay in a loop.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</Stack>\n\t\t</ConfirmDialog>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAyB;AACzB,wBAIO;AACP,kBAAmB;AACnB,gBAAsB;AAKtB,+BAAqC;AAsClC;AApCY,SAAR,mBAAqC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AACD,GAAI;AACH,QAAM,CAAE,KAAK,MAAO,QAAI,yBAAU,UAAW;AAC7C,QAAM,CAAE,OAAO,QAAS,QAAI,yBAAU,EAAG;AAEzC,QAAM,gBAAgB,MAAM;AAC3B,QAAK,CAAE,KAAM;AACZ,mBAAU,gBAAI,qBAAsB,CAAE;AACtC;AAAA,IACD;AAEA,QAAK,KAAE,+CAAsB,KAAK,qBAAsB,GAAI;AAC3D;AAAA,YACC;AAAA,UACC;AAAA,QACD;AAAA,MACD;AACA;AAAA,IACD;AAEA,aAAU,GAAI;AACd,YAAQ;AAAA,EACT;AAEA,SACC;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,QAAM;AAAA,MACN,WAAY;AAAA,MACZ,UAAW;AAAA,MACX,uBAAoB,gBAAI,WAAY;AAAA,MACpC,MAAK;AAAA,MAEL,uDAAC,mBAAM,WAAU,UAAS,KAAI,MAC3B;AAAA,iBACD,4CAAC,4BAAO,QAAO,SAAQ,eAAgB,OACpC,iBACH;AAAA,QAED;AAAA,UAAC;AAAA;AAAA,YACA,MAAK;AAAA,YACL,WAAQ,gBAAI,WAAY;AAAA,YACxB,OAAQ;AAAA,YACR,UAAW,CAAE,UAAW;AACvB,qBAAQ,KAAM;AACd,uBAAU,EAAG;AAAA,YACd;AAAA,YACA,iBAAc;AAAA,cACb;AAAA,YACD;AAAA,YACA,UAAO;AAAA,cACN;AAAA,YACD;AAAA;AAAA,QACD;AAAA,SACD;AAAA;AAAA,EACD;AAEF;",
|
|
6
|
+
"names": ["ConfirmDialog"]
|
|
7
7
|
}
|
|
@@ -216,7 +216,7 @@ function CoverEdit({
|
|
|
216
216
|
};
|
|
217
217
|
const onClearMedia = () => {
|
|
218
218
|
let newOverlayColor = overlayColor.color;
|
|
219
|
-
if (!isUserOverlayColor) {
|
|
219
|
+
if (!isUserOverlayColor && overlayColor.color) {
|
|
220
220
|
newOverlayColor = import_color_utils.DEFAULT_OVERLAY_COLOR;
|
|
221
221
|
setOverlayColor(void 0);
|
|
222
222
|
__unstableMarkNextChangeAsNotPersistent();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cover/edit/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\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\tuseSettings,\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 } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\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 } =\n\t\tuseDispatch( blockEditorStore );\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\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\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\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\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t\tisUserOverlayColor: currentAttrs.isUserOverlayColor || false,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\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\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\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\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\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\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\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\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\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\n\t\t\t\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\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\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\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\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\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\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/>\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\tasButtons\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,\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/>\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 && <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": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\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\tuseSettings,\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 } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\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 } =\n\t\tuseDispatch( blockEditorStore );\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\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\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t\tisUserOverlayColor: currentAttrs.isUserOverlayColor || false,\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\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\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\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\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\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\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\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\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\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\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\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/>\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\tasButtons\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,\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/>\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 && <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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,uBAAkD;AAClD,qBAMO;AACP,wBAA8C;AAC9C,qBAA2C;AAC3C,0BAUO;AACP,kBAAmB;AACnB,kBAAuC;AACvC,kBAA0B;AAC1B,qBAAsC;AAKtC,oBASO;AACP,gCAAmC;AACnC,4BAA+B;AAC/B,+BAA6B;AAC7B,qCAAkC;AAClC,yBAKO;AACP,uBAAwC;AACxC,+BAAuC;AACvC,yBAAuB;AA2jBrB;AAzjBF,IAAM,EAAE,wBAAwB,QAAI,2BAAQ,oBAAAA,WAAuB;AAEnE,SAAS,uBAAwB,YAAa;AAC7C,SAAO;AAAA,IACN;AAAA,MACC;AAAA,MACA;AAAA,QACC,OAAO;AAAA,UACN,YAAY;AAAA,YACX,WAAW;AAAA,UACZ;AAAA,QACD;AAAA,QACA,iBAAa,gBAAI,cAAe;AAAA,QAChC,GAAG;AAAA,MACJ;AAAA,IACD;AAAA,EACD;AACD;AAWA,IAAM,mBAAmB,CAAE,IAAI,QAAS,CAAE,UAAM,uBAAW,GAAI;AAE/D,SAAS,UAAW;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,EAAE,QAAQ,SAAS;AAC7B,GAAI;AACH,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,UAAU;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI;AAEJ,QAAM,CAAE,aAAc,QAAI;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,QAAM,EAAE,YAAY,QAAI,uBAAW,oBAAAC,KAAiB;AACpD,QAAM,2BAAuB;AAAA,IAC5B,CAAE,WACD,OAAQ,oBAAAA,KAAiB,EAAE,YAAY,EAAG,uBAAwB;AAAA,IACnE,CAAC;AAAA,EACF;AAEA,QAAM,EAAE,wCAAwC,QAC/C,yBAAa,oBAAAA,KAAiB;AAI/B,QAAM,eAAW,uBAAQ,EAAE,YAAY,aAAa,CAAE;AACtD,sCAAiB,MAAM;AACtB,aAAS,UAAU,EAAE,YAAY,aAAa;AAAA,EAC/C,CAAE;AAEF,QAAM,EAAE,MAAM,QAAI;AAAA,IACjB,CAAE,WAAY;AACb,aAAO;AAAA,QACN,OACC,iBAAiB,mBACd,OAAQ,iBAAAC,KAAU,EAAE;AAAA,UACpB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACC,SAAS;AAAA,UACV;AAAA,QACA,IACA;AAAA,MACL;AAAA,IACD;AAAA,IACA,CAAE,eAAe,gBAAiB;AAAA,EACnC;AACA,QAAM,WACL,OAAO,eAAe,QAAS,QAAS,GAAG,cAC3C,OAAO;AAMR,gCAAW,MAAM;AAChB,KAAE,YAAY;AACb,UAAK,CAAE,kBAAmB;AACzB;AAAA,MACD;AAEA,YAAM,yBAAyB,UAAM,kCAAe,QAAS;AAG7D,YAAM,EAAE,YAAY,cAAc,cAAc,eAAe,IAC9D,SAAS;AAEV,UAAI,kBAAkB,eAAe;AACrC,UAAK,CAAE,aAAa,oBAAqB;AACxC,0BAAkB;AAClB,gDAAwC;AACxC,wBAAiB,eAAgB;AAAA,MAClC;AAEA,YAAM,gBAAY;AAAA,QACjB,aAAa;AAAA,QACb;AAAA,QACA;AAAA,MACD;AACA,8CAAwC;AACxC,oBAAe;AAAA,QACd,QAAQ;AAAA,QACR,oBAAoB,aAAa,sBAAsB;AAAA,MACxD,CAAE;AAAA,IACH,GAAI;AAAA,EAGL,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAMF,QAAM,MAAM,mBACT;AAAA;AAAA,IAEA,aAAa,WAAY,SAAS,GAAI;AAAA;AACzC,QAAM,iBAAiB,mBACpB,sCACA;AAEH,QAAM,EAAE,kBAAkB,QAAI,yBAAa,eAAAC,KAAa;AACxD,QAAM,EAAE,eAAe,cAAc,QAAI,+CAA0B;AAEnE,QAAM,gBAAgB,OAAQ,aAAc;AAC3C,UAAM,sBAAkB,mCAAqB,QAAS;AACtD,UAAM,UAAU,CAAE,UAAU,MAAM,UAAU,UAAW,EAAE;AAAA,MACxD;AAAA,IACD;AAEA,UAAM,yBAAyB,UAAM;AAAA,MACpC,UAAU,UAAU,MAAM;AAAA,IAC3B;AAGA,UAAM,EAAE,YAAY,cAAc,cAAc,eAAe,IAC9D,SAAS;AAEV,QAAI,kBAAkB,eAAe;AACrC,QAAK,CAAE,aAAa,oBAAqB;AACxC,wBAAkB;AAClB,sBAAiB,eAAgB;AAEjC,8CAAwC;AAAA,IACzC;AAKA,UAAM,cACL,aAAa,QAAQ,UAAa,aAAa,aAAa,MACzD,KACA,aAAa;AAEjB,UAAM,gBAAY;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAEA,QAAK,mBAAmB,uCAAyB,iBAAiB,IAAK;AACtE,YAAM,EAAE,iBAAiB,IAAI,YAAY;AAIzC,UACC,aACE,UAAU,QAAS,QAAS,KAC7B,UAAU,eAAe,QAAS,QAAS,IAC3C;AACD,wBAAgB,WAAW;AAC3B,wBAAgB,MACf,UAAU,QAAS,QAAS,GAAG,OAC/B,UAAU,eAAe,QAAS,QAAS,GAAG;AAAA,MAChD,WACC,UAAU,QAAS,gBAAiB,KACpC,UAAU,eAAe,QAAS,gBAAiB,GAClD;AACD,wBAAgB,WAAW;AAC3B,wBAAgB,MACf,UAAU,QAAS,gBAAiB,GAAG,OACvC,UAAU,eAAe,QAAS,gBAAiB,GAChD;AAAA,MACL,OAAO;AACN,wBAAgB,WAAW;AAAA,MAC5B;AAAA,IACD;AAEA,kBAAe;AAAA,MACd,GAAG;AAAA,MACH,YAAY;AAAA,MACZ,kBAAkB;AAAA,MAClB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,oBAAoB,aAAa,sBAAsB;AAAA,IACxD,CAAE;AAAA,EACH;AAEA,QAAM,eAAe,MAAM;AAC1B,QAAI,kBAAkB,aAAa;AAInC,QAAK,CAAE,sBAAsB,aAAa,OAAQ;AACjD,wBAAkB;AAClB,sBAAiB,MAAU;AAE3B,8CAAwC;AAAA,IACzC;AAEA,UAAM,gBAAY;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAEA,kBAAe;AAAA,MACd,KAAK;AAAA,MACL,IAAI;AAAA,MACJ,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,kBAAkB;AAAA,MAClB,QAAQ;AAAA,IACT,CAAE;AAAA,EACH;AAEA,QAAM,oBAAoB,OAAQ,oBAAqB;AACtD,UAAM,yBAAyB,UAAM,kCAAe,GAAI;AAGxD,UAAM,EAAE,YAAY,aAAa,IAAI,SAAS;AAE9C,UAAM,gBAAY;AAAA,MACjB,aAAa;AAAA,MACb;AAAA,MACA;AAAA,IACD;AAEA,oBAAiB,eAAgB;AAEjC,4CAAwC;AAExC,kBAAe;AAAA,MACd,oBAAoB;AAAA,MACpB,QAAQ;AAAA,IACT,CAAE;AAAA,EACH;AAEA,QAAM,mBAAmB,OAAQ,gBAAiB;AACjD,UAAM,yBAAyB,UAAM,kCAAe,GAAI;AAGxD,UAAM,EAAE,cAAc,eAAe,IAAI,SAAS;AAElD,UAAM,gBAAY;AAAA,MACjB;AAAA,MACA,eAAe;AAAA,MACf;AAAA,IACD;AAEA,kBAAe;AAAA,MACd,UAAU;AAAA,MACV,QAAQ;AAAA,IACT,CAAE;AAAA,EACH;AAEA,QAAM,gBAAgB,CAAE,YAAa;AACpC,sBAAmB,SAAS,EAAE,MAAM,WAAW,CAAE;AAAA,EAClD;AAEA,QAAM,mBAAmB,CAAE,aAAc;AAGxC,UAAM,cACL,gBAAgB,UAAa,aAAa,MAAM,KAAK;AAGtD,kBAAe;AAAA,MACd,KAAK;AAAA,MACL,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,IAAI;AAAA,MACJ,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,kBAAkB;AAAA,IACnB,CAAE;AAAA,EACH;AAGA,QAAM,EAAE,cAAc,gBAAgB,QAAI;AAAA,IACzC,CAAE,WAAY;AACb,UAAK,mBAAmB,6CAA+B,CAAE,KAAM;AAC9D,eAAO;AAAA,UACN,cAAc;AAAA,UACd,iBAAiB;AAAA,QAClB;AAAA,MACD;AAEA,YAAM,EAAE,iBAAiB,yBAAyB,IACjD,OAAQ,iBAAAD,KAAU;AAEnB,aAAO;AAAA,QACN,cAAc,gBAAiB,GAAI;AAAA,QACnC,iBAAiB,yBAA0B,GAAI;AAAA,MAChD;AAAA,IACD;AAAA,IACA,CAAE,KAAK,cAAe;AAAA,EACvB;AAGA,QAAM,gBAAY,wBAAS,MAAM;AAChC,QACC,mBAAmB,6CACnB,CAAE,cAAc,MACf;AACD,aAAO;AAAA,IACR;AACA,eAAO,iDAAwB,aAAa,IAAK;AAAA,EAClD,GAAG,CAAE,cAAc,cAAe,CAAE;AAEpC,QAAM,mBAAmB,iBAAkB,IAAI,GAAI;AAEnD,QAAM,oBAAoB,wCAA0B;AACpD,QAAM,oBAAoB,wCAA0B;AACpD,QAAM,yBACL,8CAAgC;AAEjC,QAAM,uBAAmB,yCAAoB;AAC7C,QAAM,wBAAwB,qBAAqB;AAEnD,QAAM,CAAE,gBAAgB,EAAE,QAAQ,MAAM,CAAE,QAAI,kCAAkB;AAChE,QAAM,6BAAyB,wBAAS,MAAM;AAC7C,WAAO;AAAA,MACN,QAAQ,kBAAkB,QAAQ,YAAY,YAAY;AAAA,MAC1D,OAAO;AAAA,IACR;AAAA,EACD,GAAG,CAAE,WAAW,aAAc,CAAE;AAEhC,QAAM,oBACL,aAAa,gBACV,GAAI,SAAU,GAAI,aAAc,KAChC;AAEJ,QAAM,eAAe,EAAI,eAAe;AAExC,QAAM,QAAQ;AAAA,IACb,WAAW,qBAAqB;AAAA,EACjC;AAEA,QAAM,kBAAkB,MAAM,OAAQ,GAAI,MAAM;AAEhD,QAAM,yBAAqB,6BAAe,UAAW;AAErD,QAAM,UAAU,EAAE,iBAAiB,aAAa,MAAM;AACtD,QAAM,aAAa;AAAA,IAClB,gBACC,cAAc,mBACX,6BAAe,UAAW,IAC1B;AAAA,EACL;AAEA,QAAM,gBAAgB,CAAC,EAAI,OAAO,aAAa,SAAS;AAExD,QAAM,qBAAiB;AAAA,IACtB,CAAE,WACD,OAAQ,oBAAAD,KAAiB,EAAE,SAAU,QAAS,EAAE,YAAY,SAC5D;AAAA,IACD,CAAE,QAAS;AAAA,EACZ;AAEA,QAAM,UAAM,uBAAO;AACnB,QAAM,iBAAa,mCAAe,EAAE,IAAI,CAAE;AAG1C,QAAM,CAAE,SAAU,QAAI,iCAAa,sBAAuB;AAC1D,QAAM,eAAe,WAAW,SAAS;AACzC,QAAM,sBAAsB,uBAAwB;AAAA,IACnD,UAAU,eAAe,UAAU;AAAA,EACpC,CAAE;AAEF,QAAM,uBAAmB;AAAA,IACxB;AAAA,MACC,WAAW;AAAA,IACZ;AAAA,IACA;AAAA;AAAA;AAAA,MAGC,UAAU,CAAE,iBAAiB,sBAAsB;AAAA,MACnD,gCAAgC;AAAA,MAChC;AAAA,MACA;AAAA,MACA,iBAAiB,IAAI;AAAA,IACtB;AAAA,EACD;AAEA,QAAM,mBAAe,uBAAO;AAC5B,QAAM,yBAAqB,uBAAO;AAClC,QAAM,kBAAkB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,gCAA4B,4BAAa,MAAM;AACpD,QAAK,CAAE,MAAM,CAAE,sBAAuB;AACrC;AAAA,IACD;AAEA,yBAAsB;AAAA,MACrB;AAAA,MACA,SAAS,MAAM;AACd,2BAAmB,SAAS,MAAM;AAAA,MACnC;AAAA,MACA,UAAU,OAAQ,EAAE,IAAI,OAAO,KAAK,OAAO,MAAO;AACjD,YAAK,OAAO,UAAU,UAAW;AAChC;AAAA,QACD;AAEA,cAAM,iBAAiB;AAAA,UACtB,IAAI;AAAA,UACJ,gBAAgB;AAAA,UAChB,GAAK,SAAS,EAAE,KAAK,OAAO,IAAI,CAAC;AAAA,UACjC,GAAK,UAAU,KACZ,EAAE,UAAU,yCAAwB,IACpC,CAAC;AAAA,QACL;AAEA,YAAK,QAAS;AACb,gBAAM,yBACL,UAAM,kCAAe,MAAO;AAG7B,gBAAM;AAAA,YACL,YAAY;AAAA,YACZ,cAAc;AAAA,UACf,IAAI,SAAS;AAEb,cAAI,kBAAkB,eAAe;AACrC,cAAK,CAAE,aAAa,oBAAqB;AACxC,8BAAkB;AAClB,4BAAiB,eAAgB;AAEjC,oDAAwC;AAAA,UACzC;AAEA,yBAAe,aAAS;AAAA,YACvB,aAAa;AAAA,YACb;AAAA,YACA;AAAA,UACD;AACA,yBAAe,qBACd,aAAa,sBAAsB;AAAA,QACrC;AAEA,sBAAe,cAAe;AAAA,MAC/B;AAAA,IACD,CAAE;AAAA,EACH,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,QAAM,sBACL,yBACA,CAAE,oBACF,qBACA,CAAC,CAAE,MACH,CAAC,CAAE,OACH,CAAE,oBACF,CAAC,CAAE;AAEJ,QAAM,yBAAyB,YAAY;AAC1C,UAAM,sBAAsB,CAAE;AAE9B,UAAM,yBAAyB,sBAC5B,UAAM,kCAAe,QAAS,IAC9B;AAGH,UAAM,EAAE,YAAY,cAAc,cAAc,eAAe,IAC9D,SAAS;AAEV,UAAM,kBAAkB,CAAE,aAAa,qBACpC,yBACA,eAAe;AAElB,QAAK,CAAE,aAAa,oBAAqB;AACxC,UAAK,qBAAsB;AAC1B,wBAAiB,eAAgB;AAAA,MAClC,OAAO;AACN,wBAAiB,MAAU;AAAA,MAC5B;AAEA,8CAAwC;AAAA,IACzC;AAEA,UAAM,cACL,aAAa,aAAa,MAAM,KAAK,aAAa;AACnD,UAAM,gBAAY;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAEA,kBAAe;AAAA,MACd,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,UAAU;AAAA,MACV,gBAAgB,mBACb,sCACA;AAAA,MACH,QAAQ;AAAA,IACT,CAAE;AAAA,EACH;AAEA,QAAM,gBACL;AAAA,IAAC,sBAAAG;AAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAc;AAAA,MACd;AAAA,MACA;AAAA;AAAA,EACD;AAGD,QAAM,oBACL;AAAA,IAAC,0BAAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,iBAAkB;AAAA,MAClB,UAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,gBAAiB;AAAA,MACjB;AAAA,MACA,eAAgB;AAAA;AAAA,EACjB;AAGD,QAAM,sBAAsB;AAAA,IAC3B,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,eAAe,MAAM;AACpB,oBAAe,EAAE,eAAe,KAAK,CAAE;AACvC,sBAAiB,KAAM;AAAA,IACxB;AAAA,IACA,UAAU,CAAE,UAAW;AACtB,oBAAe,EAAE,WAAW,MAAM,CAAE;AAAA,IACrC;AAAA,IACA,cAAc,CAAE,iBAAkB;AACjC,sBAAiB,IAAK;AACtB,oBAAe,EAAE,WAAW,aAAa,CAAE;AAAA,IAC5C;AAAA;AAAA,IAEA,YAAY,CAAE,WAAW,OAAO,YAAY;AAAA,IAC5C,MAAM;AAAA,IACN;AAAA,EACD;AAEA,MAAK,CAAE,oBAAoB,CAAE,kBAAkB,CAAE,eAAgB;AAChE,WACC,4EACG;AAAA;AAAA,MACA;AAAA,MACA,yBAAyB,cAC1B,4CAAC,+BAAAC,SAAA,EAAwB,GAAG,qBAAsB;AAAA,MAEnD;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACL,eAAY,YAAAC,SAAM,kBAAkB,WAAW,SAAU;AAAA,UACzD,OAAQ;AAAA,YACP,GAAG,WAAW;AAAA,YACd,WAAW,qBAAqB;AAAA,UACjC;AAAA,UAEE;AAAA;AAAA,YACF;AAAA,cAAC,yBAAAC;AAAA,cAAA;AAAA,gBACA;AAAA,gBACA,SAAU;AAAA,gBACV;AAAA,gBAEA,sDAAC,SAAI,WAAU,kDACd;AAAA,kBAAC;AAAA;AAAA,oBACA,qBAAmB;AAAA,oBACnB,OAAQ,aAAa;AAAA,oBACrB,UAAW;AAAA,oBACX,WAAY;AAAA,oBACZ,WAAS;AAAA,oBACT,kBAAa,gBAAI,eAAgB;AAAA;AAAA,gBAClC,GACD;AAAA;AAAA,YACD;AAAA;AAAA;AAAA,MACD;AAAA,OACD;AAAA,EAEF;AAEA,QAAM,cAAU,YAAAD;AAAA,IACf;AAAA,MACC,iBAAiB;AAAA,MACjB,YAAY,CAAE;AAAA,MACd,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,+BACC,KAAE,uCAAyB,eAAgB;AAAA,IAC7C;AAAA,QACA,oCAAsB,eAAgB;AAAA,EACvC;AAEA,QAAM,cACL,OAAO,CAAE,oBAAsB,oBAAoB,CAAE;AAEtD,SACC,4EACG;AAAA;AAAA,IACA;AAAA,IACF;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACL,eAAY,YAAAA,SAAM,SAAS,WAAW,SAAU;AAAA,QAChD,OAAQ,EAAE,GAAG,OAAO,GAAG,WAAW,MAAM;AAAA,QACxC,YAAW;AAAA,QAET;AAAA;AAAA,UAEA,CAAE,OAAO,oBACV;AAAA,YAAC;AAAA;AAAA,cACA,WAAU;AAAA,cACV,kBAAgB;AAAA;AAAA,UACjB;AAAA,UAGC,OACD,sBACE,eACD;AAAA,YAAC;AAAA;AAAA,cACA,KAAM;AAAA,cACN,WAAU;AAAA,cACV;AAAA,cACA,KAAM;AAAA,cACN,OAAQ;AAAA;AAAA,UACT,IAEA;AAAA,YAAC;AAAA;AAAA,cACA,KAAM;AAAA,cACN,MAAO,MAAM,QAAQ;AAAA,cACrB,cAAa,MAAM,MAAM;AAAA,cACzB,eAAY,YAAAA;AAAA,gBACX;AAAA,gBACA;AAAA,cACD;AAAA,cACA,OAAQ,EAAE,iBAAiB,mBAAmB;AAAA;AAAA,UAC/C;AAAA,UAEA,OAAO,qBACR;AAAA,YAAC;AAAA;AAAA,cACA,KAAM;AAAA,cACN,WAAU;AAAA,cACV,UAAQ;AAAA,cACR,OAAK;AAAA,cACL,MAAI;AAAA,cACJ,KAAM;AAAA,cACN;AAAA,cACA,OAAQ;AAAA;AAAA,UACT;AAAA,UAEC,0BAA0B,aAC3B;AAAA,YAAC;AAAA;AAAA,cACA,KAAM;AAAA,cACN,WAAU;AAAA,cACV,OAAQ;AAAA,cAER;AAAA,gBAAC;AAAA;AAAA,kBACA,iBAAe;AAAA,kBACf,MAAO;AAAA,kBACP,OAAM;AAAA,kBACN,QAAS;AAAA,oBACR;AAAA,kBACD;AAAA;AAAA,cACD;AAAA;AAAA,UACD;AAAA,UAEC,0BAA0B,CAAE,aAAa,mBAC1C,4CAAC,6BAAQ;AAAA,UAGR,eACD;AAAA,YAAC;AAAA;AAAA,cACA,eAAY;AAAA,cACZ,eAAY,YAAAA;AAAA,gBACX;AAAA,oBACA,+BAAiB,QAAS;AAAA,gBAC1B;AAAA,kBACC,CAAE,aAAa,KAAM,GAAG,aAAa;AAAA,kBACrC,sBAAsB,aAAa;AAAA;AAAA;AAAA;AAAA,kBAInC,uCACC,OAAO,iBAAiB,aAAa;AAAA,kBACtC,2BAA2B;AAAA,kBAC3B,CAAE,aAAc,GAAG;AAAA,gBACpB;AAAA,cACD;AAAA,cACA,OAAQ,EAAE,iBAAiB,eAAe,GAAG,QAAQ;AAAA;AAAA,UACtD;AAAA,UAGC,oBAAoB,4CAAC,6BAAQ;AAAA,UAE/B;AAAA,YAAC,yBAAAC;AAAA,YAAA;AAAA,cACA,qBAAmB;AAAA,cACnB;AAAA,cACA,SAAU;AAAA,cACV;AAAA;AAAA,UACD;AAAA,UACA,4CAAC,SAAM,GAAG,kBAAmB;AAAA;AAAA;AAAA,IAC9B;AAAA,IACE,yBAAyB,cAC1B,4CAAC,+BAAAF,SAAA,EAAwB,GAAG,qBAAsB;AAAA,KAEpD;AAEF;AAEA,IAAO,mBAAQ,wBAAS;AAAA,MACvB,gCAAY,EAAE,cAAc,mBAAmB,CAAE;AAClD,CAAE,EAAG,SAAU;",
|
|
6
6
|
"names": ["blockEditorPrivateApis", "blockEditorStore", "coreStore", "noticesStore", "CoverBlockControls", "CoverInspectorControls", "ResizableCoverPopover", "clsx", "CoverPlaceholder"]
|
|
7
7
|
}
|