@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
|
@@ -50,6 +50,7 @@ var _useCoverIsDark = _interopRequireDefault(require("./use-cover-is-dark"));
|
|
|
50
50
|
/**
|
|
51
51
|
* WordPress dependencies
|
|
52
52
|
*/
|
|
53
|
+
// eslint-disable-next-line no-restricted-imports
|
|
53
54
|
|
|
54
55
|
/**
|
|
55
56
|
* Internal dependencies
|
|
@@ -63,6 +64,27 @@ const INNER_BLOCKS_TEMPLATE = [['core/paragraph', {
|
|
|
63
64
|
placeholder: (0, _i18n.__)('Write title…')
|
|
64
65
|
}]];
|
|
65
66
|
|
|
67
|
+
function useIsScreenReaderEnabled() {
|
|
68
|
+
const [isScreenReaderEnabled, setIsScreenReaderEnabled] = (0, _element.useState)(false);
|
|
69
|
+
(0, _element.useEffect)(() => {
|
|
70
|
+
let mounted = true;
|
|
71
|
+
|
|
72
|
+
const changeListener = _reactNative.AccessibilityInfo.addEventListener('screenReaderChanged', enabled => setIsScreenReaderEnabled(enabled));
|
|
73
|
+
|
|
74
|
+
_reactNative.AccessibilityInfo.isScreenReaderEnabled().then(screenReaderEnabled => {
|
|
75
|
+
if (mounted && screenReaderEnabled) {
|
|
76
|
+
setIsScreenReaderEnabled(screenReaderEnabled);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
return () => {
|
|
81
|
+
mounted = false;
|
|
82
|
+
changeListener.remove();
|
|
83
|
+
};
|
|
84
|
+
}, []);
|
|
85
|
+
return isScreenReaderEnabled;
|
|
86
|
+
}
|
|
87
|
+
|
|
66
88
|
const Cover = _ref => {
|
|
67
89
|
var _style$color, _styles$overlay;
|
|
68
90
|
|
|
@@ -96,24 +118,10 @@ const Cover = _ref => {
|
|
|
96
118
|
overlayColor,
|
|
97
119
|
isDark
|
|
98
120
|
} = attributes;
|
|
99
|
-
const
|
|
121
|
+
const isScreenReaderEnabled = useIsScreenReaderEnabled();
|
|
100
122
|
(0, _element.useEffect)(() => {
|
|
101
|
-
|
|
102
|
-
|
|
123
|
+
// Sync with local media store.
|
|
103
124
|
(0, _reactNativeBridge.mediaUploadSync)();
|
|
104
|
-
|
|
105
|
-
const a11yInfoChangeSubscription = _reactNative.AccessibilityInfo.addEventListener('screenReaderChanged', setIsScreenReaderEnabled);
|
|
106
|
-
|
|
107
|
-
_reactNative.AccessibilityInfo.isScreenReaderEnabled().then(() => {
|
|
108
|
-
if (isCurrent) {
|
|
109
|
-
setIsScreenReaderEnabled();
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
return () => {
|
|
114
|
-
isCurrent = false;
|
|
115
|
-
a11yInfoChangeSubscription.remove();
|
|
116
|
-
};
|
|
117
125
|
}, []);
|
|
118
126
|
const convertedMinHeight = (0, _components.useConvertUnitToMobile)(minHeight || _shared.COVER_DEFAULT_HEIGHT, minHeightUnit);
|
|
119
127
|
const isImage = backgroundType === _blockEditor.MEDIA_TYPE_IMAGE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/edit.native.js"],"names":["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","AccessibilityInfo","addEventListener","then","remove","convertedMinHeight","COVER_DEFAULT_HEIGHT","isImage","MEDIA_TYPE_IMAGE","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","blockEditorStore","isCoverDark","childrenStyles","styles","defaultColor","defaultColorLightMode","className","includes","backgroundColor","backgroundSolid","backgroundSolidDark","overlayStyles","overlay","opacity","overlaySelected","placeholderIconStyle","icon","iconDark","placeholderIcon","toolbarControls","open","replace","accessibilityHint","Platform","OS","addMediaButton","current","selectImageContainer","selectImage","image","selectImageIcon","onBottomSheetClosed","InteractionManager","runAfterInteractions","colorPickerControls","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","onHandleClosingBottomSheet","onHandleHardwareButtonPress","isBottomSheetContentScrolling","renderContent","getMediaOptions","renderBackground","VIDEO_BACKGROUND_TYPE","mediaServerId","mediaUrl","IMAGE_BACKGROUND_TYPE","imageContainer","IMAGE_DEFAULT_FOCAL_POINT","width","uri","mediaPlaceholderEmptyStateContainer","height","title","ALLOWED_MEDIA_TYPES","colorPaletteWrapper","paletteColorIndicator","paletteCustomIndicatorWrapper","backgroundContainer","content","overlayContainer","imageEditButton","destructiveButton","label","onPress","separated","value","uploadFailedContainer","uploadFailed","warning","uploadFailedIcon","select","clientId","getSelectedBlockClientId","getBlock","selectedBlockClientId","getSettings","innerBlocks","length","settings","dispatch","editPostStore","closeGeneralSidebar","withPreferredColorScheme"],"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":["INNER_BLOCKS_TEMPLATE","align","placeholder","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","mounted","changeListener","AccessibilityInfo","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","COVER_DEFAULT_HEIGHT","isImage","MEDIA_TYPE_IMAGE","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","blockEditorStore","isCoverDark","childrenStyles","styles","defaultColor","defaultColorLightMode","className","includes","backgroundColor","backgroundSolid","backgroundSolidDark","overlayStyles","overlay","opacity","overlaySelected","placeholderIconStyle","icon","iconDark","placeholderIcon","toolbarControls","open","replace","accessibilityHint","Platform","OS","addMediaButton","current","selectImageContainer","selectImage","image","selectImageIcon","onBottomSheetClosed","InteractionManager","runAfterInteractions","colorPickerControls","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","onHandleClosingBottomSheet","onHandleHardwareButtonPress","isBottomSheetContentScrolling","renderContent","getMediaOptions","renderBackground","VIDEO_BACKGROUND_TYPE","mediaServerId","mediaUrl","IMAGE_BACKGROUND_TYPE","imageContainer","IMAGE_DEFAULT_FOCAL_POINT","width","uri","mediaPlaceholderEmptyStateContainer","height","title","ALLOWED_MEDIA_TYPES","colorPaletteWrapper","paletteColorIndicator","paletteCustomIndicatorWrapper","backgroundContainer","content","overlayContainer","imageEditButton","destructiveButton","label","onPress","separated","value","uploadFailedContainer","uploadFailed","warning","uploadFailedIcon","select","clientId","getSelectedBlockClientId","getBlock","selectedBlockClientId","getSettings","innerBlocks","length","settings","dispatch","editPostStore","closeGeneralSidebar","withPreferredColorScheme"],"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"]}
|
|
@@ -28,6 +28,7 @@ var _editPost = require("@wordpress/edit-post");
|
|
|
28
28
|
/**
|
|
29
29
|
* WordPress dependencies
|
|
30
30
|
*/
|
|
31
|
+
// eslint-disable-next-line no-restricted-imports
|
|
31
32
|
function getResponsiveHelp(checked) {
|
|
32
33
|
return checked ? (0, _i18n.__)('This embed will preserve its aspect ratio when the browser is resized.') : (0, _i18n.__)('This embed may not preserve its aspect ratio when the browser is resized.');
|
|
33
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-controls.native.js"],"names":["getResponsiveHelp","checked","EmbedControls","blockSupportsResponsive","themeSupportsResponsive","allowResponsive","toggleResponsive","url","linkLabel","onEditURL","closeGeneralSidebar","closeSettingsBottomSheet","editPostStore","value"],"mappings":";;;;;;;;;;;AAGA;;AAIA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-controls.native.js"],"names":["getResponsiveHelp","checked","EmbedControls","blockSupportsResponsive","themeSupportsResponsive","allowResponsive","toggleResponsive","url","linkLabel","onEditURL","closeGeneralSidebar","closeSettingsBottomSheet","editPostStore","value"],"mappings":";;;;;;;;;;;AAGA;;AAIA;;AACA;;AACA;;AACA;;AAEA;;AAZA;AACA;AACA;;AAEA;AACA;AACA;AAKA;AAGA,SAASA,iBAAT,CAA4BC,OAA5B,EAAsC;AACrC,SAAOA,OAAO,GACX,cACA,wEADA,CADW,GAIX,cACA,2EADA,CAJH;AAOA;;AAED,MAAMC,aAAa,GAAG,QAQf;AAAA,MARiB;AACvBC,IAAAA,uBADuB;AAEvBC,IAAAA,uBAFuB;AAGvBC,IAAAA,eAHuB;AAIvBC,IAAAA,gBAJuB;AAKvBC,IAAAA,GALuB;AAMvBC,IAAAA,SANuB;AAOvBC,IAAAA;AAPuB,GAQjB;AACN,QAAM;AAAEC,IAAAA,mBAAmB,EAAEC;AAAvB,MACL,uBAAaC,eAAb,CADD;AAGA,SACC,qDACC,4BAAC,8BAAD,QACGR,uBAAuB,IAAID,uBAA3B,IACD,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,gBAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,4BAAJ,CADT;AAEC,IAAA,OAAO,EAAGE,eAFX;AAGC,IAAA,IAAI,EAAGL,iBAHR;AAIC,IAAA,QAAQ,EAAGM;AAJZ,IADD,CAFF,EAWC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,eAAJ;AAAnB,KACC,4BAAC,0BAAD;AACC,IAAA,KAAK,EAAGC,GADT;AAEC,IAAA,KAAK,EAAGC,SAFT;AAGC,IAAA,QAAQ,EAAKK,KAAF,IAAa;AACvBF,MAAAA,wBAAwB;AACxBF,MAAAA,SAAS,CAAEI,KAAF,CAAT;AACA;AANF,IADD,CAXD,CADD,CADD;AA0BA,CAtCD;;eAwCeX,a","sourcesContent":["/**\n * Internal dependencies\n */\nimport EmbedLinkSettings from './embed-link-settings';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useDispatch } from '@wordpress/data';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\nfunction getResponsiveHelp( checked ) {\n\treturn checked\n\t\t? __(\n\t\t\t\t'This embed will preserve its aspect ratio when the browser is resized.'\n\t\t )\n\t\t: __(\n\t\t\t\t'This embed may not preserve its aspect ratio when the browser is resized.'\n\t\t );\n}\n\nconst EmbedControls = ( {\n\tblockSupportsResponsive,\n\tthemeSupportsResponsive,\n\tallowResponsive,\n\ttoggleResponsive,\n\turl,\n\tlinkLabel,\n\tonEditURL,\n} ) => {\n\tconst { closeGeneralSidebar: closeSettingsBottomSheet } =\n\t\tuseDispatch( editPostStore );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ themeSupportsResponsive && blockSupportsResponsive && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Resize for smaller devices' ) }\n\t\t\t\t\t\t\tchecked={ allowResponsive }\n\t\t\t\t\t\t\thelp={ getResponsiveHelp }\n\t\t\t\t\t\t\tonChange={ toggleResponsive }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<EmbedLinkSettings\n\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\tlabel={ linkLabel }\n\t\t\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t\t\tcloseSettingsBottomSheet();\n\t\t\t\t\t\t\tonEditURL( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n};\n\nexport default EmbedControls;\n"]}
|
|
@@ -11,8 +11,6 @@ var _element = require("@wordpress/element");
|
|
|
11
11
|
|
|
12
12
|
var _reactNative = require("react-native");
|
|
13
13
|
|
|
14
|
-
var _lodash = require("lodash");
|
|
15
|
-
|
|
16
14
|
var _dedupe = _interopRequireDefault(require("classnames/dedupe"));
|
|
17
15
|
|
|
18
16
|
var _primitives = require("@wordpress/primitives");
|
|
@@ -70,7 +68,7 @@ const EmbedPreview = _ref => {
|
|
|
70
68
|
const sandboxAlignStyle = _styles.default[`embed-preview__sandbox--align-${align}`];
|
|
71
69
|
|
|
72
70
|
function accessibilityLabelCreator(caption) {
|
|
73
|
-
return
|
|
71
|
+
return !caption ?
|
|
74
72
|
/* translators: accessibility text. Empty Embed caption. */
|
|
75
73
|
(0, _i18n.__)('Embed caption. Empty') : (0, _i18n.sprintf)(
|
|
76
74
|
/* translators: accessibility text. %s: Embed caption. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-preview.native.js"],"names":["EmbedPreview","align","className","clientId","icon","insertBlocksAfter","isSelected","label","onFocus","preview","previewable","isProviderPreviewable","type","url","isDefaultEmbedInfo","isCaptionSelected","setIsCaptionSelected","locale","blockEditorStore","getSettings","wrapperStyle","styles","wrapperAlignStyle","sandboxAlignStyle","accessibilityLabelCreator","caption","onEmbedPreviewPress","onFocusCaption","provider_url","providerUrl","html","parsedHost","URL","host","split","parsedHostBaseUrl","splice","length","join","iframeTitle","sandboxClassnames","PreviewContent","WpEmbedPreview","SandBox","embedWrapper"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-preview.native.js"],"names":["EmbedPreview","align","className","clientId","icon","insertBlocksAfter","isSelected","label","onFocus","preview","previewable","isProviderPreviewable","type","url","isDefaultEmbedInfo","isCaptionSelected","setIsCaptionSelected","locale","blockEditorStore","getSettings","wrapperStyle","styles","wrapperAlignStyle","sandboxAlignStyle","accessibilityLabelCreator","caption","onEmbedPreviewPress","onFocusCaption","provider_url","providerUrl","html","parsedHost","URL","host","split","parsedHostBaseUrl","splice","length","join","iframeTitle","sandboxClassnames","PreviewContent","WpEmbedPreview","SandBox","embedWrapper"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\nimport classnames from 'classnames/dedupe';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tBlockCaption,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { memo, useState } from '@wordpress/element';\nimport { SandBox } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { getPhotoHtml } from './util';\nimport EmbedNoPreview from './embed-no-preview';\nimport WpEmbedPreview from './wp-embed-preview';\nimport styles from './styles.scss';\n\nconst EmbedPreview = ( {\n\talign,\n\tclassName,\n\tclientId,\n\ticon,\n\tinsertBlocksAfter,\n\tisSelected,\n\tlabel,\n\tonFocus,\n\tpreview,\n\tpreviewable,\n\tisProviderPreviewable,\n\ttype,\n\turl,\n\tisDefaultEmbedInfo,\n} ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tconst { locale } = useSelect( blockEditorStore ).getSettings();\n\n\tconst wrapperStyle = styles[ 'embed-preview__wrapper' ];\n\tconst wrapperAlignStyle =\n\t\tstyles[ `embed-preview__wrapper--align-${ align }` ];\n\tconst sandboxAlignStyle =\n\t\tstyles[ `embed-preview__sandbox--align-${ align }` ];\n\n\tfunction accessibilityLabelCreator( caption ) {\n\t\treturn ! caption\n\t\t\t? /* translators: accessibility text. Empty Embed caption. */\n\t\t\t __( 'Embed caption. Empty' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: Embed caption. */\n\t\t\t\t\t__( 'Embed caption. %s' ),\n\t\t\t\t\tcaption\n\t\t\t );\n\t}\n\n\tfunction onEmbedPreviewPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( onFocus ) {\n\t\t\tonFocus();\n\t\t}\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tconst { provider_url: providerUrl } = preview;\n\tconst html = 'photo' === type ? getPhotoHtml( preview ) : preview.html;\n\tconst parsedHost = new URL( url ).host.split( '.' );\n\tconst parsedHostBaseUrl = parsedHost\n\t\t.splice( parsedHost.length - 2, parsedHost.length - 1 )\n\t\t.join( '.' );\n\tconst iframeTitle = sprintf(\n\t\t// translators: %s: host providing embed content e.g: www.youtube.com\n\t\t__( 'Embedded content from %s' ),\n\t\tparsedHostBaseUrl\n\t);\n\tconst sandboxClassnames = classnames(\n\t\ttype,\n\t\tclassName,\n\t\t'wp-block-embed__wrapper'\n\t);\n\n\tconst PreviewContent = 'wp-embed' === type ? WpEmbedPreview : SandBox;\n\tconst embedWrapper = (\n\t\t<>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ () => {\n\t\t\t\t\tif ( onFocus ) {\n\t\t\t\t\t\tonFocus();\n\t\t\t\t\t}\n\t\t\t\t\tif ( isCaptionSelected ) {\n\t\t\t\t\t\tsetIsCaptionSelected( false );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tpointerEvents=\"box-only\"\n\t\t\t\t\tstyle={ [ wrapperStyle, wrapperAlignStyle ] }\n\t\t\t\t>\n\t\t\t\t\t<PreviewContent\n\t\t\t\t\t\thtml={ html }\n\t\t\t\t\t\tlang={ locale }\n\t\t\t\t\t\ttitle={ iframeTitle }\n\t\t\t\t\t\ttype={ sandboxClassnames }\n\t\t\t\t\t\tproviderUrl={ providerUrl }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tcontainerStyle={ sandboxAlignStyle }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</>\n\t);\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onEmbedPreviewPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t{ isProviderPreviewable && previewable ? (\n\t\t\t\t\tembedWrapper\n\t\t\t\t) : (\n\t\t\t\t\t<EmbedNoPreview\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonPress={ () => setIsCaptionSelected( false ) }\n\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\tisDefaultEmbedInfo={ isDefaultEmbedInfo }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessibilityLabelCreator={ accessibilityLabelCreator }\n\t\t\t\t\taccessible\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n};\n\nexport default memo( EmbedPreview );\n"]}
|
package/build/file/inspector.js
CHANGED
|
@@ -63,6 +63,7 @@ function FileBlockInspector(_ref) {
|
|
|
63
63
|
checked: !!displayPreview,
|
|
64
64
|
onChange: changeDisplayPreview
|
|
65
65
|
}), displayPreview && (0, _element.createElement)(_components.RangeControl, {
|
|
66
|
+
__nextHasNoMarginBottom: true,
|
|
66
67
|
label: (0, _i18n.__)('Height in pixels'),
|
|
67
68
|
min: _edit.MIN_PREVIEW_HEIGHT,
|
|
68
69
|
max: Math.max(_edit.MAX_PREVIEW_HEIGHT, previewHeight),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/file/inspector.js"],"names":["FileBlockInspector","hrefs","openInNewWindow","showDownloadButton","changeLinkDestinationOption","changeOpenInNewWindow","changeShowDownloadButton","displayPreview","changeDisplayPreview","previewHeight","changePreviewHeight","href","textLinkHref","attachmentPage","linkDestinationOptions","value","label","endsWith","MIN_PREVIEW_HEIGHT","Math","max","MAX_PREVIEW_HEIGHT"],"mappings":";;;;;;;;;AAGA;;AACA;;AAMA;;AAKA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGe,SAASA,kBAAT,OAWX;AAAA,MAXwC;AAC3CC,IAAAA,KAD2C;AAE3CC,IAAAA,eAF2C;AAG3CC,IAAAA,kBAH2C;AAI3CC,IAAAA,2BAJ2C;AAK3CC,IAAAA,qBAL2C;AAM3CC,IAAAA,wBAN2C;AAO3CC,IAAAA,cAP2C;AAQ3CC,IAAAA,oBAR2C;AAS3CC,IAAAA,aAT2C;AAU3CC,IAAAA;AAV2C,GAWxC;AACH,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,YAAR;AAAsBC,IAAAA;AAAtB,MAAyCZ,KAA/C;AAEA,MAAIa,sBAAsB,GAAG,CAAE;AAAEC,IAAAA,KAAK,EAAEJ,IAAT;AAAeK,IAAAA,KAAK,EAAE,cAAI,KAAJ;AAAtB,GAAF,CAA7B;;AACA,MAAKH,cAAL,EAAsB;AACrBC,IAAAA,sBAAsB,GAAG,CACxB;AAAEC,MAAAA,KAAK,EAAEJ,IAAT;AAAeK,MAAAA,KAAK,EAAE,cAAI,YAAJ;AAAtB,KADwB,EAExB;AAAED,MAAAA,KAAK,EAAEF,cAAT;AAAyBG,MAAAA,KAAK,EAAE,cAAI,iBAAJ;AAAhC,KAFwB,CAAzB;AAIA;;AAED,SACC,qDACC,4BAAC,8BAAD,QACGL,IAAI,CAACM,QAAL,CAAe,MAAf,KACD,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,cAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,mBAAJ,CADT;AAEC,IAAA,IAAI,EACHV,cAAc,GACX,cACA,mEADA,CADW,GAIX,IAPL;AASC,IAAA,OAAO,EAAG,CAAC,CAAEA,cATd;AAUC,IAAA,QAAQ,EAAGC;AAVZ,IADD,EAaGD,cAAc,IACf,4BAAC,wBAAD;AACC,IAAA,KAAK,EAAG,cAAI,kBAAJ,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/file/inspector.js"],"names":["FileBlockInspector","hrefs","openInNewWindow","showDownloadButton","changeLinkDestinationOption","changeOpenInNewWindow","changeShowDownloadButton","displayPreview","changeDisplayPreview","previewHeight","changePreviewHeight","href","textLinkHref","attachmentPage","linkDestinationOptions","value","label","endsWith","MIN_PREVIEW_HEIGHT","Math","max","MAX_PREVIEW_HEIGHT"],"mappings":";;;;;;;;;AAGA;;AACA;;AAMA;;AAKA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGe,SAASA,kBAAT,OAWX;AAAA,MAXwC;AAC3CC,IAAAA,KAD2C;AAE3CC,IAAAA,eAF2C;AAG3CC,IAAAA,kBAH2C;AAI3CC,IAAAA,2BAJ2C;AAK3CC,IAAAA,qBAL2C;AAM3CC,IAAAA,wBAN2C;AAO3CC,IAAAA,cAP2C;AAQ3CC,IAAAA,oBAR2C;AAS3CC,IAAAA,aAT2C;AAU3CC,IAAAA;AAV2C,GAWxC;AACH,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,YAAR;AAAsBC,IAAAA;AAAtB,MAAyCZ,KAA/C;AAEA,MAAIa,sBAAsB,GAAG,CAAE;AAAEC,IAAAA,KAAK,EAAEJ,IAAT;AAAeK,IAAAA,KAAK,EAAE,cAAI,KAAJ;AAAtB,GAAF,CAA7B;;AACA,MAAKH,cAAL,EAAsB;AACrBC,IAAAA,sBAAsB,GAAG,CACxB;AAAEC,MAAAA,KAAK,EAAEJ,IAAT;AAAeK,MAAAA,KAAK,EAAE,cAAI,YAAJ;AAAtB,KADwB,EAExB;AAAED,MAAAA,KAAK,EAAEF,cAAT;AAAyBG,MAAAA,KAAK,EAAE,cAAI,iBAAJ;AAAhC,KAFwB,CAAzB;AAIA;;AAED,SACC,qDACC,4BAAC,8BAAD,QACGL,IAAI,CAACM,QAAL,CAAe,MAAf,KACD,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,cAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,mBAAJ,CADT;AAEC,IAAA,IAAI,EACHV,cAAc,GACX,cACA,mEADA,CADW,GAIX,IAPL;AASC,IAAA,OAAO,EAAG,CAAC,CAAEA,cATd;AAUC,IAAA,QAAQ,EAAGC;AAVZ,IADD,EAaGD,cAAc,IACf,4BAAC,wBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CAFT;AAGC,IAAA,GAAG,EAAGW,wBAHP;AAIC,IAAA,GAAG,EAAGC,IAAI,CAACC,GAAL,CACLC,wBADK,EAELZ,aAFK,CAJP;AAQC,IAAA,KAAK,EAAGA,aART;AASC,IAAA,QAAQ,EAAGC;AATZ,IAdF,CAFF,EA8BC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,SAAJ,CADT;AAEC,IAAA,KAAK,EAAGE,YAFT;AAGC,IAAA,OAAO,EAAGE,sBAHX;AAIC,IAAA,QAAQ,EAAGV;AAJZ,IADD,EAOC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,OAAO,EAAGF,eAFX;AAGC,IAAA,QAAQ,EAAGG;AAHZ,IAPD,EAYC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,sBAAJ,CADT;AAEC,IAAA,OAAO,EAAGF,kBAFX;AAGC,IAAA,QAAQ,EAAGG;AAHZ,IAZD,CA9BD,CADD,CADD;AAqDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tSelectControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport { InspectorControls } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { MIN_PREVIEW_HEIGHT, MAX_PREVIEW_HEIGHT } from './edit';\n\nexport default function FileBlockInspector( {\n\threfs,\n\topenInNewWindow,\n\tshowDownloadButton,\n\tchangeLinkDestinationOption,\n\tchangeOpenInNewWindow,\n\tchangeShowDownloadButton,\n\tdisplayPreview,\n\tchangeDisplayPreview,\n\tpreviewHeight,\n\tchangePreviewHeight,\n} ) {\n\tconst { href, textLinkHref, attachmentPage } = hrefs;\n\n\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\tif ( attachmentPage ) {\n\t\tlinkDestinationOptions = [\n\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t];\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ href.endsWith( '.pdf' ) && (\n\t\t\t\t\t<PanelBody title={ __( 'PDF settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show inline embed' ) }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tdisplayPreview\n\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\"Note: Most phone and tablet browsers won't display embedded PDFs.\"\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ !! displayPreview }\n\t\t\t\t\t\t\tonChange={ changeDisplayPreview }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayPreview && (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Height in pixels' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\t\t\tmax={ Math.max(\n\t\t\t\t\t\t\t\t\tMAX_PREVIEW_HEIGHT,\n\t\t\t\t\t\t\t\t\tpreviewHeight\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ previewHeight }\n\t\t\t\t\t\t\t\tonChange={ changePreviewHeight }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\tonChange={ changeLinkDestinationOption }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewWindow }\n\t\t\t\t\t\tonChange={ changeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\tonChange={ changeShowDownloadButton }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"]}
|
package/build/freeform/edit.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.default =
|
|
8
|
+
exports.default = FreeformEdit;
|
|
9
9
|
|
|
10
10
|
var _element = require("@wordpress/element");
|
|
11
11
|
|
|
@@ -23,6 +23,8 @@ var _keycodes = require("@wordpress/keycodes");
|
|
|
23
23
|
|
|
24
24
|
var _convertToBlocksButton = _interopRequireDefault(require("./convert-to-blocks-button"));
|
|
25
25
|
|
|
26
|
+
var _modal = _interopRequireDefault(require("./modal"));
|
|
27
|
+
|
|
26
28
|
/**
|
|
27
29
|
* WordPress dependencies
|
|
28
30
|
*/
|
|
@@ -53,6 +55,22 @@ function isTmceEmpty(editor) {
|
|
|
53
55
|
return /^\n?$/.test(body.innerText || body.textContent);
|
|
54
56
|
}
|
|
55
57
|
|
|
58
|
+
function FreeformEdit(props) {
|
|
59
|
+
const {
|
|
60
|
+
clientId
|
|
61
|
+
} = props;
|
|
62
|
+
const canRemove = (0, _data.useSelect)(select => select(_blockEditor.store).canRemoveBlock(clientId), [clientId]);
|
|
63
|
+
const [isIframed, setIsIframed] = (0, _element.useState)(false);
|
|
64
|
+
const ref = (0, _compose.useRefEffect)(element => {
|
|
65
|
+
setIsIframed(element.ownerDocument !== document);
|
|
66
|
+
}, []);
|
|
67
|
+
return (0, _element.createElement)(_element.Fragment, null, canRemove && (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_convertToBlocksButton.default, {
|
|
68
|
+
clientId: clientId
|
|
69
|
+
}))), (0, _element.createElement)("div", (0, _blockEditor.useBlockProps)({
|
|
70
|
+
ref
|
|
71
|
+
}), isIframed ? (0, _element.createElement)(_modal.default, props) : (0, _element.createElement)(ClassicEdit, props)));
|
|
72
|
+
}
|
|
73
|
+
|
|
56
74
|
function ClassicEdit(_ref) {
|
|
57
75
|
let {
|
|
58
76
|
clientId,
|
|
@@ -65,7 +83,6 @@ function ClassicEdit(_ref) {
|
|
|
65
83
|
const {
|
|
66
84
|
getMultiSelectedBlockClientIds
|
|
67
85
|
} = (0, _data.useSelect)(_blockEditor.store);
|
|
68
|
-
const canRemove = (0, _data.useSelect)(select => select(_blockEditor.store).canRemoveBlock(clientId), [clientId]);
|
|
69
86
|
const didMount = (0, _element.useRef)(false);
|
|
70
87
|
(0, _element.useEffect)(() => {
|
|
71
88
|
if (!didMount.current) {
|
|
@@ -232,9 +249,7 @@ function ClassicEdit(_ref) {
|
|
|
232
249
|
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
233
250
|
|
|
234
251
|
|
|
235
|
-
return (0, _element.createElement)(_element.Fragment, null,
|
|
236
|
-
clientId: clientId
|
|
237
|
-
}))), (0, _element.createElement)("div", (0, _blockEditor.useBlockProps)(), (0, _element.createElement)("div", {
|
|
252
|
+
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("div", {
|
|
238
253
|
key: "toolbar",
|
|
239
254
|
id: `toolbar-${clientId}`,
|
|
240
255
|
className: "block-library-classic__toolbar",
|
|
@@ -245,7 +260,7 @@ function ClassicEdit(_ref) {
|
|
|
245
260
|
key: "editor",
|
|
246
261
|
id: `editor-${clientId}`,
|
|
247
262
|
className: "wp-block-freeform block-library-rich-text__tinymce"
|
|
248
|
-
}))
|
|
263
|
+
}));
|
|
249
264
|
/* eslint-enable jsx-a11y/no-static-element-interactions */
|
|
250
265
|
}
|
|
251
266
|
//# sourceMappingURL=edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/freeform/edit.js"],"names":["wp","window","isTmceEmpty","editor","body","getBody","childNodes","length","test","innerText","textContent","ClassicEdit","clientId","attributes","content","setAttributes","onReplace","getMultiSelectedBlockClientIds","blockEditorStore","canRemove","select","canRemoveBlock","didMount","current","tinymce","get","currentContent","getContent","setContent","baseURL","suffix","wpEditorL10n","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","document","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","value","_lastChange","cancel","event","isKeyboardEvent","primary","stopPropagation","keyCode","BACKSPACE","DELETE","preventDefault","stopImmediatePropagation","altKey","F10","rootNode","ownerDocument","activeElement","blur","focus","initialize","settings","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { ToolbarGroup } from '@wordpress/components';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\n\nconst { wp } = window;\n\nfunction isTmceEmpty( editor ) {\n\t// When tinyMce is empty the content seems to be:\n\t// <p><br data-mce-bogus=\"1\"></p>\n\t// avoid expensive checks for large documents\n\tconst body = editor.getBody();\n\tif ( body.childNodes.length > 1 ) {\n\t\treturn false;\n\t} else if ( body.childNodes.length === 0 ) {\n\t\treturn true;\n\t}\n\tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n\t\treturn false;\n\t}\n\treturn /^\\n?$/.test( body.innerText || body.textContent );\n}\n\nexport default function ClassicEdit( {\n\tclientId,\n\tattributes: { content },\n\tsetAttributes,\n\tonReplace,\n} ) {\n\tconst { getMultiSelectedBlockClientIds } = useSelect( blockEditorStore );\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst didMount = useRef( false );\n\n\tuseEffect( () => {\n\t\tif ( ! didMount.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tconst currentContent = editor?.getContent();\n\n\t\tif ( currentContent !== content ) {\n\t\t\teditor.setContent( content || '' );\n\t\t}\n\t}, [ content ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = window.wpEditorL10n.tinymce;\n\n\t\tdidMount.current = true;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( content ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( content ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\tif ( ! getMultiSelectedBlockClientIds()?.length ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: editor.getContent(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif ( scrollContainer.scrollTop !== scrollPosition ) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst value = editor.getContent();\n\n\t\t\t\tif ( value !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = value;\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 250 );\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t( event.keyCode === BACKSPACE ||\n\t\t\t\t\t\tevent.keyCode === DELETE ) &&\n\t\t\t\t\tisTmceEmpty( editor )\n\t\t\t\t) {\n\t\t\t\t\t// Delete the block.\n\t\t\t\t\tonReplace( [] );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = window.wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ clientId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ clientId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ clientId }` );\n\t\t};\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton clientId={ clientId } />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<div\n\t\t\t\t\tkey=\"toolbar\"\n\t\t\t\t\tid={ `toolbar-${ clientId }` }\n\t\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\t\tonClick={ focus }\n\t\t\t\t\tdata-placeholder={ __( 'Classic' ) }\n\t\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tkey=\"editor\"\n\t\t\t\t\tid={ `editor-${ clientId }` }\n\t\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/freeform/edit.js"],"names":["wp","window","isTmceEmpty","editor","body","getBody","childNodes","length","test","innerText","textContent","FreeformEdit","props","clientId","canRemove","select","blockEditorStore","canRemoveBlock","isIframed","setIsIframed","ref","element","ownerDocument","document","ClassicEdit","attributes","content","setAttributes","onReplace","getMultiSelectedBlockClientIds","didMount","current","tinymce","get","currentContent","getContent","setContent","baseURL","suffix","wpEditorL10n","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","value","_lastChange","cancel","event","isKeyboardEvent","primary","stopPropagation","keyCode","BACKSPACE","DELETE","preventDefault","stopImmediatePropagation","altKey","F10","rootNode","activeElement","blur","focus","initialize","settings","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { debounce, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { ToolbarGroup } from '@wordpress/components';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\nimport ModalEdit from './modal';\n\nconst { wp } = window;\n\nfunction isTmceEmpty( editor ) {\n\t// When tinyMce is empty the content seems to be:\n\t// <p><br data-mce-bogus=\"1\"></p>\n\t// avoid expensive checks for large documents\n\tconst body = editor.getBody();\n\tif ( body.childNodes.length > 1 ) {\n\t\treturn false;\n\t} else if ( body.childNodes.length === 0 ) {\n\t\treturn true;\n\t}\n\tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n\t\treturn false;\n\t}\n\treturn /^\\n?$/.test( body.innerText || body.textContent );\n}\n\nexport default function FreeformEdit( props ) {\n\tconst { clientId } = props;\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst [ isIframed, setIsIframed ] = useState( false );\n\tconst ref = useRefEffect( ( element ) => {\n\t\tsetIsIframed( element.ownerDocument !== document );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton clientId={ clientId } />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...useBlockProps( { ref } ) }>\n\t\t\t\t{ isIframed ? (\n\t\t\t\t\t<ModalEdit { ...props } />\n\t\t\t\t) : (\n\t\t\t\t\t<ClassicEdit { ...props } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction ClassicEdit( {\n\tclientId,\n\tattributes: { content },\n\tsetAttributes,\n\tonReplace,\n} ) {\n\tconst { getMultiSelectedBlockClientIds } = useSelect( blockEditorStore );\n\tconst didMount = useRef( false );\n\n\tuseEffect( () => {\n\t\tif ( ! didMount.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tconst currentContent = editor?.getContent();\n\n\t\tif ( currentContent !== content ) {\n\t\t\teditor.setContent( content || '' );\n\t\t}\n\t}, [ content ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = window.wpEditorL10n.tinymce;\n\n\t\tdidMount.current = true;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( content ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( content ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\tif ( ! getMultiSelectedBlockClientIds()?.length ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: editor.getContent(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif ( scrollContainer.scrollTop !== scrollPosition ) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst value = editor.getContent();\n\n\t\t\t\tif ( value !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = value;\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 250 );\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t( event.keyCode === BACKSPACE ||\n\t\t\t\t\t\tevent.keyCode === DELETE ) &&\n\t\t\t\t\tisTmceEmpty( editor )\n\t\t\t\t) {\n\t\t\t\t\t// Delete the block.\n\t\t\t\t\tonReplace( [] );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = window.wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ clientId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ clientId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ clientId }` );\n\t\t};\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tkey=\"toolbar\"\n\t\t\t\tid={ `toolbar-${ clientId }` }\n\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\tonClick={ focus }\n\t\t\t\tdata-placeholder={ __( 'Classic' ) }\n\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tkey=\"editor\"\n\t\t\t\tid={ `editor-${ clientId }` }\n\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t/>\n\t\t</>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = ModalEdit;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
11
|
+
|
|
12
|
+
var _components = require("@wordpress/components");
|
|
13
|
+
|
|
14
|
+
var _i18n = require("@wordpress/i18n");
|
|
15
|
+
|
|
16
|
+
var _data = require("@wordpress/data");
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* WordPress dependencies
|
|
20
|
+
*/
|
|
21
|
+
function ClassicEdit(props) {
|
|
22
|
+
const styles = (0, _data.useSelect)(select => select(_blockEditor.store).getSettings().styles);
|
|
23
|
+
(0, _element.useEffect)(() => {
|
|
24
|
+
const {
|
|
25
|
+
baseURL,
|
|
26
|
+
suffix,
|
|
27
|
+
settings
|
|
28
|
+
} = window.wpEditorL10n.tinymce;
|
|
29
|
+
window.tinymce.EditorManager.overrideDefaults({
|
|
30
|
+
base_url: baseURL,
|
|
31
|
+
suffix
|
|
32
|
+
});
|
|
33
|
+
window.wp.oldEditor.initialize(props.id, {
|
|
34
|
+
tinymce: { ...settings,
|
|
35
|
+
height: 500,
|
|
36
|
+
|
|
37
|
+
setup(editor) {
|
|
38
|
+
editor.on('init', () => {
|
|
39
|
+
const doc = editor.getDoc();
|
|
40
|
+
styles.forEach(_ref => {
|
|
41
|
+
let {
|
|
42
|
+
css
|
|
43
|
+
} = _ref;
|
|
44
|
+
const styleEl = doc.createElement('style');
|
|
45
|
+
styleEl.innerHTML = css;
|
|
46
|
+
doc.head.appendChild(styleEl);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return () => {
|
|
54
|
+
window.wp.oldEditor.remove(props.id);
|
|
55
|
+
};
|
|
56
|
+
}, []);
|
|
57
|
+
return (0, _element.createElement)("textarea", props);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function ModalEdit(props) {
|
|
61
|
+
const {
|
|
62
|
+
clientId,
|
|
63
|
+
attributes: {
|
|
64
|
+
content
|
|
65
|
+
},
|
|
66
|
+
setAttributes,
|
|
67
|
+
onReplace
|
|
68
|
+
} = props;
|
|
69
|
+
const [isOpen, setOpen] = (0, _element.useState)(false);
|
|
70
|
+
const id = `editor-${clientId}`;
|
|
71
|
+
const label = (0, _i18n.__)('Classic Edit');
|
|
72
|
+
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.ToolbarButton, {
|
|
73
|
+
onClick: () => setOpen(true)
|
|
74
|
+
}, label))), content && (0, _element.createElement)(_element.RawHTML, null, content), (isOpen || !content) && (0, _element.createElement)(_components.Modal, {
|
|
75
|
+
title: label,
|
|
76
|
+
__experimentalHideHeader: true
|
|
77
|
+
}, (0, _element.createElement)("h2", {
|
|
78
|
+
style: {
|
|
79
|
+
display: 'flex',
|
|
80
|
+
justifyContent: 'space-between'
|
|
81
|
+
}
|
|
82
|
+
}, (0, _element.createElement)("div", null, label), (0, _element.createElement)("div", null, (0, _element.createElement)(_components.Button, {
|
|
83
|
+
onClick: () => content ? setOpen(false) : onReplace([])
|
|
84
|
+
}, (0, _i18n.__)('Cancel')), (0, _element.createElement)(_components.Button, {
|
|
85
|
+
isPrimary: true,
|
|
86
|
+
onClick: () => {
|
|
87
|
+
setAttributes({
|
|
88
|
+
content: window.wp.oldEditor.getContent(id)
|
|
89
|
+
});
|
|
90
|
+
setOpen(false);
|
|
91
|
+
}
|
|
92
|
+
}, (0, _i18n.__)('Save')))), (0, _element.createElement)(ClassicEdit, {
|
|
93
|
+
id: id,
|
|
94
|
+
defaultValue: content
|
|
95
|
+
})));
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=modal.js.map
|