@wordpress/block-library 7.19.0 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/build/audio/edit.native.js +1 -3
- package/build/audio/edit.native.js.map +1 -1
- package/build/audio/index.js +2 -1
- package/build/audio/index.js.map +1 -1
- package/build/avatar/edit.js +1 -0
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/user-control.js +1 -0
- package/build/avatar/user-control.js.map +1 -1
- package/build/block/edit.js +14 -2
- package/build/block/edit.js.map +1 -1
- package/build/block/edit.native.js +14 -6
- package/build/block/edit.native.js.map +1 -1
- package/build/block/index.js +1 -2
- package/build/block/index.js.map +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/categories/edit.js +1 -1
- package/build/categories/edit.js.map +1 -1
- package/build/code/transforms.js +1 -1
- package/build/code/transforms.js.map +1 -1
- package/build/columns/edit.js +1 -0
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +13 -30
- package/build/columns/edit.native.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -0
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +3 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit.native.js +24 -16
- package/build/cover/edit.native.js.map +1 -1
- package/build/embed/embed-controls.native.js +1 -0
- package/build/embed/embed-controls.native.js.map +1 -1
- package/build/embed/embed-preview.native.js +1 -3
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/file/inspector.js +1 -0
- package/build/file/inspector.js.map +1 -1
- package/build/freeform/edit.js +21 -6
- package/build/freeform/edit.js.map +1 -1
- package/build/freeform/modal.js +97 -0
- package/build/freeform/modal.js.map +1 -0
- package/build/gallery/edit.js +38 -15
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +2 -16
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +1 -3
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/shared.js +4 -10
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +1 -7
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-media.js +1 -1
- package/build/gallery/use-get-media.js.map +1 -1
- package/build/gallery/use-get-media.native.js +3 -1
- package/build/gallery/use-get-media.native.js.map +1 -1
- package/build/gallery/v1/edit.js +22 -15
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery.native.js +1 -3
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/gallery/v1/shared.js +4 -1
- package/build/gallery/v1/shared.js.map +1 -1
- package/build/group/edit.js +1 -2
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -1
- package/build/group/index.js.map +1 -1
- package/build/group/placeholder.js +5 -26
- package/build/group/placeholder.js.map +1 -1
- package/build/heading/deprecated.js +152 -69
- package/build/heading/deprecated.js.map +1 -1
- package/build/heading/index.js +1 -2
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +1 -2
- package/build/heading/transforms.js.map +1 -1
- package/build/html/index.js +1 -1
- package/build/image/edit.js +8 -5
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +3 -2
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +13 -8
- package/build/image/image.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +1 -0
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.js +2 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/transforms.js +1 -9
- package/build/list/transforms.js.map +1 -1
- package/build/list/utils.js +5 -2
- package/build/list/utils.js.map +1 -1
- package/build/list-item/index.js +4 -1
- package/build/list-item/index.js.map +1 -1
- package/build/list-item/transforms.js +22 -0
- package/build/list-item/transforms.js.map +1 -0
- package/build/list-item/utils.js +77 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/media-text/edit.js +5 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/missing/edit.native.js +2 -2
- package/build/missing/edit.native.js.map +1 -1
- package/build/navigation/edit/are-blocks-dirty.js +52 -0
- package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
- package/build/navigation/edit/index.js +95 -117
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +94 -0
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
- package/build/navigation/edit/navigation-menu-selector.js +2 -4
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +11 -7
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/utils.js +81 -0
- package/build/navigation/edit/utils.js.map +1 -1
- package/build/navigation/view-modal.js +6 -2
- package/build/navigation/view-modal.js.map +1 -1
- package/build/navigation-link/edit.js +46 -356
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js +222 -0
- package/build/navigation-link/link-ui.js.map +1 -0
- package/build/navigation-link/transforms.js +12 -0
- package/build/navigation-link/transforms.js.map +1 -1
- package/build/navigation-link/update-attributes.js +108 -0
- package/build/navigation-link/update-attributes.js.map +1 -0
- package/build/navigation-submenu/edit.js +49 -245
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/constants.js +15 -0
- package/build/page-list/constants.js.map +1 -0
- package/build/page-list/convert-to-links-modal.js +22 -86
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/convert-to-navigation-links.js +76 -0
- package/build/page-list/convert-to-navigation-links.js.map +1 -0
- package/build/page-list/edit.js +143 -78
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +35 -3
- package/build/page-list/index.js.map +1 -1
- package/build/page-list-item/edit.js +91 -0
- package/build/page-list-item/edit.js.map +1 -0
- package/build/page-list-item/index.js +85 -0
- package/build/page-list-item/index.js.map +1 -0
- package/build/page-list-item/init.js +16 -0
- package/build/page-list-item/init.js.map +1 -0
- package/build/paragraph/index.js +1 -7
- package/build/paragraph/index.js.map +1 -1
- package/build/post-author/edit.js +3 -2
- package/build/post-author/edit.js.map +1 -1
- package/build/post-featured-image/overlay.js +1 -1
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-template/index.js +8 -0
- package/build/post-template/index.js.map +1 -1
- package/build/preformatted/transforms.js +3 -1
- package/build/preformatted/transforms.js.map +1 -1
- package/build/query/deprecated.js +192 -21
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/index.js +2 -1
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +11 -5
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +101 -37
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/edit/query-content.js +2 -3
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +16 -27
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/index.js +0 -8
- package/build/query/index.js.map +1 -1
- package/build/query/utils.js +73 -9
- package/build/query/utils.js.map +1 -1
- package/build/rss/edit.js +3 -0
- package/build/rss/edit.js.map +1 -1
- package/build/search/edit.js +2 -2
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +22 -22
- package/build/search/edit.native.js.map +1 -1
- package/build/search/index.js +9 -1
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +17 -9
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +1 -0
- package/build/site-logo/index.js.map +1 -1
- package/build/site-title/index.js +1 -0
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/social-list.js +4 -12
- package/build/social-link/social-list.js.map +1 -1
- package/build/social-links/edit.js +0 -1
- package/build/social-links/edit.js.map +1 -1
- package/build/table/edit.js +3 -1
- package/build/table/edit.js.map +1 -1
- package/build/table/index.js +17 -1
- package/build/table/index.js.map +1 -1
- package/build/table/save.js +4 -2
- package/build/table/save.js.map +1 -1
- package/build/table/state.js +24 -12
- package/build/table/state.js.map +1 -1
- package/build/table/transforms.js +3 -2
- package/build/table/transforms.js.map +1 -1
- package/build/table-of-contents/edit.js +3 -3
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +2 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +11 -1
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/import-controls.js +160 -0
- package/build/template-part/edit/import-controls.js.map +1 -0
- package/build/template-part/edit/index.js +2 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +5 -2
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +2 -6
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +48 -0
- package/build/template-part/edit/utils/transformers.js.map +1 -0
- package/build/text-columns/edit.js +1 -0
- package/build/text-columns/edit.js.map +1 -1
- package/build/utils/transformation-categories.native.js +1 -1
- package/build/utils/transformation-categories.native.js.map +1 -1
- package/build/video/edit.js +1 -1
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +1 -3
- package/build/video/edit.native.js.map +1 -1
- package/build-module/audio/edit.native.js +1 -2
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/audio/index.js +2 -1
- package/build-module/audio/index.js.map +1 -1
- package/build-module/avatar/edit.js +1 -0
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/avatar/user-control.js +1 -0
- package/build-module/avatar/user-control.js.map +1 -1
- package/build-module/block/edit.js +14 -2
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/edit.native.js +14 -6
- package/build-module/block/edit.native.js.map +1 -1
- package/build-module/block/index.js +1 -2
- package/build-module/block/index.js.map +1 -1
- package/build-module/button/edit.native.js +2 -1
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/categories/edit.js +1 -1
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/code/transforms.js +1 -1
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/columns/edit.js +1 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +13 -29
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -0
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +5 -3
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit.native.js +22 -14
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/embed/embed-controls.native.js +2 -1
- package/build-module/embed/embed-controls.native.js.map +1 -1
- package/build-module/embed/embed-preview.native.js +1 -2
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/file/inspector.js +1 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/freeform/edit.js +22 -8
- package/build-module/freeform/edit.js.map +1 -1
- package/build-module/freeform/modal.js +90 -0
- package/build-module/freeform/modal.js.map +1 -0
- package/build-module/gallery/edit.js +39 -15
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -16
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gallery.native.js +1 -2
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/shared.js +5 -11
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +1 -6
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-media.js +1 -1
- package/build-module/gallery/use-get-media.js.map +1 -1
- package/build-module/gallery/use-get-media.native.js +3 -1
- package/build-module/gallery/use-get-media.native.js.map +1 -1
- package/build-module/gallery/v1/edit.js +23 -16
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery.native.js +1 -2
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/gallery/v1/shared.js +5 -2
- package/build-module/gallery/v1/shared.js.map +1 -1
- package/build-module/group/edit.js +1 -3
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -1
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/placeholder.js +5 -26
- package/build-module/group/placeholder.js.map +1 -1
- package/build-module/heading/deprecated.js +152 -69
- package/build-module/heading/deprecated.js.map +1 -1
- package/build-module/heading/index.js +1 -2
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +1 -2
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/html/index.js +1 -1
- package/build-module/image/edit.js +9 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +2 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +14 -9
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +1 -0
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/transforms.js +1 -9
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/utils.js +5 -2
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/index.js +3 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/list-item/transforms.js +13 -0
- package/build-module/list-item/transforms.js.map +1 -0
- package/build-module/list-item/utils.js +78 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/media-text/edit.js +6 -3
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/missing/edit.native.js +2 -2
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
- package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
- package/build-module/navigation/edit/index.js +95 -118
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +80 -0
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
- package/build-module/navigation/edit/navigation-menu-selector.js +2 -4
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +9 -6
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/utils.js +75 -0
- package/build-module/navigation/edit/utils.js.map +1 -1
- package/build-module/navigation/view-modal.js +6 -2
- package/build-module/navigation/view-modal.js.map +1 -1
- package/build-module/navigation-link/edit.js +49 -357
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +206 -0
- package/build-module/navigation-link/link-ui.js.map +1 -0
- package/build-module/navigation-link/transforms.js +12 -0
- package/build-module/navigation-link/transforms.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +97 -0
- package/build-module/navigation-link/update-attributes.js.map +1 -0
- package/build-module/navigation-submenu/edit.js +52 -246
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/constants.js +6 -0
- package/build-module/page-list/constants.js.map +1 -0
- package/build-module/page-list/convert-to-links-modal.js +20 -81
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/convert-to-navigation-links.js +66 -0
- package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
- package/build-module/page-list/edit.js +146 -82
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +36 -4
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/page-list-item/edit.js +77 -0
- package/build-module/page-list-item/edit.js.map +1 -0
- package/build-module/page-list-item/index.js +68 -0
- package/build-module/page-list-item/index.js.map +1 -0
- package/build-module/page-list-item/init.js +6 -0
- package/build-module/page-list-item/init.js.map +1 -0
- package/build-module/paragraph/index.js +1 -7
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/post-author/edit.js +3 -2
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +1 -1
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-template/index.js +8 -0
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/preformatted/transforms.js +3 -1
- package/build-module/preformatted/transforms.js.map +1 -1
- package/build-module/query/deprecated.js +185 -21
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/index.js +2 -1
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +11 -5
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +99 -35
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/edit/query-content.js +1 -1
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +15 -27
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/index.js +0 -8
- package/build-module/query/index.js.map +1 -1
- package/build-module/query/utils.js +69 -8
- package/build-module/query/utils.js.map +1 -1
- package/build-module/rss/edit.js +3 -0
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/search/edit.js +2 -2
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +20 -20
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/search/index.js +8 -1
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +17 -8
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +1 -0
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-title/index.js +1 -0
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/edit.js +2 -2
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/social-list.js +2 -11
- package/build-module/social-link/social-list.js.map +1 -1
- package/build-module/social-links/edit.js +0 -1
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/table/edit.js +3 -1
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/index.js +17 -1
- package/build-module/table/index.js.map +1 -1
- package/build-module/table/save.js +4 -2
- package/build-module/table/save.js.map +1 -1
- package/build-module/table/state.js +25 -13
- package/build-module/table/state.js.map +1 -1
- package/build-module/table/transforms.js +3 -2
- package/build-module/table/transforms.js.map +1 -1
- package/build-module/table-of-contents/edit.js +3 -3
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +3 -2
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +10 -1
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +146 -0
- package/build-module/template-part/edit/import-controls.js.map +1 -0
- 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/selection-modal.js +6 -3
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +3 -7
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +40 -0
- package/build-module/template-part/edit/utils/transformers.js.map +1 -0
- package/build-module/text-columns/edit.js +1 -0
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/utils/transformation-categories.native.js +1 -1
- package/build-module/utils/transformation-categories.native.js.map +1 -1
- package/build-module/video/edit.js +1 -1
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +1 -2
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/archives/editor-rtl.css +15 -3
- package/build-style/archives/editor.css +15 -3
- package/build-style/archives/style-rtl.css +15 -3
- package/build-style/archives/style.css +15 -3
- package/build-style/audio/editor-rtl.css +15 -3
- package/build-style/audio/editor.css +15 -3
- package/build-style/audio/style-rtl.css +15 -3
- package/build-style/audio/style.css +15 -3
- package/build-style/audio/theme-rtl.css +15 -3
- package/build-style/audio/theme.css +15 -3
- package/build-style/avatar/editor-rtl.css +15 -3
- package/build-style/avatar/editor.css +15 -3
- package/build-style/avatar/style-rtl.css +15 -3
- package/build-style/avatar/style.css +15 -3
- package/build-style/block/editor-rtl.css +25 -3
- package/build-style/block/editor.css +25 -3
- package/build-style/button/editor-rtl.css +15 -3
- package/build-style/button/editor.css +15 -3
- package/build-style/button/style-rtl.css +15 -3
- package/build-style/button/style.css +15 -3
- package/build-style/buttons/editor-rtl.css +15 -3
- package/build-style/buttons/editor.css +15 -3
- package/build-style/buttons/style-rtl.css +15 -3
- package/build-style/buttons/style.css +15 -3
- package/build-style/calendar/style-rtl.css +15 -3
- package/build-style/calendar/style.css +15 -3
- package/build-style/categories/editor-rtl.css +15 -3
- package/build-style/categories/editor.css +15 -3
- package/build-style/categories/style-rtl.css +15 -3
- package/build-style/categories/style.css +15 -3
- package/build-style/classic-rtl.css +15 -3
- package/build-style/classic.css +15 -3
- package/build-style/code/editor-rtl.css +15 -3
- package/build-style/code/editor.css +15 -3
- package/build-style/code/style-rtl.css +15 -3
- package/build-style/code/style.css +15 -3
- package/build-style/code/theme-rtl.css +15 -3
- package/build-style/code/theme.css +15 -3
- package/build-style/columns/editor-rtl.css +15 -3
- package/build-style/columns/editor.css +15 -3
- package/build-style/columns/style-rtl.css +15 -3
- package/build-style/columns/style.css +15 -3
- package/build-style/comment-author-avatar/editor-rtl.css +15 -3
- package/build-style/comment-author-avatar/editor.css +15 -3
- package/build-style/comment-content/style-rtl.css +15 -3
- package/build-style/comment-content/style.css +15 -3
- package/build-style/comment-template/style-rtl.css +15 -3
- package/build-style/comment-template/style.css +15 -3
- package/build-style/comments/editor-rtl.css +15 -3
- package/build-style/comments/editor.css +15 -3
- package/build-style/comments/style-rtl.css +15 -3
- package/build-style/comments/style.css +15 -3
- package/build-style/comments-pagination/editor-rtl.css +15 -3
- package/build-style/comments-pagination/editor.css +15 -3
- package/build-style/comments-pagination/style-rtl.css +15 -3
- package/build-style/comments-pagination/style.css +15 -3
- package/build-style/comments-pagination-numbers/editor-rtl.css +15 -3
- package/build-style/comments-pagination-numbers/editor.css +15 -3
- package/build-style/comments-title/editor-rtl.css +15 -3
- package/build-style/comments-title/editor.css +15 -3
- package/build-style/common-rtl.css +20 -4
- package/build-style/common.css +20 -4
- package/build-style/cover/editor-rtl.css +15 -3
- package/build-style/cover/editor.css +15 -3
- package/build-style/cover/style-rtl.css +17 -4
- package/build-style/cover/style.css +17 -4
- package/build-style/editor-elements-rtl.css +15 -3
- package/build-style/editor-elements.css +15 -3
- package/build-style/editor-rtl.css +46 -29
- package/build-style/editor.css +46 -29
- package/build-style/elements-rtl.css +15 -3
- package/build-style/elements.css +15 -3
- package/build-style/embed/editor-rtl.css +15 -3
- package/build-style/embed/editor.css +15 -3
- package/build-style/embed/style-rtl.css +15 -3
- package/build-style/embed/style.css +15 -3
- package/build-style/embed/theme-rtl.css +15 -3
- package/build-style/embed/theme.css +15 -3
- package/build-style/file/editor-rtl.css +15 -3
- package/build-style/file/editor.css +15 -3
- package/build-style/file/style-rtl.css +15 -3
- package/build-style/file/style.css +15 -3
- package/build-style/freeform/editor-rtl.css +15 -3
- package/build-style/freeform/editor.css +15 -3
- package/build-style/gallery/editor-rtl.css +16 -4
- package/build-style/gallery/editor.css +16 -4
- package/build-style/gallery/style-rtl.css +19 -5
- package/build-style/gallery/style.css +19 -5
- package/build-style/gallery/theme-rtl.css +15 -3
- package/build-style/gallery/theme.css +15 -3
- package/build-style/group/editor-rtl.css +15 -3
- package/build-style/group/editor.css +15 -3
- package/build-style/group/style-rtl.css +15 -3
- package/build-style/group/style.css +15 -3
- package/build-style/group/theme-rtl.css +15 -3
- package/build-style/group/theme.css +15 -3
- package/build-style/heading/style-rtl.css +15 -3
- package/build-style/heading/style.css +15 -3
- package/build-style/html/editor-rtl.css +15 -3
- package/build-style/html/editor.css +15 -3
- package/build-style/image/editor-rtl.css +15 -12
- package/build-style/image/editor.css +15 -12
- package/build-style/image/style-rtl.css +15 -3
- package/build-style/image/style.css +15 -3
- package/build-style/image/theme-rtl.css +15 -3
- package/build-style/image/theme.css +15 -3
- package/build-style/latest-comments/style-rtl.css +15 -3
- package/build-style/latest-comments/style.css +15 -3
- package/build-style/latest-posts/editor-rtl.css +15 -3
- package/build-style/latest-posts/editor.css +15 -3
- package/build-style/latest-posts/style-rtl.css +15 -3
- package/build-style/latest-posts/style.css +15 -3
- package/build-style/list/style-rtl.css +15 -3
- package/build-style/list/style.css +15 -3
- package/build-style/media-text/editor-rtl.css +15 -3
- package/build-style/media-text/editor.css +15 -3
- package/build-style/media-text/style-rtl.css +15 -3
- package/build-style/media-text/style.css +15 -3
- package/build-style/more/editor-rtl.css +15 -3
- package/build-style/more/editor.css +15 -3
- package/build-style/navigation/editor-rtl.css +15 -9
- package/build-style/navigation/editor.css +15 -9
- package/build-style/navigation/style-rtl.css +15 -4
- package/build-style/navigation/style.css +15 -4
- package/build-style/navigation-link/editor-rtl.css +15 -3
- package/build-style/navigation-link/editor.css +15 -3
- package/build-style/navigation-link/style-rtl.css +15 -3
- package/build-style/navigation-link/style.css +15 -3
- package/build-style/navigation-submenu/editor-rtl.css +15 -3
- package/build-style/navigation-submenu/editor.css +15 -3
- package/build-style/nextpage/editor-rtl.css +15 -3
- package/build-style/nextpage/editor.css +15 -3
- package/build-style/page-list/editor-rtl.css +19 -3
- package/build-style/page-list/editor.css +19 -3
- package/build-style/page-list/style-rtl.css +15 -3
- package/build-style/page-list/style.css +15 -3
- package/build-style/paragraph/editor-rtl.css +15 -3
- package/build-style/paragraph/editor.css +15 -3
- package/build-style/paragraph/style-rtl.css +15 -3
- package/build-style/paragraph/style.css +15 -3
- package/build-style/post-author/style-rtl.css +15 -3
- package/build-style/post-author/style.css +15 -3
- package/build-style/post-comments-form/editor-rtl.css +15 -3
- package/build-style/post-comments-form/editor.css +15 -3
- package/build-style/post-comments-form/style-rtl.css +15 -3
- package/build-style/post-comments-form/style.css +15 -3
- package/build-style/post-date/style-rtl.css +15 -3
- package/build-style/post-date/style.css +15 -3
- package/build-style/post-excerpt/editor-rtl.css +15 -3
- package/build-style/post-excerpt/editor.css +15 -3
- package/build-style/post-excerpt/style-rtl.css +15 -3
- package/build-style/post-excerpt/style.css +15 -3
- package/build-style/post-featured-image/editor-rtl.css +15 -3
- package/build-style/post-featured-image/editor.css +15 -3
- package/build-style/post-featured-image/style-rtl.css +15 -3
- package/build-style/post-featured-image/style.css +15 -3
- package/build-style/post-navigation-link/style-rtl.css +15 -3
- package/build-style/post-navigation-link/style.css +15 -3
- package/build-style/post-template/editor-rtl.css +15 -3
- package/build-style/post-template/editor.css +15 -3
- package/build-style/post-template/style-rtl.css +15 -3
- package/build-style/post-template/style.css +15 -3
- package/build-style/post-terms/style-rtl.css +15 -3
- package/build-style/post-terms/style.css +15 -3
- package/build-style/post-title/style-rtl.css +15 -3
- package/build-style/post-title/style.css +15 -3
- package/build-style/preformatted/style-rtl.css +15 -3
- package/build-style/preformatted/style.css +15 -3
- package/build-style/pullquote/editor-rtl.css +15 -3
- package/build-style/pullquote/editor.css +15 -3
- package/build-style/pullquote/style-rtl.css +15 -3
- package/build-style/pullquote/style.css +15 -3
- package/build-style/pullquote/theme-rtl.css +15 -3
- package/build-style/pullquote/theme.css +15 -3
- package/build-style/query/editor-rtl.css +15 -3
- package/build-style/query/editor.css +15 -3
- package/build-style/query-pagination/editor-rtl.css +15 -3
- package/build-style/query-pagination/editor.css +15 -3
- package/build-style/query-pagination/style-rtl.css +15 -3
- package/build-style/query-pagination/style.css +15 -3
- package/build-style/query-pagination-numbers/editor-rtl.css +15 -3
- package/build-style/query-pagination-numbers/editor.css +15 -3
- package/build-style/query-title/style-rtl.css +15 -3
- package/build-style/query-title/style.css +15 -3
- package/build-style/quote/style-rtl.css +15 -3
- package/build-style/quote/style.css +15 -3
- package/build-style/quote/theme-rtl.css +15 -3
- package/build-style/quote/theme.css +15 -3
- package/build-style/read-more/style-rtl.css +15 -3
- package/build-style/read-more/style.css +15 -3
- package/build-style/reset-rtl.css +15 -3
- package/build-style/reset.css +15 -3
- package/build-style/rss/editor-rtl.css +15 -3
- package/build-style/rss/editor.css +15 -3
- package/build-style/rss/style-rtl.css +15 -3
- package/build-style/rss/style.css +15 -3
- package/build-style/search/editor-rtl.css +15 -3
- package/build-style/search/editor.css +15 -3
- package/build-style/search/style-rtl.css +15 -3
- package/build-style/search/style.css +15 -3
- package/build-style/search/theme-rtl.css +15 -3
- package/build-style/search/theme.css +15 -3
- package/build-style/separator/editor-rtl.css +15 -3
- package/build-style/separator/editor.css +15 -3
- package/build-style/separator/style-rtl.css +15 -3
- package/build-style/separator/style.css +15 -3
- package/build-style/separator/theme-rtl.css +15 -3
- package/build-style/separator/theme.css +15 -3
- package/build-style/shortcode/editor-rtl.css +16 -4
- package/build-style/shortcode/editor.css +16 -4
- package/build-style/site-logo/editor-rtl.css +15 -3
- package/build-style/site-logo/editor.css +15 -3
- package/build-style/site-logo/style-rtl.css +15 -3
- package/build-style/site-logo/style.css +15 -3
- package/build-style/site-tagline/editor-rtl.css +15 -3
- package/build-style/site-tagline/editor.css +15 -3
- package/build-style/site-title/editor-rtl.css +15 -3
- package/build-style/site-title/editor.css +15 -3
- package/build-style/site-title/style-rtl.css +15 -3
- package/build-style/site-title/style.css +15 -3
- package/build-style/social-link/editor-rtl.css +15 -3
- package/build-style/social-link/editor.css +15 -3
- package/build-style/social-links/editor-rtl.css +15 -3
- package/build-style/social-links/editor.css +15 -3
- package/build-style/social-links/style-rtl.css +15 -3
- package/build-style/social-links/style.css +15 -3
- package/build-style/spacer/editor-rtl.css +15 -3
- package/build-style/spacer/editor.css +15 -3
- package/build-style/spacer/style-rtl.css +15 -3
- package/build-style/spacer/style.css +15 -3
- package/build-style/style-rtl.css +36 -10
- package/build-style/style.css +36 -10
- package/build-style/table/editor-rtl.css +15 -11
- package/build-style/table/editor.css +15 -11
- package/build-style/table/style-rtl.css +21 -3
- package/build-style/table/style.css +21 -3
- package/build-style/table/theme-rtl.css +15 -9
- package/build-style/table/theme.css +15 -9
- package/build-style/tag-cloud/style-rtl.css +15 -3
- package/build-style/tag-cloud/style.css +15 -3
- package/build-style/template-part/editor-rtl.css +30 -4
- package/build-style/template-part/editor.css +30 -4
- package/build-style/template-part/theme-rtl.css +15 -3
- package/build-style/template-part/theme.css +15 -3
- package/build-style/text-columns/editor-rtl.css +15 -3
- package/build-style/text-columns/editor.css +15 -3
- package/build-style/text-columns/style-rtl.css +15 -3
- package/build-style/text-columns/style.css +15 -3
- package/build-style/theme-rtl.css +15 -9
- package/build-style/theme.css +15 -9
- package/build-style/verse/style-rtl.css +19 -4
- package/build-style/verse/style.css +19 -4
- package/build-style/video/editor-rtl.css +15 -3
- package/build-style/video/editor.css +15 -3
- package/build-style/video/style-rtl.css +17 -4
- package/build-style/video/style.css +17 -4
- package/build-style/video/theme-rtl.css +15 -3
- package/build-style/video/theme.css +15 -3
- package/package.json +32 -30
- package/src/audio/edit.native.js +1 -2
- package/src/audio/index.js +1 -0
- package/src/avatar/edit.js +1 -0
- package/src/avatar/user-control.js +1 -0
- package/src/block/block.json +1 -2
- package/src/block/edit.js +14 -3
- package/src/block/edit.native.js +24 -12
- package/src/block/editor.scss +17 -0
- package/src/block/index.php +1 -2
- package/src/block/test/edit.native.js +28 -32
- package/src/button/edit.native.js +1 -0
- package/src/buttons/test/edit.native.js +40 -51
- package/src/categories/edit.js +1 -1
- package/src/code/transforms.js +3 -1
- package/src/columns/edit.js +1 -0
- package/src/columns/edit.native.js +18 -26
- package/src/comment-author-avatar/edit.js +1 -0
- package/src/comments/index.php +0 -1
- package/src/cover/edit/inspector-controls.js +6 -4
- package/src/cover/edit.native.js +32 -19
- package/src/cover/test/edit.native.js +73 -126
- package/src/embed/embed-controls.native.js +1 -0
- package/src/embed/embed-preview.native.js +1 -2
- package/src/embed/test/index.native.js +237 -231
- package/src/file/inspector.js +1 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
- package/src/freeform/edit.js +48 -29
- package/src/freeform/modal.js +111 -0
- package/src/gallery/edit.js +32 -7
- package/src/gallery/gallery.js +3 -13
- package/src/gallery/gallery.native.js +1 -2
- package/src/gallery/shared.js +7 -11
- package/src/gallery/transforms.js +1 -6
- package/src/gallery/use-get-media.js +1 -1
- package/src/gallery/use-get-media.native.js +2 -1
- package/src/gallery/v1/edit.js +8 -7
- package/src/gallery/v1/gallery.native.js +1 -2
- package/src/gallery/v1/shared.js +7 -2
- package/src/group/block.json +3 -1
- package/src/group/edit.js +2 -6
- package/src/group/placeholder.js +6 -25
- package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/heading/block.json +1 -2
- package/src/heading/deprecated.js +209 -136
- package/src/heading/index.php +52 -0
- package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
- package/src/heading/test/index.native.js +44 -0
- package/src/home-link/index.php +1 -1
- package/src/html/block.json +1 -1
- package/src/image/edit.js +7 -2
- package/src/image/edit.native.js +2 -1
- package/src/image/editor.scss +0 -11
- package/src/image/image.js +14 -8
- package/src/image/test/edit.native.js +14 -10
- package/src/index.js +2 -0
- package/src/latest-comments/edit.js +1 -0
- package/src/latest-posts/edit.js +2 -0
- package/src/latest-posts/test/__snapshots__/edit.native.js.snap +3 -0
- package/src/latest-posts/test/edit.native.js +49 -0
- package/src/list/test/edit.native.js +53 -45
- package/src/list/transforms.js +0 -11
- package/src/list/utils.js +6 -2
- package/src/list-item/index.js +2 -0
- package/src/list-item/transforms.js +17 -0
- package/src/list-item/utils.js +10 -1
- package/src/media-text/edit.js +6 -3
- package/src/missing/edit.native.js +13 -6
- package/src/missing/test/edit-integration.native.js +10 -12
- package/src/more/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/more/test/edit.native.js +41 -0
- package/src/navigation/edit/are-blocks-dirty.js +51 -0
- package/src/navigation/edit/index.js +229 -298
- package/src/navigation/edit/menu-inspector-controls.js +119 -0
- package/src/navigation/edit/navigation-menu-selector.js +6 -7
- package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
- package/src/navigation/edit/unsaved-inner-blocks.js +12 -7
- package/src/navigation/edit/utils.js +82 -0
- package/src/navigation/editor.scss +0 -7
- package/src/navigation/index.php +89 -10
- package/src/navigation/style.scss +0 -1
- package/src/navigation/view-modal.js +11 -1
- package/src/navigation-link/edit.js +62 -386
- package/src/navigation-link/index.php +64 -0
- package/src/navigation-link/link-ui.js +213 -0
- package/src/navigation-link/test/edit.js +23 -82
- package/src/navigation-link/transforms.js +14 -0
- package/src/navigation-link/update-attributes.js +99 -0
- package/src/navigation-submenu/edit.js +85 -276
- package/src/navigation-submenu/index.php +72 -0
- package/src/page-list/block.json +24 -2
- package/src/page-list/constants.js +8 -0
- package/src/page-list/convert-to-links-modal.js +19 -76
- package/src/page-list/convert-to-navigation-links.js +60 -0
- package/src/page-list/edit.js +187 -118
- package/src/page-list/editor.scss +4 -0
- package/src/page-list/index.js +8 -2
- package/src/page-list/index.php +18 -10
- package/src/page-list/test/convert-to-links-modal.js +28 -34
- package/src/page-list-item/block.json +51 -0
- package/src/page-list-item/edit.js +102 -0
- package/src/page-list-item/index.js +24 -0
- package/src/page-list-item/init.js +6 -0
- package/src/paragraph/index.js +0 -6
- package/src/post-author/edit.js +3 -2
- package/src/post-content/index.php +1 -2
- package/src/post-featured-image/index.php +7 -2
- package/src/post-featured-image/overlay.js +1 -1
- package/src/post-template/block.json +8 -0
- package/src/preformatted/transforms.js +4 -1
- package/src/query/block.json +0 -8
- package/src/query/deprecated.js +257 -86
- package/src/query/edit/index.js +1 -0
- package/src/query/edit/inspector-controls/index.js +50 -38
- package/src/query/edit/inspector-controls/taxonomy-controls.js +102 -38
- package/src/query/edit/query-content.js +2 -1
- package/src/query/edit/query-placeholder.js +14 -25
- package/src/query/utils.js +59 -1
- package/src/rss/edit.js +3 -0
- package/src/search/edit.js +2 -2
- package/src/search/edit.native.js +31 -27
- package/src/search/index.js +5 -1
- package/src/separator/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/separator/test/edit.native.js +41 -0
- package/src/shortcode/test/edit.native.js +15 -18
- package/src/site-logo/edit.js +13 -5
- package/src/site-logo/index.js +1 -0
- package/src/site-title/index.js +1 -0
- package/src/social-link/edit.js +3 -3
- package/src/social-link/social-list.js +2 -7
- package/src/social-link/test/index.native.js +10 -16
- package/src/social-links/edit.js +0 -1
- package/src/social-links/test/edit.native.js +4 -3
- package/src/spacer/test/index.native.js +39 -36
- package/src/table/block.json +15 -0
- package/src/table/edit.js +2 -1
- package/src/table/editor.scss +0 -4
- package/src/table/index.js +1 -0
- package/src/table/save.js +5 -1
- package/src/table/state.js +22 -7
- package/src/table/style.scss +8 -0
- package/src/table/theme.scss +0 -8
- package/src/table/transforms.js +2 -1
- package/src/table-of-contents/edit.js +3 -3
- package/src/tag-cloud/edit.js +3 -2
- package/src/template-part/edit/advanced-controls.js +12 -0
- package/src/template-part/edit/import-controls.js +180 -0
- package/src/template-part/edit/index.js +1 -0
- package/src/template-part/edit/selection-modal.js +4 -3
- package/src/template-part/edit/utils/hooks.js +7 -3
- package/src/template-part/edit/utils/transformers.js +37 -0
- package/src/template-part/editor.scss +20 -2
- package/src/template-part/index.php +1 -2
- package/src/text-columns/edit.js +1 -0
- package/src/utils/transformation-categories.native.js +1 -0
- package/src/verse/style.scss +4 -1
- package/src/verse/test/__snapshots__/edit.native.js.snap +13 -0
- package/src/verse/test/edit.native.js +40 -33
- package/src/video/edit.js +1 -1
- package/src/video/edit.native.js +1 -2
- package/test/babel-plugin.js +35 -35
- package/tsconfig.tsbuildinfo +1 -1
- package/build/query/constants.js +0 -16
- package/build/query/constants.js.map +0 -1
- package/build-module/query/constants.js +0 -7
- package/build-module/query/constants.js.map +0 -1
- package/src/query/constants.js +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["View","Dimensions","map","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","GlobalStylesContext","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSetting","store","blockEditorStore","withDispatch","useSelect","useEffect","useState","useContext","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","column","label","clientId","length","undefined","onChangeColumnsNum","value","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","updateBlockSettings","settings","updateBlockListSettings","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","isContentEmpty","innerBlock","innerColumnsWidths","inn","parents","filter","Boolean","memoizedInnerWidths","JSON","stringify","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\nimport { map } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel=\"Width\"\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\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}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\tupdateBlockSettings( settings ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { updateBlockListSettings } = dispatch( blockEditorStore );\n\t\t\tupdateBlockListSettings( clientId, settings );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerWidths = [],\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = map(\n\t\t\t\tinnerBlocks,\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length\n\t\t\t);\n\n\t\t\tconst innerColumnsWidths = innerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) );\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: ! isContentEmpty.filter( Boolean ).length,\n\t\t\t\tinnerWidths: innerColumnsWidths,\n\t\t\t\thasParents: !! parents.length,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst memoizedInnerWidths = useMemo( () => {\n\t\treturn innerWidths;\n\t}, [\n\t\t// The JSON.stringify is used because innerWidth is always a new reference.\n\t\t// The innerBlocks is a new reference after each attribute change of any nested block.\n\t\tJSON.stringify( innerWidths ),\n\t] );\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ memoizedInnerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["View","Dimensions","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","GlobalStylesContext","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSetting","store","blockEditorStore","withDispatch","useSelect","useEffect","useState","useContext","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","clientId","length","undefined","onChangeColumnsNum","value","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","innerBlocksList","isContentEmpty","every","innerBlock","parents","inn","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel=\"Width\"\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\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}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerBlocks,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\n\t\t\tconst innerBlocksList = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = innerBlocksList.every(\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length === 0\n\t\t\t);\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: isContentEmpty,\n\t\t\t\tinnerBlocks: innerBlocksList,\n\t\t\t\thasParents: parents.length > 0,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst innerWidths = useMemo(\n\t\t() =>\n\t\t\tinnerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ innerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"]}
|
|
@@ -45,6 +45,7 @@ export default function Edit(_ref) {
|
|
|
45
45
|
const inspectorControls = createElement(InspectorControls, null, createElement(PanelBody, {
|
|
46
46
|
title: __('Avatar Settings')
|
|
47
47
|
}, createElement(RangeControl, {
|
|
48
|
+
__nextHasNoMarginBottom: true,
|
|
48
49
|
label: __('Image size'),
|
|
49
50
|
onChange: newWidth => setAttributes({
|
|
50
51
|
width: newWidth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/comment-author-avatar/edit.js"],"names":["InspectorControls","useBlockProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","store","blockEditorStore","PanelBody","ResizableBox","RangeControl","useEntityProp","useSelect","__","isRTL","Edit","attributes","context","commentId","setAttributes","isSelected","height","width","avatars","authorName","avatarUrls","Object","values","sizes","keys","minSize","maxSize","length","blockProps","spacingProps","maxSizeBuffer","Math","floor","avatarURL","select","getSettings","__experimentalDiscussionSettings","inspectorControls","newWidth","resizableAvatar","event","direction","elt","delta","parseInt","top","right","bottom","left"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,iBADD,EAECC,aAFD,EAGCC,wCAAwC,IAAIC,eAH7C,EAICC,KAAK,IAAIC,gBAJV,QAKO,yBALP;AAMA,SAASC,SAAT,EAAoBC,YAApB,EAAkCC,YAAlC,QAAsD,uBAAtD;AACA,SAASC,aAAT,QAA8B,sBAA9B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,EAAaC,KAAb,QAA0B,iBAA1B;AAEA,eAAe,SAASC,IAAT,OAKX;AAAA,MAL0B;AAC7BC,IAAAA,UAD6B;AAE7BC,IAAAA,OAAO,EAAE;AAAEC,MAAAA;AAAF,KAFoB;AAG7BC,IAAAA,aAH6B;AAI7BC,IAAAA;AAJ6B,GAK1B;AACH,QAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAoBN,UAA1B;AAEA,QAAM,CAAEO,OAAF,IAAcZ,aAAa,CAChC,MADgC,EAEhC,SAFgC,EAGhC,oBAHgC,EAIhCO,SAJgC,CAAjC;AAOA,QAAM,CAAEM,UAAF,IAAiBb,aAAa,CACnC,MADmC,EAEnC,SAFmC,EAGnC,aAHmC,EAInCO,SAJmC,CAApC;AAMA,QAAMO,UAAU,GAAGF,OAAO,GAAGG,MAAM,CAACC,MAAP,CAAeJ,OAAf,CAAH,GAA8B,IAAxD;AACA,QAAMK,KAAK,GAAGL,OAAO,GAAGG,MAAM,CAACG,IAAP,CAAaN,OAAb,CAAH,GAA4B,IAAjD;AACA,QAAMO,OAAO,GAAGF,KAAK,GAAGA,KAAK,CAAE,CAAF,CAAR,GAAgB,EAArC;AACA,QAAMG,OAAO,GAAGH,KAAK,GAAGA,KAAK,CAAEA,KAAK,CAACI,MAAN,GAAe,CAAjB,CAAR,GAA+B,EAApD;AACA,QAAMC,UAAU,GAAG9B,aAAa,EAAhC;AACA,QAAM+B,YAAY,GAAG7B,eAAe,CAAEW,UAAF,CAApC;AACA,QAAMmB,aAAa,GAAGC,IAAI,CAACC,KAAL,CAAYN,OAAO,GAAG,GAAtB,CAAtB;AACA,QAAM;AAAEO,IAAAA;AAAF,MAAgB1B,SAAS,CAAI2B,MAAF,IAAc;AAC9C,UAAM;AAAEC,MAAAA;AAAF,QAAkBD,MAAM,CAAEhC,gBAAF,CAA9B;AACA,UAAM;AAAEkC,MAAAA;AAAF,QAAuCD,WAAW,EAAxD;AACA,WAAOC,gCAAP;AACA,GAJ8B,CAA/B;AAMA,QAAMC,iBAAiB,GACtB,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAG7B,EAAE,CAAE,iBAAF;AAArB,KACC,cAAC,YAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,YAAF,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/comment-author-avatar/edit.js"],"names":["InspectorControls","useBlockProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","store","blockEditorStore","PanelBody","ResizableBox","RangeControl","useEntityProp","useSelect","__","isRTL","Edit","attributes","context","commentId","setAttributes","isSelected","height","width","avatars","authorName","avatarUrls","Object","values","sizes","keys","minSize","maxSize","length","blockProps","spacingProps","maxSizeBuffer","Math","floor","avatarURL","select","getSettings","__experimentalDiscussionSettings","inspectorControls","newWidth","resizableAvatar","event","direction","elt","delta","parseInt","top","right","bottom","left"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PanelBody, ResizableBox, RangeControl } from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\n\nexport default function Edit( {\n\tattributes,\n\tcontext: { commentId },\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { height, width } = attributes;\n\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst blockProps = useBlockProps();\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\tconst { avatarURL } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings;\n\t} );\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Avatar Settings' ) }>\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\twidth: newWidth,\n\t\t\t\t\t\t\theight: newWidth,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tmin={ minSize }\n\t\t\t\t\tmax={ maxSizeBuffer }\n\t\t\t\t\tinitialPosition={ width }\n\t\t\t\t\tvalue={ width }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst resizableAvatar = (\n\t\t<ResizableBox\n\t\t\tsize={ {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: parseInt( height + delta.height, 10 ),\n\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tlockAspectRatio\n\t\t\tenable={ {\n\t\t\t\ttop: false,\n\t\t\t\tright: ! isRTL(),\n\t\t\t\tbottom: true,\n\t\t\t\tleft: isRTL(),\n\t\t\t} }\n\t\t\tminWidth={ minSize }\n\t\t\tmaxWidth={ maxSizeBuffer }\n\t\t>\n\t\t\t<img\n\t\t\t\tsrc={\n\t\t\t\t\tavatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : avatarURL\n\t\t\t\t}\n\t\t\t\talt={ `${ authorName } ${ __( 'Avatar' ) }` }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</ResizableBox>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...spacingProps }>{ resizableAvatar }</div>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { createElement } from "@wordpress/element";
|
|
2
|
+
import { createElement, Fragment } from "@wordpress/element";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* WordPress dependencies
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { useMemo } from '@wordpress/element';
|
|
8
8
|
import { Button, ExternalLink, FocalPointPicker, PanelBody, PanelRow, RangeControl, TextareaControl, ToggleControl, __experimentalUseCustomUnits as useCustomUnits, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalUnitControl as UnitControl, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';
|
|
9
9
|
import { useInstanceId } from '@wordpress/compose';
|
|
10
10
|
import { InspectorControls, useSetting, __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown, __experimentalUseGradient, __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients } from '@wordpress/block-editor';
|
|
@@ -132,6 +132,7 @@ export default function CoverInspectorControls(_ref2) {
|
|
|
132
132
|
checked: isRepeated,
|
|
133
133
|
onChange: toggleIsRepeated
|
|
134
134
|
})), showFocalPointPicker && createElement(FocalPointPicker, {
|
|
135
|
+
__nextHasNoMarginBottom: true,
|
|
135
136
|
label: __('Focal point picker'),
|
|
136
137
|
url: url,
|
|
137
138
|
value: focalPoint,
|
|
@@ -141,6 +142,7 @@ export default function CoverInspectorControls(_ref2) {
|
|
|
141
142
|
focalPoint: newFocalPoint
|
|
142
143
|
})
|
|
143
144
|
}), !useFeaturedImage && url && isImageBackground && isImgElement && createElement(TextareaControl, {
|
|
145
|
+
__nextHasNoMarginBottom: true,
|
|
144
146
|
label: __('Alt text (alternative text)'),
|
|
145
147
|
value: alt,
|
|
146
148
|
onChange: newAlt => setAttributes({
|
|
@@ -165,7 +167,6 @@ export default function CoverInspectorControls(_ref2) {
|
|
|
165
167
|
}, __('Clear Media'))))), createElement(InspectorControls, {
|
|
166
168
|
__experimentalGroup: "color"
|
|
167
169
|
}, createElement(ColorGradientSettingsDropdown, _extends({
|
|
168
|
-
__experimentalHasMultipleOrigins: true,
|
|
169
170
|
__experimentalIsRenderedInSidebar: true,
|
|
170
171
|
settings: [{
|
|
171
172
|
colorValue: overlayColor.color,
|
|
@@ -198,6 +199,7 @@ export default function CoverInspectorControls(_ref2) {
|
|
|
198
199
|
isShownByDefault: true,
|
|
199
200
|
panelId: clientId
|
|
200
201
|
}, createElement(RangeControl, {
|
|
202
|
+
__nextHasNoMarginBottom: true,
|
|
201
203
|
label: __('Overlay opacity'),
|
|
202
204
|
value: dimRatio,
|
|
203
205
|
onChange: newDimRation => setAttributes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"names":["Fragment","useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSetting","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","__","COVER_MIN_HEIGHT","mediaPosition","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","isVideoBackground","isImageBackground","mediaElement","url","isImgElement","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","newFocalPoint","newAlt","id","backgroundType","colorValue","color","label","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","newDimRation","newMinHeight","nextUnit"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Fragment, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSetting,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\t\t\turl &&\n\t\t\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t\t\tisImgElement && (\n\t\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Alt text (alternative text)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t\tbackgroundType: undefined,\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t\thasParallax: undefined,\n\t\t\t\t\t\t\t\t\t\tisRepeated: undefined,\n\t\t\t\t\t\t\t\t\t\tuseFeaturedImage: false,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\tcustomGradient: undefined,\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\tpanelId={ clientId }\n\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { dimRatio: url ? 50 : 100 } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRation ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRation,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSetting","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","__","COVER_MIN_HEIGHT","mediaPosition","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","isVideoBackground","isImageBackground","mediaElement","url","isImgElement","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","newFocalPoint","newAlt","id","backgroundType","colorValue","color","label","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","newDimRation","newMinHeight","nextUnit"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSetting,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\t\t\turl &&\n\t\t\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t\t\tisImgElement && (\n\t\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Alt text (alternative text)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t\tbackgroundType: undefined,\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t\thasParallax: undefined,\n\t\t\t\t\t\t\t\t\t\tisRepeated: undefined,\n\t\t\t\t\t\t\t\t\t\tuseFeaturedImage: false,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\tcustomGradient: undefined,\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\tpanelId={ clientId }\n\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { dimRatio: url ? 50 : 100 } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRation ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRation,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -19,7 +19,8 @@ import { compose, withPreferredColorScheme } from '@wordpress/compose';
|
|
|
19
19
|
import { useDispatch, withSelect, withDispatch } from '@wordpress/data';
|
|
20
20
|
import { useEffect, useState, useRef, useCallback, useMemo } from '@wordpress/element';
|
|
21
21
|
import { cover as icon, replace, image, warning } from '@wordpress/icons';
|
|
22
|
-
import { getProtocol } from '@wordpress/url';
|
|
22
|
+
import { getProtocol } from '@wordpress/url'; // eslint-disable-next-line no-restricted-imports
|
|
23
|
+
|
|
23
24
|
import { store as editPostStore } from '@wordpress/edit-post';
|
|
24
25
|
/**
|
|
25
26
|
* Internal dependencies
|
|
@@ -38,6 +39,24 @@ const INNER_BLOCKS_TEMPLATE = [['core/paragraph', {
|
|
|
38
39
|
placeholder: __('Write title…')
|
|
39
40
|
}]];
|
|
40
41
|
|
|
42
|
+
function useIsScreenReaderEnabled() {
|
|
43
|
+
const [isScreenReaderEnabled, setIsScreenReaderEnabled] = useState(false);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
let mounted = true;
|
|
46
|
+
const changeListener = AccessibilityInfo.addEventListener('screenReaderChanged', enabled => setIsScreenReaderEnabled(enabled));
|
|
47
|
+
AccessibilityInfo.isScreenReaderEnabled().then(screenReaderEnabled => {
|
|
48
|
+
if (mounted && screenReaderEnabled) {
|
|
49
|
+
setIsScreenReaderEnabled(screenReaderEnabled);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return () => {
|
|
53
|
+
mounted = false;
|
|
54
|
+
changeListener.remove();
|
|
55
|
+
};
|
|
56
|
+
}, []);
|
|
57
|
+
return isScreenReaderEnabled;
|
|
58
|
+
}
|
|
59
|
+
|
|
41
60
|
const Cover = _ref => {
|
|
42
61
|
var _style$color, _styles$overlay;
|
|
43
62
|
|
|
@@ -71,21 +90,10 @@ const Cover = _ref => {
|
|
|
71
90
|
overlayColor,
|
|
72
91
|
isDark
|
|
73
92
|
} = attributes;
|
|
74
|
-
const
|
|
93
|
+
const isScreenReaderEnabled = useIsScreenReaderEnabled();
|
|
75
94
|
useEffect(() => {
|
|
76
|
-
|
|
77
|
-
|
|
95
|
+
// Sync with local media store.
|
|
78
96
|
mediaUploadSync();
|
|
79
|
-
const a11yInfoChangeSubscription = AccessibilityInfo.addEventListener('screenReaderChanged', setIsScreenReaderEnabled);
|
|
80
|
-
AccessibilityInfo.isScreenReaderEnabled().then(() => {
|
|
81
|
-
if (isCurrent) {
|
|
82
|
-
setIsScreenReaderEnabled();
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
return () => {
|
|
86
|
-
isCurrent = false;
|
|
87
|
-
a11yInfoChangeSubscription.remove();
|
|
88
|
-
};
|
|
89
97
|
}, []);
|
|
90
98
|
const convertedMinHeight = useConvertUnitToMobile(minHeight || COVER_DEFAULT_HEIGHT, minHeightUnit);
|
|
91
99
|
const isImage = backgroundType === MEDIA_TYPE_IMAGE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/edit.native.js"],"names":["View","TouchableWithoutFeedback","InteractionManager","AccessibilityInfo","Platform","Video","classnames","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","mediaUploadSync","__","Icon","Image","ImageEditingButton","IMAGE_DEFAULT_FOCAL_POINT","ToolbarButton","Gradient","ColorPalette","ColorPicker","BottomSheetConsumer","useConvertUnitToMobile","useMobileGlobalStylesColors","BlockControls","InnerBlocks","InspectorControls","MEDIA_TYPE_IMAGE","MediaPlaceholder","MediaUpload","MediaUploadProgress","getColorObjectByColorValue","getColorObjectByAttributeValues","getGradientValueBySlug","store","blockEditorStore","compose","withPreferredColorScheme","useDispatch","withSelect","withDispatch","useEffect","useState","useRef","useCallback","useMemo","cover","icon","replace","image","warning","getProtocol","editPostStore","styles","attributesFromMedia","ALLOWED_MEDIA_TYPES","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_DEFAULT_HEIGHT","Controls","useCoverIsDark","INNER_BLOCKS_TEMPLATE","align","placeholder","Cover","attributes","getStylesFromColorScheme","isParentSelected","onFocus","setAttributes","openGeneralSidebar","closeSettingsBottomSheet","isSelected","selectBlock","blockWidth","hasInnerBlocks","backgroundType","dimRatio","focalPoint","minHeight","url","id","style","customOverlayColor","minHeightUnit","allowedBlocks","templateLock","customGradient","gradient","overlayColor","isDark","isScreenReaderEnabled","setIsScreenReaderEnabled","isCurrent","a11yInfoChangeSubscription","addEventListener","then","remove","convertedMinHeight","isImage","THEME_COLORS_COUNT","colorsDefault","coverDefaultPalette","colors","slice","gradients","gradientValue","overlayColorValue","hasBackground","color","background","hasOnlyColorBackground","isCustomColorPickerShowing","setCustomColorPickerShowing","openMediaOptionsRef","isUploadInProgress","setIsUploadInProgress","didUploadFail","setDidUploadFail","shouldShowFailure","onSelectMedia","media","onSelect","onMediaPressed","isVideoLoading","setIsVideoLoading","onVideoLoadStart","onVideoLoad","onClearMedia","undefined","hasParallax","setColor","colorValue","slug","openColorPicker","__unstableMarkNextChangeAsNotPersistent","isCoverDark","childrenStyles","defaultColor","defaultColorLightMode","className","includes","backgroundColor","backgroundSolid","backgroundSolidDark","overlayStyles","overlay","opacity","overlaySelected","placeholderIconStyle","iconDark","placeholderIcon","toolbarControls","open","accessibilityHint","OS","addMediaButton","current","selectImageContainer","selectImage","selectImageIcon","onBottomSheetClosed","runAfterInteractions","colorPickerControls","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","onHandleClosingBottomSheet","onHandleHardwareButtonPress","isBottomSheetContentScrolling","renderContent","getMediaOptions","renderBackground","mediaServerId","mediaUrl","imageContainer","width","uri","mediaPlaceholderEmptyStateContainer","height","title","colorPaletteWrapper","paletteColorIndicator","paletteCustomIndicatorWrapper","backgroundContainer","content","overlayContainer","imageEditButton","destructiveButton","label","onPress","separated","value","uploadFailedContainer","uploadFailed","uploadFailedIcon","select","clientId","getSelectedBlockClientId","getBlock","selectedBlockClientId","getSettings","innerBlocks","length","settings","dispatch","closeGeneralSidebar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tInteractionManager,\n\tAccessibilityInfo,\n\tPlatform,\n} from 'react-native';\nimport Video from 'react-native-video';\nimport classnames from 'classnames/dedupe';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tImage,\n\tImageEditingButton,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tToolbarButton,\n\tGradient,\n\tColorPalette,\n\tColorPicker,\n\tBottomSheetConsumer,\n\tuseConvertUnitToMobile,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tInspectorControls,\n\tMEDIA_TYPE_IMAGE,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tgetColorObjectByColorValue,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useDispatch, withSelect, withDispatch } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { cover as icon, replace, image, warning } from '@wordpress/icons';\nimport { getProtocol } from '@wordpress/url';\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport {\n\tattributesFromMedia,\n\tALLOWED_MEDIA_TYPES,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_DEFAULT_HEIGHT,\n} from './shared';\nimport Controls from './controls';\nimport useCoverIsDark from './use-cover-is-dark';\n\n/**\n * Constants\n */\nconst INNER_BLOCKS_TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\talign: 'center',\n\t\t\tplaceholder: __( 'Write title…' ),\n\t\t},\n\t],\n];\n\nconst Cover = ( {\n\tattributes,\n\tgetStylesFromColorScheme,\n\tisParentSelected,\n\tonFocus,\n\tsetAttributes,\n\topenGeneralSidebar,\n\tcloseSettingsBottomSheet,\n\tisSelected,\n\tselectBlock,\n\tblockWidth,\n\thasInnerBlocks,\n} ) => {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\turl,\n\t\tid,\n\t\tstyle,\n\t\tcustomOverlayColor,\n\t\tminHeightUnit = 'px',\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\tcustomGradient,\n\t\tgradient,\n\t\toverlayColor,\n\t\tisDark,\n\t} = attributes;\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\n\t\t// Sync with local media store.\n\t\tmediaUploadSync();\n\t\tconst a11yInfoChangeSubscription = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\tsetIsScreenReaderEnabled\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then( () => {\n\t\t\tif ( isCurrent ) {\n\t\t\t\tsetIsScreenReaderEnabled();\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tisCurrent = false;\n\t\t\ta11yInfoChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tconst convertedMinHeight = useConvertUnitToMobile(\n\t\tminHeight || COVER_DEFAULT_HEIGHT,\n\t\tminHeightUnit\n\t);\n\n\tconst isImage = backgroundType === MEDIA_TYPE_IMAGE;\n\n\tconst THEME_COLORS_COUNT = 4;\n\tconst colorsDefault = useMobileGlobalStylesColors();\n\tconst coverDefaultPalette = useMemo( () => {\n\t\treturn {\n\t\t\tcolors: colorsDefault.slice( 0, THEME_COLORS_COUNT ),\n\t\t};\n\t}, [ colorsDefault ] );\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\tconst gradientValue =\n\t\tcustomGradient || getGradientValueBySlug( gradients, gradient );\n\tconst overlayColorValue = getColorObjectByAttributeValues(\n\t\tcolorsDefault,\n\t\toverlayColor\n\t);\n\n\tconst hasBackground = !! (\n\t\turl ||\n\t\t( style && style.color && style.color.background ) ||\n\t\tattributes.overlayColor ||\n\t\toverlayColorValue.color ||\n\t\tcustomOverlayColor ||\n\t\tgradientValue\n\t);\n\n\tconst hasOnlyColorBackground = ! url && ( hasBackground || hasInnerBlocks );\n\n\tconst [ isCustomColorPickerShowing, setCustomColorPickerShowing ] =\n\t\tuseState( false );\n\n\tconst openMediaOptionsRef = useRef();\n\n\t// Initialize uploading flag to false, awaiting sync.\n\tconst [ isUploadInProgress, setIsUploadInProgress ] = useState( false );\n\n\t// Initialize upload failure flag to true if url is local.\n\tconst [ didUploadFail, setDidUploadFail ] = useState(\n\t\tid && getProtocol( url ) === 'file:'\n\t);\n\n\t// Don't show failure if upload is in progress.\n\tconst shouldShowFailure = didUploadFail && ! isUploadInProgress;\n\n\tconst onSelectMedia = ( media ) => {\n\t\tsetDidUploadFail( false );\n\t\tconst onSelect = attributesFromMedia( setAttributes, dimRatio );\n\t\tonSelect( media );\n\t};\n\n\tconst onMediaPressed = () => {\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( id );\n\t\t} else if ( shouldShowFailure ) {\n\t\t\trequestImageFailedRetryDialog( id );\n\t\t} else if ( isImage && url ) {\n\t\t\trequestImageFullscreenPreview( url );\n\t\t}\n\t};\n\n\tconst [ isVideoLoading, setIsVideoLoading ] = useState( true );\n\n\tconst onVideoLoadStart = () => {\n\t\tsetIsVideoLoading( true );\n\t};\n\n\tconst onVideoLoad = () => {\n\t\tsetIsVideoLoading( false );\n\t};\n\n\tconst onClearMedia = useCallback( () => {\n\t\tsetAttributes( {\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tcloseSettingsBottomSheet();\n\t}, [ closeSettingsBottomSheet ] );\n\n\tfunction setColor( color ) {\n\t\tconst colorValue = getColorObjectByColorValue( colorsDefault, color );\n\n\t\tsetAttributes( {\n\t\t\t// Clear all related attributes (only one should be set).\n\t\t\toverlayColor: colorValue?.slug ?? undefined,\n\t\t\tcustomOverlayColor: ( ! colorValue?.slug && color ) ?? undefined,\n\t\t\tgradient: undefined,\n\t\t\tcustomGradient: undefined,\n\t\t} );\n\t}\n\n\tfunction openColorPicker() {\n\t\tselectBlock();\n\t\tsetCustomColorPickerShowing( true );\n\t\topenGeneralSidebar();\n\t}\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst isCoverDark = useCoverIsDark(\n\t\tisDark,\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColorValue?.color\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t// Used to set a default color for its InnerBlocks\n\t\t// since there's no system to inherit styles yet\n\t\t// the RichText component will check if there are\n\t\t// parent styles for the current block. If there are,\n\t\t// it will use that color instead.\n\t\tsetAttributes( {\n\t\t\tisDark: isCoverDark,\n\t\t\tchildrenStyles: isCoverDark\n\t\t\t\t? styles.defaultColor\n\t\t\t\t: styles.defaultColorLightMode,\n\t\t} );\n\n\t\t// Ensure that \"is-light\" is removed from \"className\" attribute if cover background is dark.\n\t\tif ( isCoverDark && attributes.className?.includes( 'is-light' ) ) {\n\t\t\tconst className = classnames( attributes.className, {\n\t\t\t\t'is-light': false,\n\t\t\t} );\n\t\t\tsetAttributes( {\n\t\t\t\tclassName: className !== '' ? className : undefined,\n\t\t\t} );\n\t\t}\n\t}, [ isCoverDark ] );\n\n\tconst backgroundColor = getStylesFromColorScheme(\n\t\tstyles.backgroundSolid,\n\t\tstyles.backgroundSolidDark\n\t);\n\n\tconst overlayStyles = [\n\t\tstyles.overlay,\n\t\turl && { opacity: dimRatio / 100 },\n\t\t! gradientValue && {\n\t\t\tbackgroundColor:\n\t\t\t\tcustomOverlayColor ||\n\t\t\t\toverlayColorValue?.color ||\n\t\t\t\tstyle?.color?.background ||\n\t\t\t\tstyles.overlay?.color,\n\t\t},\n\t\t// While we don't support theme colors we add a default bg color.\n\t\t! overlayColorValue.color && ! url ? backgroundColor : {},\n\t\tisImage &&\n\t\t\tisParentSelected &&\n\t\t\t! isUploadInProgress &&\n\t\t\t! didUploadFail &&\n\t\t\tstyles.overlaySelected,\n\t];\n\n\tconst placeholderIconStyle = getStylesFromColorScheme(\n\t\tstyles.icon,\n\t\tstyles.iconDark\n\t);\n\n\tconst placeholderIcon = <Icon icon={ icon } { ...placeholderIconStyle } />;\n\n\tconst toolbarControls = ( open ) => (\n\t\t<BlockControls group=\"other\">\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Edit cover media' ) }\n\t\t\t\ticon={ replace }\n\t\t\t\tonClick={ open }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet to add image or video' )\n\t\t\t: __( 'Double tap to open Bottom Sheet to add image or video' );\n\n\tconst addMediaButton = () => (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\taccessibilityRole=\"button\"\n\t\t\tonPress={ openMediaOptionsRef.current }\n\t\t>\n\t\t\t<View style={ styles.selectImageContainer }>\n\t\t\t\t<View style={ styles.selectImage }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tsize={ 16 }\n\t\t\t\t\t\ticon={ image }\n\t\t\t\t\t\t{ ...styles.selectImageIcon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n\n\tconst onBottomSheetClosed = useCallback( () => {\n\t\tInteractionManager.runAfterInteractions( () => {\n\t\t\tsetCustomColorPickerShowing( false );\n\t\t} );\n\t}, [] );\n\n\tconst colorPickerControls = (\n\t\t<InspectorControls>\n\t\t\t<BottomSheetConsumer>\n\t\t\t\t{ ( {\n\t\t\t\t\tshouldEnableBottomSheetScroll,\n\t\t\t\t\tshouldEnableBottomSheetMaxHeight,\n\t\t\t\t\tonHandleClosingBottomSheet,\n\t\t\t\t\tonHandleHardwareButtonPress,\n\t\t\t\t\tisBottomSheetContentScrolling,\n\t\t\t\t} ) => (\n\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight={\n\t\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetColor={ setColor }\n\t\t\t\t\t\tonNavigationBack={ closeSettingsBottomSheet }\n\t\t\t\t\t\tonHandleClosingBottomSheet={\n\t\t\t\t\t\t\tonHandleClosingBottomSheet\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonHandleHardwareButtonPress={\n\t\t\t\t\t\t\tonHandleHardwareButtonPress\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonBottomSheetClosed={ onBottomSheetClosed }\n\t\t\t\t\t\tisBottomSheetContentScrolling={\n\t\t\t\t\t\t\tisBottomSheetContentScrolling\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbottomLabelText={ __( 'Select a color' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BottomSheetConsumer>\n\t\t</InspectorControls>\n\t);\n\n\tconst renderContent = ( getMediaOptions ) => (\n\t\t<>\n\t\t\t{ renderBackground( getMediaOptions ) }\n\t\t\t{ isParentSelected && hasOnlyColorBackground && addMediaButton() }\n\t\t</>\n\t);\n\n\tconst renderBackground = ( getMediaOptions ) => (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isParentSelected }\n\t\t\tonPress={ onMediaPressed }\n\t\t\tdisabled={ ! isParentSelected }\n\t\t>\n\t\t\t<View style={ [ styles.background, backgroundColor ] }>\n\t\t\t\t{ getMediaOptions() }\n\t\t\t\t{ isParentSelected &&\n\t\t\t\t\tbackgroundType === VIDEO_BACKGROUND_TYPE &&\n\t\t\t\t\ttoolbarControls( openMediaOptionsRef.current ) }\n\t\t\t\t<MediaUploadProgress\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tonUpdateMediaProgress={ () => {\n\t\t\t\t\t\tsetIsUploadInProgress( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonFinishMediaUploadWithSuccess={ ( {\n\t\t\t\t\t\tmediaServerId,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( false );\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: mediaServerId,\n\t\t\t\t\t\t\turl: mediaUrl,\n\t\t\t\t\t\t\tbackgroundType,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tonFinishMediaUploadWithFailure={ () => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonMediaUploadStateReset={ () => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( false );\n\t\t\t\t\t\tsetAttributes( { id: undefined, url: undefined } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\n\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t<View style={ styles.imageContainer }>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\teditButton={ false }\n\t\t\t\t\t\t\tfocalPoint={\n\t\t\t\t\t\t\t\tfocalPoint || IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisSelected={ isParentSelected }\n\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptionsRef.current }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t<Video\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\trepeat\n\t\t\t\t\t\tresizeMode={ 'cover' }\n\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\tonLoad={ onVideoLoad }\n\t\t\t\t\t\tonLoadStart={ onVideoLoadStart }\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.background,\n\t\t\t\t\t\t\t// Hide Video component since it has black background while loading the source.\n\t\t\t\t\t\t\t{ opacity: isVideoLoading ? 0 : 1 },\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n\n\tif (\n\t\t( ! hasBackground && ! hasInnerBlocks ) ||\n\t\tisCustomColorPickerShowing\n\t) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t{ isCustomColorPickerShowing && colorPickerControls }\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\theight={\n\t\t\t\t\t\tstyles.mediaPlaceholderEmptyStateContainer?.height\n\t\t\t\t\t}\n\t\t\t\t\tbackgroundColor={ customOverlayColor }\n\t\t\t\t\thideContent={\n\t\t\t\t\t\tcustomOverlayColor !== '' &&\n\t\t\t\t\t\tcustomOverlayColor !== undefined\n\t\t\t\t\t}\n\t\t\t\t\ticon={ placeholderIcon }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles.colorPaletteWrapper }\n\t\t\t\t\t\tpointerEvents={\n\t\t\t\t\t\t\tisScreenReaderEnabled ? 'none' : 'auto'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BottomSheetConsumer>\n\t\t\t\t\t\t\t{ ( { shouldEnableBottomSheetScroll } ) => (\n\t\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\t\tcustomColorIndicatorStyles={\n\t\t\t\t\t\t\t\t\t\tstyles.paletteColorIndicator\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcustomIndicatorWrapperStyles={\n\t\t\t\t\t\t\t\t\t\tstyles.paletteCustomIndicatorWrapper\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsetColor={ setColor }\n\t\t\t\t\t\t\t\t\tonCustomPress={ openColorPicker }\n\t\t\t\t\t\t\t\t\tdefaultSettings={ coverDefaultPalette }\n\t\t\t\t\t\t\t\t\tshouldShowCustomLabel={ false }\n\t\t\t\t\t\t\t\t\tshouldShowCustomVerticalSeparator={ false }\n\t\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheetConsumer>\n\t\t\t\t\t</View>\n\t\t\t\t</MediaPlaceholder>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ styles.backgroundContainer }>\n\t\t\t{ isSelected && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<Controls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tdidUploadFail={ didUploadFail }\n\t\t\t\t\t\thasOnlyColorBackground={ hasOnlyColorBackground }\n\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\tonClearMedia={ onClearMedia }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\n\t\t\t<View\n\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\tstyle={ [ styles.content, { minHeight: convertedMinHeight } ] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\tallowedBlocks={ allowedBlocks }\n\t\t\t\t\ttemplate={ INNER_BLOCKS_TEMPLATE }\n\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\n\t\t\t<View pointerEvents=\"none\" style={ styles.overlayContainer }>\n\t\t\t\t<View style={ overlayStyles }>\n\t\t\t\t\t{ gradientValue && (\n\t\t\t\t\t\t<Gradient\n\t\t\t\t\t\t\tgradientValue={ gradientValue }\n\t\t\t\t\t\t\tstyle={ styles.background }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</View>\n\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\topenMediaOptionsRef.current = open;\n\t\t\t\t\treturn renderContent( getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\n\t\t\t{ isImage &&\n\t\t\t\turl &&\n\t\t\t\topenMediaOptionsRef.current &&\n\t\t\t\tisParentSelected &&\n\t\t\t\t! isUploadInProgress &&\n\t\t\t\t! didUploadFail && (\n\t\t\t\t\t<View style={ styles.imageEditButton }>\n\t\t\t\t\t\t<ImageEditingButton\n\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptionsRef.current }\n\t\t\t\t\t\t\tpickerOptions={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t{ shouldShowFailure && (\n\t\t\t\t<View\n\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\tstyle={ styles.uploadFailedContainer }\n\t\t\t\t>\n\t\t\t\t\t<View style={ styles.uploadFailed }>\n\t\t\t\t\t\t<Icon icon={ warning } { ...styles.uploadFailedIcon } />\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getSelectedBlockClientId, getBlock } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\tconst { getSettings } = select( blockEditorStore );\n\n\t\tconst hasInnerBlocks = getBlock( clientId )?.innerBlocks.length > 0;\n\n\t\treturn {\n\t\t\tsettings: getSettings(),\n\t\t\tisParentSelected: selectedBlockClientId === clientId,\n\t\t\thasInnerBlocks,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId } ) => {\n\t\tconst { openGeneralSidebar } = dispatch( editPostStore );\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\topenGeneralSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t\tcloseSettingsBottomSheet() {\n\t\t\t\tdispatch( editPostStore ).closeGeneralSidebar();\n\t\t\t},\n\t\t\tselectBlock: () => selectBlock( clientId ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( Cover );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/edit.native.js"],"names":["View","TouchableWithoutFeedback","InteractionManager","AccessibilityInfo","Platform","Video","classnames","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","mediaUploadSync","__","Icon","Image","ImageEditingButton","IMAGE_DEFAULT_FOCAL_POINT","ToolbarButton","Gradient","ColorPalette","ColorPicker","BottomSheetConsumer","useConvertUnitToMobile","useMobileGlobalStylesColors","BlockControls","InnerBlocks","InspectorControls","MEDIA_TYPE_IMAGE","MediaPlaceholder","MediaUpload","MediaUploadProgress","getColorObjectByColorValue","getColorObjectByAttributeValues","getGradientValueBySlug","store","blockEditorStore","compose","withPreferredColorScheme","useDispatch","withSelect","withDispatch","useEffect","useState","useRef","useCallback","useMemo","cover","icon","replace","image","warning","getProtocol","editPostStore","styles","attributesFromMedia","ALLOWED_MEDIA_TYPES","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_DEFAULT_HEIGHT","Controls","useCoverIsDark","INNER_BLOCKS_TEMPLATE","align","placeholder","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","mounted","changeListener","addEventListener","enabled","then","screenReaderEnabled","remove","Cover","attributes","getStylesFromColorScheme","isParentSelected","onFocus","setAttributes","openGeneralSidebar","closeSettingsBottomSheet","isSelected","selectBlock","blockWidth","hasInnerBlocks","backgroundType","dimRatio","focalPoint","minHeight","url","id","style","customOverlayColor","minHeightUnit","allowedBlocks","templateLock","customGradient","gradient","overlayColor","isDark","convertedMinHeight","isImage","THEME_COLORS_COUNT","colorsDefault","coverDefaultPalette","colors","slice","gradients","gradientValue","overlayColorValue","hasBackground","color","background","hasOnlyColorBackground","isCustomColorPickerShowing","setCustomColorPickerShowing","openMediaOptionsRef","isUploadInProgress","setIsUploadInProgress","didUploadFail","setDidUploadFail","shouldShowFailure","onSelectMedia","media","onSelect","onMediaPressed","isVideoLoading","setIsVideoLoading","onVideoLoadStart","onVideoLoad","onClearMedia","undefined","hasParallax","setColor","colorValue","slug","openColorPicker","__unstableMarkNextChangeAsNotPersistent","isCoverDark","childrenStyles","defaultColor","defaultColorLightMode","className","includes","backgroundColor","backgroundSolid","backgroundSolidDark","overlayStyles","overlay","opacity","overlaySelected","placeholderIconStyle","iconDark","placeholderIcon","toolbarControls","open","accessibilityHint","OS","addMediaButton","current","selectImageContainer","selectImage","selectImageIcon","onBottomSheetClosed","runAfterInteractions","colorPickerControls","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","onHandleClosingBottomSheet","onHandleHardwareButtonPress","isBottomSheetContentScrolling","renderContent","getMediaOptions","renderBackground","mediaServerId","mediaUrl","imageContainer","width","uri","mediaPlaceholderEmptyStateContainer","height","title","colorPaletteWrapper","paletteColorIndicator","paletteCustomIndicatorWrapper","backgroundContainer","content","overlayContainer","imageEditButton","destructiveButton","label","onPress","separated","value","uploadFailedContainer","uploadFailed","uploadFailedIcon","select","clientId","getSelectedBlockClientId","getBlock","selectedBlockClientId","getSettings","innerBlocks","length","settings","dispatch","closeGeneralSidebar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tInteractionManager,\n\tAccessibilityInfo,\n\tPlatform,\n} from 'react-native';\nimport Video from 'react-native-video';\nimport classnames from 'classnames/dedupe';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tImage,\n\tImageEditingButton,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tToolbarButton,\n\tGradient,\n\tColorPalette,\n\tColorPicker,\n\tBottomSheetConsumer,\n\tuseConvertUnitToMobile,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tInspectorControls,\n\tMEDIA_TYPE_IMAGE,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tgetColorObjectByColorValue,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useDispatch, withSelect, withDispatch } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { cover as icon, replace, image, warning } from '@wordpress/icons';\nimport { getProtocol } from '@wordpress/url';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport {\n\tattributesFromMedia,\n\tALLOWED_MEDIA_TYPES,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_DEFAULT_HEIGHT,\n} from './shared';\nimport Controls from './controls';\nimport useCoverIsDark from './use-cover-is-dark';\n\n/**\n * Constants\n */\nconst INNER_BLOCKS_TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\talign: 'center',\n\t\t\tplaceholder: __( 'Write title…' ),\n\t\t},\n\t],\n];\n\nfunction useIsScreenReaderEnabled() {\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tlet mounted = true;\n\n\t\tconst changeListener = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\t( enabled ) => setIsScreenReaderEnabled( enabled )\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tif ( mounted && screenReaderEnabled ) {\n\t\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\n\t\t\tchangeListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn isScreenReaderEnabled;\n}\n\nconst Cover = ( {\n\tattributes,\n\tgetStylesFromColorScheme,\n\tisParentSelected,\n\tonFocus,\n\tsetAttributes,\n\topenGeneralSidebar,\n\tcloseSettingsBottomSheet,\n\tisSelected,\n\tselectBlock,\n\tblockWidth,\n\thasInnerBlocks,\n} ) => {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\turl,\n\t\tid,\n\t\tstyle,\n\t\tcustomOverlayColor,\n\t\tminHeightUnit = 'px',\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\tcustomGradient,\n\t\tgradient,\n\t\toverlayColor,\n\t\tisDark,\n\t} = attributes;\n\tconst isScreenReaderEnabled = useIsScreenReaderEnabled();\n\n\tuseEffect( () => {\n\t\t// Sync with local media store.\n\t\tmediaUploadSync();\n\t}, [] );\n\n\tconst convertedMinHeight = useConvertUnitToMobile(\n\t\tminHeight || COVER_DEFAULT_HEIGHT,\n\t\tminHeightUnit\n\t);\n\n\tconst isImage = backgroundType === MEDIA_TYPE_IMAGE;\n\n\tconst THEME_COLORS_COUNT = 4;\n\tconst colorsDefault = useMobileGlobalStylesColors();\n\tconst coverDefaultPalette = useMemo( () => {\n\t\treturn {\n\t\t\tcolors: colorsDefault.slice( 0, THEME_COLORS_COUNT ),\n\t\t};\n\t}, [ colorsDefault ] );\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\tconst gradientValue =\n\t\tcustomGradient || getGradientValueBySlug( gradients, gradient );\n\tconst overlayColorValue = getColorObjectByAttributeValues(\n\t\tcolorsDefault,\n\t\toverlayColor\n\t);\n\n\tconst hasBackground = !! (\n\t\turl ||\n\t\t( style && style.color && style.color.background ) ||\n\t\tattributes.overlayColor ||\n\t\toverlayColorValue.color ||\n\t\tcustomOverlayColor ||\n\t\tgradientValue\n\t);\n\n\tconst hasOnlyColorBackground = ! url && ( hasBackground || hasInnerBlocks );\n\n\tconst [ isCustomColorPickerShowing, setCustomColorPickerShowing ] =\n\t\tuseState( false );\n\n\tconst openMediaOptionsRef = useRef();\n\n\t// Initialize uploading flag to false, awaiting sync.\n\tconst [ isUploadInProgress, setIsUploadInProgress ] = useState( false );\n\n\t// Initialize upload failure flag to true if url is local.\n\tconst [ didUploadFail, setDidUploadFail ] = useState(\n\t\tid && getProtocol( url ) === 'file:'\n\t);\n\n\t// Don't show failure if upload is in progress.\n\tconst shouldShowFailure = didUploadFail && ! isUploadInProgress;\n\n\tconst onSelectMedia = ( media ) => {\n\t\tsetDidUploadFail( false );\n\t\tconst onSelect = attributesFromMedia( setAttributes, dimRatio );\n\t\tonSelect( media );\n\t};\n\n\tconst onMediaPressed = () => {\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( id );\n\t\t} else if ( shouldShowFailure ) {\n\t\t\trequestImageFailedRetryDialog( id );\n\t\t} else if ( isImage && url ) {\n\t\t\trequestImageFullscreenPreview( url );\n\t\t}\n\t};\n\n\tconst [ isVideoLoading, setIsVideoLoading ] = useState( true );\n\n\tconst onVideoLoadStart = () => {\n\t\tsetIsVideoLoading( true );\n\t};\n\n\tconst onVideoLoad = () => {\n\t\tsetIsVideoLoading( false );\n\t};\n\n\tconst onClearMedia = useCallback( () => {\n\t\tsetAttributes( {\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tcloseSettingsBottomSheet();\n\t}, [ closeSettingsBottomSheet ] );\n\n\tfunction setColor( color ) {\n\t\tconst colorValue = getColorObjectByColorValue( colorsDefault, color );\n\n\t\tsetAttributes( {\n\t\t\t// Clear all related attributes (only one should be set).\n\t\t\toverlayColor: colorValue?.slug ?? undefined,\n\t\t\tcustomOverlayColor: ( ! colorValue?.slug && color ) ?? undefined,\n\t\t\tgradient: undefined,\n\t\t\tcustomGradient: undefined,\n\t\t} );\n\t}\n\n\tfunction openColorPicker() {\n\t\tselectBlock();\n\t\tsetCustomColorPickerShowing( true );\n\t\topenGeneralSidebar();\n\t}\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst isCoverDark = useCoverIsDark(\n\t\tisDark,\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColorValue?.color\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t// Used to set a default color for its InnerBlocks\n\t\t// since there's no system to inherit styles yet\n\t\t// the RichText component will check if there are\n\t\t// parent styles for the current block. If there are,\n\t\t// it will use that color instead.\n\t\tsetAttributes( {\n\t\t\tisDark: isCoverDark,\n\t\t\tchildrenStyles: isCoverDark\n\t\t\t\t? styles.defaultColor\n\t\t\t\t: styles.defaultColorLightMode,\n\t\t} );\n\n\t\t// Ensure that \"is-light\" is removed from \"className\" attribute if cover background is dark.\n\t\tif ( isCoverDark && attributes.className?.includes( 'is-light' ) ) {\n\t\t\tconst className = classnames( attributes.className, {\n\t\t\t\t'is-light': false,\n\t\t\t} );\n\t\t\tsetAttributes( {\n\t\t\t\tclassName: className !== '' ? className : undefined,\n\t\t\t} );\n\t\t}\n\t}, [ isCoverDark ] );\n\n\tconst backgroundColor = getStylesFromColorScheme(\n\t\tstyles.backgroundSolid,\n\t\tstyles.backgroundSolidDark\n\t);\n\n\tconst overlayStyles = [\n\t\tstyles.overlay,\n\t\turl && { opacity: dimRatio / 100 },\n\t\t! gradientValue && {\n\t\t\tbackgroundColor:\n\t\t\t\tcustomOverlayColor ||\n\t\t\t\toverlayColorValue?.color ||\n\t\t\t\tstyle?.color?.background ||\n\t\t\t\tstyles.overlay?.color,\n\t\t},\n\t\t// While we don't support theme colors we add a default bg color.\n\t\t! overlayColorValue.color && ! url ? backgroundColor : {},\n\t\tisImage &&\n\t\t\tisParentSelected &&\n\t\t\t! isUploadInProgress &&\n\t\t\t! didUploadFail &&\n\t\t\tstyles.overlaySelected,\n\t];\n\n\tconst placeholderIconStyle = getStylesFromColorScheme(\n\t\tstyles.icon,\n\t\tstyles.iconDark\n\t);\n\n\tconst placeholderIcon = <Icon icon={ icon } { ...placeholderIconStyle } />;\n\n\tconst toolbarControls = ( open ) => (\n\t\t<BlockControls group=\"other\">\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Edit cover media' ) }\n\t\t\t\ticon={ replace }\n\t\t\t\tonClick={ open }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet to add image or video' )\n\t\t\t: __( 'Double tap to open Bottom Sheet to add image or video' );\n\n\tconst addMediaButton = () => (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\taccessibilityRole=\"button\"\n\t\t\tonPress={ openMediaOptionsRef.current }\n\t\t>\n\t\t\t<View style={ styles.selectImageContainer }>\n\t\t\t\t<View style={ styles.selectImage }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tsize={ 16 }\n\t\t\t\t\t\ticon={ image }\n\t\t\t\t\t\t{ ...styles.selectImageIcon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n\n\tconst onBottomSheetClosed = useCallback( () => {\n\t\tInteractionManager.runAfterInteractions( () => {\n\t\t\tsetCustomColorPickerShowing( false );\n\t\t} );\n\t}, [] );\n\n\tconst colorPickerControls = (\n\t\t<InspectorControls>\n\t\t\t<BottomSheetConsumer>\n\t\t\t\t{ ( {\n\t\t\t\t\tshouldEnableBottomSheetScroll,\n\t\t\t\t\tshouldEnableBottomSheetMaxHeight,\n\t\t\t\t\tonHandleClosingBottomSheet,\n\t\t\t\t\tonHandleHardwareButtonPress,\n\t\t\t\t\tisBottomSheetContentScrolling,\n\t\t\t\t} ) => (\n\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight={\n\t\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetColor={ setColor }\n\t\t\t\t\t\tonNavigationBack={ closeSettingsBottomSheet }\n\t\t\t\t\t\tonHandleClosingBottomSheet={\n\t\t\t\t\t\t\tonHandleClosingBottomSheet\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonHandleHardwareButtonPress={\n\t\t\t\t\t\t\tonHandleHardwareButtonPress\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonBottomSheetClosed={ onBottomSheetClosed }\n\t\t\t\t\t\tisBottomSheetContentScrolling={\n\t\t\t\t\t\t\tisBottomSheetContentScrolling\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbottomLabelText={ __( 'Select a color' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BottomSheetConsumer>\n\t\t</InspectorControls>\n\t);\n\n\tconst renderContent = ( getMediaOptions ) => (\n\t\t<>\n\t\t\t{ renderBackground( getMediaOptions ) }\n\t\t\t{ isParentSelected && hasOnlyColorBackground && addMediaButton() }\n\t\t</>\n\t);\n\n\tconst renderBackground = ( getMediaOptions ) => (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isParentSelected }\n\t\t\tonPress={ onMediaPressed }\n\t\t\tdisabled={ ! isParentSelected }\n\t\t>\n\t\t\t<View style={ [ styles.background, backgroundColor ] }>\n\t\t\t\t{ getMediaOptions() }\n\t\t\t\t{ isParentSelected &&\n\t\t\t\t\tbackgroundType === VIDEO_BACKGROUND_TYPE &&\n\t\t\t\t\ttoolbarControls( openMediaOptionsRef.current ) }\n\t\t\t\t<MediaUploadProgress\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tonUpdateMediaProgress={ () => {\n\t\t\t\t\t\tsetIsUploadInProgress( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonFinishMediaUploadWithSuccess={ ( {\n\t\t\t\t\t\tmediaServerId,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( false );\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: mediaServerId,\n\t\t\t\t\t\t\turl: mediaUrl,\n\t\t\t\t\t\t\tbackgroundType,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tonFinishMediaUploadWithFailure={ () => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonMediaUploadStateReset={ () => {\n\t\t\t\t\t\tsetIsUploadInProgress( false );\n\t\t\t\t\t\tsetDidUploadFail( false );\n\t\t\t\t\t\tsetAttributes( { id: undefined, url: undefined } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\n\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t<View style={ styles.imageContainer }>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\teditButton={ false }\n\t\t\t\t\t\t\tfocalPoint={\n\t\t\t\t\t\t\t\tfocalPoint || IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisSelected={ isParentSelected }\n\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptionsRef.current }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t<Video\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\trepeat\n\t\t\t\t\t\tresizeMode={ 'cover' }\n\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\tonLoad={ onVideoLoad }\n\t\t\t\t\t\tonLoadStart={ onVideoLoadStart }\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.background,\n\t\t\t\t\t\t\t// Hide Video component since it has black background while loading the source.\n\t\t\t\t\t\t\t{ opacity: isVideoLoading ? 0 : 1 },\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n\n\tif (\n\t\t( ! hasBackground && ! hasInnerBlocks ) ||\n\t\tisCustomColorPickerShowing\n\t) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t{ isCustomColorPickerShowing && colorPickerControls }\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\theight={\n\t\t\t\t\t\tstyles.mediaPlaceholderEmptyStateContainer?.height\n\t\t\t\t\t}\n\t\t\t\t\tbackgroundColor={ customOverlayColor }\n\t\t\t\t\thideContent={\n\t\t\t\t\t\tcustomOverlayColor !== '' &&\n\t\t\t\t\t\tcustomOverlayColor !== undefined\n\t\t\t\t\t}\n\t\t\t\t\ticon={ placeholderIcon }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles.colorPaletteWrapper }\n\t\t\t\t\t\tpointerEvents={\n\t\t\t\t\t\t\tisScreenReaderEnabled ? 'none' : 'auto'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BottomSheetConsumer>\n\t\t\t\t\t\t\t{ ( { shouldEnableBottomSheetScroll } ) => (\n\t\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\t\tcustomColorIndicatorStyles={\n\t\t\t\t\t\t\t\t\t\tstyles.paletteColorIndicator\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcustomIndicatorWrapperStyles={\n\t\t\t\t\t\t\t\t\t\tstyles.paletteCustomIndicatorWrapper\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsetColor={ setColor }\n\t\t\t\t\t\t\t\t\tonCustomPress={ openColorPicker }\n\t\t\t\t\t\t\t\t\tdefaultSettings={ coverDefaultPalette }\n\t\t\t\t\t\t\t\t\tshouldShowCustomLabel={ false }\n\t\t\t\t\t\t\t\t\tshouldShowCustomVerticalSeparator={ false }\n\t\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheetConsumer>\n\t\t\t\t\t</View>\n\t\t\t\t</MediaPlaceholder>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ styles.backgroundContainer }>\n\t\t\t{ isSelected && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<Controls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tdidUploadFail={ didUploadFail }\n\t\t\t\t\t\thasOnlyColorBackground={ hasOnlyColorBackground }\n\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\tonClearMedia={ onClearMedia }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\n\t\t\t<View\n\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\tstyle={ [ styles.content, { minHeight: convertedMinHeight } ] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\tallowedBlocks={ allowedBlocks }\n\t\t\t\t\ttemplate={ INNER_BLOCKS_TEMPLATE }\n\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\n\t\t\t<View pointerEvents=\"none\" style={ styles.overlayContainer }>\n\t\t\t\t<View style={ overlayStyles }>\n\t\t\t\t\t{ gradientValue && (\n\t\t\t\t\t\t<Gradient\n\t\t\t\t\t\t\tgradientValue={ gradientValue }\n\t\t\t\t\t\t\tstyle={ styles.background }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</View>\n\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\topenMediaOptionsRef.current = open;\n\t\t\t\t\treturn renderContent( getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\n\t\t\t{ isImage &&\n\t\t\t\turl &&\n\t\t\t\topenMediaOptionsRef.current &&\n\t\t\t\tisParentSelected &&\n\t\t\t\t! isUploadInProgress &&\n\t\t\t\t! didUploadFail && (\n\t\t\t\t\t<View style={ styles.imageEditButton }>\n\t\t\t\t\t\t<ImageEditingButton\n\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptionsRef.current }\n\t\t\t\t\t\t\tpickerOptions={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t{ shouldShowFailure && (\n\t\t\t\t<View\n\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\tstyle={ styles.uploadFailedContainer }\n\t\t\t\t>\n\t\t\t\t\t<View style={ styles.uploadFailed }>\n\t\t\t\t\t\t<Icon icon={ warning } { ...styles.uploadFailedIcon } />\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getSelectedBlockClientId, getBlock } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\tconst { getSettings } = select( blockEditorStore );\n\n\t\tconst hasInnerBlocks = getBlock( clientId )?.innerBlocks.length > 0;\n\n\t\treturn {\n\t\t\tsettings: getSettings(),\n\t\t\tisParentSelected: selectedBlockClientId === clientId,\n\t\t\thasInnerBlocks,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId } ) => {\n\t\tconst { openGeneralSidebar } = dispatch( editPostStore );\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\topenGeneralSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t\tcloseSettingsBottomSheet() {\n\t\t\t\tdispatch( editPostStore ).closeGeneralSidebar();\n\t\t\t},\n\t\t\tselectBlock: () => selectBlock( clientId ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( Cover );\n"]}
|
|
@@ -11,7 +11,8 @@ import EmbedLinkSettings from './embed-link-settings';
|
|
|
11
11
|
import { __ } from '@wordpress/i18n';
|
|
12
12
|
import { PanelBody, ToggleControl } from '@wordpress/components';
|
|
13
13
|
import { InspectorControls } from '@wordpress/block-editor';
|
|
14
|
-
import { useDispatch } from '@wordpress/data';
|
|
14
|
+
import { useDispatch } from '@wordpress/data'; // eslint-disable-next-line no-restricted-imports
|
|
15
|
+
|
|
15
16
|
import { store as editPostStore } from '@wordpress/edit-post';
|
|
16
17
|
|
|
17
18
|
function getResponsiveHelp(checked) {
|