@wordpress/block-library 7.1.0 → 7.3.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 +13 -0
- package/README.md +1 -1
- package/build/archives/edit.js +21 -1
- package/build/archives/edit.js.map +1 -1
- package/build/archives/index.js +5 -1
- package/build/archives/index.js.map +1 -1
- package/build/audio/edit.native.js +0 -5
- package/build/audio/edit.native.js.map +1 -1
- package/build/avatar/edit.js +211 -0
- package/build/avatar/edit.js.map +1 -0
- package/build/avatar/hooks.js +111 -0
- package/build/avatar/hooks.js.map +1 -0
- package/build/avatar/index.js +83 -0
- package/build/avatar/index.js.map +1 -0
- package/build/avatar/user-control.js +63 -0
- package/build/avatar/user-control.js.map +1 -0
- package/build/block/edit.js +2 -1
- package/build/block/edit.js.map +1 -1
- package/build/column/index.js +3 -1
- package/build/column/index.js.map +1 -1
- package/build/comment-author-avatar/index.js +4 -3
- package/build/comment-author-avatar/index.js.map +1 -1
- package/build/comment-author-name/index.js +7 -3
- package/build/comment-author-name/index.js.map +1 -1
- package/build/comment-content/index.js +1 -1
- package/build/comment-date/edit.js +10 -25
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-date/index.js +7 -3
- package/build/comment-date/index.js.map +1 -1
- package/build/comment-edit-link/index.js +5 -1
- package/build/comment-edit-link/index.js.map +1 -1
- package/build/comment-reply-link/index.js +5 -1
- package/build/comment-reply-link/index.js.map +1 -1
- package/build/comment-template/edit.js +86 -66
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/hooks.js +7 -23
- package/build/comment-template/hooks.js.map +1 -1
- package/build/comment-template/index.js +2 -2
- package/build/comments-pagination-next/index.js +2 -2
- package/build/comments-pagination-numbers/index.js +1 -1
- package/build/comments-pagination-previous/index.js +1 -1
- package/build/comments-query-loop/edit/comments-inspector-controls.js +2 -69
- package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
- package/build/comments-query-loop/edit.js +22 -1
- package/build/comments-query-loop/edit.js.map +1 -1
- package/build/comments-query-loop/index.js +1 -23
- package/build/comments-query-loop/index.js.map +1 -1
- package/build/cover/edit.js +58 -39
- package/build/cover/edit.js.map +1 -1
- package/build/cover/index.js +5 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +3 -2
- package/build/cover/save.js.map +1 -1
- package/build/embed/variations.js +2 -2
- package/build/embed/variations.js.map +1 -1
- package/build/gallery/edit.js +18 -5
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +1 -1
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gap-styles.js +35 -0
- package/build/gallery/gap-styles.js.map +1 -0
- package/build/gallery/index.js +18 -1
- package/build/gallery/index.js.map +1 -1
- package/build/group/edit.js +3 -1
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +1 -1
- package/build/group/variations.js +30 -9
- package/build/group/variations.js.map +1 -1
- package/build/heading/edit.js +1 -1
- package/build/heading/edit.js.map +1 -1
- package/build/html/edit.js +3 -2
- package/build/html/edit.js.map +1 -1
- package/build/image/edit.native.js +8 -10
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +3 -1
- package/build/image/image.js.map +1 -1
- package/build/index.js +10 -4
- package/build/index.js.map +1 -1
- package/build/list/deprecated.js +2 -2
- package/build/list/deprecated.js.map +1 -1
- package/build/list/index.js +5 -7
- package/build/list/index.js.map +1 -1
- package/build/list/v2/deprecated.js +117 -0
- package/build/list/v2/deprecated.js.map +1 -0
- package/build/list/v2/edit.js +188 -0
- package/build/list/v2/edit.js.map +1 -0
- package/build/list/v2/index.js +36 -0
- package/build/list/v2/index.js.map +1 -0
- package/build/list/v2/migrate.js +85 -0
- package/build/list/v2/migrate.js.map +1 -0
- package/build/list/v2/save.js +34 -0
- package/build/list/v2/save.js.map +1 -0
- package/build/list/v2/transforms.js +121 -0
- package/build/list/v2/transforms.js.map +1 -0
- package/build/list-item/edit.js +96 -0
- package/build/list-item/edit.js.map +1 -0
- package/build/list-item/hooks/index.js +32 -0
- package/build/list-item/hooks/index.js.map +1 -0
- package/build/list-item/hooks/use-enter.js +93 -0
- package/build/list-item/hooks/use-enter.js.map +1 -0
- package/build/list-item/hooks/use-indent-list-item.js +74 -0
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -0
- package/build/list-item/hooks/use-outdent-list-item.js +77 -0
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -0
- package/build/list-item/index.js +67 -0
- package/build/list-item/index.js.map +1 -0
- package/build/list-item/save.js +23 -0
- package/build/list-item/save.js.map +1 -0
- package/build/list-item/utils.js +16 -0
- package/build/list-item/utils.js.map +1 -0
- package/build/media-text/edit.js +3 -1
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/media-container.native.js +1 -16
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/navigation/edit/index.js +36 -17
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +34 -7
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/index.js +9 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/use-navigation-entities.js +26 -54
- package/build/navigation/use-navigation-entities.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +1 -0
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +95 -37
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +1 -1
- package/build/navigation-submenu/edit.js +5 -9
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/navigation-submenu/index.js +1 -1
- package/build/post-comment/edit.js +2 -2
- package/build/post-comment/edit.js.map +1 -1
- package/build/post-comments-form/edit.js +3 -2
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-date/edit.js +31 -37
- package/build/post-date/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +2 -1
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +1 -1
- package/build/post-template/edit.js +7 -2
- package/build/post-template/edit.js.map +1 -1
- package/build/post-terms/edit.js +3 -1
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/variations.js +1 -1
- package/build/post-terms/variations.js.map +1 -1
- package/build/pullquote/edit.js +5 -3
- package/build/pullquote/edit.js.map +1 -1
- package/build/query/variations.js +4 -4
- package/build/query/variations.js.map +1 -1
- package/build/query-no-results/edit.js +28 -0
- package/build/query-no-results/edit.js.map +1 -0
- package/build/query-no-results/index.js +54 -0
- package/build/query-no-results/index.js.map +1 -0
- package/build/query-no-results/save.js +18 -0
- package/build/query-no-results/save.js.map +1 -0
- package/build/query-pagination/edit.js +1 -1
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination-numbers/index.js +19 -1
- package/build/query-pagination-numbers/index.js.map +1 -1
- package/build/quote/index.js +15 -8
- package/build/quote/index.js.map +1 -1
- package/build/quote/v2/deprecated.js +133 -0
- package/build/quote/v2/deprecated.js.map +1 -0
- package/build/quote/v2/edit.js +131 -0
- package/build/quote/v2/edit.js.map +1 -0
- package/build/quote/v2/index.js +49 -0
- package/build/quote/v2/index.js.map +1 -0
- package/build/quote/v2/save.js +43 -0
- package/build/quote/v2/save.js.map +1 -0
- package/build/quote/v2/transforms.js +156 -0
- package/build/quote/v2/transforms.js.map +1 -0
- package/build/read-more/index.js +1 -1
- package/build/rss/edit.js +6 -1
- package/build/rss/edit.js.map +1 -1
- package/build/search/edit.js +2 -3
- package/build/search/edit.js.map +1 -1
- package/build/separator/deprecated.js +83 -0
- package/build/separator/deprecated.js.map +1 -0
- package/build/separator/edit.js +31 -23
- package/build/separator/edit.js.map +1 -1
- package/build/separator/index.js +17 -7
- package/build/separator/index.js.map +1 -1
- package/build/separator/save.js +18 -13
- package/build/separator/save.js.map +1 -1
- package/build/separator/use-deprecated-opacity.js +39 -0
- package/build/separator/use-deprecated-opacity.js.map +1 -0
- package/build/site-logo/edit.js +3 -2
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +1 -1
- package/build/social-links/edit.js +14 -3
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/index.js +2 -1
- package/build/social-links/index.js.map +1 -1
- package/build/spacer/controls.js +6 -16
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/controls.native.js +3 -1
- package/build/spacer/controls.native.js.map +1 -1
- package/build/spacer/edit.js +4 -5
- package/build/spacer/edit.js.map +1 -1
- package/build/table/deprecated.js +1 -1
- package/build/table/deprecated.js.map +1 -1
- package/build/tag-cloud/edit.js +58 -2
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/tag-cloud/index.js +8 -0
- package/build/tag-cloud/index.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +5 -2
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/archives/edit.js +22 -2
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/archives/index.js +5 -1
- package/build-module/archives/index.js.map +1 -1
- package/build-module/audio/edit.native.js +0 -5
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/avatar/edit.js +195 -0
- package/build-module/avatar/edit.js.map +1 -0
- package/build-module/avatar/hooks.js +99 -0
- package/build-module/avatar/hooks.js.map +1 -0
- package/build-module/avatar/index.js +70 -0
- package/build-module/avatar/index.js.map +1 -0
- package/build-module/avatar/user-control.js +52 -0
- package/build-module/avatar/user-control.js.map +1 -0
- package/build-module/block/edit.js +4 -3
- package/build-module/block/edit.js.map +1 -1
- package/build-module/column/index.js +3 -1
- package/build-module/column/index.js.map +1 -1
- package/build-module/comment-author-avatar/index.js +4 -3
- package/build-module/comment-author-avatar/index.js.map +1 -1
- package/build-module/comment-author-name/index.js +7 -3
- package/build-module/comment-author-name/index.js.map +1 -1
- package/build-module/comment-content/index.js +1 -1
- package/build-module/comment-date/edit.js +13 -30
- package/build-module/comment-date/edit.js.map +1 -1
- package/build-module/comment-date/index.js +7 -3
- package/build-module/comment-date/index.js.map +1 -1
- package/build-module/comment-edit-link/index.js +5 -1
- package/build-module/comment-edit-link/index.js.map +1 -1
- package/build-module/comment-reply-link/index.js +5 -1
- package/build-module/comment-reply-link/index.js.map +1 -1
- package/build-module/comment-template/edit.js +86 -66
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/hooks.js +7 -23
- package/build-module/comment-template/hooks.js.map +1 -1
- package/build-module/comment-template/index.js +2 -2
- package/build-module/comments-pagination-next/index.js +2 -2
- package/build-module/comments-pagination-numbers/index.js +1 -1
- package/build-module/comments-pagination-previous/index.js +1 -1
- package/build-module/comments-query-loop/edit/comments-inspector-controls.js +4 -70
- package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/comments-query-loop/edit.js +22 -1
- package/build-module/comments-query-loop/edit.js.map +1 -1
- package/build-module/comments-query-loop/index.js +1 -23
- package/build-module/comments-query-loop/index.js.map +1 -1
- package/build-module/cover/edit.js +58 -41
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/cover/index.js +5 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +3 -2
- package/build-module/cover/save.js.map +1 -1
- package/build-module/embed/variations.js +2 -2
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/gallery/edit.js +17 -5
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +1 -1
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gap-styles.js +28 -0
- package/build-module/gallery/gap-styles.js.map +1 -0
- package/build-module/gallery/index.js +18 -1
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/group/edit.js +3 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +1 -1
- package/build-module/group/variations.js +29 -9
- package/build-module/group/variations.js.map +1 -1
- package/build-module/heading/edit.js +1 -1
- package/build-module/heading/edit.js.map +1 -1
- package/build-module/html/edit.js +4 -3
- package/build-module/html/edit.js.map +1 -1
- package/build-module/image/edit.native.js +8 -10
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +3 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +7 -4
- package/build-module/index.js.map +1 -1
- package/build-module/list/deprecated.js +2 -2
- package/build-module/list/deprecated.js.map +1 -1
- package/build-module/list/index.js +5 -1
- package/build-module/list/index.js.map +1 -1
- package/build-module/list/v2/deprecated.js +104 -0
- package/build-module/list/v2/deprecated.js.map +1 -0
- package/build-module/list/v2/edit.js +168 -0
- package/build-module/list/v2/edit.js.map +1 -0
- package/build-module/list/v2/index.js +21 -0
- package/build-module/list/v2/index.js.map +1 -0
- package/build-module/list/v2/migrate.js +77 -0
- package/build-module/list/v2/migrate.js.map +1 -0
- package/build-module/list/v2/save.js +23 -0
- package/build-module/list/v2/save.js.map +1 -0
- package/build-module/list/v2/transforms.js +111 -0
- package/build-module/list/v2/transforms.js.map +1 -0
- package/build-module/list-item/edit.js +83 -0
- package/build-module/list-item/edit.js.map +1 -0
- package/build-module/list-item/hooks/index.js +4 -0
- package/build-module/list-item/hooks/index.js.map +1 -0
- package/build-module/list-item/hooks/use-enter.js +77 -0
- package/build-module/list-item/hooks/use-enter.js.map +1 -0
- package/build-module/list-item/hooks/use-indent-list-item.js +62 -0
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -0
- package/build-module/list-item/hooks/use-outdent-list-item.js +66 -0
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -0
- package/build-module/list-item/index.js +53 -0
- package/build-module/list-item/index.js.map +1 -0
- package/build-module/list-item/save.js +15 -0
- package/build-module/list-item/save.js.map +1 -0
- package/build-module/list-item/utils.js +8 -0
- package/build-module/list-item/utils.js.map +1 -0
- package/build-module/media-text/edit.js +3 -1
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/media-container.native.js +1 -14
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/navigation/edit/index.js +37 -17
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +35 -8
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/index.js +9 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/use-navigation-entities.js +27 -54
- package/build-module/navigation/use-navigation-entities.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +1 -0
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +95 -36
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +1 -1
- package/build-module/navigation-submenu/edit.js +6 -10
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/navigation-submenu/index.js +1 -1
- package/build-module/post-comment/edit.js +2 -2
- package/build-module/post-comment/edit.js.map +1 -1
- package/build-module/post-comments-form/edit.js +3 -2
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-date/edit.js +32 -43
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +2 -1
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +1 -1
- package/build-module/post-template/edit.js +7 -2
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +4 -2
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/variations.js +3 -3
- package/build-module/post-terms/variations.js.map +1 -1
- package/build-module/pullquote/edit.js +6 -3
- package/build-module/pullquote/edit.js.map +1 -1
- package/build-module/query/variations.js +4 -4
- package/build-module/query/variations.js.map +1 -1
- package/build-module/query-no-results/edit.js +18 -0
- package/build-module/query-no-results/edit.js.map +1 -0
- package/build-module/query-no-results/index.js +40 -0
- package/build-module/query-no-results/index.js.map +1 -0
- package/build-module/query-no-results/save.js +10 -0
- package/build-module/query-no-results/save.js.map +1 -0
- package/build-module/query-pagination/edit.js +1 -1
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +19 -1
- package/build-module/query-pagination-numbers/index.js.map +1 -1
- package/build-module/quote/index.js +13 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/v2/deprecated.js +116 -0
- package/build-module/quote/v2/deprecated.js.map +1 -0
- package/build-module/quote/v2/edit.js +115 -0
- package/build-module/quote/v2/edit.js.map +1 -0
- package/build-module/quote/v2/index.js +33 -0
- package/build-module/quote/v2/index.js.map +1 -0
- package/build-module/quote/v2/save.js +30 -0
- package/build-module/quote/v2/save.js.map +1 -0
- package/build-module/quote/v2/transforms.js +147 -0
- package/build-module/quote/v2/transforms.js.map +1 -0
- package/build-module/read-more/index.js +1 -1
- package/build-module/rss/edit.js +5 -1
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/search/edit.js +2 -3
- package/build-module/search/edit.js.map +1 -1
- package/build-module/separator/deprecated.js +70 -0
- package/build-module/separator/deprecated.js.map +1 -0
- package/build-module/separator/edit.js +31 -22
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/separator/index.js +16 -7
- package/build-module/separator/index.js.map +1 -1
- package/build-module/separator/save.js +19 -14
- package/build-module/separator/save.js.map +1 -1
- package/build-module/separator/use-deprecated-opacity.js +30 -0
- package/build-module/separator/use-deprecated-opacity.js.map +1 -0
- package/build-module/site-logo/edit.js +3 -2
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +1 -1
- package/build-module/social-links/edit.js +15 -4
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/index.js +2 -1
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/spacer/controls.js +8 -19
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/spacer/controls.native.js +2 -1
- package/build-module/spacer/controls.native.js.map +1 -1
- package/build-module/spacer/edit.js +3 -3
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/table/deprecated.js +1 -1
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/tag-cloud/edit.js +60 -4
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/tag-cloud/index.js +8 -0
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +5 -2
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-style/avatar/editor-rtl.css +83 -0
- package/build-style/avatar/editor.css +83 -0
- package/build-style/avatar/style-rtl.css +79 -0
- package/build-style/avatar/style.css +79 -0
- package/build-style/editor-rtl.css +53 -11
- package/build-style/editor.css +53 -11
- package/build-style/gallery/editor-rtl.css +0 -1
- package/build-style/gallery/editor.css +0 -1
- package/build-style/gallery/style-rtl.css +102 -169
- package/build-style/gallery/style.css +102 -169
- package/build-style/group/editor-rtl.css +26 -0
- package/build-style/group/editor.css +26 -0
- package/build-style/heading/style-rtl.css +0 -8
- package/build-style/heading/style.css +0 -8
- package/build-style/image/style-rtl.css +2 -0
- package/build-style/image/style.css +2 -0
- package/build-style/list/style-rtl.css +1 -1
- package/build-style/list/style.css +1 -1
- package/build-style/navigation/style-rtl.css +11 -9
- package/build-style/navigation/style.css +11 -9
- package/build-style/navigation-link/editor-rtl.css +13 -0
- package/build-style/navigation-link/editor.css +13 -0
- package/build-style/navigation-link/style-rtl.css +3 -0
- package/build-style/navigation-link/style.css +3 -0
- package/build-style/paragraph/style-rtl.css +0 -4
- package/build-style/paragraph/style.css +0 -4
- package/build-style/pullquote/style-rtl.css +0 -4
- package/build-style/pullquote/style.css +0 -4
- package/build-style/quote/style-rtl.css +1 -0
- package/build-style/quote/style.css +1 -0
- package/build-style/reset-rtl.css +1 -1
- package/build-style/reset.css +1 -1
- package/build-style/separator/editor-rtl.css +3 -0
- package/build-style/separator/editor.css +3 -0
- package/build-style/separator/theme-rtl.css +7 -1
- package/build-style/separator/theme.css +7 -1
- package/build-style/site-logo/editor-rtl.css +3 -1
- package/build-style/site-logo/editor.css +3 -1
- package/build-style/style-rtl.css +124 -195
- package/build-style/style.css +124 -195
- package/build-style/template-part/editor-rtl.css +0 -9
- package/build-style/template-part/editor.css +0 -9
- package/build-style/theme-rtl.css +7 -1
- package/build-style/theme.css +7 -1
- package/package.json +28 -28
- package/src/archives/block.json +5 -1
- package/src/archives/edit.js +20 -2
- package/src/archives/index.php +4 -4
- package/src/audio/edit.native.js +0 -5
- package/src/avatar/block.json +53 -0
- package/src/avatar/edit.js +230 -0
- package/src/avatar/editor.scss +9 -0
- package/src/avatar/hooks.js +96 -0
- package/src/avatar/index.js +18 -0
- package/src/avatar/index.php +146 -0
- package/src/avatar/style.scss +5 -0
- package/src/avatar/user-control.js +56 -0
- package/src/block/edit.js +21 -11
- package/src/column/block.json +3 -1
- package/src/comment-author-avatar/block.json +4 -3
- package/src/comment-author-name/block.json +7 -3
- package/src/comment-author-name/index.php +3 -0
- package/src/comment-content/block.json +1 -1
- package/src/comment-date/block.json +7 -3
- package/src/comment-date/edit.js +20 -30
- package/src/comment-date/index.php +6 -1
- package/src/comment-edit-link/block.json +5 -1
- package/src/comment-edit-link/index.php +3 -0
- package/src/comment-reply-link/block.json +5 -1
- package/src/comment-reply-link/index.php +4 -1
- package/src/comment-template/block.json +2 -8
- package/src/comment-template/edit.js +77 -64
- package/src/comment-template/hooks.js +8 -24
- package/src/comment-template/index.php +1 -3
- package/src/comments-pagination-next/block.json +2 -9
- package/src/comments-pagination-numbers/block.json +2 -8
- package/src/comments-pagination-previous/block.json +2 -2
- package/src/comments-query-loop/block.json +1 -23
- package/src/comments-query-loop/edit/comments-inspector-controls.js +2 -83
- package/src/comments-query-loop/edit.js +54 -1
- package/src/cover/block.json +5 -0
- package/src/cover/edit.js +103 -60
- package/src/cover/index.php +85 -0
- package/src/cover/save.js +18 -14
- package/src/editor.scss +1 -0
- package/src/embed/variations.js +2 -2
- package/src/gallery/block.json +18 -1
- package/src/gallery/deprecated.scss +2 -2
- package/src/gallery/edit.js +15 -8
- package/src/gallery/editor.scss +0 -1
- package/src/gallery/gallery.js +8 -7
- package/src/gallery/gap-styles.js +26 -0
- package/src/gallery/index.php +43 -1
- package/src/gallery/style.scss +11 -44
- package/src/group/block.json +1 -1
- package/src/group/edit.js +4 -1
- package/src/group/editor.scss +31 -0
- package/src/group/variations.js +21 -4
- package/src/heading/edit.js +1 -1
- package/src/heading/style.scss +0 -3
- package/src/html/edit.js +22 -30
- package/src/image/edit.native.js +7 -11
- package/src/image/image.js +4 -1
- package/src/image/style.scss +3 -0
- package/src/index.js +19 -14
- package/src/list/deprecated.js +2 -2
- package/src/list/index.js +6 -1
- package/src/list/style.scss +1 -2
- package/src/list/test/migrate.js +159 -0
- package/src/list/v2/deprecated.js +89 -0
- package/src/list/v2/edit.js +186 -0
- package/src/list/v2/index.js +22 -0
- package/src/list/v2/migrate.js +87 -0
- package/src/list/v2/save.js +18 -0
- package/src/list/v2/transforms.js +116 -0
- package/src/list-item/block.json +26 -0
- package/src/list-item/edit.js +93 -0
- package/src/list-item/hooks/index.js +3 -0
- package/src/list-item/hooks/use-enter.js +94 -0
- package/src/list-item/hooks/use-indent-list-item.js +89 -0
- package/src/list-item/hooks/use-outdent-list-item.js +95 -0
- package/src/list-item/index.js +27 -0
- package/src/list-item/save.js +13 -0
- package/src/list-item/utils.js +14 -0
- package/src/media-text/edit.js +1 -1
- package/src/media-text/media-container.native.js +1 -14
- package/src/navigation/block.json +9 -1
- package/src/navigation/edit/index.js +50 -14
- package/src/navigation/edit/navigation-menu-delete-control.js +1 -1
- package/src/navigation/edit/unsaved-inner-blocks.js +57 -8
- package/src/navigation/index.php +28 -3
- package/src/navigation/style.scss +15 -13
- package/src/navigation/use-navigation-entities.js +37 -73
- package/src/navigation/use-navigation-menu.js +4 -0
- package/src/navigation-link/block.json +1 -0
- package/src/navigation-link/edit.js +156 -64
- package/src/navigation-link/editor.scss +11 -0
- package/src/navigation-link/index.php +8 -0
- package/src/navigation-link/style.scss +6 -0
- package/src/navigation-submenu/block.json +1 -0
- package/src/navigation-submenu/edit.js +7 -9
- package/src/paragraph/style.scss +0 -5
- package/src/post-author/index.php +0 -1
- package/src/post-comment/edit.js +2 -2
- package/src/post-comments-form/edit.js +6 -3
- package/src/post-date/edit.js +63 -52
- package/src/post-date/index.php +1 -1
- package/src/post-date/test/edit.js +17 -0
- package/src/post-featured-image/block.json +1 -1
- package/src/post-featured-image/edit.js +9 -1
- package/src/post-featured-image/index.php +2 -1
- package/src/post-template/edit.js +7 -1
- package/src/post-terms/edit.js +4 -1
- package/src/post-terms/variations.js +3 -3
- package/src/pullquote/edit.js +4 -3
- package/src/pullquote/style.scss +0 -5
- package/src/query/variations.js +4 -0
- package/src/query-no-results/block.json +20 -0
- package/src/query-no-results/edit.js +28 -0
- package/src/query-no-results/index.js +20 -0
- package/src/query-no-results/index.php +59 -0
- package/src/query-no-results/save.js +8 -0
- package/src/query-pagination/edit.js +1 -1
- package/src/query-pagination/index.php +9 -2
- package/src/query-pagination-numbers/block.json +19 -1
- package/src/quote/block.json +8 -0
- package/src/quote/index.js +6 -1
- package/src/quote/style.scss +1 -0
- package/src/quote/v2/deprecated.js +107 -0
- package/src/quote/v2/edit.js +136 -0
- package/src/quote/v2/index.js +36 -0
- package/src/quote/v2/save.js +26 -0
- package/src/quote/v2/test/migrate.js +92 -0
- package/src/quote/v2/transforms.js +155 -0
- package/src/read-more/block.json +1 -1
- package/src/reset.scss +1 -1
- package/src/rss/edit.js +3 -1
- package/src/rss/index.php +14 -1
- package/src/search/edit.js +1 -2
- package/src/separator/block.json +13 -6
- package/src/separator/deprecated.js +57 -0
- package/src/separator/deprecated.scss +6 -0
- package/src/separator/edit.js +36 -14
- package/src/separator/editor.scss +6 -0
- package/src/separator/index.js +2 -0
- package/src/separator/save.js +22 -14
- package/src/separator/test/edit.js +113 -0
- package/src/separator/theme.scss +7 -1
- package/src/separator/use-deprecated-opacity.js +41 -0
- package/src/site-logo/block.json +1 -1
- package/src/site-logo/edit.js +2 -1
- package/src/site-logo/editor.scss +3 -1
- package/src/site-logo/index.php +0 -4
- package/src/social-link/index.php +1 -2
- package/src/social-links/block.json +2 -1
- package/src/social-links/edit.js +15 -5
- package/src/spacer/controls.js +12 -18
- package/src/spacer/controls.native.js +2 -1
- package/src/spacer/edit.js +3 -6
- package/src/spacer/test/__snapshots__/index.native.js.snap +31 -0
- package/src/spacer/test/index.native.js +180 -0
- package/src/style.scss +1 -0
- package/src/table/deprecated.js +5 -1
- package/src/tag-cloud/block.json +8 -0
- package/src/tag-cloud/edit.js +82 -2
- package/src/tag-cloud/index.php +6 -0
- package/src/template-part/edit/utils/hooks.js +6 -1
- package/src/template-part/editor.scss +0 -10
- package/build/navigation/edit/use-list-view-modal.js +0 -73
- package/build/navigation/edit/use-list-view-modal.js.map +0 -1
- package/build/separator/separator-settings.js +0 -36
- package/build/separator/separator-settings.js.map +0 -1
- package/build-module/navigation/edit/use-list-view-modal.js +0 -63
- package/build-module/navigation/edit/use-list-view-modal.js.map +0 -1
- package/build-module/separator/separator-settings.js +0 -27
- package/build-module/separator/separator-settings.js.map +0 -1
- package/src/navigation/edit/use-list-view-modal.js +0 -72
- package/src/separator/separator-settings.js +0 -24
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useOutdentListItem;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _data = require("@wordpress/data");
|
|
11
|
+
|
|
12
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
13
|
+
|
|
14
|
+
var _utils = require("../utils");
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* WordPress dependencies
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Internal dependencies
|
|
22
|
+
*/
|
|
23
|
+
function useOutdentListItem(clientId) {
|
|
24
|
+
const {
|
|
25
|
+
canOutdent
|
|
26
|
+
} = (0, _data.useSelect)(innerSelect => {
|
|
27
|
+
const {
|
|
28
|
+
getBlockRootClientId
|
|
29
|
+
} = innerSelect(_blockEditor.store);
|
|
30
|
+
const grandParentId = getBlockRootClientId(getBlockRootClientId(clientId));
|
|
31
|
+
return {
|
|
32
|
+
canOutdent: !!grandParentId
|
|
33
|
+
};
|
|
34
|
+
}, [clientId]);
|
|
35
|
+
const {
|
|
36
|
+
replaceBlocks,
|
|
37
|
+
selectionChange
|
|
38
|
+
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
39
|
+
const {
|
|
40
|
+
getBlockRootClientId,
|
|
41
|
+
getBlockAttributes,
|
|
42
|
+
getBlock,
|
|
43
|
+
getBlockIndex,
|
|
44
|
+
getSelectionStart,
|
|
45
|
+
getSelectionEnd
|
|
46
|
+
} = (0, _data.useSelect)(_blockEditor.store);
|
|
47
|
+
return [canOutdent, (0, _element.useCallback)(() => {
|
|
48
|
+
const selectionStart = getSelectionStart();
|
|
49
|
+
const selectionEnd = getSelectionEnd();
|
|
50
|
+
const listParentId = getBlockRootClientId(clientId);
|
|
51
|
+
const listAttributes = getBlockAttributes(listParentId);
|
|
52
|
+
const listItemParentId = getBlockRootClientId(listParentId);
|
|
53
|
+
const listItemParentAttributes = getBlockAttributes(listItemParentId);
|
|
54
|
+
const index = getBlockIndex(clientId);
|
|
55
|
+
const siblingBlocks = getBlock(listParentId).innerBlocks;
|
|
56
|
+
const previousSiblings = siblingBlocks.slice(0, index);
|
|
57
|
+
const afterSiblings = siblingBlocks.slice(index + 1); // Create a new parent list item block with just the siblings
|
|
58
|
+
// that existed before the child item being outdent.
|
|
59
|
+
|
|
60
|
+
const newListItemParent = (0, _utils.createListItem)(listItemParentAttributes, listAttributes, previousSiblings);
|
|
61
|
+
const block = getBlock(clientId);
|
|
62
|
+
const childList = block.innerBlocks[0];
|
|
63
|
+
const childItems = (childList === null || childList === void 0 ? void 0 : childList.innerBlocks) || [];
|
|
64
|
+
const hasChildItems = !!childItems.length; // Create a new list item block whose attributes are equal to the
|
|
65
|
+
// block being outdent and whose children are the children that it had (if any)
|
|
66
|
+
// followed by the siblings that existed after it.
|
|
67
|
+
|
|
68
|
+
const newItem = (0, _utils.createListItem)(block.attributes, hasChildItems ? childList.attributes : listAttributes, [...childItems, ...afterSiblings]); // Replace the parent list item block, with a new block containing
|
|
69
|
+
// the previous siblings, followed by another block containing after siblings
|
|
70
|
+
// in relation to the block being outdent.
|
|
71
|
+
|
|
72
|
+
replaceBlocks([listItemParentId], [newListItemParent, newItem]); // Restore the selection state.
|
|
73
|
+
|
|
74
|
+
selectionChange(newItem.clientId, selectionEnd.attributeKey, selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset, selectionEnd.offset);
|
|
75
|
+
}, [clientId])];
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=use-outdent-list-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"names":["useOutdentListItem","clientId","canOutdent","innerSelect","getBlockRootClientId","blockEditorStore","grandParentId","replaceBlocks","selectionChange","getBlockAttributes","getBlock","getBlockIndex","getSelectionStart","getSelectionEnd","selectionStart","selectionEnd","listParentId","listAttributes","listItemParentId","listItemParentAttributes","index","siblingBlocks","innerBlocks","previousSiblings","slice","afterSiblings","newListItemParent","block","childList","childItems","hasChildItems","length","newItem","attributes","attributeKey","offset"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,kBAAT,CAA6BC,QAA7B,EAAwC;AACtD,QAAM;AAAEC,IAAAA;AAAF,MAAiB,qBACpBC,WAAF,IAAmB;AAClB,UAAM;AAAEC,MAAAA;AAAF,QAA2BD,WAAW,CAAEE,kBAAF,CAA5C;AACA,UAAMC,aAAa,GAAGF,oBAAoB,CACzCA,oBAAoB,CAAEH,QAAF,CADqB,CAA1C;AAGA,WAAO;AACNC,MAAAA,UAAU,EAAE,CAAC,CAAEI;AADT,KAAP;AAGA,GATqB,EAUtB,CAAEL,QAAF,CAVsB,CAAvB;AAYA,QAAM;AAAEM,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAqC,uBAAaH,kBAAb,CAA3C;AACA,QAAM;AACLD,IAAAA,oBADK;AAELK,IAAAA,kBAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,aAJK;AAKLC,IAAAA,iBALK;AAMLC,IAAAA;AANK,MAOF,qBAAWR,kBAAX,CAPJ;AASA,SAAO,CACNH,UADM,EAEN,0BAAa,MAAM;AAClB,UAAMY,cAAc,GAAGF,iBAAiB,EAAxC;AACA,UAAMG,YAAY,GAAGF,eAAe,EAApC;AAEA,UAAMG,YAAY,GAAGZ,oBAAoB,CAAEH,QAAF,CAAzC;AACA,UAAMgB,cAAc,GAAGR,kBAAkB,CAAEO,YAAF,CAAzC;AACA,UAAME,gBAAgB,GAAGd,oBAAoB,CAAEY,YAAF,CAA7C;AACA,UAAMG,wBAAwB,GAAGV,kBAAkB,CAClDS,gBADkD,CAAnD;AAIA,UAAME,KAAK,GAAGT,aAAa,CAAEV,QAAF,CAA3B;AACA,UAAMoB,aAAa,GAAGX,QAAQ,CAAEM,YAAF,CAAR,CAAyBM,WAA/C;AACA,UAAMC,gBAAgB,GAAGF,aAAa,CAACG,KAAd,CAAqB,CAArB,EAAwBJ,KAAxB,CAAzB;AACA,UAAMK,aAAa,GAAGJ,aAAa,CAACG,KAAd,CAAqBJ,KAAK,GAAG,CAA7B,CAAtB,CAdkB,CAgBlB;AACA;;AACA,UAAMM,iBAAiB,GAAG,2BACzBP,wBADyB,EAEzBF,cAFyB,EAGzBM,gBAHyB,CAA1B;AAMA,UAAMI,KAAK,GAAGjB,QAAQ,CAAET,QAAF,CAAtB;AACA,UAAM2B,SAAS,GAAGD,KAAK,CAACL,WAAN,CAAmB,CAAnB,CAAlB;AACA,UAAMO,UAAU,GAAG,CAAAD,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEN,WAAX,KAA0B,EAA7C;AACA,UAAMQ,aAAa,GAAG,CAAC,CAAED,UAAU,CAACE,MAApC,CA3BkB,CA6BlB;AACA;AACA;;AACA,UAAMC,OAAO,GAAG,2BACfL,KAAK,CAACM,UADS,EAEfH,aAAa,GAAGF,SAAS,CAACK,UAAb,GAA0BhB,cAFxB,EAGf,CAAE,GAAGY,UAAL,EAAiB,GAAGJ,aAApB,CAHe,CAAhB,CAhCkB,CAsClB;AACA;AACA;;AACAlB,IAAAA,aAAa,CACZ,CAAEW,gBAAF,CADY,EAEZ,CAAEQ,iBAAF,EAAqBM,OAArB,CAFY,CAAb,CAzCkB,CA8ClB;;AACAxB,IAAAA,eAAe,CACdwB,OAAO,CAAC/B,QADM,EAEdc,YAAY,CAACmB,YAFC,EAGdnB,YAAY,CAACd,QAAb,KAA0Ba,cAAc,CAACb,QAAzC,GACGa,cAAc,CAACqB,MADlB,GAEGpB,YAAY,CAACoB,MALF,EAMdpB,YAAY,CAACoB,MANC,CAAf;AAQA,GAvDD,EAuDG,CAAElC,QAAF,CAvDH,CAFM,CAAP;AA2DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { createListItem } from '../utils';\n\nexport default function useOutdentListItem( clientId ) {\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId } = innerSelect( blockEditorStore );\n\t\t\tconst grandParentId = getBlockRootClientId(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcanOutdent: !! grandParentId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockAttributes,\n\t\tgetBlock,\n\t\tgetBlockIndex,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t} = useSelect( blockEditorStore );\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( () => {\n\t\t\tconst selectionStart = getSelectionStart();\n\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\tconst listParentId = getBlockRootClientId( clientId );\n\t\t\tconst listAttributes = getBlockAttributes( listParentId );\n\t\t\tconst listItemParentId = getBlockRootClientId( listParentId );\n\t\t\tconst listItemParentAttributes = getBlockAttributes(\n\t\t\t\tlistItemParentId\n\t\t\t);\n\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst siblingBlocks = getBlock( listParentId ).innerBlocks;\n\t\t\tconst previousSiblings = siblingBlocks.slice( 0, index );\n\t\t\tconst afterSiblings = siblingBlocks.slice( index + 1 );\n\n\t\t\t// Create a new parent list item block with just the siblings\n\t\t\t// that existed before the child item being outdent.\n\t\t\tconst newListItemParent = createListItem(\n\t\t\t\tlistItemParentAttributes,\n\t\t\t\tlistAttributes,\n\t\t\t\tpreviousSiblings\n\t\t\t);\n\n\t\t\tconst block = getBlock( clientId );\n\t\t\tconst childList = block.innerBlocks[ 0 ];\n\t\t\tconst childItems = childList?.innerBlocks || [];\n\t\t\tconst hasChildItems = !! childItems.length;\n\n\t\t\t// Create a new list item block whose attributes are equal to the\n\t\t\t// block being outdent and whose children are the children that it had (if any)\n\t\t\t// followed by the siblings that existed after it.\n\t\t\tconst newItem = createListItem(\n\t\t\t\tblock.attributes,\n\t\t\t\thasChildItems ? childList.attributes : listAttributes,\n\t\t\t\t[ ...childItems, ...afterSiblings ]\n\t\t\t);\n\n\t\t\t// Replace the parent list item block, with a new block containing\n\t\t\t// the previous siblings, followed by another block containing after siblings\n\t\t\t// in relation to the block being outdent.\n\t\t\treplaceBlocks(\n\t\t\t\t[ listItemParentId ],\n\t\t\t\t[ newListItemParent, newItem ]\n\t\t\t);\n\n\t\t\t// Restore the selection state.\n\t\t\tselectionChange(\n\t\t\t\tnewItem.clientId,\n\t\t\t\tselectionEnd.attributeKey,\n\t\t\t\tselectionEnd.clientId === selectionStart.clientId\n\t\t\t\t\t? selectionStart.offset\n\t\t\t\t\t: selectionEnd.offset,\n\t\t\t\tselectionEnd.offset\n\t\t\t);\n\t\t}, [ clientId ] ),\n\t];\n}\n"]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.settings = exports.name = exports.metadata = void 0;
|
|
9
|
+
|
|
10
|
+
var _icons = require("@wordpress/icons");
|
|
11
|
+
|
|
12
|
+
var _edit = _interopRequireDefault(require("./edit"));
|
|
13
|
+
|
|
14
|
+
var _save = _interopRequireDefault(require("./save"));
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* WordPress dependencies
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Internal dependencies
|
|
22
|
+
*/
|
|
23
|
+
const metadata = {
|
|
24
|
+
$schema: "https://schemas.wp.org/trunk/block.json",
|
|
25
|
+
apiVersion: 2,
|
|
26
|
+
name: "core/list-item",
|
|
27
|
+
title: "List item",
|
|
28
|
+
category: "text",
|
|
29
|
+
parent: ["core/list"],
|
|
30
|
+
description: "Create a list item.",
|
|
31
|
+
textdomain: "default",
|
|
32
|
+
attributes: {
|
|
33
|
+
placeholder: {
|
|
34
|
+
type: "string"
|
|
35
|
+
},
|
|
36
|
+
content: {
|
|
37
|
+
type: "string",
|
|
38
|
+
source: "html",
|
|
39
|
+
selector: "li",
|
|
40
|
+
"default": "",
|
|
41
|
+
__experimentalRole: "content"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
supports: {
|
|
45
|
+
className: false,
|
|
46
|
+
__experimentalSelector: "li"
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.metadata = metadata;
|
|
50
|
+
const {
|
|
51
|
+
name
|
|
52
|
+
} = metadata;
|
|
53
|
+
exports.name = name;
|
|
54
|
+
const settings = {
|
|
55
|
+
icon: _icons.listItem,
|
|
56
|
+
edit: _edit.default,
|
|
57
|
+
save: _save.default,
|
|
58
|
+
|
|
59
|
+
merge(attributes, attributesToMerge) {
|
|
60
|
+
return { ...attributes,
|
|
61
|
+
content: attributes.content + attributesToMerge.content
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
};
|
|
66
|
+
exports.settings = settings;
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/index.js"],"names":["name","metadata","settings","icon","edit","save","merge","attributes","attributesToMerge","content"],"mappings":";;;;;;;;;AAGA;;AAMA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,IAAI,EAAJA,aAHuB;;AAIvBC,EAAAA,KAAK,CAAEC,UAAF,EAAcC,iBAAd,EAAkC;AACtC,WAAO,EACN,GAAGD,UADG;AAENE,MAAAA,OAAO,EAAEF,UAAU,CAACE,OAAX,GAAqBD,iBAAiB,CAACC;AAF1C,KAAP;AAIA;;AATsB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { listItem as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n};\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = save;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* WordPress dependencies
|
|
14
|
+
*/
|
|
15
|
+
function save(_ref) {
|
|
16
|
+
let {
|
|
17
|
+
attributes
|
|
18
|
+
} = _ref;
|
|
19
|
+
return (0, _element.createElement)("li", _blockEditor.useBlockProps.save(), (0, _element.createElement)(_blockEditor.RichText.Content, {
|
|
20
|
+
value: attributes.content
|
|
21
|
+
}), (0, _element.createElement)(_blockEditor.InnerBlocks.Content, null));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=save.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/save.js"],"names":["save","attributes","useBlockProps","content"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGe,SAASA,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,SACC,kCAASC,2BAAcF,IAAd,EAAT,EACC,4BAAC,qBAAD,CAAU,OAAV;AAAkB,IAAA,KAAK,EAAGC,UAAU,CAACE;AAArC,IADD,EAEC,4BAAC,wBAAD,CAAa,OAAb,OAFD,CADD;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, RichText, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<li { ...useBlockProps.save() }>\n\t\t\t<RichText.Content value={ attributes.content } />\n\t\t\t<InnerBlocks.Content />\n\t\t</li>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createListItem = createListItem;
|
|
7
|
+
|
|
8
|
+
var _blocks = require("@wordpress/blocks");
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* WordPress dependencies
|
|
12
|
+
*/
|
|
13
|
+
function createListItem(listItemAttributes, listAttributes, children) {
|
|
14
|
+
return (0, _blocks.createBlock)('core/list-item', listItemAttributes, !children || !children.length ? [] : [(0, _blocks.createBlock)('core/list', listAttributes, children)]);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/utils.js"],"names":["createListItem","listItemAttributes","listAttributes","children","length"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,SAASA,cAAT,CAAyBC,kBAAzB,EAA6CC,cAA7C,EAA6DC,QAA7D,EAAwE;AAC9E,SAAO,yBACN,gBADM,EAENF,kBAFM,EAGN,CAAEE,QAAF,IAAc,CAAEA,QAAQ,CAACC,MAAzB,GACG,EADH,GAEG,CAAE,yBAAa,WAAb,EAA0BF,cAA1B,EAA0CC,QAA1C,CAAF,CALG,CAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nexport function createListItem( listItemAttributes, listAttributes, children ) {\n\treturn createBlock(\n\t\t'core/list-item',\n\t\tlistItemAttributes,\n\t\t! children || ! children.length\n\t\t\t? []\n\t\t\t: [ createBlock( 'core/list', listAttributes, children ) ]\n\t);\n}\n"]}
|
package/build/media-text/edit.js
CHANGED
|
@@ -164,7 +164,9 @@ function MediaTextEdit(_ref2) {
|
|
|
164
164
|
verticalAlignment
|
|
165
165
|
} = attributes;
|
|
166
166
|
const mediaSizeSlug = attributes.mediaSizeSlug || _constants.DEFAULT_MEDIA_SIZE_SLUG;
|
|
167
|
-
const image = (0, _data.useSelect)(select => mediaId && isSelected ? select(_coreData.store).getMedia(mediaId
|
|
167
|
+
const image = (0, _data.useSelect)(select => mediaId && isSelected ? select(_coreData.store).getMedia(mediaId, {
|
|
168
|
+
context: 'view'
|
|
169
|
+
}) : null, [isSelected, mediaId]);
|
|
168
170
|
const refMediaContainer = (0, _element.useRef)();
|
|
169
171
|
|
|
170
172
|
const imperativeFocalPointPreview = value => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["TEMPLATE","fontSize","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","select","coreStore","getMedia","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","blockEditorStore","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template","pullLeft","pullRight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tfontSize: 'large',\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["TEMPLATE","fontSize","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","select","coreStore","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","blockEditorStore","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template","pullLeft","pullRight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tfontSize: 'large',\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
|
|
@@ -31,10 +31,6 @@ var _url = require("@wordpress/url");
|
|
|
31
31
|
|
|
32
32
|
var _compose = require("@wordpress/compose");
|
|
33
33
|
|
|
34
|
-
var _data = require("@wordpress/data");
|
|
35
|
-
|
|
36
|
-
var _notices = require("@wordpress/notices");
|
|
37
|
-
|
|
38
34
|
var _style = _interopRequireDefault(require("./style.scss"));
|
|
39
35
|
|
|
40
36
|
var _mediaContainerIcon = _interopRequireDefault(require("./media-container-icon"));
|
|
@@ -175,10 +171,6 @@ class MediaContainer extends _element.Component {
|
|
|
175
171
|
}
|
|
176
172
|
|
|
177
173
|
finishMediaUploadWithFailure() {
|
|
178
|
-
const {
|
|
179
|
-
createErrorNotice
|
|
180
|
-
} = this.props;
|
|
181
|
-
createErrorNotice((0, _i18n.__)('Failed to insert media.'));
|
|
182
174
|
this.setState({
|
|
183
175
|
isUploadInProgress: false
|
|
184
176
|
});
|
|
@@ -363,14 +355,7 @@ class MediaContainer extends _element.Component {
|
|
|
363
355
|
|
|
364
356
|
}
|
|
365
357
|
|
|
366
|
-
var _default = (0, _compose.compose)([
|
|
367
|
-
const {
|
|
368
|
-
createErrorNotice
|
|
369
|
-
} = dispatch(_notices.store);
|
|
370
|
-
return {
|
|
371
|
-
createErrorNotice
|
|
372
|
-
};
|
|
373
|
-
}), _compose.withPreferredColorScheme])(MediaContainer);
|
|
358
|
+
var _default = (0, _compose.compose)([_compose.withPreferredColorScheme])(MediaContainer);
|
|
374
359
|
|
|
375
360
|
exports.default = _default;
|
|
376
361
|
//# sourceMappingURL=media-container.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.native.js"],"names":["ALLOWED_MEDIA_TYPES","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","ICON_TYPE","PLACEHOLDER","RETRY","MediaContainer","Component","constructor","arguments","updateMediaProgress","bind","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","onSelectMediaUploadOption","onMediaPressed","state","isUploadInProgress","componentDidMount","mediaId","mediaUrl","props","params","id","url","type","onSelectMedia","media_type","mediaType","isMediaSelected","onMediaSelected","getIcon","iconType","getStylesFromColorScheme","iconStyle","styles","iconRetry","iconRetryVideo","iconRetryVideoDark","SvgIconRetry","iconPlaceholder","iconPlaceholderDark","icon","setState","payload","onMediaUpdate","mediaServerId","createErrorNotice","renderImage","openMediaOptions","aligmentStyles","focalPoint","imageFill","isSelected","mediaAlt","mediaWidth","shouldStack","isUploadFailed","retryMessage","focalPointValues","IMAGE_DEFAULT_FOCAL_POINT","imageWithFocalPoint","height","imageCropped","mediaImageContainer","renderVideo","showVideo","videoPlaceholderStyles","videoPlaceholder","videoPlaceholderDark","retryVideoTextStyles","uploadFailedText","uploadFailedTextVideo","uploadFailedTextVideoDark","mediaVideo","videoContainer","videoContent","aspectRatio","VIDEO_ASPECT_RATIO","videoPlayer","video","uri","modalIcon","renderContent","mediaElement","renderPlaceholder","title","onFocus","render","onSetOpenPickerRef","coverUrl","open","getMediaOptions","dispatch","noticesStore","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n} from '@wordpress/react-native-bridge';\nimport { Icon, Image, IMAGE_DEFAULT_FOCAL_POINT } from '@wordpress/components';\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport icon from './media-container-icon';\nimport SvgIconRetry from './icon-retry';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ];\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n};\n\nexport { imageFillStyles } from './media-container.js';\n\nclass MediaContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess = this.finishMediaUploadWithSuccess.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.finishMediaUploadWithFailure = this.finishMediaUploadWithFailure.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption = this.onSelectMediaUploadOption.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onMediaPressed = this.onMediaPressed.bind( this );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { mediaId, mediaUrl } = this.props;\n\n\t\t// Make sure we mark any temporary images as failed if they failed while\n\t\t// the editor wasn't open.\n\t\tif ( mediaId && mediaUrl && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tonSelectMediaUploadOption( params ) {\n\t\tconst { id, url, type } = params;\n\t\tconst { onSelectMedia } = this.props;\n\n\t\tonSelectMedia( {\n\t\t\tmedia_type: type,\n\t\t\tid,\n\t\t\turl,\n\t\t} );\n\t}\n\n\tonMediaPressed() {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\tmediaId,\n\t\t\tmediaUrl,\n\t\t\tmediaType,\n\t\t\tisMediaSelected,\n\t\t\tonMediaSelected,\n\t\t} = this.props;\n\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( mediaId );\n\t\t} else if ( mediaId && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\trequestImageFailedRetryDialog( mediaId );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE && isMediaSelected ) {\n\t\t\trequestImageFullscreenPreview( mediaUrl );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE ) {\n\t\t\tonMediaSelected();\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tconst { mediaType, getStylesFromColorScheme } = this.props;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticonStyle =\n\t\t\t\t\tmediaType === MEDIA_TYPE_IMAGE\n\t\t\t\t\t\t? styles.iconRetry\n\t\t\t\t\t\t: getStylesFromColorScheme(\n\t\t\t\t\t\t\t\tstyles.iconRetryVideo,\n\t\t\t\t\t\t\t\tstyles.iconRetryVideoDark\n\t\t\t\t\t\t );\n\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...iconStyle } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = getStylesFromColorScheme(\n\t\t\t\t\tstyles.iconPlaceholder,\n\t\t\t\t\tstyles.iconPlaceholderDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t}\n\n\tupdateMediaProgress() {\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( {\n\t\t\tid: payload.mediaServerId,\n\t\t\turl: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure() {\n\t\tconst { createErrorNotice } = this.props;\n\n\t\tcreateErrorNotice( __( 'Failed to insert media.' ) );\n\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( { id: null, url: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\trenderImage( params, openMediaOptions ) {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tfocalPoint,\n\t\t\timageFill,\n\t\t\tisMediaSelected,\n\t\t\tisSelected,\n\t\t\tmediaAlt,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tshouldStack,\n\t\t} = this.props;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst focalPointValues = ! focalPoint\n\t\t\t? IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t: focalPoint;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\timageFill && styles.imageWithFocalPoint,\n\t\t\t\t\timageFill &&\n\t\t\t\t\t\tshouldStack && {\n\t\t\t\t\t\t\theight: styles.imageFill.height,\n\t\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\timageFill && styles.imageCropped,\n\t\t\t\t\t\t\tstyles.mediaImageContainer,\n\t\t\t\t\t\t\t! isUploadInProgress && aligmentStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tfocalPoint={ imageFill && focalPointValues }\n\t\t\t\t\t\t\tisSelected={ isMediaSelected }\n\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={\n\t\t\t\t\t\t\t\tthis.onSelectMediaUploadOption\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\t\t\twidth={ ! isUploadInProgress && mediaWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderVideo( params, openMediaOptions ) {\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tmediaUrl,\n\t\t\tisSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t} = this.props;\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst showVideo =\n\t\t\tisURL( mediaUrl ) && ! isUploadInProgress && ! isUploadFailed;\n\n\t\tconst videoPlaceholderStyles = getStylesFromColorScheme(\n\t\t\tstyles.videoPlaceholder,\n\t\t\tstyles.videoPlaceholderDark\n\t\t);\n\t\tconst retryVideoTextStyles = [\n\t\t\tstyles.uploadFailedText,\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.uploadFailedTextVideo,\n\t\t\t\tstyles.uploadFailedTextVideoDark\n\t\t\t),\n\t\t];\n\n\t\treturn (\n\t\t\t<View style={ styles.mediaVideo }>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View style={ [ styles.videoContainer, aligmentStyles ] }>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.videoContent,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taspectRatio: VIDEO_ASPECT_RATIO,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t<View style={ styles.videoPlayer }>\n\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tstyle={ styles.video }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: mediaUrl } }\n\t\t\t\t\t\t\t\t\t\tpaused={ true }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t<View style={ videoPlaceholderStyles }>\n\t\t\t\t\t\t\t\t\t<View style={ styles.modalIcon }>\n\t\t\t\t\t\t\t\t\t\t{ isUploadFailed\n\t\t\t\t\t\t\t\t\t\t\t? this.getIcon( ICON_TYPE.RETRY )\n\t\t\t\t\t\t\t\t\t\t\t: this.getIcon(\n\t\t\t\t\t\t\t\t\t\t\t\t\tICON_TYPE.PLACEHOLDER\n\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<Text style={ retryVideoTextStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderContent( params, openMediaOptions ) {\n\t\tconst { mediaType } = this.props;\n\t\tlet mediaElement = null;\n\n\t\tswitch ( mediaType ) {\n\t\t\tcase MEDIA_TYPE_IMAGE:\n\t\t\t\tmediaElement = this.renderImage( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_TYPE_VIDEO:\n\t\t\t\tmediaElement = this.renderVideo( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t}\n\t\treturn mediaElement;\n\t}\n\n\trenderPlaceholder() {\n\t\treturn (\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\tlabels={ {\n\t\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t\t} }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { mediaUrl, mediaId, mediaType, onSetOpenPickerRef } = this.props;\n\t\tconst coverUrl = mediaType === MEDIA_TYPE_IMAGE ? mediaUrl : null;\n\n\t\tif ( mediaUrl ) {\n\t\t\treturn (\n\t\t\t\t<MediaUpload\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ mediaId }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\tonSetOpenPickerRef( open );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\n\t\t\t\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\t\t\t\tcoverUrl={ coverUrl }\n\t\t\t\t\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\t\t\t\t\tonUpdateMediaProgress={\n\t\t\t\t\t\t\t\t\t\tthis.updateMediaProgress\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMediaUploadStateReset={\n\t\t\t\t\t\t\t\t\t\tthis.mediaUploadStateReset\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\trenderContent={ ( params ) => {\n\t\t\t\t\t\t\t\t\t\treturn this.renderContent(\n\t\t\t\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\t\t\t\topen\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn this.renderPlaceholder();\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\n\t\treturn { createErrorNotice };\n\t} ),\n\twithPreferredColorScheme,\n] )( MediaContainer );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.native.js"],"names":["ALLOWED_MEDIA_TYPES","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","ICON_TYPE","PLACEHOLDER","RETRY","MediaContainer","Component","constructor","arguments","updateMediaProgress","bind","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","onSelectMediaUploadOption","onMediaPressed","state","isUploadInProgress","componentDidMount","mediaId","mediaUrl","props","params","id","url","type","onSelectMedia","media_type","mediaType","isMediaSelected","onMediaSelected","getIcon","iconType","getStylesFromColorScheme","iconStyle","styles","iconRetry","iconRetryVideo","iconRetryVideoDark","SvgIconRetry","iconPlaceholder","iconPlaceholderDark","icon","setState","payload","onMediaUpdate","mediaServerId","renderImage","openMediaOptions","aligmentStyles","focalPoint","imageFill","isSelected","mediaAlt","mediaWidth","shouldStack","isUploadFailed","retryMessage","focalPointValues","IMAGE_DEFAULT_FOCAL_POINT","imageWithFocalPoint","height","imageCropped","mediaImageContainer","renderVideo","showVideo","videoPlaceholderStyles","videoPlaceholder","videoPlaceholderDark","retryVideoTextStyles","uploadFailedText","uploadFailedTextVideo","uploadFailedTextVideoDark","mediaVideo","videoContainer","videoContent","aspectRatio","VIDEO_ASPECT_RATIO","videoPlayer","video","uri","modalIcon","renderContent","mediaElement","renderPlaceholder","title","onFocus","render","onSetOpenPickerRef","coverUrl","open","getMediaOptions","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n} from '@wordpress/react-native-bridge';\nimport { Icon, Image, IMAGE_DEFAULT_FOCAL_POINT } from '@wordpress/components';\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport icon from './media-container-icon';\nimport SvgIconRetry from './icon-retry';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ];\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n};\n\nexport { imageFillStyles } from './media-container.js';\n\nclass MediaContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess = this.finishMediaUploadWithSuccess.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.finishMediaUploadWithFailure = this.finishMediaUploadWithFailure.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption = this.onSelectMediaUploadOption.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onMediaPressed = this.onMediaPressed.bind( this );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { mediaId, mediaUrl } = this.props;\n\n\t\t// Make sure we mark any temporary images as failed if they failed while\n\t\t// the editor wasn't open.\n\t\tif ( mediaId && mediaUrl && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tonSelectMediaUploadOption( params ) {\n\t\tconst { id, url, type } = params;\n\t\tconst { onSelectMedia } = this.props;\n\n\t\tonSelectMedia( {\n\t\t\tmedia_type: type,\n\t\t\tid,\n\t\t\turl,\n\t\t} );\n\t}\n\n\tonMediaPressed() {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\tmediaId,\n\t\t\tmediaUrl,\n\t\t\tmediaType,\n\t\t\tisMediaSelected,\n\t\t\tonMediaSelected,\n\t\t} = this.props;\n\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( mediaId );\n\t\t} else if ( mediaId && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\trequestImageFailedRetryDialog( mediaId );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE && isMediaSelected ) {\n\t\t\trequestImageFullscreenPreview( mediaUrl );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE ) {\n\t\t\tonMediaSelected();\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tconst { mediaType, getStylesFromColorScheme } = this.props;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticonStyle =\n\t\t\t\t\tmediaType === MEDIA_TYPE_IMAGE\n\t\t\t\t\t\t? styles.iconRetry\n\t\t\t\t\t\t: getStylesFromColorScheme(\n\t\t\t\t\t\t\t\tstyles.iconRetryVideo,\n\t\t\t\t\t\t\t\tstyles.iconRetryVideoDark\n\t\t\t\t\t\t );\n\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...iconStyle } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = getStylesFromColorScheme(\n\t\t\t\t\tstyles.iconPlaceholder,\n\t\t\t\t\tstyles.iconPlaceholderDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t}\n\n\tupdateMediaProgress() {\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( {\n\t\t\tid: payload.mediaServerId,\n\t\t\turl: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure() {\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( { id: null, url: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\trenderImage( params, openMediaOptions ) {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tfocalPoint,\n\t\t\timageFill,\n\t\t\tisMediaSelected,\n\t\t\tisSelected,\n\t\t\tmediaAlt,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tshouldStack,\n\t\t} = this.props;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst focalPointValues = ! focalPoint\n\t\t\t? IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t: focalPoint;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\timageFill && styles.imageWithFocalPoint,\n\t\t\t\t\timageFill &&\n\t\t\t\t\t\tshouldStack && {\n\t\t\t\t\t\t\theight: styles.imageFill.height,\n\t\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\timageFill && styles.imageCropped,\n\t\t\t\t\t\t\tstyles.mediaImageContainer,\n\t\t\t\t\t\t\t! isUploadInProgress && aligmentStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tfocalPoint={ imageFill && focalPointValues }\n\t\t\t\t\t\t\tisSelected={ isMediaSelected }\n\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={\n\t\t\t\t\t\t\t\tthis.onSelectMediaUploadOption\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\t\t\twidth={ ! isUploadInProgress && mediaWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderVideo( params, openMediaOptions ) {\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tmediaUrl,\n\t\t\tisSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t} = this.props;\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst showVideo =\n\t\t\tisURL( mediaUrl ) && ! isUploadInProgress && ! isUploadFailed;\n\n\t\tconst videoPlaceholderStyles = getStylesFromColorScheme(\n\t\t\tstyles.videoPlaceholder,\n\t\t\tstyles.videoPlaceholderDark\n\t\t);\n\t\tconst retryVideoTextStyles = [\n\t\t\tstyles.uploadFailedText,\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.uploadFailedTextVideo,\n\t\t\t\tstyles.uploadFailedTextVideoDark\n\t\t\t),\n\t\t];\n\n\t\treturn (\n\t\t\t<View style={ styles.mediaVideo }>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View style={ [ styles.videoContainer, aligmentStyles ] }>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.videoContent,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taspectRatio: VIDEO_ASPECT_RATIO,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t<View style={ styles.videoPlayer }>\n\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tstyle={ styles.video }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: mediaUrl } }\n\t\t\t\t\t\t\t\t\t\tpaused={ true }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t<View style={ videoPlaceholderStyles }>\n\t\t\t\t\t\t\t\t\t<View style={ styles.modalIcon }>\n\t\t\t\t\t\t\t\t\t\t{ isUploadFailed\n\t\t\t\t\t\t\t\t\t\t\t? this.getIcon( ICON_TYPE.RETRY )\n\t\t\t\t\t\t\t\t\t\t\t: this.getIcon(\n\t\t\t\t\t\t\t\t\t\t\t\t\tICON_TYPE.PLACEHOLDER\n\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<Text style={ retryVideoTextStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderContent( params, openMediaOptions ) {\n\t\tconst { mediaType } = this.props;\n\t\tlet mediaElement = null;\n\n\t\tswitch ( mediaType ) {\n\t\t\tcase MEDIA_TYPE_IMAGE:\n\t\t\t\tmediaElement = this.renderImage( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_TYPE_VIDEO:\n\t\t\t\tmediaElement = this.renderVideo( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t}\n\t\treturn mediaElement;\n\t}\n\n\trenderPlaceholder() {\n\t\treturn (\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\tlabels={ {\n\t\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t\t} }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { mediaUrl, mediaId, mediaType, onSetOpenPickerRef } = this.props;\n\t\tconst coverUrl = mediaType === MEDIA_TYPE_IMAGE ? mediaUrl : null;\n\n\t\tif ( mediaUrl ) {\n\t\t\treturn (\n\t\t\t\t<MediaUpload\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ mediaId }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\tonSetOpenPickerRef( open );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\n\t\t\t\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\t\t\t\tcoverUrl={ coverUrl }\n\t\t\t\t\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\t\t\t\t\tonUpdateMediaProgress={\n\t\t\t\t\t\t\t\t\t\tthis.updateMediaProgress\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMediaUploadStateReset={\n\t\t\t\t\t\t\t\t\t\tthis.mediaUploadStateReset\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\trenderContent={ ( params ) => {\n\t\t\t\t\t\t\t\t\t\treturn this.renderContent(\n\t\t\t\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\t\t\t\topen\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn this.renderPlaceholder();\n\t}\n}\n\nexport default compose( [ withPreferredColorScheme ] )( MediaContainer );\n"]}
|
|
@@ -25,8 +25,6 @@ var _i18n = require("@wordpress/i18n");
|
|
|
25
25
|
|
|
26
26
|
var _a11y = require("@wordpress/a11y");
|
|
27
27
|
|
|
28
|
-
var _useListViewModal = _interopRequireDefault(require("./use-list-view-modal"));
|
|
29
|
-
|
|
30
28
|
var _useNavigationMenu = _interopRequireDefault(require("../use-navigation-menu"));
|
|
31
29
|
|
|
32
30
|
var _useNavigationEntities = _interopRequireDefault(require("../use-navigation-entities"));
|
|
@@ -92,6 +90,8 @@ function detectColors(colorsDetectionElement, setColor, setBackground) {
|
|
|
92
90
|
}
|
|
93
91
|
|
|
94
92
|
function Navigation(_ref) {
|
|
93
|
+
var _attributes$style, _attributes$style$typ;
|
|
94
|
+
|
|
95
95
|
let {
|
|
96
96
|
attributes,
|
|
97
97
|
setAttributes,
|
|
@@ -151,6 +151,9 @@ function Navigation(_ref) {
|
|
|
151
151
|
// the Select Menu dropdown.
|
|
152
152
|
|
|
153
153
|
(0, _useNavigationEntities.default)();
|
|
154
|
+
const [showNavigationMenuDeleteNotice] = (0, _useNavigationNotice.default)({
|
|
155
|
+
name: 'block-library/core/navigation/delete'
|
|
156
|
+
});
|
|
154
157
|
const [showNavigationMenuCreateNotice, hideNavigationMenuCreateNotice] = (0, _useNavigationNotice.default)({
|
|
155
158
|
name: 'block-library/core/navigation/create'
|
|
156
159
|
});
|
|
@@ -217,6 +220,7 @@ function Navigation(_ref) {
|
|
|
217
220
|
const [isResponsiveMenuOpen, setResponsiveMenuVisibility] = (0, _element.useState)(false);
|
|
218
221
|
const [overlayMenuPreview, setOverlayMenuPreview] = (0, _element.useState)(false);
|
|
219
222
|
const {
|
|
223
|
+
hasResolvedNavigationMenus,
|
|
220
224
|
isNavigationMenuResolved,
|
|
221
225
|
isNavigationMenuMissing,
|
|
222
226
|
navigationMenus,
|
|
@@ -228,13 +232,19 @@ function Navigation(_ref) {
|
|
|
228
232
|
canUserCreateNavigationMenu,
|
|
229
233
|
isResolvingCanUserCreateNavigationMenu,
|
|
230
234
|
hasResolvedCanUserCreateNavigationMenu
|
|
231
|
-
} = (0, _useNavigationMenu.default)(ref);
|
|
235
|
+
} = (0, _useNavigationMenu.default)(ref); // Attempt to retrieve and prioritize any existing navigation menu unless
|
|
236
|
+
// a specific ref is allocated or the user is explicitly creating a new menu. The aim is
|
|
237
|
+
// for the block to "just work" from a user perspective using existing data.
|
|
238
|
+
|
|
239
|
+
(0, _element.useEffect)(() => {
|
|
240
|
+
if (isCreatingNavigationMenu || ref || !(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length) || (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.length) > 1) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
setRef(navigationMenus[0].id);
|
|
245
|
+
}, [navigationMenus]);
|
|
232
246
|
const navRef = (0, _element.useRef)();
|
|
233
247
|
const isDraftNavigationMenu = (navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.status) === 'draft';
|
|
234
|
-
const {
|
|
235
|
-
listViewToolbarButton,
|
|
236
|
-
listViewModal
|
|
237
|
-
} = (0, _useListViewModal.default)(clientId);
|
|
238
248
|
const {
|
|
239
249
|
convert,
|
|
240
250
|
status: classicMenuConversionStatus,
|
|
@@ -250,7 +260,7 @@ function Navigation(_ref) {
|
|
|
250
260
|
// - there are no uncontrolled blocks.
|
|
251
261
|
// - (legacy) there is a Navigation Area without a ref attribute pointing to a Navigation Post.
|
|
252
262
|
|
|
253
|
-
const isPlaceholder = !ref && !isCreatingNavigationMenu && !isConvertingClassicMenu && (!hasUncontrolledInnerBlocks || isWithinUnassignedArea);
|
|
263
|
+
const isPlaceholder = !ref && !isCreatingNavigationMenu && !isConvertingClassicMenu && hasResolvedNavigationMenus && (!hasUncontrolledInnerBlocks || isWithinUnassignedArea);
|
|
254
264
|
const isEntityAvailable = !isNavigationMenuMissing && isNavigationMenuResolved; // "loading" state:
|
|
255
265
|
// - there is a menu creation process in progress.
|
|
256
266
|
// - there is a classic menu conversion process in progress.
|
|
@@ -258,7 +268,8 @@ function Navigation(_ref) {
|
|
|
258
268
|
// - there is a ref attribute pointing to a Navigation Post
|
|
259
269
|
// - the Navigation Post isn't available (hasn't resolved) yet.
|
|
260
270
|
|
|
261
|
-
const isLoading = isCreatingNavigationMenu || isConvertingClassicMenu || !!(ref && !isEntityAvailable && !isConvertingClassicMenu);
|
|
271
|
+
const isLoading = !hasResolvedNavigationMenus || isCreatingNavigationMenu || isConvertingClassicMenu || !!(ref && !isEntityAvailable && !isConvertingClassicMenu);
|
|
272
|
+
const textDecoration = (_attributes$style = attributes.style) === null || _attributes$style === void 0 ? void 0 : (_attributes$style$typ = _attributes$style.typography) === null || _attributes$style$typ === void 0 ? void 0 : _attributes$style$typ.textDecoration;
|
|
262
273
|
const blockProps = (0, _blockEditor.useBlockProps)({
|
|
263
274
|
ref: navRef,
|
|
264
275
|
className: (0, _classnames.default)(className, {
|
|
@@ -272,7 +283,8 @@ function Navigation(_ref) {
|
|
|
272
283
|
'has-text-color': !!textColor.color || !!(textColor !== null && textColor !== void 0 && textColor.class),
|
|
273
284
|
[(0, _blockEditor.getColorClassName)('color', textColor === null || textColor === void 0 ? void 0 : textColor.slug)]: !!(textColor !== null && textColor !== void 0 && textColor.slug),
|
|
274
285
|
'has-background': !!backgroundColor.color || backgroundColor.class,
|
|
275
|
-
[(0, _blockEditor.getColorClassName)('background-color', backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.slug)]: !!(backgroundColor !== null && backgroundColor !== void 0 && backgroundColor.slug)
|
|
286
|
+
[(0, _blockEditor.getColorClassName)('background-color', backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.slug)]: !!(backgroundColor !== null && backgroundColor !== void 0 && backgroundColor.slug),
|
|
287
|
+
[`has-text-decoration-${textDecoration}`]: textDecoration
|
|
276
288
|
}),
|
|
277
289
|
style: {
|
|
278
290
|
color: !(textColor !== null && textColor !== void 0 && textColor.slug) && (textColor === null || textColor === void 0 ? void 0 : textColor.color),
|
|
@@ -396,11 +408,12 @@ function Navigation(_ref) {
|
|
|
396
408
|
replaceInnerBlocks(clientId, []);
|
|
397
409
|
}
|
|
398
410
|
});
|
|
399
|
-
}, [clientId, ref]); // If the block has inner blocks, but no menu id,
|
|
400
|
-
//
|
|
401
|
-
//
|
|
402
|
-
//
|
|
403
|
-
//
|
|
411
|
+
}, [clientId, ref]); // If the block has inner blocks, but no menu id, then these blocks are either:
|
|
412
|
+
// - inserted via a pattern.
|
|
413
|
+
// - inserted directly via Code View (or otherwise).
|
|
414
|
+
// - from an older version of navigation block added before the block used a wp_navigation entity.
|
|
415
|
+
// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,
|
|
416
|
+
// that automatically saves the menu as an entity when changes are made to the inner blocks.
|
|
404
417
|
|
|
405
418
|
const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
|
|
406
419
|
|
|
@@ -425,6 +438,7 @@ function Navigation(_ref) {
|
|
|
425
438
|
setHasSavedUnsavedInnerBlocks(true); // Switch to using the wp_navigation entity.
|
|
426
439
|
|
|
427
440
|
setRef(post.id);
|
|
441
|
+
showNavigationMenuCreateNotice((0, _i18n.__)(`New Navigation Menu created.`));
|
|
428
442
|
}
|
|
429
443
|
})));
|
|
430
444
|
} // Show a warning if the selected menu is no longer available.
|
|
@@ -475,7 +489,7 @@ function Navigation(_ref) {
|
|
|
475
489
|
,
|
|
476
490
|
actionLabel: (0, _i18n.__)("Switch to '%s'"),
|
|
477
491
|
showManageActions: true
|
|
478
|
-
}))
|
|
492
|
+
}))), (0, _element.createElement)(_blockEditor.InspectorControls, null, hasSubmenuIndicatorSetting && (0, _element.createElement)(_components.PanelBody, {
|
|
479
493
|
title: (0, _i18n.__)('Display')
|
|
480
494
|
}, isResponsive && (0, _element.createElement)(_components.Button, {
|
|
481
495
|
className: overlayMenuPreviewClasses,
|
|
@@ -559,7 +573,12 @@ function Navigation(_ref) {
|
|
|
559
573
|
})))), isEntityAvailable && (0, _element.createElement)(_blockEditor.InspectorControls, {
|
|
560
574
|
__experimentalGroup: "advanced"
|
|
561
575
|
}, hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && (0, _element.createElement)(_navigationMenuNameControl.default, null), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && (0, _element.createElement)(_navigationMenuDeleteControl.default, {
|
|
562
|
-
onDelete:
|
|
576
|
+
onDelete: function () {
|
|
577
|
+
let deletedMenuTitle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
578
|
+
resetToEmptyBlock();
|
|
579
|
+
showNavigationMenuDeleteNotice((0, _i18n.sprintf)( // translators: %s: the name of a menu (e.g. Header navigation).
|
|
580
|
+
(0, _i18n.__)('Navigation menu %s successfully deleted.'), deletedMenuTitle));
|
|
581
|
+
}
|
|
563
582
|
})), isLoading && (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_components.Spinner, {
|
|
564
583
|
className: "wp-block-navigation__loading-indicator"
|
|
565
584
|
})), !isLoading && (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_responsiveWrapper.default, {
|