@wordpress/block-library 8.7.0 → 8.9.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 +4 -0
- package/build/column/index.js +2 -1
- package/build/column/index.js.map +1 -1
- package/build/columns/edit.js +24 -6
- package/build/columns/edit.js.map +1 -1
- package/build/columns/index.js +2 -1
- package/build/columns/index.js.map +1 -1
- package/build/columns/utils.js +4 -9
- package/build/columns/utils.js.map +1 -1
- package/build/cover/edit/index.js +46 -50
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/{resizable-cover.js → resizable-cover-popover.js} +32 -6
- package/build/cover/edit/resizable-cover-popover.js.map +1 -0
- package/build/cover/index.js +12 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/transforms.js +10 -7
- package/build/cover/transforms.js.map +1 -1
- package/build/details/edit.js +67 -0
- package/build/details/edit.js.map +1 -0
- package/build/details/index.js +110 -0
- package/build/details/index.js.map +1 -0
- package/build/details/save.js +33 -0
- package/build/details/save.js.map +1 -0
- package/build/details-content/edit.js +34 -0
- package/build/details-content/edit.js.map +1 -0
- package/build/details-content/index.js +94 -0
- package/build/details-content/index.js.map +1 -0
- package/build/details-content/save.js +20 -0
- package/build/details-content/save.js.map +1 -0
- package/build/details-summary/edit.js +42 -0
- package/build/details-summary/edit.js.map +1 -0
- package/build/details-summary/index.js +97 -0
- package/build/details-summary/index.js.map +1 -0
- package/build/details-summary/save.js +24 -0
- package/build/details-summary/save.js.map +1 -0
- package/build/embed/deprecated.js +4 -1
- package/build/embed/deprecated.js.map +1 -1
- package/build/embed/embed-link-settings.native.js +1 -1
- package/build/embed/embed-link-settings.native.js.map +1 -1
- package/build/embed/embed-placeholder.js +1 -1
- package/build/embed/embed-placeholder.js.map +1 -1
- package/build/embed/index.js +4 -1
- package/build/embed/index.js.map +1 -1
- package/build/embed/transforms.js +4 -1
- package/build/embed/transforms.js.map +1 -1
- package/build/embed/util.js +4 -1
- package/build/embed/util.js.map +1 -1
- package/build/file/edit.native.js +0 -2
- package/build/file/edit.native.js.map +1 -1
- package/build/gallery/use-get-media.native.js +2 -1
- package/build/gallery/use-get-media.native.js.map +1 -1
- package/build/group/edit.js +3 -1
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -0
- package/build/group/index.js.map +1 -1
- package/build/image/edit.js +16 -13
- package/build/image/edit.js.map +1 -1
- package/build/image/index.js +5 -3
- package/build/image/index.js.map +1 -1
- package/build/index.js +24 -6
- package/build/index.js.map +1 -1
- package/build/index.native.js +9 -5
- package/build/index.native.js.map +1 -1
- package/build/media-text/edit.js +4 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +3 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +2 -6
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/media-container.native.js +3 -3
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/navigation/deprecated.js +8 -11
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/index.js +32 -64
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +1 -14
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/post-author/index.js +0 -1
- package/build/post-author/index.js.map +1 -1
- package/build/post-date/edit.js +4 -2
- package/build/post-date/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +2 -2
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +2 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +16 -27
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-time-to-read/edit.js +1 -1
- package/build/post-time-to-read/edit.js.map +1 -1
- package/build/post-time-to-read/index.js +7 -0
- package/build/post-time-to-read/index.js.map +1 -1
- package/build/query/deprecated.js +8 -6
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/inspector-controls/create-new-post-link.js +41 -0
- package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -0
- package/build/query/edit/inspector-controls/index.js +14 -6
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js +2 -1
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/index.js +5 -12
- package/build/query/index.js.map +1 -1
- package/build/site-logo/edit.js +114 -16
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +1 -1
- package/build/social-link/icons/chain.js +1 -1
- package/build/social-link/icons/chain.js.map +1 -1
- package/build/social-link/icons/mail.js +1 -1
- package/build/social-link/icons/mail.js.map +1 -1
- package/build/spacer/controls.js +25 -6
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/edit.js +129 -13
- package/build/spacer/edit.js.map +1 -1
- package/build/spacer/save.js +2 -2
- package/build/spacer/save.js.map +1 -1
- package/build/table/state.js +35 -35
- package/build/table/state.js.map +1 -1
- package/build/template-part/edit/index.js +2 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +2 -2
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/term-description/index.js +1 -2
- package/build/term-description/index.js.map +1 -1
- package/build/utils/migrate-font-family.js +12 -5
- package/build/utils/migrate-font-family.js.map +1 -1
- package/build/video/edit.native.js +4 -3
- package/build/video/edit.native.js.map +1 -1
- package/build-module/column/index.js +2 -1
- package/build-module/column/index.js.map +1 -1
- package/build-module/columns/edit.js +24 -6
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/index.js +2 -1
- package/build-module/columns/index.js.map +1 -1
- package/build-module/columns/utils.js +4 -8
- package/build-module/columns/utils.js.map +1 -1
- package/build-module/cover/edit/index.js +48 -52
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/{resizable-cover.js → resizable-cover-popover.js} +31 -6
- package/build-module/cover/edit/resizable-cover-popover.js.map +1 -0
- package/build-module/cover/index.js +12 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/transforms.js +5 -1
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/details/edit.js +52 -0
- package/build-module/details/edit.js.map +1 -0
- package/build-module/details/index.js +91 -0
- package/build-module/details/index.js.map +1 -0
- package/build-module/details/save.js +20 -0
- package/build-module/details/save.js.map +1 -0
- package/build-module/details-content/edit.js +23 -0
- package/build-module/details-content/edit.js.map +1 -0
- package/build-module/details-content/index.js +76 -0
- package/build-module/details-content/index.js.map +1 -0
- package/build-module/details-content/save.js +11 -0
- package/build-module/details-content/save.js.map +1 -0
- package/build-module/details-summary/edit.js +30 -0
- package/build-module/details-summary/edit.js.map +1 -0
- package/build-module/details-summary/index.js +79 -0
- package/build-module/details-summary/index.js.map +1 -0
- package/build-module/details-summary/save.js +16 -0
- package/build-module/details-summary/save.js.map +1 -0
- package/build-module/embed/deprecated.js +4 -1
- package/build-module/embed/deprecated.js.map +1 -1
- package/build-module/embed/embed-link-settings.native.js +1 -1
- package/build-module/embed/embed-link-settings.native.js.map +1 -1
- package/build-module/embed/embed-placeholder.js +1 -1
- package/build-module/embed/embed-placeholder.js.map +1 -1
- package/build-module/embed/index.js +4 -1
- package/build-module/embed/index.js.map +1 -1
- package/build-module/embed/transforms.js +4 -1
- package/build-module/embed/transforms.js.map +1 -1
- package/build-module/embed/util.js +4 -1
- package/build-module/embed/util.js.map +1 -1
- package/build-module/file/edit.native.js +0 -2
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/gallery/use-get-media.native.js +2 -1
- package/build-module/gallery/use-get-media.native.js.map +1 -1
- package/build-module/group/edit.js +3 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/image/edit.js +16 -13
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/index.js +5 -3
- package/build-module/image/index.js.map +1 -1
- package/build-module/index.js +21 -6
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +9 -5
- package/build-module/index.native.js.map +1 -1
- package/build-module/media-text/edit.js +4 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +3 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +1 -5
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/media-container.native.js +1 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/navigation/deprecated.js +8 -10
- package/build-module/navigation/deprecated.js.map +1 -1
- package/build-module/navigation/edit/index.js +31 -63
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +1 -14
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/post-author/index.js +0 -1
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-date/edit.js +4 -2
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +2 -2
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +2 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +16 -27
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-time-to-read/edit.js +1 -1
- package/build-module/post-time-to-read/edit.js.map +1 -1
- package/build-module/post-time-to-read/index.js +7 -0
- package/build-module/post-time-to-read/index.js.map +1 -1
- package/build-module/query/deprecated.js +5 -2
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/inspector-controls/create-new-post-link.js +33 -0
- package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +1 -0
- package/build-module/query/edit/inspector-controls/index.js +12 -7
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js +2 -1
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
- package/build-module/query/index.js +5 -10
- package/build-module/query/index.js.map +1 -1
- package/build-module/site-logo/edit.js +115 -18
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +1 -1
- package/build-module/social-link/icons/chain.js +1 -1
- package/build-module/social-link/icons/chain.js.map +1 -1
- package/build-module/social-link/icons/mail.js +1 -1
- package/build-module/social-link/icons/mail.js.map +1 -1
- package/build-module/spacer/controls.js +27 -9
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/spacer/edit.js +129 -14
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/spacer/save.js +3 -3
- package/build-module/spacer/save.js.map +1 -1
- package/build-module/table/state.js +35 -33
- package/build-module/table/state.js.map +1 -1
- package/build-module/template-part/edit/index.js +2 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +2 -2
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/term-description/index.js +1 -2
- package/build-module/term-description/index.js.map +1 -1
- package/build-module/utils/migrate-font-family.js +9 -1
- package/build-module/utils/migrate-font-family.js.map +1 -1
- package/build-module/video/edit.native.js +4 -3
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/columns/style-rtl.css +4 -1
- package/build-style/columns/style.css +4 -1
- package/build-style/common-rtl.css +1 -1
- package/build-style/common.css +1 -1
- package/build-style/cover/editor-rtl.css +9 -10
- package/build-style/cover/editor.css +9 -10
- package/build-style/cover/style-rtl.css +1 -1
- package/build-style/cover/style.css +1 -1
- package/build-style/details/style-rtl.css +91 -0
- package/build-style/details/style.css +91 -0
- package/build-style/details-summary/editor-rtl.css +91 -0
- package/build-style/details-summary/editor.css +91 -0
- package/build-style/details-summary/style-rtl.css +91 -0
- package/build-style/details-summary/style.css +91 -0
- package/build-style/editor-rtl.css +97 -74
- package/build-style/editor.css +97 -74
- package/build-style/file/style-rtl.css +4 -3
- package/build-style/file/style.css +4 -3
- package/build-style/html/editor-rtl.css +2 -2
- package/build-style/html/editor.css +2 -2
- package/build-style/image/editor-rtl.css +1 -1
- package/build-style/image/editor.css +1 -1
- package/build-style/post-excerpt/style-rtl.css +1 -1
- package/build-style/post-excerpt/style.css +1 -1
- package/build-style/pullquote/style-rtl.css +4 -1
- package/build-style/pullquote/style.css +4 -1
- package/build-style/query/editor-rtl.css +8 -12
- package/build-style/query/editor.css +8 -12
- package/build-style/search/style-rtl.css +2 -0
- package/build-style/search/style.css +2 -0
- package/build-style/shortcode/editor-rtl.css +15 -35
- package/build-style/shortcode/editor.css +15 -35
- package/build-style/site-logo/editor-rtl.css +46 -0
- package/build-style/site-logo/editor.css +46 -0
- package/build-style/spacer/editor-rtl.css +4 -2
- package/build-style/spacer/editor.css +4 -2
- package/build-style/style-rtl.css +25 -8
- package/build-style/style.css +25 -8
- package/build-style/template-part/editor-rtl.css +8 -12
- package/build-style/template-part/editor.css +8 -12
- package/package.json +31 -31
- package/src/buttons/test/__snapshots__/edit.native.js.snap +18 -0
- package/src/buttons/test/edit.native.js +123 -2
- package/src/column/block.json +2 -1
- package/src/columns/block.json +2 -1
- package/src/columns/edit.js +33 -9
- package/src/columns/style.scss +5 -1
- package/src/columns/utils.js +8 -9
- package/src/common.scss +1 -1
- package/src/cover/block.json +12 -0
- package/src/cover/edit/index.js +44 -37
- package/src/cover/edit/resizable-cover-popover.js +82 -0
- package/src/cover/editor.scss +20 -13
- package/src/cover/index.php +9 -10
- package/src/cover/style.scss +1 -1
- package/src/cover/test/edit.js +1 -1
- package/src/cover/transforms.js +4 -1
- package/src/details/block.json +54 -0
- package/src/details/edit.js +59 -0
- package/src/details/index.js +35 -0
- package/src/details/save.js +15 -0
- package/src/details/style.scss +3 -0
- package/src/details-content/block.json +50 -0
- package/src/details-content/edit.js +29 -0
- package/src/details-content/index.js +23 -0
- package/src/details-content/save.js +12 -0
- package/src/details-summary/block.json +53 -0
- package/src/details-summary/edit.js +27 -0
- package/src/details-summary/editor.scss +3 -0
- package/src/details-summary/index.js +23 -0
- package/src/details-summary/save.js +13 -0
- package/src/details-summary/style.scss +3 -0
- package/src/editor.scss +1 -0
- package/src/embed/block.json +4 -1
- package/src/embed/embed-link-settings.native.js +1 -1
- package/src/embed/embed-placeholder.js +1 -1
- package/src/file/edit.native.js +0 -2
- package/src/file/style.scss +5 -2
- package/src/gallery/test/index.native.js +4 -4
- package/src/gallery/test/use-get-media.native.js +24 -0
- package/src/gallery/use-get-media.native.js +1 -1
- package/src/group/block.json +3 -0
- package/src/group/edit.js +8 -2
- package/src/heading/test/__snapshots__/index.native.js.snap +12 -0
- package/src/heading/test/index.native.js +71 -0
- package/src/html/editor.scss +2 -21
- package/src/image/block.json +5 -3
- package/src/image/edit.js +21 -17
- package/src/image/editor.scss +1 -1
- package/src/index.js +13 -3
- package/src/index.native.js +9 -5
- package/src/list/test/edit.native.js +7 -7
- package/src/media-text/block.json +3 -0
- package/src/media-text/edit.js +2 -1
- package/src/media-text/media-container.js +1 -5
- package/src/media-text/media-container.native.js +1 -1
- package/src/navigation/deprecated.js +15 -19
- package/src/navigation/edit/index.js +32 -106
- package/src/navigation/edit/unsaved-inner-blocks.js +34 -46
- package/src/navigation/index.php +15 -12
- package/src/paragraph/test/edit.native.js +616 -1
- package/src/post-author/block.json +0 -1
- package/src/post-date/edit.js +4 -0
- package/src/post-date/index.php +17 -8
- package/src/post-excerpt/edit.js +1 -1
- package/src/post-excerpt/index.php +3 -3
- package/src/post-excerpt/style.scss +2 -1
- package/src/post-featured-image/dimension-controls.js +5 -1
- package/src/post-featured-image/edit.js +14 -34
- package/src/post-featured-image/index.php +1 -1
- package/src/post-time-to-read/block.json +7 -0
- package/src/post-time-to-read/edit.js +1 -1
- package/src/post-time-to-read/index.php +3 -3
- package/src/preformatted/test/__snapshots__/edit.native.js.snap +2 -2
- package/src/preformatted/test/edit.native.js +42 -2
- package/src/pullquote/style.scss +5 -1
- package/src/pullquote/test/edit.native.js +65 -0
- package/src/query/deprecated.js +4 -1
- package/src/query/edit/inspector-controls/create-new-post-link.js +26 -0
- package/src/query/edit/inspector-controls/index.js +13 -6
- package/src/query/edit/pattern-selection-modal.js +1 -0
- package/src/query/editor.scss +8 -11
- package/src/query/index.js +1 -7
- package/src/quote/test/edit.native.js +88 -0
- package/src/search/index.php +1 -1
- package/src/search/style.scss +3 -0
- package/src/shortcode/editor.scss +6 -5
- package/src/site-logo/block.json +1 -1
- package/src/site-logo/edit.js +123 -9
- package/src/site-logo/editor.scss +57 -0
- package/src/social-link/icons/chain.js +1 -1
- package/src/social-link/icons/mail.js +1 -1
- package/src/social-link/index.php +2 -2
- package/src/spacer/controls.js +42 -17
- package/src/spacer/edit.js +176 -18
- package/src/spacer/editor.scss +2 -1
- package/src/spacer/save.js +3 -3
- package/src/style.scss +2 -0
- package/src/table/state.js +83 -66
- package/src/template-part/edit/index.js +1 -0
- package/src/template-part/edit/utils/hooks.js +2 -2
- package/src/template-part/editor.scss +9 -11
- package/src/term-description/block.json +1 -2
- package/src/utils/migrate-font-family.js +8 -1
- package/src/verse/test/edit.native.js +28 -0
- package/src/video/edit.native.js +2 -2
- package/tsconfig.json +1 -0
- package/build/cover/edit/resizable-cover.js.map +0 -1
- package/build/media-text/media-container-icon.js +0 -27
- package/build/media-text/media-container-icon.js.map +0 -1
- package/build/query/hooks.js +0 -72
- package/build/query/hooks.js.map +0 -1
- package/build/utils/clean-empty-object.js +0 -34
- package/build/utils/clean-empty-object.js.map +0 -1
- package/build-module/cover/edit/resizable-cover.js.map +0 -1
- package/build-module/media-text/media-container-icon.js +0 -17
- package/build-module/media-text/media-container-icon.js.map +0 -1
- package/build-module/query/hooks.js +0 -59
- package/build-module/query/hooks.js.map +0 -1
- package/build-module/utils/clean-empty-object.js +0 -25
- package/build-module/utils/clean-empty-object.js.map +0 -1
- package/src/cover/edit/resizable-cover.js +0 -61
- package/src/media-text/media-container-icon.js +0 -12
- package/src/query/hooks.js +0 -53
- package/src/utils/clean-empty-object.js +0 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/columns/index.js"],"names":["__","columns","icon","initBlock","deprecated","edit","save","variations","transforms","name","metadata","settings","example","viewportWidth","innerBlocks","attributes","content","url","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/columns/index.js"],"names":["__","columns","icon","initBlock","deprecated","edit","save","variations","transforms","name","metadata","settings","example","viewportWidth","innerBlocks","attributes","content","url","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBT,EAAAA,IADuB;AAEvBK,EAAAA,UAFuB;AAGvBK,EAAAA,OAAO,EAAE;AACRC,IAAAA,aAAa,EAAE,GADP;AACY;AACpBC,IAAAA,WAAW,EAAE,CACZ;AACCL,MAAAA,IAAI,EAAE,aADP;AAECK,MAAAA,WAAW,EAAE,CACZ;AACCL,QAAAA,IAAI,EAAE,gBADP;AAECM,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAEhB,EAAE,CACV,qFADU;AAFA;AAFb,OADY,EAUZ;AACCS,QAAAA,IAAI,EAAE,YADP;AAECM,QAAAA,UAAU,EAAE;AACXE,UAAAA,GAAG,EAAE;AADM;AAFb,OAVY,EAgBZ;AACCR,QAAAA,IAAI,EAAE,gBADP;AAECM,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAEhB,EAAE,CACV,6DADU;AAFA;AAFb,OAhBY;AAFd,KADY,EA8BZ;AACCS,MAAAA,IAAI,EAAE,aADP;AAECK,MAAAA,WAAW,EAAE,CACZ;AACCL,QAAAA,IAAI,EAAE,gBADP;AAECM,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAEhB,EAAE,CACV,+JADU;AAFA;AAFb,OADY,EAUZ;AACCS,QAAAA,IAAI,EAAE,gBADP;AAECM,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAEhB,EAAE,CACV,yGADU;AAFA;AAFb,OAVY;AAFd,KA9BY;AAFL,GAHc;AA4DvBI,EAAAA,UA5DuB;AA6DvBC,EAAAA,IA7DuB;AA8DvBC,EAAAA,IA9DuB;AA+DvBE,EAAAA;AA/DuB,CAAjB;AAkEP,OAAO,MAAMU,IAAI,GAAG,MAAMf,SAAS,CAAE;AAAEM,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { columns as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tvariations,\n\texample: {\n\t\tviewportWidth: 600, // Columns collapse \"@media (max-width: 599px)\".\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/image',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Suspendisse commodo neque lacus, a dictum orci interdum et.'\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},\n\t\t\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.'\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},\n\t\t],\n\t},\n\tdeprecated,\n\tedit,\n\tsave,\n\ttransforms,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { mapValues } from 'lodash';
|
|
5
1
|
/**
|
|
6
2
|
* Returns a column width attribute value rounded to standard precision.
|
|
7
3
|
* Returns `undefined` if the value is not a valid finite number.
|
|
@@ -10,7 +6,6 @@ import { mapValues } from 'lodash';
|
|
|
10
6
|
*
|
|
11
7
|
* @return {number} Value rounded to standard precision.
|
|
12
8
|
*/
|
|
13
|
-
|
|
14
9
|
export const toWidthPrecision = value => {
|
|
15
10
|
const unitlessValue = parseFloat(value);
|
|
16
11
|
return Number.isFinite(unitlessValue) ? parseFloat(unitlessValue.toFixed(2)) : undefined;
|
|
@@ -80,10 +75,11 @@ export function getColumnWidths(blocks) {
|
|
|
80
75
|
export function getRedistributedColumnWidths(blocks, availableWidth) {
|
|
81
76
|
let totalBlockCount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : blocks.length;
|
|
82
77
|
const totalWidth = getTotalColumnsWidth(blocks, totalBlockCount);
|
|
83
|
-
return
|
|
78
|
+
return Object.fromEntries(Object.entries(getColumnWidths(blocks, totalBlockCount)).map(_ref => {
|
|
79
|
+
let [clientId, width] = _ref;
|
|
84
80
|
const newWidth = availableWidth * width / totalWidth;
|
|
85
|
-
return toWidthPrecision(newWidth);
|
|
86
|
-
});
|
|
81
|
+
return [clientId, toWidthPrecision(newWidth)];
|
|
82
|
+
}));
|
|
87
83
|
}
|
|
88
84
|
/**
|
|
89
85
|
* Returns true if column blocks within the provided set are assigned with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/columns/utils.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/columns/utils.js"],"names":["toWidthPrecision","value","unitlessValue","parseFloat","Number","isFinite","toFixed","undefined","getEffectiveColumnWidth","block","totalBlockCount","width","attributes","getTotalColumnsWidth","blocks","length","reduce","sum","getColumnWidths","accumulator","Object","assign","clientId","getRedistributedColumnWidths","availableWidth","totalWidth","fromEntries","entries","map","newWidth","hasExplicitPercentColumnWidths","every","blockWidth","endsWith","getMappedColumnWidths","widths","getWidths","withParsing","innerColumn","innerColumnWidth","getWidthWithUnit","unit","isPercentageUnit","Math","min"],"mappings":"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","sourcesContent":["/**\n * Returns a column width attribute value rounded to standard precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {?number} value Raw value.\n *\n * @return {number} Value rounded to standard precision.\n */\nexport const toWidthPrecision = ( value ) => {\n\tconst unitlessValue = parseFloat( value );\n\treturn Number.isFinite( unitlessValue )\n\t\t? parseFloat( unitlessValue.toFixed( 2 ) )\n\t\t: undefined;\n};\n/**\n * Returns an effective width for a given block. An effective width is equal to\n * its attribute value if set, or a computed value assuming equal distribution.\n *\n * @param {WPBlock} block Block object.\n * @param {number} totalBlockCount Total number of blocks in Columns.\n *\n * @return {number} Effective column width.\n */\nexport function getEffectiveColumnWidth( block, totalBlockCount ) {\n\tconst { width = 100 / totalBlockCount } = block.attributes;\n\treturn toWidthPrecision( width );\n}\n\n/**\n * Returns the total width occupied by the given set of column blocks.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {number} Total width occupied by blocks.\n */\nexport function getTotalColumnsWidth(\n\tblocks,\n\ttotalBlockCount = blocks.length\n) {\n\treturn blocks.reduce(\n\t\t( sum, block ) =>\n\t\t\tsum + getEffectiveColumnWidth( block, totalBlockCount ),\n\t\t0\n\t);\n}\n\n/**\n * Returns an object of `clientId` → `width` of effective column widths.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {Object<string,number>} Column widths.\n */\nexport function getColumnWidths( blocks, totalBlockCount = blocks.length ) {\n\treturn blocks.reduce( ( accumulator, block ) => {\n\t\tconst width = getEffectiveColumnWidth( block, totalBlockCount );\n\t\treturn Object.assign( accumulator, { [ block.clientId ]: width } );\n\t}, {} );\n}\n\n/**\n * Returns an object of `clientId` → `width` of column widths as redistributed\n * proportional to their current widths, constrained or expanded to fit within\n * the given available width.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {number} availableWidth Maximum width to fit within.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {Object<string,number>} Redistributed column widths.\n */\nexport function getRedistributedColumnWidths(\n\tblocks,\n\tavailableWidth,\n\ttotalBlockCount = blocks.length\n) {\n\tconst totalWidth = getTotalColumnsWidth( blocks, totalBlockCount );\n\n\treturn Object.fromEntries(\n\t\tObject.entries( getColumnWidths( blocks, totalBlockCount ) ).map(\n\t\t\t( [ clientId, width ] ) => {\n\t\t\t\tconst newWidth = ( availableWidth * width ) / totalWidth;\n\t\t\t\treturn [ clientId, toWidthPrecision( newWidth ) ];\n\t\t\t}\n\t\t)\n\t);\n}\n\n/**\n * Returns true if column blocks within the provided set are assigned with\n * explicit widths, or false otherwise.\n *\n * @param {WPBlock[]} blocks Block objects.\n *\n * @return {boolean} Whether columns have explicit widths.\n */\nexport function hasExplicitPercentColumnWidths( blocks ) {\n\treturn blocks.every( ( block ) => {\n\t\tconst blockWidth = block.attributes.width;\n\t\treturn Number.isFinite(\n\t\t\tblockWidth?.endsWith?.( '%' )\n\t\t\t\t? parseFloat( blockWidth )\n\t\t\t\t: blockWidth\n\t\t);\n\t} );\n}\n\n/**\n * Returns a copy of the given set of blocks with new widths assigned from the\n * provided object of redistributed column widths.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {Object<string,number>} widths Redistributed column widths.\n *\n * @return {WPBlock[]} blocks Mapped block objects.\n */\nexport function getMappedColumnWidths( blocks, widths ) {\n\treturn blocks.map( ( block ) => ( {\n\t\t...block,\n\t\tattributes: {\n\t\t\t...block.attributes,\n\t\t\twidth: `${ widths[ block.clientId ] }%`,\n\t\t},\n\t} ) );\n}\n\n/**\n * Returns an array with columns widths values, parsed or no depends on `withParsing` flag.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?boolean} withParsing Whether value has to be parsed.\n *\n * @return {Array<number,string>} Column widths.\n */\nexport function getWidths( blocks, withParsing = true ) {\n\treturn blocks.map( ( innerColumn ) => {\n\t\tconst innerColumnWidth =\n\t\t\tinnerColumn.attributes.width || 100 / blocks.length;\n\n\t\treturn withParsing ? parseFloat( innerColumnWidth ) : innerColumnWidth;\n\t} );\n}\n\n/**\n * Returns a column width with unit.\n *\n * @param {string} width Column width.\n * @param {string} unit Column width unit.\n *\n * @return {string} Column width with unit.\n */\nexport function getWidthWithUnit( width, unit ) {\n\twidth = 0 > parseFloat( width ) ? '0' : width;\n\n\tif ( isPercentageUnit( unit ) ) {\n\t\twidth = Math.min( width, 100 );\n\t}\n\n\treturn `${ width }${ unit }`;\n}\n\n/**\n * Returns a boolean whether passed unit is percentage\n *\n * @param {string} unit Column width unit.\n *\n * @return {boolean} \tWhether unit is '%'.\n */\nexport function isPercentageUnit( unit ) {\n\treturn unit === '%';\n}\n"]}
|
|
@@ -12,9 +12,9 @@ import namesPlugin from 'colord/plugins/names';
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
15
|
-
import { useEffect, useRef } from '@wordpress/element';
|
|
15
|
+
import { useEffect, useMemo, useRef } from '@wordpress/element';
|
|
16
16
|
import { Placeholder, Spinner } from '@wordpress/components';
|
|
17
|
-
import { compose } from '@wordpress/compose';
|
|
17
|
+
import { compose, useResizeObserver } from '@wordpress/compose';
|
|
18
18
|
import { withColors, ColorPalette, useBlockProps, useSetting, useInnerBlocksProps, __experimentalUseGradient, store as blockEditorStore } from '@wordpress/block-editor';
|
|
19
19
|
import { __ } from '@wordpress/i18n';
|
|
20
20
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
@@ -29,7 +29,7 @@ import useCoverIsDark from './use-cover-is-dark';
|
|
|
29
29
|
import CoverInspectorControls from './inspector-controls';
|
|
30
30
|
import CoverBlockControls from './block-controls';
|
|
31
31
|
import CoverPlaceholder from './cover-placeholder';
|
|
32
|
-
import
|
|
32
|
+
import ResizableCoverPopover from './resizable-cover-popover';
|
|
33
33
|
extend([namesPlugin]);
|
|
34
34
|
|
|
35
35
|
function getInnerBlocksTemplate(attributes) {
|
|
@@ -128,6 +128,16 @@ function CoverEdit(_ref) {
|
|
|
128
128
|
}, [isCoverDark]);
|
|
129
129
|
const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
|
|
130
130
|
const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
|
|
131
|
+
const [resizeListener, {
|
|
132
|
+
height,
|
|
133
|
+
width
|
|
134
|
+
}] = useResizeObserver();
|
|
135
|
+
const resizableBoxDimensions = useMemo(() => {
|
|
136
|
+
return {
|
|
137
|
+
height: minHeightUnit === 'px' ? minHeight : 'auto',
|
|
138
|
+
width: 'auto'
|
|
139
|
+
};
|
|
140
|
+
}, [minHeight, minHeightUnit]);
|
|
131
141
|
const minHeightWithUnit = minHeight && minHeightUnit ? `${minHeight}${minHeightUnit}` : minHeight;
|
|
132
142
|
const isImgElement = !(hasParallax || isRepeated);
|
|
133
143
|
const style = {
|
|
@@ -199,16 +209,42 @@ function CoverEdit(_ref) {
|
|
|
199
209
|
currentSettings: currentSettings,
|
|
200
210
|
toggleUseFeaturedImage: toggleUseFeaturedImage
|
|
201
211
|
});
|
|
212
|
+
const resizableCoverProps = {
|
|
213
|
+
className: 'block-library-cover__resize-container',
|
|
214
|
+
clientId,
|
|
215
|
+
height,
|
|
216
|
+
minHeight: minHeightWithUnit,
|
|
217
|
+
onResizeStart: () => {
|
|
218
|
+
setAttributes({
|
|
219
|
+
minHeightUnit: 'px'
|
|
220
|
+
});
|
|
221
|
+
toggleSelection(false);
|
|
222
|
+
},
|
|
223
|
+
onResize: value => {
|
|
224
|
+
setAttributes({
|
|
225
|
+
minHeight: value
|
|
226
|
+
});
|
|
227
|
+
},
|
|
228
|
+
onResizeStop: newMinHeight => {
|
|
229
|
+
toggleSelection(true);
|
|
230
|
+
setAttributes({
|
|
231
|
+
minHeight: newMinHeight
|
|
232
|
+
});
|
|
233
|
+
},
|
|
234
|
+
showHandle: true,
|
|
235
|
+
size: resizableBoxDimensions,
|
|
236
|
+
width
|
|
237
|
+
};
|
|
202
238
|
|
|
203
239
|
if (!useFeaturedImage && !hasInnerBlocks && !hasBackground) {
|
|
204
|
-
return createElement(Fragment, null, blockControls, inspectorControls, createElement(TagName, _extends({}, blockProps, {
|
|
205
|
-
className: classnames('is-placeholder', blockProps.className)
|
|
206
|
-
|
|
240
|
+
return createElement(Fragment, null, blockControls, inspectorControls, isSelected && createElement(ResizableCoverPopover, resizableCoverProps), createElement(TagName, _extends({}, blockProps, {
|
|
241
|
+
className: classnames('is-placeholder', blockProps.className),
|
|
242
|
+
style: { ...blockProps.style,
|
|
243
|
+
minHeight: minHeightWithUnit || undefined
|
|
244
|
+
}
|
|
245
|
+
}), resizeListener, createElement(CoverPlaceholder, {
|
|
207
246
|
onSelectMedia: onSelectMedia,
|
|
208
247
|
onError: onUploadError,
|
|
209
|
-
style: {
|
|
210
|
-
minHeight: minHeightWithUnit || undefined
|
|
211
|
-
},
|
|
212
248
|
toggleUseFeaturedImage: toggleUseFeaturedImage
|
|
213
249
|
}, createElement("div", {
|
|
214
250
|
className: "wp-block-cover__placeholder-background-options"
|
|
@@ -217,27 +253,7 @@ function CoverEdit(_ref) {
|
|
|
217
253
|
value: overlayColor.color,
|
|
218
254
|
onChange: setOverlayColor,
|
|
219
255
|
clearable: false
|
|
220
|
-
})))
|
|
221
|
-
className: "block-library-cover__resize-container",
|
|
222
|
-
onResizeStart: () => {
|
|
223
|
-
setAttributes({
|
|
224
|
-
minHeightUnit: 'px'
|
|
225
|
-
});
|
|
226
|
-
toggleSelection(false);
|
|
227
|
-
},
|
|
228
|
-
onResize: value => {
|
|
229
|
-
setAttributes({
|
|
230
|
-
minHeight: value
|
|
231
|
-
});
|
|
232
|
-
},
|
|
233
|
-
onResizeStop: newMinHeight => {
|
|
234
|
-
toggleSelection(true);
|
|
235
|
-
setAttributes({
|
|
236
|
-
minHeight: newMinHeight
|
|
237
|
-
});
|
|
238
|
-
},
|
|
239
|
-
showHandle: isSelected
|
|
240
|
-
})));
|
|
256
|
+
})))));
|
|
241
257
|
}
|
|
242
258
|
|
|
243
259
|
const classes = classnames({
|
|
@@ -254,27 +270,7 @@ function CoverEdit(_ref) {
|
|
|
254
270
|
...blockProps.style
|
|
255
271
|
},
|
|
256
272
|
"data-url": url
|
|
257
|
-
}), createElement(
|
|
258
|
-
className: "block-library-cover__resize-container",
|
|
259
|
-
onResizeStart: () => {
|
|
260
|
-
setAttributes({
|
|
261
|
-
minHeightUnit: 'px'
|
|
262
|
-
});
|
|
263
|
-
toggleSelection(false);
|
|
264
|
-
},
|
|
265
|
-
onResize: value => {
|
|
266
|
-
setAttributes({
|
|
267
|
-
minHeight: value
|
|
268
|
-
});
|
|
269
|
-
},
|
|
270
|
-
onResizeStop: newMinHeight => {
|
|
271
|
-
toggleSelection(true);
|
|
272
|
-
setAttributes({
|
|
273
|
-
minHeight: newMinHeight
|
|
274
|
-
});
|
|
275
|
-
},
|
|
276
|
-
showHandle: isSelected
|
|
277
|
-
}), (!useFeaturedImage || url) && createElement("span", {
|
|
273
|
+
}), resizeListener, (!useFeaturedImage || url) && createElement("span", {
|
|
278
274
|
"aria-hidden": "true",
|
|
279
275
|
className: classnames('wp-block-cover__background', dimRatioToClass(dimRatio), {
|
|
280
276
|
[overlayColor.class]: overlayColor.class,
|
|
@@ -320,7 +316,7 @@ function CoverEdit(_ref) {
|
|
|
320
316
|
onSelectMedia: onSelectMedia,
|
|
321
317
|
onError: onUploadError,
|
|
322
318
|
toggleUseFeaturedImage: toggleUseFeaturedImage
|
|
323
|
-
}), createElement("div", innerBlocksProps)));
|
|
319
|
+
}), createElement("div", innerBlocksProps)), isSelected && createElement(ResizableCoverPopover, resizableCoverProps));
|
|
324
320
|
}
|
|
325
321
|
|
|
326
322
|
export default compose([withColors({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/index.js"],"names":["classnames","extend","namesPlugin","useEntityProp","store","coreStore","useEffect","useRef","Placeholder","Spinner","compose","withColors","ColorPalette","useBlockProps","useSetting","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","useCoverIsDark","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCover","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","featuredImage","media","select","getMedia","mediaUrl","source_url","replaceAll","backgroundType","__unstableMarkNextChangeAsNotPersistent","createErrorNotice","gradientClass","gradientValue","onSelectMedia","isUploadingMedia","onUploadError","message","type","isCoverDark","color","isImageBackground","isVideoBackground","minHeightWithUnit","isImgElement","style","undefined","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","mediaElement","currentSettings","toggleUseFeaturedImage","blockControls","inspectorControls","value","newMinHeight","classes","class"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,MAAT,QAAuB,QAAvB;AACA,OAAOC,WAAP,MAAwB,sBAAxB;AAEA;AACA;AACA;;AACA,SAASC,aAAT,EAAwBC,KAAK,IAAIC,SAAjC,QAAkD,sBAAlD;AACA,SAASC,SAAT,EAAoBC,MAApB,QAAkC,oBAAlC;AACA,SAASC,WAAT,EAAsBC,OAAtB,QAAqC,uBAArC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SACCC,UADD,EAECC,YAFD,EAGCC,aAHD,EAICC,UAJD,EAKCC,mBALD,EAMCC,yBAND,EAOCZ,KAAK,IAAIa,gBAPV,QAQO,yBARP;AASA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASjB,KAAK,IAAIkB,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,SACCC,mBADD,EAECC,qBAFD,EAGCC,qBAHD,EAICC,eAJD,EAKCC,uBALD,EAMCC,oBAND,EAOCC,aAPD,QAQO,WARP;AASA,OAAOC,cAAP,MAA2B,qBAA3B;AACA,OAAOC,sBAAP,MAAmC,sBAAnC;AACA,OAAOC,kBAAP,MAA+B,kBAA/B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AACA,OAAOC,cAAP,MAA2B,mBAA3B;AAEAjC,MAAM,CAAE,CAAEC,WAAF,CAAF,CAAN;;AAEA,SAASiC,sBAAT,CAAiCC,UAAjC,EAA8C;AAC7C,SAAO,CACN,CACC,gBADD,EAEC;AACCC,IAAAA,KAAK,EAAE,QADR;AAECC,IAAAA,WAAW,EAAEpB,EAAE,CAAE,cAAF,CAFhB;AAGC,OAAGkB;AAHJ,GAFD,CADM,CAAP;AAUA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMG,gBAAgB,GAAG,CAAEC,EAAF,EAAMC,GAAN,KAAe,CAAED,EAAF,IAAQnB,SAAS,CAAEoB,GAAF,CAAzD;;AAEA,SAASC,SAAT,OASI;AAAA;;AAAA,MATgB;AACnBN,IAAAA,UADmB;AAEnBO,IAAAA,QAFmB;AAGnBC,IAAAA,UAHmB;AAInBC,IAAAA,YAJmB;AAKnBC,IAAAA,aALmB;AAMnBC,IAAAA,eANmB;AAOnBC,IAAAA,eAPmB;AAQnBC,IAAAA,OAAO,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA;AAAV;AARU,GAShB;AACH,QAAM;AACLC,IAAAA,eADK;AAELZ,IAAAA,EAFK;AAGLa,IAAAA,gBAHK;AAILC,IAAAA,QAJK;AAKLC,IAAAA,UALK;AAMLC,IAAAA,WANK;AAOLC,IAAAA,MAPK;AAQLC,IAAAA,UARK;AASLC,IAAAA,SATK;AAULC,IAAAA,aAVK;AAWLC,IAAAA,GAXK;AAYLC,IAAAA,aAZK;AAaLC,IAAAA,YAbK;AAcLC,IAAAA,OAAO,EAAEC,OAAO,GAAG;AAdd,MAeF7B,UAfJ;AAiBA,QAAM,CAAE8B,aAAF,IAAoB/D,aAAa,CACtC,UADsC,EAEtCgD,QAFsC,EAGtC,gBAHsC,EAItCD,MAJsC,CAAvC;AAOA,QAAMiB,KAAK,GAAGhD,SAAS,CACpBiD,MAAF,IACCF,aAAa,IACbE,MAAM,CAAE/D,SAAF,CAAN,CAAoBgE,QAApB,CAA8BH,aAA9B,EAA6C;AAAEjB,IAAAA,OAAO,EAAE;AAAX,GAA7C,CAHqB,EAItB,CAAEiB,aAAF,CAJsB,CAAvB;AAMA,QAAMI,QAAQ,GAAGH,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEI,UAAxB,CA/BG,CAiCH;AACA;AACA;AACA;;AACA,QAAM9B,GAAG,GAAGY,gBAAgB,GACzBiB,QADyB,GAEzB;AAFyB,qBAGzBlC,UAAU,CAACK,GAHc,oDAGzB,gBAAgB+B,UAAhB,CAA4B,OAA5B,EAAqC,GAArC,CAHH;AAIA,QAAMC,cAAc,GAAGpB,gBAAgB,GACpC7B,qBADoC,GAEpCY,UAAU,CAACqC,cAFd;AAIA,QAAM;AAAEC,IAAAA;AAAF,MACLtD,WAAW,CAAEH,gBAAF,CADZ;AAEA,QAAM;AAAE0D,IAAAA;AAAF,MAAwBvD,WAAW,CAAEE,YAAF,CAAzC;;AACA,QAAM;AAAEsD,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAmC7D,yBAAyB,EAAlE;;AACA,QAAM8D,aAAa,GAAGvD,mBAAmB,CAAEuB,aAAF,EAAiBQ,QAAjB,CAAzC;AACA,QAAMyB,gBAAgB,GAAGxC,gBAAgB,CAAEC,EAAF,EAAMC,GAAN,CAAzC;;AAEA,QAAMuC,aAAa,GAAKC,OAAF,IAAe;AACpCN,IAAAA,iBAAiB,CAAEM,OAAF,EAAW;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAX,CAAjB;AACA,GAFD;;AAIA,QAAMC,WAAW,GAAGrD,cAAc,CAAEW,GAAF,EAAOa,QAAP,EAAiBT,YAAY,CAACuC,KAA9B,CAAlC;AAEA9E,EAAAA,SAAS,CAAE,MAAM;AAChB;AACAoE,IAAAA,uCAAuC;;AACvC5B,IAAAA,aAAa,CAAE;AAAEW,MAAAA,MAAM,EAAE0B;AAAV,KAAF,CAAb;AACA,GAJQ,EAIN,CAAEA,WAAF,CAJM,CAAT;AAMA,QAAME,iBAAiB,GAAG7D,qBAAqB,KAAKiD,cAApD;AACA,QAAMa,iBAAiB,GAAG7D,qBAAqB,KAAKgD,cAApD;AAEA,QAAMc,iBAAiB,GACtB5B,SAAS,IAAIC,aAAb,GACI,GAAGD,SAAW,GAAGC,aAAe,EADpC,GAEGD,SAHJ;AAKA,QAAM6B,YAAY,GAAG,EAAIhC,WAAW,IAAIE,UAAnB,CAArB;AAEA,QAAM+B,KAAK,GAAG;AACb9B,IAAAA,SAAS,EAAE4B,iBAAiB,IAAIG;AADnB,GAAd;AAIA,QAAMC,eAAe,GAAGlD,GAAG,GAAI,OAAOA,GAAK,GAAhB,GAAqBiD,SAAhD;AAEA,QAAME,kBAAkB,GAAG/D,aAAa,CAAE0B,UAAF,CAAxC;AAEA,QAAMsC,OAAO,GAAG;AAAEC,IAAAA,eAAe,EAAEjD,YAAY,CAACuC;AAAhC,GAAhB;AACA,QAAMW,UAAU,GAAG;AAClBC,IAAAA,cAAc,EACbzC,UAAU,IAAIiC,YAAd,GACG3D,aAAa,CAAE0B,UAAF,CADhB,GAEGmC;AAJc,GAAnB;AAOA,QAAMO,aAAa,GAAG,CAAC,EAAIxD,GAAG,IAAII,YAAY,CAACuC,KAApB,IAA6BP,aAAjC,CAAvB;AAEA,QAAMqB,cAAc,GAAG/E,SAAS,CAC7BiD,MAAF,IACCA,MAAM,CAAEnD,gBAAF,CAAN,CAA2BkF,QAA3B,CAAqCxD,QAArC,EAAgDyD,WAAhD,CAA4DC,MAA5D,GACA,CAH8B,EAI/B,CAAE1D,QAAF,CAJ+B,CAAhC;AAOA,QAAM2D,GAAG,GAAG/F,MAAM,EAAlB;AACA,QAAMgG,UAAU,GAAG1F,aAAa,CAAE;AAAEyF,IAAAA;AAAF,GAAF,CAAhC,CApGG,CAsGH;;AACA,QAAME,YAAY,GAAG,CAAC,iBAAE1F,UAAU,CAAE,sBAAF,CAAZ,wCAAE,YAAsCuF,MAAxC,CAAtB;AACA,QAAMI,mBAAmB,GAAGtE,sBAAsB,CAAE;AACnDuE,IAAAA,QAAQ,EAAEF,YAAY,GAAG,OAAH,GAAad;AADgB,GAAF,CAAlD;AAIA,QAAMiB,gBAAgB,GAAG5F,mBAAmB,CAC3C;AACC6F,IAAAA,SAAS,EAAE;AADZ,GAD2C,EAI3C;AACC;AACA;AACAC,IAAAA,QAAQ,EAAE,CAAEX,cAAF,GAAmBO,mBAAnB,GAAyCf,SAHpD;AAICoB,IAAAA,8BAA8B,EAAE,IAJjC;AAKChD,IAAAA,aALD;AAMCC,IAAAA;AAND,GAJ2C,CAA5C;AAcA,QAAMgD,YAAY,GAAGxG,MAAM,EAA3B;AACA,QAAMyG,eAAe,GAAG;AACvB1B,IAAAA,iBADuB;AAEvBD,IAAAA,iBAFuB;AAGvB0B,IAAAA,YAHuB;AAIvBb,IAAAA,cAJuB;AAKvBzD,IAAAA,GALuB;AAMvB+C,IAAAA,YANuB;AAOvB3C,IAAAA;AAPuB,GAAxB;;AAUA,QAAMoE,sBAAsB,GAAG,MAAM;AACpCnE,IAAAA,aAAa,CAAE;AACdN,MAAAA,EAAE,EAAEkD,SADU;AAEdjD,MAAAA,GAAG,EAAEiD,SAFS;AAGdrC,MAAAA,gBAAgB,EAAE,CAAEA,gBAHN;AAIdC,MAAAA,QAAQ,EAAEA,QAAQ,KAAK,GAAb,GAAmB,EAAnB,GAAwBA,QAJpB;AAKdmB,MAAAA,cAAc,EAAEpB,gBAAgB,GAC7B7B,qBAD6B,GAE7BkE;AAPW,KAAF,CAAb;AASA,GAVD;;AAYA,QAAMwB,aAAa,GAClB,cAAC,kBAAD;AACC,IAAA,UAAU,EAAG9E,UADd;AAEC,IAAA,aAAa,EAAGU,aAFjB;AAGC,IAAA,aAAa,EAAGgC,aAHjB;AAIC,IAAA,eAAe,EAAGkC,eAJnB;AAKC,IAAA,sBAAsB,EAAGC;AAL1B,IADD;AAUA,QAAME,iBAAiB,GACtB,cAAC,sBAAD;AACC,IAAA,UAAU,EAAG/E,UADd;AAEC,IAAA,aAAa,EAAGU,aAFjB;AAGC,IAAA,QAAQ,EAAGH,QAHZ;AAIC,IAAA,eAAe,EAAGI,eAJnB;AAKC,IAAA,QAAQ,EAAGuD,GALZ;AAMC,IAAA,eAAe,EAAGU,eANnB;AAOC,IAAA,sBAAsB,EAAGC;AAP1B,IADD;;AAYA,MAAK,CAAE5D,gBAAF,IAAsB,CAAE6C,cAAxB,IAA0C,CAAED,aAAjD,EAAiE;AAChE,WACC,8BACGiB,aADH,EAEGC,iBAFH,EAGC,cAAC,OAAD,eACMZ,UADN;AAEC,MAAA,SAAS,EAAGvG,UAAU,CACrB,gBADqB,EAErBuG,UAAU,CAACK,SAFU;AAFvB,QAOC,cAAC,gBAAD;AACC,MAAA,aAAa,EAAG9B,aADjB;AAEC,MAAA,OAAO,EAAGE,aAFX;AAGC,MAAA,KAAK,EAAG;AACPrB,QAAAA,SAAS,EAAE4B,iBAAiB,IAAIG;AADzB,OAHT;AAMC,MAAA,sBAAsB,EAAGuB;AAN1B,OAQC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,YAAD;AACC,MAAA,mBAAmB,EAAG,IADvB;AAEC,MAAA,KAAK,EAAGpE,YAAY,CAACuC,KAFtB;AAGC,MAAA,QAAQ,EAAGrC,eAHZ;AAIC,MAAA,SAAS,EAAG;AAJb,MADD,CARD,CAPD,EAwBC,cAAC,cAAD;AACC,MAAA,SAAS,EAAC,uCADX;AAEC,MAAA,aAAa,EAAG,MAAM;AACrBD,QAAAA,aAAa,CAAE;AAAEc,UAAAA,aAAa,EAAE;AAAjB,SAAF,CAAb;AACAZ,QAAAA,eAAe,CAAE,KAAF,CAAf;AACA,OALF;AAMC,MAAA,QAAQ,EAAKoE,KAAF,IAAa;AACvBtE,QAAAA,aAAa,CAAE;AAAEa,UAAAA,SAAS,EAAEyD;AAAb,SAAF,CAAb;AACA,OARF;AASC,MAAA,YAAY,EAAKC,YAAF,IAAoB;AAClCrE,QAAAA,eAAe,CAAE,IAAF,CAAf;AACAF,QAAAA,aAAa,CAAE;AAAEa,UAAAA,SAAS,EAAE0D;AAAb,SAAF,CAAb;AACA,OAZF;AAaC,MAAA,UAAU,EAAGzE;AAbd,MAxBD,CAHD,CADD;AA8CA;;AAED,QAAM0E,OAAO,GAAGtH,UAAU,CACzB;AACC,qBAAiByD,MADlB;AAEC,gBAAY,CAAEA,MAFf;AAGC,oBAAgBsB,gBAHjB;AAIC,oBAAgBvB,WAJjB;AAKC,mBAAeE,UALhB;AAMC,mCACC,CAAE/B,uBAAuB,CAAEyB,eAAF;AAP3B,GADyB,EAUzBxB,oBAAoB,CAAEwB,eAAF,CAVK,CAA1B;AAaA,SACC,8BACG8D,aADH,EAEGC,iBAFH,EAGC,cAAC,OAAD,eACMZ,UADN;AAEC,IAAA,SAAS,EAAGvG,UAAU,CAAEsH,OAAF,EAAWf,UAAU,CAACK,SAAtB,CAFvB;AAGC,IAAA,KAAK,EAAG,EAAE,GAAGnB,KAAL;AAAY,SAAGc,UAAU,CAACd;AAA1B,KAHT;AAIC,gBAAWhD;AAJZ,MAMC,cAAC,cAAD;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,aAAa,EAAG,MAAM;AACrBK,MAAAA,aAAa,CAAE;AAAEc,QAAAA,aAAa,EAAE;AAAjB,OAAF,CAAb;AACAZ,MAAAA,eAAe,CAAE,KAAF,CAAf;AACA,KALF;AAMC,IAAA,QAAQ,EAAKoE,KAAF,IAAa;AACvBtE,MAAAA,aAAa,CAAE;AAAEa,QAAAA,SAAS,EAAEyD;AAAb,OAAF,CAAb;AACA,KARF;AASC,IAAA,YAAY,EAAKC,YAAF,IAAoB;AAClCrE,MAAAA,eAAe,CAAE,IAAF,CAAf;AACAF,MAAAA,aAAa,CAAE;AAAEa,QAAAA,SAAS,EAAE0D;AAAb,OAAF,CAAb;AACA,KAZF;AAaC,IAAA,UAAU,EAAGzE;AAbd,IAND,EAsBG,CAAE,CAAES,gBAAF,IAAsBZ,GAAxB,KACD;AACC,mBAAY,MADb;AAEC,IAAA,SAAS,EAAGzC,UAAU,CACrB,4BADqB,EAErB0B,eAAe,CAAE4B,QAAF,CAFM,EAGrB;AACC,OAAET,YAAY,CAAC0E,KAAf,GAAwB1E,YAAY,CAAC0E,KADtC;AAEC,4BAAsBjE,QAAQ,KAAKoC,SAFpC;AAGC;AACA;AACA;AACA,6CACCjD,GAAG,IAAIoC,aAAP,IAAwBvB,QAAQ,KAAK,CAPvC;AAQC,iCAA2BuB,aAR5B;AASC,OAAED,aAAF,GAAmBA;AATpB,KAHqB,CAFvB;AAiBC,IAAA,KAAK,EAAG;AAAEe,MAAAA,eAAe,EAAEd,aAAnB;AAAkC,SAAGgB;AAArC;AAjBT,IAvBF,EA4CG,CAAEpD,GAAF,IAASY,gBAAT,IACD,cAAC,WAAD;AACC,IAAA,SAAS,EAAC,0CADX;AAEC,IAAA,gBAAgB,EAAG;AAFpB,IA7CF,EAmDGZ,GAAG,IACJ4C,iBADC,KAECG,YAAY,GACb;AACC,IAAA,GAAG,EAAGuB,YADP;AAEC,IAAA,SAAS,EAAC,kCAFX;AAGC,IAAA,GAAG,EAAGlD,GAHP;AAIC,IAAA,GAAG,EAAGpB,GAJP;AAKC,IAAA,KAAK,EAAGsD;AALT,IADa,GASb;AACC,IAAA,GAAG,EAAGgB,YADP;AAEC,IAAA,IAAI,EAAC,KAFN;AAGC,IAAA,SAAS,EAAG/G,UAAU,CACrBsH,OADqB,EAErB,kCAFqB,CAHvB;AAOC,IAAA,KAAK,EAAG;AAAE3B,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB;AAPT,IAXA,CAnDH,EAwEGnD,GAAG,IAAI6C,iBAAP,IACD;AACC,IAAA,GAAG,EAAGyB,YADP;AAEC,IAAA,SAAS,EAAC,kCAFX;AAGC,IAAA,QAAQ,MAHT;AAIC,IAAA,KAAK,MAJN;AAKC,IAAA,IAAI,MALL;AAMC,IAAA,GAAG,EAAGtE,GANP;AAOC,IAAA,KAAK,EAAGsD;AAPT,IAzEF,EAmFGhB,gBAAgB,IAAI,cAAC,OAAD,OAnFvB,EAoFC,cAAC,gBAAD;AACC,IAAA,mBAAmB,MADpB;AAEC,IAAA,aAAa,EAAGD,aAFjB;AAGC,IAAA,OAAO,EAAGE,aAHX;AAIC,IAAA,sBAAsB,EAAGiC;AAJ1B,IApFD,EA0FC,qBAAUN,gBAAV,CA1FD,CAHD,CADD;AAkGA;;AAED,eAAejG,OAAO,CAAE,CACvBC,UAAU,CAAE;AAAEkC,EAAAA,YAAY,EAAE;AAAhB,CAAF,CADa,CAAF,CAAP,CAEVH,SAFU,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\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\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport useCoverIsDark from './use-cover-is-dark';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCover from './resizable-cover';\n\nextend( [ namesPlugin ] );\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\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\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} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\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 attributes.url?.replaceAll( '&', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: attributes.backgroundType;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isCoverDark = useCoverIsDark( url, dimRatio, overlayColor.color );\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\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 hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\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}\n\t);\n\n\tconst mediaElement = 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 toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\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\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\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={ setOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\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<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\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\tstyle={ {\n\t\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t\t} }\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={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\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\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\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\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={ classnames( 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<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t} }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\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{ ! 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={ true }\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=\"img\"\n\t\t\t\t\t\t\tclassName={ classnames(\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\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\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</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/index.js"],"names":["classnames","extend","namesPlugin","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSetting","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","useCoverIsDark","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","featuredImage","media","select","getMedia","mediaUrl","source_url","replaceAll","backgroundType","__unstableMarkNextChangeAsNotPersistent","createErrorNotice","gradientClass","gradientValue","onSelectMedia","isUploadingMedia","onUploadError","message","type","isCoverDark","color","isImageBackground","isVideoBackground","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","undefined","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","mediaElement","currentSettings","toggleUseFeaturedImage","blockControls","inspectorControls","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","size","classes","class"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\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\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport useCoverIsDark from './use-cover-is-dark';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\n\nextend( [ namesPlugin ] );\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\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\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} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\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 attributes.url?.replaceAll( '&', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: attributes.backgroundType;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isCoverDark = useCoverIsDark( url, dimRatio, overlayColor.color );\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? 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 hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\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}\n\t);\n\n\tconst mediaElement = 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 toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\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\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\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={ setOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\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\tshowHandle: true,\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{ 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={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\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={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\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 = classnames(\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\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={ classnames( 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\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\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{ ! 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={ true }\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=\"img\"\n\t\t\t\t\t\t\tclassName={ classnames(\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\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\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{ 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"]}
|
|
@@ -9,8 +9,13 @@ import classnames from 'classnames';
|
|
|
9
9
|
* WordPress dependencies
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { useState } from '@wordpress/element';
|
|
13
|
-
import {
|
|
12
|
+
import { useMemo, useState } from '@wordpress/element';
|
|
13
|
+
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
14
|
+
/**
|
|
15
|
+
* Internal dependencies
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { unlock } from '../../private-apis';
|
|
14
19
|
const RESIZABLE_BOX_ENABLE_OPTION = {
|
|
15
20
|
top: false,
|
|
16
21
|
right: false,
|
|
@@ -21,16 +26,29 @@ const RESIZABLE_BOX_ENABLE_OPTION = {
|
|
|
21
26
|
bottomLeft: false,
|
|
22
27
|
topLeft: false
|
|
23
28
|
};
|
|
24
|
-
export default function
|
|
29
|
+
export default function ResizableCoverPopover(_ref) {
|
|
25
30
|
let {
|
|
26
31
|
className,
|
|
27
|
-
|
|
32
|
+
height,
|
|
33
|
+
minHeight,
|
|
28
34
|
onResize,
|
|
35
|
+
onResizeStart,
|
|
29
36
|
onResizeStop,
|
|
37
|
+
showHandle,
|
|
38
|
+
size,
|
|
39
|
+
width,
|
|
30
40
|
...props
|
|
31
41
|
} = _ref;
|
|
42
|
+
const {
|
|
43
|
+
ResizableBoxPopover
|
|
44
|
+
} = unlock(blockEditorPrivateApis);
|
|
32
45
|
const [isResizing, setIsResizing] = useState(false);
|
|
33
|
-
|
|
46
|
+
const dimensions = useMemo(() => ({
|
|
47
|
+
height,
|
|
48
|
+
minHeight,
|
|
49
|
+
width
|
|
50
|
+
}), [minHeight, height, width]);
|
|
51
|
+
const resizableBoxProps = {
|
|
34
52
|
className: classnames(className, {
|
|
35
53
|
'is-resizing': isResizing
|
|
36
54
|
}),
|
|
@@ -50,12 +68,19 @@ export default function ResizableCover(_ref) {
|
|
|
50
68
|
onResizeStop(elt.clientHeight);
|
|
51
69
|
setIsResizing(false);
|
|
52
70
|
},
|
|
71
|
+
showHandle,
|
|
72
|
+
size,
|
|
53
73
|
__experimentalShowTooltip: true,
|
|
54
74
|
__experimentalTooltipProps: {
|
|
55
75
|
axis: 'y',
|
|
56
76
|
position: 'bottom',
|
|
57
77
|
isVisible: isResizing
|
|
58
78
|
}
|
|
79
|
+
};
|
|
80
|
+
return createElement(ResizableBoxPopover, _extends({
|
|
81
|
+
className: "block-library-cover__resizable-box-popover",
|
|
82
|
+
__unstableRefreshSize: dimensions,
|
|
83
|
+
resizableBoxProps: resizableBoxProps
|
|
59
84
|
}, props));
|
|
60
85
|
}
|
|
61
|
-
//# sourceMappingURL=resizable-cover.js.map
|
|
86
|
+
//# sourceMappingURL=resizable-cover-popover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/resizable-cover-popover.js"],"names":["classnames","useMemo","useState","privateApis","blockEditorPrivateApis","unlock","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCoverPopover","className","height","minHeight","onResize","onResizeStart","onResizeStop","showHandle","size","width","props","ResizableBoxPopover","isResizing","setIsResizing","dimensions","resizableBoxProps","enable","_event","_direction","elt","clientHeight","__experimentalShowTooltip","__experimentalTooltipProps","axis","position","isVisible"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,OAAT,EAAkBC,QAAlB,QAAkC,oBAAlC;AACA,SAASC,WAAW,IAAIC,sBAAxB,QAAsD,yBAAtD;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,oBAAvB;AAEA,MAAMC,2BAA2B,GAAG;AACnCC,EAAAA,GAAG,EAAE,KAD8B;AAEnCC,EAAAA,KAAK,EAAE,KAF4B;AAGnCC,EAAAA,MAAM,EAAE,IAH2B;AAInCC,EAAAA,IAAI,EAAE,KAJ6B;AAKnCC,EAAAA,QAAQ,EAAE,KALyB;AAMnCC,EAAAA,WAAW,EAAE,KANsB;AAOnCC,EAAAA,UAAU,EAAE,KAPuB;AAQnCC,EAAAA,OAAO,EAAE;AAR0B,CAApC;AAWA,eAAe,SAASC,qBAAT,OAWX;AAAA,MAX2C;AAC9CC,IAAAA,SAD8C;AAE9CC,IAAAA,MAF8C;AAG9CC,IAAAA,SAH8C;AAI9CC,IAAAA,QAJ8C;AAK9CC,IAAAA,aAL8C;AAM9CC,IAAAA,YAN8C;AAO9CC,IAAAA,UAP8C;AAQ9CC,IAAAA,IAR8C;AAS9CC,IAAAA,KAT8C;AAU9C,OAAGC;AAV2C,GAW3C;AACH,QAAM;AAAEC,IAAAA;AAAF,MAA0BrB,MAAM,CAAED,sBAAF,CAAtC;AACA,QAAM,CAAEuB,UAAF,EAAcC,aAAd,IAAgC1B,QAAQ,CAAE,KAAF,CAA9C;AACA,QAAM2B,UAAU,GAAG5B,OAAO,CACzB,OAAQ;AAAEgB,IAAAA,MAAF;AAAUC,IAAAA,SAAV;AAAqBM,IAAAA;AAArB,GAAR,CADyB,EAEzB,CAAEN,SAAF,EAAaD,MAAb,EAAqBO,KAArB,CAFyB,CAA1B;AAKA,QAAMM,iBAAiB,GAAG;AACzBd,IAAAA,SAAS,EAAEhB,UAAU,CAAEgB,SAAF,EAAa;AAAE,qBAAeW;AAAjB,KAAb,CADI;AAEzBI,IAAAA,MAAM,EAAEzB,2BAFiB;AAGzBc,IAAAA,aAAa,EAAE,CAAEY,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AAC7Cd,MAAAA,aAAa,CAAEc,GAAG,CAACC,YAAN,CAAb;AACAhB,MAAAA,QAAQ,CAAEe,GAAG,CAACC,YAAN,CAAR;AACA,KANwB;AAOzBhB,IAAAA,QAAQ,EAAE,CAAEa,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AACxCf,MAAAA,QAAQ,CAAEe,GAAG,CAACC,YAAN,CAAR;;AACA,UAAK,CAAER,UAAP,EAAoB;AACnBC,QAAAA,aAAa,CAAE,IAAF,CAAb;AACA;AACD,KAZwB;AAazBP,IAAAA,YAAY,EAAE,CAAEW,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AAC5Cb,MAAAA,YAAY,CAAEa,GAAG,CAACC,YAAN,CAAZ;AACAP,MAAAA,aAAa,CAAE,KAAF,CAAb;AACA,KAhBwB;AAiBzBN,IAAAA,UAjByB;AAkBzBC,IAAAA,IAlByB;AAmBzBa,IAAAA,yBAAyB,EAAE,IAnBF;AAoBzBC,IAAAA,0BAA0B,EAAE;AAC3BC,MAAAA,IAAI,EAAE,GADqB;AAE3BC,MAAAA,QAAQ,EAAE,QAFiB;AAG3BC,MAAAA,SAAS,EAAEb;AAHgB;AApBH,GAA1B;AA2BA,SACC,cAAC,mBAAD;AACC,IAAA,SAAS,EAAC,4CADX;AAEC,IAAA,qBAAqB,EAAGE,UAFzB;AAGC,IAAA,iBAAiB,EAAGC;AAHrB,KAIML,KAJN,EADD;AAQA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nexport default function ResizableCoverPopover( {\n\tclassName,\n\theight,\n\tminHeight,\n\tonResize,\n\tonResizeStart,\n\tonResizeStop,\n\tshowHandle,\n\tsize,\n\twidth,\n\t...props\n} ) {\n\tconst { ResizableBoxPopover } = unlock( blockEditorPrivateApis );\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst dimensions = useMemo(\n\t\t() => ( { height, minHeight, width } ),\n\t\t[ minHeight, height, width ]\n\t);\n\n\tconst resizableBoxProps = {\n\t\tclassName: classnames( className, { 'is-resizing': isResizing } ),\n\t\tenable: RESIZABLE_BOX_ENABLE_OPTION,\n\t\tonResizeStart: ( _event, _direction, elt ) => {\n\t\t\tonResizeStart( elt.clientHeight );\n\t\t\tonResize( elt.clientHeight );\n\t\t},\n\t\tonResize: ( _event, _direction, elt ) => {\n\t\t\tonResize( elt.clientHeight );\n\t\t\tif ( ! isResizing ) {\n\t\t\t\tsetIsResizing( true );\n\t\t\t}\n\t\t},\n\t\tonResizeStop: ( _event, _direction, elt ) => {\n\t\t\tonResizeStop( elt.clientHeight );\n\t\t\tsetIsResizing( false );\n\t\t},\n\t\tshowHandle,\n\t\tsize,\n\t\t__experimentalShowTooltip: true,\n\t\t__experimentalTooltipProps: {\n\t\t\taxis: 'y',\n\t\t\tposition: 'bottom',\n\t\t\tisVisible: isResizing,\n\t\t},\n\t};\n\n\treturn (\n\t\t<ResizableBoxPopover\n\t\t\tclassName=\"block-library-cover__resizable-box-popover\"\n\t\t\t__unstableRefreshSize={ dimensions }\n\t\t\tresizableBoxProps={ resizableBoxProps }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -106,6 +106,18 @@ const metadata = {
|
|
|
106
106
|
blockGap: true
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
|
+
__experimentalBorder: {
|
|
110
|
+
color: true,
|
|
111
|
+
radius: true,
|
|
112
|
+
style: true,
|
|
113
|
+
width: true,
|
|
114
|
+
__experimentalDefaultControls: {
|
|
115
|
+
color: true,
|
|
116
|
+
radius: true,
|
|
117
|
+
style: true,
|
|
118
|
+
width: true
|
|
119
|
+
}
|
|
120
|
+
},
|
|
109
121
|
color: {
|
|
110
122
|
__experimentalDuotone: "> .wp-block-cover__image-background, > .wp-block-cover__video-background",
|
|
111
123
|
text: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["__","cover","icon","initBlock","deprecated","edit","save","transforms","variations","name","metadata","settings","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","content","align","style","typography","fontSize","color","text","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["__","cover","icon","initBlock","deprecated","edit","save","transforms","variations","name","metadata","settings","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","content","align","style","typography","fontSize","color","text","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBT,EAAAA,IADuB;AAEvBU,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,kBAAkB,EAAE,SADT;AAEXC,MAAAA,QAAQ,EAAE,EAFC;AAGXC,MAAAA,GAAG,EAAE;AAHM,KADJ;AAMRC,IAAAA,WAAW,EAAE,CACZ;AACCR,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXK,QAAAA,OAAO,EAAElB,EAAE,CAAE,8BAAF,CADA;AAEXmB,QAAAA,KAAK,EAAE,QAFI;AAGXC,QAAAA,KAAK,EAAE;AACNC,UAAAA,UAAU,EAAE;AACXC,YAAAA,QAAQ,EAAE;AADC,WADN;AAINC,UAAAA,KAAK,EAAE;AACNC,YAAAA,IAAI,EAAE;AADA;AAJD;AAHI;AAFb,KADY;AANL,GAFc;AA0BvBjB,EAAAA,UA1BuB;AA2BvBD,EAAAA,IA3BuB;AA4BvBD,EAAAA,IA5BuB;AA6BvBD,EAAAA,UA7BuB;AA8BvBI,EAAAA;AA9BuB,CAAjB;AAiCP,OAAO,MAAMiB,IAAI,GAAG,MAAMtB,SAAS,CAAE;AAAEM,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '<strong>Snow Patrol</strong>' ),\n\t\t\t\t\talign: 'center',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfontSize: 48,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\ttext: 'white',\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],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { createBlock } from '@wordpress/blocks';
|
|
5
|
+
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
5
6
|
/**
|
|
6
7
|
* Internal dependencies
|
|
7
8
|
*/
|
|
8
9
|
|
|
9
10
|
import { IMAGE_BACKGROUND_TYPE, VIDEO_BACKGROUND_TYPE } from './shared';
|
|
10
|
-
import
|
|
11
|
+
import { unlock } from '../private-apis';
|
|
12
|
+
const {
|
|
13
|
+
cleanEmptyObject
|
|
14
|
+
} = unlock(blockEditorPrivateApis);
|
|
11
15
|
const transforms = {
|
|
12
16
|
from: [{
|
|
13
17
|
type: 'block',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/transforms.js"],"names":["createBlock","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","cleanEmptyObject","transforms","from","type","blocks","transform","caption","url","alt","align","id","anchor","style","dimRatio","color","duotone","content","fontSize","src","backgroundType","attributes","innerBlocks","backgroundColor","gradient","length","name","background","undefined","parentAttributes","overlayColor","customOverlayColor","customGradient","attributesWithoutBackgroundColors","to","isMatch","title","useFeaturedImage","transformedColorAttributes","groupAttributes"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { IMAGE_BACKGROUND_TYPE, VIDEO_BACKGROUND_TYPE } from './shared';\nimport cleanEmptyObject from '../utils/clean-empty-object';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { caption, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\tdimRatio: 50,\n\t\t\t\t\t\turl,\n\t\t\t\t\t\talt,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t\talign: 'center',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( { caption, src, align, id, anchor } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\tdimRatio: 50,\n\t\t\t\t\t\turl: src,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tbackgroundType: VIDEO_BACKGROUND_TYPE,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t\talign: 'center',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst { align, anchor, backgroundColor, gradient, style } =\n\t\t\t\t\tattributes;\n\n\t\t\t\t// If the Group block being transformed has a Cover block as its\n\t\t\t\t// only child return that Cover block.\n\t\t\t\tif (\n\t\t\t\t\tinnerBlocks?.length === 1 &&\n\t\t\t\t\tinnerBlocks[ 0 ]?.name === 'core/cover'\n\t\t\t\t) {\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/cover',\n\t\t\t\t\t\tinnerBlocks[ 0 ].attributes,\n\t\t\t\t\t\tinnerBlocks[ 0 ].innerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// If no background or gradient color is provided, default to 50% opacity.\n\t\t\t\t// This matches the styling of a Cover block with a background image,\n\t\t\t\t// in the state where a background image has been removed.\n\t\t\t\tconst dimRatio =\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tgradient ||\n\t\t\t\t\tstyle?.color?.background ||\n\t\t\t\t\tstyle?.color?.gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: 50;\n\n\t\t\t\t// Move the background or gradient color to the parent Cover block.\n\t\t\t\tconst parentAttributes = {\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t\tdimRatio,\n\t\t\t\t\toverlayColor: backgroundColor,\n\t\t\t\t\tcustomOverlayColor: style?.color?.background,\n\t\t\t\t\tgradient,\n\t\t\t\t\tcustomGradient: style?.color?.gradient,\n\t\t\t\t};\n\n\t\t\t\tconst attributesWithoutBackgroundColors = {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tbackgroundColor: undefined,\n\t\t\t\t\tgradient: undefined,\n\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\tcolor: style?.color\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\t\t\tbackground: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\n\t\t\t\t// Preserve the block by nesting it within the Cover block,\n\t\t\t\t// instead of converting the Group block directly to the Cover block.\n\t\t\t\treturn createBlock( 'core/cover', parentAttributes, [\n\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\tattributesWithoutBackgroundColors,\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t),\n\t\t\t\t] );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents an image background.\n\t\t\t\t\treturn backgroundType === IMAGE_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\turl,\n\t\t\t\t\talt,\n\t\t\t\t\talign,\n\t\t\t\t\tid,\n\t\t\t\t\tanchor,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents a video background.\n\t\t\t\t\treturn backgroundType === VIDEO_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, align, id, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/video', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\tsrc: url,\n\t\t\t\t\tid,\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tisMatch: ( { url, useFeaturedImage } ) => {\n\t\t\t\t// If the Cover block uses background media, skip this transform,\n\t\t\t\t// and instead use the Group block's default transform.\n\t\t\t\tif ( url || useFeaturedImage ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\t// Convert Cover overlay colors to comparable Group background colors.\n\t\t\t\tconst transformedColorAttributes = {\n\t\t\t\t\tbackgroundColor: attributes?.overlayColor,\n\t\t\t\t\tgradient: attributes?.gradient,\n\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\tattributes?.customOverlayColor ||\n\t\t\t\t\t\t\tattributes?.customGradient ||\n\t\t\t\t\t\t\tattributes?.style?.color\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\tattributes?.customOverlayColor,\n\t\t\t\t\t\t\t\t\t\tgradient: attributes?.customGradient,\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.color,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\n\t\t\t\t// If the Cover block contains only a single Group block as a direct child,\n\t\t\t\t// then attempt to merge the Cover's background colors with the child Group block,\n\t\t\t\t// and remove the Cover block as the wrapper.\n\t\t\t\tif (\n\t\t\t\t\tinnerBlocks?.length === 1 &&\n\t\t\t\t\tinnerBlocks[ 0 ]?.name === 'core/group'\n\t\t\t\t) {\n\t\t\t\t\tconst groupAttributes = cleanEmptyObject(\n\t\t\t\t\t\tinnerBlocks[ 0 ].attributes || {}\n\t\t\t\t\t);\n\n\t\t\t\t\t// If the Group block contains any kind of background color or gradient,\n\t\t\t\t\t// skip merging Cover background colors, and preserve the Group block's colors.\n\t\t\t\t\tif (\n\t\t\t\t\t\tgroupAttributes?.backgroundColor ||\n\t\t\t\t\t\tgroupAttributes?.gradient ||\n\t\t\t\t\t\tgroupAttributes?.style?.color?.background ||\n\t\t\t\t\t\tgroupAttributes?.style?.color?.gradient\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\tgroupAttributes,\n\t\t\t\t\t\t\tinnerBlocks[ 0 ]?.innerBlocks\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...transformedColorAttributes,\n\t\t\t\t\t\t\t...groupAttributes,\n\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t...groupAttributes?.style,\n\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\ttransformedColorAttributes?.style?.color ||\n\t\t\t\t\t\t\t\t\tgroupAttributes?.style?.color\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t...transformedColorAttributes\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.style?.color,\n\t\t\t\t\t\t\t\t\t\t\t\t...groupAttributes?.style\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.color,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks[ 0 ]?.innerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// In all other cases, transform the Cover block directly to a Group block.\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ ...attributes, ...transformedColorAttributes },\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/transforms.js"],"names":["createBlock","privateApis","blockEditorPrivateApis","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","unlock","cleanEmptyObject","transforms","from","type","blocks","transform","caption","url","alt","align","id","anchor","style","dimRatio","color","duotone","content","fontSize","src","backgroundType","attributes","innerBlocks","backgroundColor","gradient","length","name","background","undefined","parentAttributes","overlayColor","customOverlayColor","customGradient","attributesWithoutBackgroundColors","to","isMatch","title","useFeaturedImage","transformedColorAttributes","groupAttributes"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { IMAGE_BACKGROUND_TYPE, VIDEO_BACKGROUND_TYPE } from './shared';\nimport { unlock } from '../private-apis';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { caption, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\tdimRatio: 50,\n\t\t\t\t\t\turl,\n\t\t\t\t\t\talt,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t\talign: 'center',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( { caption, src, align, id, anchor } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\tdimRatio: 50,\n\t\t\t\t\t\turl: src,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tbackgroundType: VIDEO_BACKGROUND_TYPE,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t\talign: 'center',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst { align, anchor, backgroundColor, gradient, style } =\n\t\t\t\t\tattributes;\n\n\t\t\t\t// If the Group block being transformed has a Cover block as its\n\t\t\t\t// only child return that Cover block.\n\t\t\t\tif (\n\t\t\t\t\tinnerBlocks?.length === 1 &&\n\t\t\t\t\tinnerBlocks[ 0 ]?.name === 'core/cover'\n\t\t\t\t) {\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/cover',\n\t\t\t\t\t\tinnerBlocks[ 0 ].attributes,\n\t\t\t\t\t\tinnerBlocks[ 0 ].innerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// If no background or gradient color is provided, default to 50% opacity.\n\t\t\t\t// This matches the styling of a Cover block with a background image,\n\t\t\t\t// in the state where a background image has been removed.\n\t\t\t\tconst dimRatio =\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tgradient ||\n\t\t\t\t\tstyle?.color?.background ||\n\t\t\t\t\tstyle?.color?.gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: 50;\n\n\t\t\t\t// Move the background or gradient color to the parent Cover block.\n\t\t\t\tconst parentAttributes = {\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t\tdimRatio,\n\t\t\t\t\toverlayColor: backgroundColor,\n\t\t\t\t\tcustomOverlayColor: style?.color?.background,\n\t\t\t\t\tgradient,\n\t\t\t\t\tcustomGradient: style?.color?.gradient,\n\t\t\t\t};\n\n\t\t\t\tconst attributesWithoutBackgroundColors = {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tbackgroundColor: undefined,\n\t\t\t\t\tgradient: undefined,\n\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\tcolor: style?.color\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\t\t\tbackground: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\n\t\t\t\t// Preserve the block by nesting it within the Cover block,\n\t\t\t\t// instead of converting the Group block directly to the Cover block.\n\t\t\t\treturn createBlock( 'core/cover', parentAttributes, [\n\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\tattributesWithoutBackgroundColors,\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t),\n\t\t\t\t] );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents an image background.\n\t\t\t\t\treturn backgroundType === IMAGE_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\turl,\n\t\t\t\t\talt,\n\t\t\t\t\talign,\n\t\t\t\t\tid,\n\t\t\t\t\tanchor,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents a video background.\n\t\t\t\t\treturn backgroundType === VIDEO_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, align, id, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/video', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\tsrc: url,\n\t\t\t\t\tid,\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tisMatch: ( { url, useFeaturedImage } ) => {\n\t\t\t\t// If the Cover block uses background media, skip this transform,\n\t\t\t\t// and instead use the Group block's default transform.\n\t\t\t\tif ( url || useFeaturedImage ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\t// Convert Cover overlay colors to comparable Group background colors.\n\t\t\t\tconst transformedColorAttributes = {\n\t\t\t\t\tbackgroundColor: attributes?.overlayColor,\n\t\t\t\t\tgradient: attributes?.gradient,\n\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\tattributes?.customOverlayColor ||\n\t\t\t\t\t\t\tattributes?.customGradient ||\n\t\t\t\t\t\t\tattributes?.style?.color\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\tattributes?.customOverlayColor,\n\t\t\t\t\t\t\t\t\t\tgradient: attributes?.customGradient,\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.color,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\n\t\t\t\t// If the Cover block contains only a single Group block as a direct child,\n\t\t\t\t// then attempt to merge the Cover's background colors with the child Group block,\n\t\t\t\t// and remove the Cover block as the wrapper.\n\t\t\t\tif (\n\t\t\t\t\tinnerBlocks?.length === 1 &&\n\t\t\t\t\tinnerBlocks[ 0 ]?.name === 'core/group'\n\t\t\t\t) {\n\t\t\t\t\tconst groupAttributes = cleanEmptyObject(\n\t\t\t\t\t\tinnerBlocks[ 0 ].attributes || {}\n\t\t\t\t\t);\n\n\t\t\t\t\t// If the Group block contains any kind of background color or gradient,\n\t\t\t\t\t// skip merging Cover background colors, and preserve the Group block's colors.\n\t\t\t\t\tif (\n\t\t\t\t\t\tgroupAttributes?.backgroundColor ||\n\t\t\t\t\t\tgroupAttributes?.gradient ||\n\t\t\t\t\t\tgroupAttributes?.style?.color?.background ||\n\t\t\t\t\t\tgroupAttributes?.style?.color?.gradient\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\tgroupAttributes,\n\t\t\t\t\t\t\tinnerBlocks[ 0 ]?.innerBlocks\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...transformedColorAttributes,\n\t\t\t\t\t\t\t...groupAttributes,\n\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t...groupAttributes?.style,\n\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\ttransformedColorAttributes?.style?.color ||\n\t\t\t\t\t\t\t\t\tgroupAttributes?.style?.color\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t...transformedColorAttributes\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.style?.color,\n\t\t\t\t\t\t\t\t\t\t\t\t...groupAttributes?.style\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.color,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks[ 0 ]?.innerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// In all other cases, transform the Cover block directly to a Group block.\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ ...attributes, ...transformedColorAttributes },\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
|