@wordpress/block-library 7.2.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 +2 -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 +17 -11
- package/build/avatar/edit.js.map +1 -1
- package/build/block/edit.js +2 -1
- package/build/block/edit.js.map +1 -1
- package/build/column/index.js +1 -0
- package/build/column/index.js.map +1 -1
- package/build/comment-author-avatar/index.js +3 -3
- 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/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 +7 -14
- 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 +35 -6
- 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/gallery/gap-styles.js +8 -2
- package/build/gallery/gap-styles.js.map +1 -1
- package/build/gallery/index.js +1 -0
- 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 +2 -4
- package/build/group/index.js.map +1 -1
- package/build/group/variations.js +31 -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/index.js +3 -3
- 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/v2/deprecated.js +117 -0
- package/build/list/v2/deprecated.js.map +1 -0
- package/build/list/v2/edit.js +106 -3
- package/build/list/v2/edit.js.map +1 -1
- package/build/list/v2/index.js +4 -1
- package/build/list/v2/index.js.map +1 -1
- package/build/list/v2/migrate.js +85 -0
- package/build/list/v2/migrate.js.map +1 -0
- package/build/list-item/edit.js +59 -10
- package/build/list-item/edit.js.map +1 -1
- 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 +1 -1
- package/build/list-item/index.js.map +1 -1
- package/build/list-item/utils.js +16 -0
- package/build/list-item/utils.js.map +1 -0
- 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-menu.js +1 -0
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +9 -5
- 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-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/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/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/index.js +1 -0
- package/build/social-links/index.js.map +1 -1
- package/build/spacer/controls.native.js +1 -1
- package/build/spacer/controls.native.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 +16 -11
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/block/edit.js +4 -3
- package/build-module/block/edit.js.map +1 -1
- package/build-module/column/index.js +1 -0
- package/build-module/column/index.js.map +1 -1
- package/build-module/comment-author-avatar/index.js +3 -3
- 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/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 +7 -14
- 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 +36 -8
- 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/gallery/gap-styles.js +8 -2
- package/build-module/gallery/gap-styles.js.map +1 -1
- package/build-module/gallery/index.js +1 -0
- 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 +2 -4
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/variations.js +30 -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/index.js +3 -3
- 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/v2/deprecated.js +104 -0
- package/build-module/list/v2/deprecated.js.map +1 -0
- package/build-module/list/v2/edit.js +104 -5
- package/build-module/list/v2/edit.js.map +1 -1
- package/build-module/list/v2/index.js +3 -1
- package/build-module/list/v2/index.js.map +1 -1
- package/build-module/list/v2/migrate.js +77 -0
- package/build-module/list/v2/migrate.js.map +1 -0
- package/build-module/list-item/edit.js +59 -13
- package/build-module/list-item/edit.js.map +1 -1
- 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 +1 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/list-item/utils.js +8 -0
- package/build-module/list-item/utils.js.map +1 -0
- 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-menu.js +1 -0
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +9 -5
- 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-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/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/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/index.js +1 -0
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/spacer/controls.native.js +1 -1
- package/build-module/spacer/controls.native.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 +4 -0
- package/build-style/avatar/editor.css +4 -0
- package/build-style/avatar/style-rtl.css +79 -0
- package/build-style/avatar/style.css +79 -0
- package/build-style/editor-rtl.css +30 -9
- package/build-style/editor.css +30 -9
- 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/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/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/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/style-rtl.css +20 -22
- package/build-style/style.css +20 -22
- package/build-style/template-part/editor-rtl.css +0 -9
- package/build-style/template-part/editor.css +0 -9
- 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/edit.js +21 -13
- package/src/avatar/editor.scss +6 -0
- package/src/avatar/index.php +2 -2
- package/src/avatar/style.scss +5 -0
- package/src/block/edit.js +21 -11
- package/src/column/block.json +1 -0
- package/src/comment-author-avatar/block.json +3 -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/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 +12 -20
- 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 +77 -29
- package/src/cover/index.php +85 -0
- package/src/cover/save.js +18 -14
- package/src/gallery/block.json +1 -0
- package/src/gallery/gap-styles.js +9 -4
- package/src/gallery/index.php +7 -6
- package/src/group/block.json +2 -4
- 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/index.js +15 -15
- package/src/list/deprecated.js +2 -2
- 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 +110 -1
- package/src/list/v2/index.js +2 -0
- package/src/list/v2/migrate.js +87 -0
- package/src/list-item/edit.js +69 -23
- 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 +1 -1
- package/src/list-item/utils.js +14 -0
- 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 +6 -1
- package/src/navigation/style.scss +15 -13
- package/src/navigation/use-navigation-menu.js +4 -0
- package/src/navigation-link/block.json +1 -0
- package/src/navigation-link/edit.js +43 -35
- 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-featured-image/block.json +1 -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/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/site-logo/block.json +1 -1
- package/src/site-logo/edit.js +2 -1
- package/src/site-logo/index.php +0 -4
- package/src/social-link/index.php +1 -2
- package/src/social-links/block.json +1 -0
- package/src/spacer/controls.native.js +1 -1
- 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/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-module/navigation/edit/use-list-view-modal.js +0 -63
- package/build-module/navigation/edit/use-list-view-modal.js.map +0 -1
- package/src/navigation/edit/use-list-view-modal.js +0 -72
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { first } from 'lodash';
|
|
5
|
+
/**
|
|
6
|
+
* WordPress dependencies
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { useCallback } from '@wordpress/element';
|
|
10
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
11
|
+
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { createListItem } from '../utils';
|
|
17
|
+
export default function useIndentListItem(clientId) {
|
|
18
|
+
const {
|
|
19
|
+
canIndent
|
|
20
|
+
} = useSelect(innerSelect => {
|
|
21
|
+
const {
|
|
22
|
+
getBlockIndex
|
|
23
|
+
} = innerSelect(blockEditorStore);
|
|
24
|
+
return {
|
|
25
|
+
canIndent: getBlockIndex(clientId) > 0
|
|
26
|
+
};
|
|
27
|
+
}, [clientId]);
|
|
28
|
+
const {
|
|
29
|
+
replaceBlocks,
|
|
30
|
+
selectionChange
|
|
31
|
+
} = useDispatch(blockEditorStore);
|
|
32
|
+
const {
|
|
33
|
+
getBlockRootClientId,
|
|
34
|
+
getBlock,
|
|
35
|
+
getBlockOrder,
|
|
36
|
+
getSelectionStart,
|
|
37
|
+
getSelectionEnd,
|
|
38
|
+
getBlockIndex
|
|
39
|
+
} = useSelect(blockEditorStore);
|
|
40
|
+
return [canIndent, useCallback(() => {
|
|
41
|
+
var _first, _first2, _first3, _first4;
|
|
42
|
+
|
|
43
|
+
const selectionStart = getSelectionStart();
|
|
44
|
+
const selectionEnd = getSelectionEnd();
|
|
45
|
+
const parentId = getBlockRootClientId(clientId);
|
|
46
|
+
const previousSiblingId = getBlockOrder(parentId)[getBlockIndex(clientId) - 1];
|
|
47
|
+
const previousSibling = getBlock(previousSiblingId);
|
|
48
|
+
const previousSiblingChildren = ((_first = first(previousSibling.innerBlocks)) === null || _first === void 0 ? void 0 : _first.innerBlocks) || [];
|
|
49
|
+
const previousSiblingListAttributes = ((_first2 = first(previousSibling.innerBlocks)) === null || _first2 === void 0 ? void 0 : _first2.attributes) || {};
|
|
50
|
+
const block = getBlock(clientId);
|
|
51
|
+
const childListAttributes = (_first3 = first(block.innerBlocks)) === null || _first3 === void 0 ? void 0 : _first3.attributes;
|
|
52
|
+
const childItemBlocks = ((_first4 = first(block.innerBlocks)) === null || _first4 === void 0 ? void 0 : _first4.innerBlocks) || [];
|
|
53
|
+
const newBlock = createListItem(block.attributes, childListAttributes, childItemBlocks); // Replace the previous sibling of the block being indented and the indented block,
|
|
54
|
+
// with a new block whose attributes are equal to the ones of the previous sibling and
|
|
55
|
+
// whose descendants are the children of the previous sibling, followed by the indented block.
|
|
56
|
+
|
|
57
|
+
replaceBlocks([previousSiblingId, clientId], [createListItem(previousSibling.attributes, previousSiblingListAttributes, [...previousSiblingChildren, newBlock])]); // Restore the selection state.
|
|
58
|
+
|
|
59
|
+
selectionChange(newBlock.clientId, selectionEnd.attributeKey, selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset, selectionEnd.offset);
|
|
60
|
+
}, [clientId])];
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=use-indent-list-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-indent-list-item.js"],"names":["first","useCallback","useSelect","useDispatch","store","blockEditorStore","createListItem","useIndentListItem","clientId","canIndent","innerSelect","getBlockIndex","replaceBlocks","selectionChange","getBlockRootClientId","getBlock","getBlockOrder","getSelectionStart","getSelectionEnd","selectionStart","selectionEnd","parentId","previousSiblingId","previousSibling","previousSiblingChildren","innerBlocks","previousSiblingListAttributes","attributes","block","childListAttributes","childItemBlocks","newBlock","attributeKey","offset"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAT,QAAsB,QAAtB;AAEA;AACA;AACA;;AACA,SAASC,WAAT,QAA4B,oBAA5B;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AAEA;AACA;AACA;;AACA,SAASC,cAAT,QAA+B,UAA/B;AAEA,eAAe,SAASC,iBAAT,CAA4BC,QAA5B,EAAuC;AACrD,QAAM;AAAEC,IAAAA;AAAF,MAAgBP,SAAS,CAC5BQ,WAAF,IAAmB;AAClB,UAAM;AAAEC,MAAAA;AAAF,QAAoBD,WAAW,CAAEL,gBAAF,CAArC;AACA,WAAO;AACNI,MAAAA,SAAS,EAAEE,aAAa,CAAEH,QAAF,CAAb,GAA4B;AADjC,KAAP;AAGA,GAN6B,EAO9B,CAAEA,QAAF,CAP8B,CAA/B;AASA,QAAM;AAAEI,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAqCV,WAAW,CAAEE,gBAAF,CAAtD;AACA,QAAM;AACLS,IAAAA,oBADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,iBAJK;AAKLC,IAAAA,eALK;AAMLP,IAAAA;AANK,MAOFT,SAAS,CAAEG,gBAAF,CAPb;AASA,SAAO,CACNI,SADM,EAENR,WAAW,CAAE,MAAM;AAAA;;AAClB,UAAMkB,cAAc,GAAGF,iBAAiB,EAAxC;AACA,UAAMG,YAAY,GAAGF,eAAe,EAApC;AAEA,UAAMG,QAAQ,GAAGP,oBAAoB,CAAEN,QAAF,CAArC;AACA,UAAMc,iBAAiB,GAAGN,aAAa,CAAEK,QAAF,CAAb,CACzBV,aAAa,CAAEH,QAAF,CAAb,GAA4B,CADH,CAA1B;AAGA,UAAMe,eAAe,GAAGR,QAAQ,CAAEO,iBAAF,CAAhC;AACA,UAAME,uBAAuB,GAC5B,WAAAxB,KAAK,CAAEuB,eAAe,CAACE,WAAlB,CAAL,kDAAsCA,WAAtC,KAAqD,EADtD;AAEA,UAAMC,6BAA6B,GAClC,YAAA1B,KAAK,CAAEuB,eAAe,CAACE,WAAlB,CAAL,oDAAsCE,UAAtC,KAAoD,EADrD;AAEA,UAAMC,KAAK,GAAGb,QAAQ,CAAEP,QAAF,CAAtB;AAEA,UAAMqB,mBAAmB,cAAG7B,KAAK,CAAE4B,KAAK,CAACH,WAAR,CAAR,4CAAG,QAA4BE,UAAxD;AACA,UAAMG,eAAe,GACpB,YAAA9B,KAAK,CAAE4B,KAAK,CAACH,WAAR,CAAL,oDAA4BA,WAA5B,KAA2C,EAD5C;AAGA,UAAMM,QAAQ,GAAGzB,cAAc,CAC9BsB,KAAK,CAACD,UADwB,EAE9BE,mBAF8B,EAG9BC,eAH8B,CAA/B,CAnBkB,CAwBlB;AACA;AACA;;AACAlB,IAAAA,aAAa,CACZ,CAAEU,iBAAF,EAAqBd,QAArB,CADY,EAEZ,CACCF,cAAc,CACbiB,eAAe,CAACI,UADH,EAEbD,6BAFa,EAGb,CAAE,GAAGF,uBAAL,EAA8BO,QAA9B,CAHa,CADf,CAFY,CAAb,CA3BkB,CAsClB;;AACAlB,IAAAA,eAAe,CACdkB,QAAQ,CAACvB,QADK,EAEdY,YAAY,CAACY,YAFC,EAGdZ,YAAY,CAACZ,QAAb,KAA0BW,cAAc,CAACX,QAAzC,GACGW,cAAc,CAACc,MADlB,GAEGb,YAAY,CAACa,MALF,EAMdb,YAAY,CAACa,MANC,CAAf;AAQA,GA/CU,EA+CR,CAAEzB,QAAF,CA/CQ,CAFL,CAAP;AAmDA","sourcesContent":["/**\n * External dependencies\n */\nimport { first } from 'lodash';\n\n/**\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 useIndentListItem( clientId ) {\n\tconst { canIndent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockIndex } = innerSelect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tcanIndent: getBlockIndex( clientId ) > 0,\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\tgetBlock,\n\t\tgetBlockOrder,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t\tgetBlockIndex,\n\t} = useSelect( blockEditorStore );\n\n\treturn [\n\t\tcanIndent,\n\t\tuseCallback( () => {\n\t\t\tconst selectionStart = getSelectionStart();\n\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst previousSiblingId = getBlockOrder( parentId )[\n\t\t\t\tgetBlockIndex( clientId ) - 1\n\t\t\t];\n\t\t\tconst previousSibling = getBlock( previousSiblingId );\n\t\t\tconst previousSiblingChildren =\n\t\t\t\tfirst( previousSibling.innerBlocks )?.innerBlocks || [];\n\t\t\tconst previousSiblingListAttributes =\n\t\t\t\tfirst( previousSibling.innerBlocks )?.attributes || {};\n\t\t\tconst block = getBlock( clientId );\n\n\t\t\tconst childListAttributes = first( block.innerBlocks )?.attributes;\n\t\t\tconst childItemBlocks =\n\t\t\t\tfirst( block.innerBlocks )?.innerBlocks || [];\n\n\t\t\tconst newBlock = createListItem(\n\t\t\t\tblock.attributes,\n\t\t\t\tchildListAttributes,\n\t\t\t\tchildItemBlocks\n\t\t\t);\n\t\t\t// Replace the previous sibling of the block being indented and the indented block,\n\t\t\t// with a new block whose attributes are equal to the ones of the previous sibling and\n\t\t\t// whose descendants are the children of the previous sibling, followed by the indented block.\n\t\t\treplaceBlocks(\n\t\t\t\t[ previousSiblingId, clientId ],\n\t\t\t\t[\n\t\t\t\t\tcreateListItem(\n\t\t\t\t\t\tpreviousSibling.attributes,\n\t\t\t\t\t\tpreviousSiblingListAttributes,\n\t\t\t\t\t\t[ ...previousSiblingChildren, newBlock ]\n\t\t\t\t\t),\n\t\t\t\t]\n\t\t\t);\n\n\t\t\t// Restore the selection state.\n\t\t\tselectionChange(\n\t\t\t\tnewBlock.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,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useCallback } from '@wordpress/element';
|
|
5
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
|
+
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { createListItem } from '../utils';
|
|
12
|
+
export default function useOutdentListItem(clientId) {
|
|
13
|
+
const {
|
|
14
|
+
canOutdent
|
|
15
|
+
} = useSelect(innerSelect => {
|
|
16
|
+
const {
|
|
17
|
+
getBlockRootClientId
|
|
18
|
+
} = innerSelect(blockEditorStore);
|
|
19
|
+
const grandParentId = getBlockRootClientId(getBlockRootClientId(clientId));
|
|
20
|
+
return {
|
|
21
|
+
canOutdent: !!grandParentId
|
|
22
|
+
};
|
|
23
|
+
}, [clientId]);
|
|
24
|
+
const {
|
|
25
|
+
replaceBlocks,
|
|
26
|
+
selectionChange
|
|
27
|
+
} = useDispatch(blockEditorStore);
|
|
28
|
+
const {
|
|
29
|
+
getBlockRootClientId,
|
|
30
|
+
getBlockAttributes,
|
|
31
|
+
getBlock,
|
|
32
|
+
getBlockIndex,
|
|
33
|
+
getSelectionStart,
|
|
34
|
+
getSelectionEnd
|
|
35
|
+
} = useSelect(blockEditorStore);
|
|
36
|
+
return [canOutdent, useCallback(() => {
|
|
37
|
+
const selectionStart = getSelectionStart();
|
|
38
|
+
const selectionEnd = getSelectionEnd();
|
|
39
|
+
const listParentId = getBlockRootClientId(clientId);
|
|
40
|
+
const listAttributes = getBlockAttributes(listParentId);
|
|
41
|
+
const listItemParentId = getBlockRootClientId(listParentId);
|
|
42
|
+
const listItemParentAttributes = getBlockAttributes(listItemParentId);
|
|
43
|
+
const index = getBlockIndex(clientId);
|
|
44
|
+
const siblingBlocks = getBlock(listParentId).innerBlocks;
|
|
45
|
+
const previousSiblings = siblingBlocks.slice(0, index);
|
|
46
|
+
const afterSiblings = siblingBlocks.slice(index + 1); // Create a new parent list item block with just the siblings
|
|
47
|
+
// that existed before the child item being outdent.
|
|
48
|
+
|
|
49
|
+
const newListItemParent = createListItem(listItemParentAttributes, listAttributes, previousSiblings);
|
|
50
|
+
const block = getBlock(clientId);
|
|
51
|
+
const childList = block.innerBlocks[0];
|
|
52
|
+
const childItems = (childList === null || childList === void 0 ? void 0 : childList.innerBlocks) || [];
|
|
53
|
+
const hasChildItems = !!childItems.length; // Create a new list item block whose attributes are equal to the
|
|
54
|
+
// block being outdent and whose children are the children that it had (if any)
|
|
55
|
+
// followed by the siblings that existed after it.
|
|
56
|
+
|
|
57
|
+
const newItem = createListItem(block.attributes, hasChildItems ? childList.attributes : listAttributes, [...childItems, ...afterSiblings]); // Replace the parent list item block, with a new block containing
|
|
58
|
+
// the previous siblings, followed by another block containing after siblings
|
|
59
|
+
// in relation to the block being outdent.
|
|
60
|
+
|
|
61
|
+
replaceBlocks([listItemParentId], [newListItemParent, newItem]); // Restore the selection state.
|
|
62
|
+
|
|
63
|
+
selectionChange(newItem.clientId, selectionEnd.attributeKey, selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset, selectionEnd.offset);
|
|
64
|
+
}, [clientId])];
|
|
65
|
+
}
|
|
66
|
+
//# 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":["useCallback","useSelect","useDispatch","store","blockEditorStore","createListItem","useOutdentListItem","clientId","canOutdent","innerSelect","getBlockRootClientId","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":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,oBAA5B;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AAEA;AACA;AACA;;AACA,SAASC,cAAT,QAA+B,UAA/B;AAEA,eAAe,SAASC,kBAAT,CAA6BC,QAA7B,EAAwC;AACtD,QAAM;AAAEC,IAAAA;AAAF,MAAiBP,SAAS,CAC7BQ,WAAF,IAAmB;AAClB,UAAM;AAAEC,MAAAA;AAAF,QAA2BD,WAAW,CAAEL,gBAAF,CAA5C;AACA,UAAMO,aAAa,GAAGD,oBAAoB,CACzCA,oBAAoB,CAAEH,QAAF,CADqB,CAA1C;AAGA,WAAO;AACNC,MAAAA,UAAU,EAAE,CAAC,CAAEG;AADT,KAAP;AAGA,GAT8B,EAU/B,CAAEJ,QAAF,CAV+B,CAAhC;AAYA,QAAM;AAAEK,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAqCX,WAAW,CAAEE,gBAAF,CAAtD;AACA,QAAM;AACLM,IAAAA,oBADK;AAELI,IAAAA,kBAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,aAJK;AAKLC,IAAAA,iBALK;AAMLC,IAAAA;AANK,MAOFjB,SAAS,CAAEG,gBAAF,CAPb;AASA,SAAO,CACNI,UADM,EAENR,WAAW,CAAE,MAAM;AAClB,UAAMmB,cAAc,GAAGF,iBAAiB,EAAxC;AACA,UAAMG,YAAY,GAAGF,eAAe,EAApC;AAEA,UAAMG,YAAY,GAAGX,oBAAoB,CAAEH,QAAF,CAAzC;AACA,UAAMe,cAAc,GAAGR,kBAAkB,CAAEO,YAAF,CAAzC;AACA,UAAME,gBAAgB,GAAGb,oBAAoB,CAAEW,YAAF,CAA7C;AACA,UAAMG,wBAAwB,GAAGV,kBAAkB,CAClDS,gBADkD,CAAnD;AAIA,UAAME,KAAK,GAAGT,aAAa,CAAET,QAAF,CAA3B;AACA,UAAMmB,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,GAAG1B,cAAc,CACvCmB,wBADuC,EAEvCF,cAFuC,EAGvCM,gBAHuC,CAAxC;AAMA,UAAMI,KAAK,GAAGjB,QAAQ,CAAER,QAAF,CAAtB;AACA,UAAM0B,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,GAAGhC,cAAc,CAC7B2B,KAAK,CAACM,UADuB,EAE7BH,aAAa,GAAGF,SAAS,CAACK,UAAb,GAA0BhB,cAFV,EAG7B,CAAE,GAAGY,UAAL,EAAiB,GAAGJ,aAApB,CAH6B,CAA9B,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,CAAC9B,QADM,EAEda,YAAY,CAACmB,YAFC,EAGdnB,YAAY,CAACb,QAAb,KAA0BY,cAAc,CAACZ,QAAzC,GACGY,cAAc,CAACqB,MADlB,GAEGpB,YAAY,CAACoB,MALF,EAMdpB,YAAY,CAACoB,MANC,CAAf;AAQA,GAvDU,EAuDR,CAAEjC,QAAF,CAvDQ,CAFL,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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/list-item/index.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/index.js"],"names":["listItem","icon","edit","save","name","metadata","settings","merge","attributes","attributesToMerge","content"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAArB,QAAiC,kBAAjC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBL,EAAAA,IADuB;AAEvBC,EAAAA,IAFuB;AAGvBC,EAAAA,IAHuB;;AAIvBI,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,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { createBlock } from '@wordpress/blocks';
|
|
5
|
+
export function createListItem(listItemAttributes, listAttributes, children) {
|
|
6
|
+
return createBlock('core/list-item', listItemAttributes, !children || !children.length ? [] : [createBlock('core/list', listAttributes, children)]);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/utils.js"],"names":["createBlock","createListItem","listItemAttributes","listAttributes","children","length"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AAEA,OAAO,SAASC,cAAT,CAAyBC,kBAAzB,EAA6CC,cAA7C,EAA6DC,QAA7D,EAAwE;AAC9E,SAAOJ,WAAW,CACjB,gBADiB,EAEjBE,kBAFiB,EAGjB,CAAEE,QAAF,IAAc,CAAEA,QAAQ,CAACC,MAAzB,GACG,EADH,GAEG,CAAEL,WAAW,CAAE,WAAF,EAAeG,cAAf,EAA+BC,QAA/B,CAAb,CALc,CAAlB;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"]}
|
|
@@ -16,8 +16,6 @@ import { Component } from '@wordpress/element';
|
|
|
16
16
|
import { __ } from '@wordpress/i18n';
|
|
17
17
|
import { isURL, getProtocol } from '@wordpress/url';
|
|
18
18
|
import { compose, withPreferredColorScheme } from '@wordpress/compose';
|
|
19
|
-
import { withDispatch } from '@wordpress/data';
|
|
20
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
21
19
|
/**
|
|
22
20
|
* Internal dependencies
|
|
23
21
|
*/
|
|
@@ -147,10 +145,6 @@ class MediaContainer extends Component {
|
|
|
147
145
|
}
|
|
148
146
|
|
|
149
147
|
finishMediaUploadWithFailure() {
|
|
150
|
-
const {
|
|
151
|
-
createErrorNotice
|
|
152
|
-
} = this.props;
|
|
153
|
-
createErrorNotice(__('Failed to insert media.'));
|
|
154
148
|
this.setState({
|
|
155
149
|
isUploadInProgress: false
|
|
156
150
|
});
|
|
@@ -335,12 +329,5 @@ class MediaContainer extends Component {
|
|
|
335
329
|
|
|
336
330
|
}
|
|
337
331
|
|
|
338
|
-
export default compose([
|
|
339
|
-
const {
|
|
340
|
-
createErrorNotice
|
|
341
|
-
} = dispatch(noticesStore);
|
|
342
|
-
return {
|
|
343
|
-
createErrorNotice
|
|
344
|
-
};
|
|
345
|
-
}), withPreferredColorScheme])(MediaContainer);
|
|
332
|
+
export default compose([withPreferredColorScheme])(MediaContainer);
|
|
346
333
|
//# sourceMappingURL=media-container.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.native.js"],"names":["View","Text","TouchableWithoutFeedback","mediaUploadSync","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","Icon","Image","IMAGE_DEFAULT_FOCAL_POINT","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MediaPlaceholder","MediaUpload","MediaUploadProgress","VIDEO_ASPECT_RATIO","VideoPlayer","Component","__","isURL","getProtocol","compose","withPreferredColorScheme","withDispatch","store","noticesStore","styles","icon","SvgIconRetry","ALLOWED_MEDIA_TYPES","ICON_TYPE","PLACEHOLDER","RETRY","imageFillStyles","MediaContainer","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","iconRetry","iconRetryVideo","iconRetryVideoDark","iconPlaceholder","iconPlaceholderDark","setState","payload","onMediaUpdate","mediaServerId","createErrorNotice","renderImage","openMediaOptions","aligmentStyles","focalPoint","imageFill","isSelected","mediaAlt","mediaWidth","shouldStack","isUploadFailed","retryMessage","focalPointValues","imageWithFocalPoint","height","imageCropped","mediaImageContainer","renderVideo","showVideo","videoPlaceholderStyles","videoPlaceholder","videoPlaceholderDark","retryVideoTextStyles","uploadFailedText","uploadFailedTextVideo","uploadFailedTextVideoDark","mediaVideo","videoContainer","videoContent","aspectRatio","videoPlayer","video","uri","modalIcon","renderContent","mediaElement","renderPlaceholder","title","onFocus","render","onSetOpenPickerRef","coverUrl","open","getMediaOptions","dispatch"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,EAAqBC,wBAArB,QAAqD,cAArD;AAEA;AACA;AACA;;AACA,SACCC,eADD,EAECC,6BAFD,EAGCC,8BAHD,EAICC,6BAJD,QAKO,gCALP;AAMA,SAASC,IAAT,EAAeC,KAAf,EAAsBC,yBAAtB,QAAuD,uBAAvD;AACA,SACCC,gBADD,EAECC,gBAFD,EAGCC,gBAHD,EAICC,WAJD,EAKCC,mBALD,EAMCC,kBAND,EAOCC,WAPD,QAQO,yBARP;AASA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAT,EAAgBC,WAAhB,QAAmC,gBAAnC;AACA,SAASC,OAAT,EAAkBC,wBAAlB,QAAkD,oBAAlD;AACA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,OAAOC,IAAP,MAAiB,wBAAjB;AACA,OAAOC,YAAP,MAAyB,cAAzB;AAEA;AACA;AACA;;AACA,MAAMC,mBAAmB,GAAG,CAAEnB,gBAAF,EAAoBC,gBAApB,CAA5B;AAEA,MAAMmB,SAAS,GAAG;AACjBC,EAAAA,WAAW,EAAE,aADI;AAEjBC,EAAAA,KAAK,EAAE;AAFU,CAAlB;AAKA,SAASC,eAAT,QAAgC,sBAAhC;;AAEA,MAAMC,cAAN,SAA6BjB,SAA7B,CAAuC;AACtCkB,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AACA,SAAKC,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBC,IAAzB,CAA+B,IAA/B,CAA3B;AACA,SAAKC,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCD,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKE,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCF,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKG,qBAAL,GAA6B,KAAKA,qBAAL,CAA2BH,IAA3B,CAAiC,IAAjC,CAA7B;AACA,SAAKI,yBAAL,GAAiC,KAAKA,yBAAL,CAA+BJ,IAA/B,CAChC,IADgC,CAAjC;AAGA,SAAKK,cAAL,GAAsB,KAAKA,cAAL,CAAoBL,IAApB,CAA0B,IAA1B,CAAtB;AAEA,SAAKM,KAAL,GAAa;AACZC,MAAAA,kBAAkB,EAAE;AADR,KAAb;AAGA;;AAEDC,EAAAA,iBAAiB,GAAG;AACnB,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAwB,KAAKC,KAAnC,CADmB,CAGnB;AACA;;AACA,QAAKF,OAAO,IAAIC,QAAX,IAAuB5B,WAAW,CAAE4B,QAAF,CAAX,KAA4B,OAAxD,EAAkE;AACjE7C,MAAAA,eAAe;AACf;AACD;;AAEDuC,EAAAA,yBAAyB,CAAEQ,MAAF,EAAW;AACnC,UAAM;AAAEC,MAAAA,EAAF;AAAMC,MAAAA,GAAN;AAAWC,MAAAA;AAAX,QAAoBH,MAA1B;AACA,UAAM;AAAEI,MAAAA;AAAF,QAAoB,KAAKL,KAA/B;AAEAK,IAAAA,aAAa,CAAE;AACdC,MAAAA,UAAU,EAAEF,IADE;AAEdF,MAAAA,EAFc;AAGdC,MAAAA;AAHc,KAAF,CAAb;AAKA;;AAEDT,EAAAA,cAAc,GAAG;AAChB,UAAM;AAAEE,MAAAA;AAAF,QAAyB,KAAKD,KAApC;AACA,UAAM;AACLG,MAAAA,OADK;AAELC,MAAAA,QAFK;AAGLQ,MAAAA,SAHK;AAILC,MAAAA,eAJK;AAKLC,MAAAA;AALK,QAMF,KAAKT,KANT;;AAQA,QAAKJ,kBAAL,EAA0B;AACzBxC,MAAAA,8BAA8B,CAAE0C,OAAF,CAA9B;AACA,KAFD,MAEO,IAAKA,OAAO,IAAI3B,WAAW,CAAE4B,QAAF,CAAX,KAA4B,OAA5C,EAAsD;AAC5D5C,MAAAA,6BAA6B,CAAE2C,OAAF,CAA7B;AACA,KAFM,MAEA,IAAKS,SAAS,KAAK9C,gBAAd,IAAkC+C,eAAvC,EAAyD;AAC/DnD,MAAAA,6BAA6B,CAAE0C,QAAF,CAA7B;AACA,KAFM,MAEA,IAAKQ,SAAS,KAAK9C,gBAAnB,EAAsC;AAC5CgD,MAAAA,eAAe;AACf;AACD;;AAEDC,EAAAA,OAAO,CAAEC,QAAF,EAAa;AACnB,UAAM;AAAEJ,MAAAA,SAAF;AAAaK,MAAAA;AAAb,QAA0C,KAAKZ,KAArD;AACA,QAAIa,SAAJ;;AACA,YAASF,QAAT;AACC,WAAK9B,SAAS,CAACE,KAAf;AACC8B,QAAAA,SAAS,GACRN,SAAS,KAAK9C,gBAAd,GACGgB,MAAM,CAACqC,SADV,GAEGF,wBAAwB,CACxBnC,MAAM,CAACsC,cADiB,EAExBtC,MAAM,CAACuC,kBAFiB,CAH5B;AAQA,eAAO,cAAC,IAAD;AAAM,UAAA,IAAI,EAAGrC;AAAb,WAAiCkC,SAAjC,EAAP;;AACD,WAAKhC,SAAS,CAACC,WAAf;AACC+B,QAAAA,SAAS,GAAGD,wBAAwB,CACnCnC,MAAM,CAACwC,eAD4B,EAEnCxC,MAAM,CAACyC,mBAF4B,CAApC;AAIA;AAhBF;;AAkBA,WAAO,cAAC,IAAD;AAAM,MAAA,IAAI,EAAGxC;AAAb,OAAyBmC,SAAzB,EAAP;AACA;;AAEDzB,EAAAA,mBAAmB,GAAG;AACrB,QAAK,CAAE,KAAKO,KAAL,CAAWC,kBAAlB,EAAuC;AACtC,WAAKuB,QAAL,CAAe;AAAEvB,QAAAA,kBAAkB,EAAE;AAAtB,OAAf;AACA;AACD;;AAEDN,EAAAA,4BAA4B,CAAE8B,OAAF,EAAY;AACvC,UAAM;AAAEC,MAAAA;AAAF,QAAoB,KAAKrB,KAA/B;AAEAqB,IAAAA,aAAa,CAAE;AACdnB,MAAAA,EAAE,EAAEkB,OAAO,CAACE,aADE;AAEdnB,MAAAA,GAAG,EAAEiB,OAAO,CAACrB;AAFC,KAAF,CAAb;AAIA,SAAKoB,QAAL,CAAe;AAAEvB,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDL,EAAAA,4BAA4B,GAAG;AAC9B,UAAM;AAAEgC,MAAAA;AAAF,QAAwB,KAAKvB,KAAnC;AAEAuB,IAAAA,iBAAiB,CAAEtD,EAAE,CAAE,yBAAF,CAAJ,CAAjB;AAEA,SAAKkD,QAAL,CAAe;AAAEvB,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDJ,EAAAA,qBAAqB,GAAG;AACvB,UAAM;AAAE6B,MAAAA;AAAF,QAAoB,KAAKrB,KAA/B;AAEAqB,IAAAA,aAAa,CAAE;AAAEnB,MAAAA,EAAE,EAAE,IAAN;AAAYC,MAAAA,GAAG,EAAE;AAAjB,KAAF,CAAb;AACA,SAAKgB,QAAL,CAAe;AAAEvB,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAED4B,EAAAA,WAAW,CAAEvB,MAAF,EAAUwB,gBAAV,EAA6B;AACvC,UAAM;AAAE7B,MAAAA;AAAF,QAAyB,KAAKD,KAApC;AACA,UAAM;AACL+B,MAAAA,cADK;AAELC,MAAAA,UAFK;AAGLC,MAAAA,SAHK;AAILpB,MAAAA,eAJK;AAKLqB,MAAAA,UALK;AAMLC,MAAAA,QANK;AAOL/B,MAAAA,QAPK;AAQLgC,MAAAA,UARK;AASLC,MAAAA;AATK,QAUF,KAAKhC,KAVT;AAWA,UAAM;AAAEiC,MAAAA,cAAF;AAAkBC,MAAAA;AAAlB,QAAmCjC,MAAzC;AACA,UAAMkC,gBAAgB,GAAG,CAAER,UAAF,GACtBnE,yBADsB,GAEtBmE,UAFH;AAIA,WACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG,CACPC,SAAS,IAAInD,MAAM,CAAC2D,mBADb,EAEPR,SAAS,IACRI,WADD,IACgB;AACdK,QAAAA,MAAM,EAAE5D,MAAM,CAACmD,SAAP,CAAiBS;AADX,OAHT;AADT,OASC,cAAC,wBAAD;AACC,MAAA,UAAU,EAAG,CAAER,UADhB;AAEC,MAAA,OAAO,EAAG,KAAKnC,cAFhB;AAGC,MAAA,WAAW,EAAG+B,gBAHf;AAIC,MAAA,QAAQ,EAAG,CAAEI;AAJd,OAMC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG,CACPD,SAAS,IAAInD,MAAM,CAAC6D,YADb,EAEP7D,MAAM,CAAC8D,mBAFA,EAGP,CAAE3C,kBAAF,IAAwB8B,cAHjB;AADT,OAOC,cAAC,KAAD;AACC,MAAA,KAAK,EAAC,QADP;AAEC,MAAA,GAAG,EAAGI,QAFP;AAGC,MAAA,UAAU,EAAGF,SAAS,IAAIO,gBAH3B;AAIC,MAAA,UAAU,EAAG3B,eAJd;AAKC,MAAA,cAAc,EAAGyB,cALlB;AAMC,MAAA,kBAAkB,EAAGrC,kBANtB;AAOC,MAAA,yBAAyB,EACxB,KAAKH,yBARP;AAUC,MAAA,gBAAgB,EAAGgC,gBAVpB;AAWC,MAAA,YAAY,EAAGS,YAXhB;AAYC,MAAA,GAAG,EAAGnC,QAZP;AAaC,MAAA,KAAK,EAAG,CAAEH,kBAAF,IAAwBmC;AAbjC,MAPD,CAND,CATD,CADD;AA0CA;;AAEDS,EAAAA,WAAW,CAAEvC,MAAF,EAAUwB,gBAAV,EAA6B;AACvC,UAAM;AACLC,MAAAA,cADK;AAEL3B,MAAAA,QAFK;AAGL8B,MAAAA,UAHK;AAILjB,MAAAA;AAJK,QAKF,KAAKZ,KALT;AAMA,UAAM;AAAEJ,MAAAA;AAAF,QAAyB,KAAKD,KAApC;AACA,UAAM;AAAEsC,MAAAA,cAAF;AAAkBC,MAAAA;AAAlB,QAAmCjC,MAAzC;AACA,UAAMwC,SAAS,GACdvE,KAAK,CAAE6B,QAAF,CAAL,IAAqB,CAAEH,kBAAvB,IAA6C,CAAEqC,cADhD;AAGA,UAAMS,sBAAsB,GAAG9B,wBAAwB,CACtDnC,MAAM,CAACkE,gBAD+C,EAEtDlE,MAAM,CAACmE,oBAF+C,CAAvD;AAIA,UAAMC,oBAAoB,GAAG,CAC5BpE,MAAM,CAACqE,gBADqB,EAE5BlC,wBAAwB,CACvBnC,MAAM,CAACsE,qBADgB,EAEvBtE,MAAM,CAACuE,yBAFgB,CAFI,CAA7B;AAQA,WACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGvE,MAAM,CAACwE;AAArB,OACC,cAAC,wBAAD;AACC,MAAA,UAAU,EAAG,CAAEpB,UADhB;AAEC,MAAA,OAAO,EAAG,KAAKnC,cAFhB;AAGC,MAAA,WAAW,EAAG+B,gBAHf;AAIC,MAAA,QAAQ,EAAG,CAAEI;AAJd,OAMC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG,CAAEpD,MAAM,CAACyE,cAAT,EAAyBxB,cAAzB;AAAd,OACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG,CACPjD,MAAM,CAAC0E,YADA,EAEP;AACCC,QAAAA,WAAW,EAAEtF;AADd,OAFO;AADT,OAQG2E,SAAS,IACV,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGhE,MAAM,CAAC4E;AAArB,OACC,cAAC,WAAD;AACC,MAAA,UAAU,EAAGxB,UADd;AAEC,MAAA,KAAK,EAAGpD,MAAM,CAAC6E,KAFhB;AAGC,MAAA,MAAM,EAAG;AAAEC,QAAAA,GAAG,EAAExD;AAAP,OAHV;AAIC,MAAA,MAAM,EAAG;AAJV,MADD,CATF,EAkBG,CAAE0C,SAAF,IACD,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGC;AAAd,OACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGjE,MAAM,CAAC+E;AAArB,OACGvB,cAAc,GACb,KAAKvB,OAAL,CAAc7B,SAAS,CAACE,KAAxB,CADa,GAEb,KAAK2B,OAAL,CACA7B,SAAS,CAACC,WADV,CAHJ,CADD,EAQGmD,cAAc,IACf,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGY;AAAd,OACGX,YADH,CATF,CAnBF,CADD,CAND,CADD,CADD;AAgDA;;AAEDuB,EAAAA,aAAa,CAAExD,MAAF,EAAUwB,gBAAV,EAA6B;AACzC,UAAM;AAAElB,MAAAA;AAAF,QAAgB,KAAKP,KAA3B;AACA,QAAI0D,YAAY,GAAG,IAAnB;;AAEA,YAASnD,SAAT;AACC,WAAK9C,gBAAL;AACCiG,QAAAA,YAAY,GAAG,KAAKlC,WAAL,CAAkBvB,MAAlB,EAA0BwB,gBAA1B,CAAf;AACA;;AACD,WAAK/D,gBAAL;AACCgG,QAAAA,YAAY,GAAG,KAAKlB,WAAL,CAAkBvC,MAAlB,EAA0BwB,gBAA1B,CAAf;AACA;AANF;;AAQA,WAAOiC,YAAP;AACA;;AAEDC,EAAAA,iBAAiB,GAAG;AACnB,WACC,cAAC,gBAAD;AACC,MAAA,IAAI,EAAG,KAAKjD,OAAL,CAAc7B,SAAS,CAACC,WAAxB,CADR;AAEC,MAAA,MAAM,EAAG;AACR8E,QAAAA,KAAK,EAAE3F,EAAE,CAAE,YAAF;AADD,OAFV;AAKC,MAAA,QAAQ,EAAG,KAAKwB,yBALjB;AAMC,MAAA,YAAY,EAAGb,mBANhB;AAOC,MAAA,OAAO,EAAG,KAAKoB,KAAL,CAAW6D;AAPtB,MADD;AAWA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAE/D,MAAAA,QAAF;AAAYD,MAAAA,OAAZ;AAAqBS,MAAAA,SAArB;AAAgCwD,MAAAA;AAAhC,QAAuD,KAAK/D,KAAlE;AACA,UAAMgE,QAAQ,GAAGzD,SAAS,KAAK9C,gBAAd,GAAiCsC,QAAjC,GAA4C,IAA7D;;AAEA,QAAKA,QAAL,EAAgB;AACf,aACC,cAAC,WAAD;AACC,QAAA,gBAAgB,EAAG,IADpB;AAEC,QAAA,QAAQ,EAAG,KAAKN,yBAFjB;AAGC,QAAA,YAAY,EAAGb,mBAHhB;AAIC,QAAA,KAAK,EAAGkB,OAJT;AAKC,QAAA,MAAM,EAAG,QAAiC;AAAA,cAA/B;AAAEmE,YAAAA,IAAF;AAAQC,YAAAA;AAAR,WAA+B;AACzCH,UAAAA,kBAAkB,CAAEE,IAAF,CAAlB;AAEA,iBACC,8BACGC,eAAe,EADlB,EAGC,cAAC,mBAAD;AACC,YAAA,QAAQ,EAAGF,QADZ;AAEC,YAAA,OAAO,EAAGlE,OAFX;AAGC,YAAA,qBAAqB,EACpB,KAAKV,mBAJP;AAMC,YAAA,8BAA8B,EAC7B,KAAKE,4BAPP;AASC,YAAA,8BAA8B,EAC7B,KAAKC,4BAVP;AAYC,YAAA,uBAAuB,EACtB,KAAKC,qBAbP;AAeC,YAAA,aAAa,EAAKS,MAAF,IAAc;AAC7B,qBAAO,KAAKwD,aAAL,CACNxD,MADM,EAENgE,IAFM,CAAP;AAIA;AApBF,YAHD,CADD;AA4BA;AApCF,QADD;AAwCA;;AACD,WAAO,KAAKN,iBAAL,EAAP;AACA;;AA1UqC;;AA6UvC,eAAevF,OAAO,CAAE,CACvBE,YAAY,CAAI6F,QAAF,IAAgB;AAC7B,QAAM;AAAE5C,IAAAA;AAAF,MAAwB4C,QAAQ,CAAE3F,YAAF,CAAtC;AAEA,SAAO;AAAE+C,IAAAA;AAAF,GAAP;AACA,CAJW,CADW,EAMvBlD,wBANuB,CAAF,CAAP,CAOVY,cAPU,CAAf","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":["View","Text","TouchableWithoutFeedback","mediaUploadSync","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","Icon","Image","IMAGE_DEFAULT_FOCAL_POINT","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MediaPlaceholder","MediaUpload","MediaUploadProgress","VIDEO_ASPECT_RATIO","VideoPlayer","Component","__","isURL","getProtocol","compose","withPreferredColorScheme","styles","icon","SvgIconRetry","ALLOWED_MEDIA_TYPES","ICON_TYPE","PLACEHOLDER","RETRY","imageFillStyles","MediaContainer","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","iconRetry","iconRetryVideo","iconRetryVideoDark","iconPlaceholder","iconPlaceholderDark","setState","payload","onMediaUpdate","mediaServerId","renderImage","openMediaOptions","aligmentStyles","focalPoint","imageFill","isSelected","mediaAlt","mediaWidth","shouldStack","isUploadFailed","retryMessage","focalPointValues","imageWithFocalPoint","height","imageCropped","mediaImageContainer","renderVideo","showVideo","videoPlaceholderStyles","videoPlaceholder","videoPlaceholderDark","retryVideoTextStyles","uploadFailedText","uploadFailedTextVideo","uploadFailedTextVideoDark","mediaVideo","videoContainer","videoContent","aspectRatio","videoPlayer","video","uri","modalIcon","renderContent","mediaElement","renderPlaceholder","title","onFocus","render","onSetOpenPickerRef","coverUrl","open","getMediaOptions"],"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"]}
|
|
@@ -14,13 +14,12 @@ import { InspectorControls, BlockControls, useBlockProps, __experimentalUseNoRec
|
|
|
14
14
|
import { EntityProvider, useEntityProp } from '@wordpress/core-data';
|
|
15
15
|
import { useDispatch, useSelect, useRegistry } from '@wordpress/data';
|
|
16
16
|
import { PanelBody, ToggleControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, ToolbarGroup, Button, Spinner } from '@wordpress/components';
|
|
17
|
-
import { __ } from '@wordpress/i18n';
|
|
17
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
18
18
|
import { speak } from '@wordpress/a11y';
|
|
19
19
|
/**
|
|
20
20
|
* Internal dependencies
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
-
import useListViewModal from './use-list-view-modal';
|
|
24
23
|
import useNavigationMenu from '../use-navigation-menu';
|
|
25
24
|
import useNavigationEntities from '../use-navigation-entities';
|
|
26
25
|
import Placeholder from './placeholder';
|
|
@@ -58,6 +57,8 @@ function detectColors(colorsDetectionElement, setColor, setBackground) {
|
|
|
58
57
|
}
|
|
59
58
|
|
|
60
59
|
function Navigation(_ref) {
|
|
60
|
+
var _attributes$style, _attributes$style$typ;
|
|
61
|
+
|
|
61
62
|
let {
|
|
62
63
|
attributes,
|
|
63
64
|
setAttributes,
|
|
@@ -117,6 +118,9 @@ function Navigation(_ref) {
|
|
|
117
118
|
// the Select Menu dropdown.
|
|
118
119
|
|
|
119
120
|
useNavigationEntities();
|
|
121
|
+
const [showNavigationMenuDeleteNotice] = useNavigationNotice({
|
|
122
|
+
name: 'block-library/core/navigation/delete'
|
|
123
|
+
});
|
|
120
124
|
const [showNavigationMenuCreateNotice, hideNavigationMenuCreateNotice] = useNavigationNotice({
|
|
121
125
|
name: 'block-library/core/navigation/create'
|
|
122
126
|
});
|
|
@@ -183,6 +187,7 @@ function Navigation(_ref) {
|
|
|
183
187
|
const [isResponsiveMenuOpen, setResponsiveMenuVisibility] = useState(false);
|
|
184
188
|
const [overlayMenuPreview, setOverlayMenuPreview] = useState(false);
|
|
185
189
|
const {
|
|
190
|
+
hasResolvedNavigationMenus,
|
|
186
191
|
isNavigationMenuResolved,
|
|
187
192
|
isNavigationMenuMissing,
|
|
188
193
|
navigationMenus,
|
|
@@ -194,13 +199,19 @@ function Navigation(_ref) {
|
|
|
194
199
|
canUserCreateNavigationMenu,
|
|
195
200
|
isResolvingCanUserCreateNavigationMenu,
|
|
196
201
|
hasResolvedCanUserCreateNavigationMenu
|
|
197
|
-
} = useNavigationMenu(ref);
|
|
202
|
+
} = useNavigationMenu(ref); // Attempt to retrieve and prioritize any existing navigation menu unless
|
|
203
|
+
// a specific ref is allocated or the user is explicitly creating a new menu. The aim is
|
|
204
|
+
// for the block to "just work" from a user perspective using existing data.
|
|
205
|
+
|
|
206
|
+
useEffect(() => {
|
|
207
|
+
if (isCreatingNavigationMenu || ref || !(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length) || (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.length) > 1) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
setRef(navigationMenus[0].id);
|
|
212
|
+
}, [navigationMenus]);
|
|
198
213
|
const navRef = useRef();
|
|
199
214
|
const isDraftNavigationMenu = (navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.status) === 'draft';
|
|
200
|
-
const {
|
|
201
|
-
listViewToolbarButton,
|
|
202
|
-
listViewModal
|
|
203
|
-
} = useListViewModal(clientId);
|
|
204
215
|
const {
|
|
205
216
|
convert,
|
|
206
217
|
status: classicMenuConversionStatus,
|
|
@@ -216,7 +227,7 @@ function Navigation(_ref) {
|
|
|
216
227
|
// - there are no uncontrolled blocks.
|
|
217
228
|
// - (legacy) there is a Navigation Area without a ref attribute pointing to a Navigation Post.
|
|
218
229
|
|
|
219
|
-
const isPlaceholder = !ref && !isCreatingNavigationMenu && !isConvertingClassicMenu && (!hasUncontrolledInnerBlocks || isWithinUnassignedArea);
|
|
230
|
+
const isPlaceholder = !ref && !isCreatingNavigationMenu && !isConvertingClassicMenu && hasResolvedNavigationMenus && (!hasUncontrolledInnerBlocks || isWithinUnassignedArea);
|
|
220
231
|
const isEntityAvailable = !isNavigationMenuMissing && isNavigationMenuResolved; // "loading" state:
|
|
221
232
|
// - there is a menu creation process in progress.
|
|
222
233
|
// - there is a classic menu conversion process in progress.
|
|
@@ -224,7 +235,8 @@ function Navigation(_ref) {
|
|
|
224
235
|
// - there is a ref attribute pointing to a Navigation Post
|
|
225
236
|
// - the Navigation Post isn't available (hasn't resolved) yet.
|
|
226
237
|
|
|
227
|
-
const isLoading = isCreatingNavigationMenu || isConvertingClassicMenu || !!(ref && !isEntityAvailable && !isConvertingClassicMenu);
|
|
238
|
+
const isLoading = !hasResolvedNavigationMenus || isCreatingNavigationMenu || isConvertingClassicMenu || !!(ref && !isEntityAvailable && !isConvertingClassicMenu);
|
|
239
|
+
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;
|
|
228
240
|
const blockProps = useBlockProps({
|
|
229
241
|
ref: navRef,
|
|
230
242
|
className: classnames(className, {
|
|
@@ -238,7 +250,8 @@ function Navigation(_ref) {
|
|
|
238
250
|
'has-text-color': !!textColor.color || !!(textColor !== null && textColor !== void 0 && textColor.class),
|
|
239
251
|
[getColorClassName('color', textColor === null || textColor === void 0 ? void 0 : textColor.slug)]: !!(textColor !== null && textColor !== void 0 && textColor.slug),
|
|
240
252
|
'has-background': !!backgroundColor.color || backgroundColor.class,
|
|
241
|
-
[getColorClassName('background-color', backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.slug)]: !!(backgroundColor !== null && backgroundColor !== void 0 && backgroundColor.slug)
|
|
253
|
+
[getColorClassName('background-color', backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.slug)]: !!(backgroundColor !== null && backgroundColor !== void 0 && backgroundColor.slug),
|
|
254
|
+
[`has-text-decoration-${textDecoration}`]: textDecoration
|
|
242
255
|
}),
|
|
243
256
|
style: {
|
|
244
257
|
color: !(textColor !== null && textColor !== void 0 && textColor.slug) && (textColor === null || textColor === void 0 ? void 0 : textColor.color),
|
|
@@ -362,11 +375,12 @@ function Navigation(_ref) {
|
|
|
362
375
|
replaceInnerBlocks(clientId, []);
|
|
363
376
|
}
|
|
364
377
|
});
|
|
365
|
-
}, [clientId, ref]); // If the block has inner blocks, but no menu id,
|
|
366
|
-
//
|
|
367
|
-
//
|
|
368
|
-
//
|
|
369
|
-
//
|
|
378
|
+
}, [clientId, ref]); // If the block has inner blocks, but no menu id, then these blocks are either:
|
|
379
|
+
// - inserted via a pattern.
|
|
380
|
+
// - inserted directly via Code View (or otherwise).
|
|
381
|
+
// - from an older version of navigation block added before the block used a wp_navigation entity.
|
|
382
|
+
// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,
|
|
383
|
+
// that automatically saves the menu as an entity when changes are made to the inner blocks.
|
|
370
384
|
|
|
371
385
|
const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
|
|
372
386
|
|
|
@@ -391,6 +405,7 @@ function Navigation(_ref) {
|
|
|
391
405
|
setHasSavedUnsavedInnerBlocks(true); // Switch to using the wp_navigation entity.
|
|
392
406
|
|
|
393
407
|
setRef(post.id);
|
|
408
|
+
showNavigationMenuCreateNotice(__(`New Navigation Menu created.`));
|
|
394
409
|
}
|
|
395
410
|
})));
|
|
396
411
|
} // Show a warning if the selected menu is no longer available.
|
|
@@ -441,7 +456,7 @@ function Navigation(_ref) {
|
|
|
441
456
|
,
|
|
442
457
|
actionLabel: __("Switch to '%s'"),
|
|
443
458
|
showManageActions: true
|
|
444
|
-
}))
|
|
459
|
+
}))), createElement(InspectorControls, null, hasSubmenuIndicatorSetting && createElement(PanelBody, {
|
|
445
460
|
title: __('Display')
|
|
446
461
|
}, isResponsive && createElement(Button, {
|
|
447
462
|
className: overlayMenuPreviewClasses,
|
|
@@ -525,7 +540,12 @@ function Navigation(_ref) {
|
|
|
525
540
|
})))), isEntityAvailable && createElement(InspectorControls, {
|
|
526
541
|
__experimentalGroup: "advanced"
|
|
527
542
|
}, hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && createElement(NavigationMenuNameControl, null), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && createElement(NavigationMenuDeleteControl, {
|
|
528
|
-
onDelete:
|
|
543
|
+
onDelete: function () {
|
|
544
|
+
let deletedMenuTitle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
545
|
+
resetToEmptyBlock();
|
|
546
|
+
showNavigationMenuDeleteNotice(sprintf( // translators: %s: the name of a menu (e.g. Header navigation).
|
|
547
|
+
__('Navigation menu %s successfully deleted.'), deletedMenuTitle));
|
|
548
|
+
}
|
|
529
549
|
})), isLoading && createElement(TagName, blockProps, createElement(Spinner, {
|
|
530
550
|
className: "wp-block-navigation__loading-indicator"
|
|
531
551
|
})), !isLoading && createElement(TagName, blockProps, createElement(ResponsiveWrapper, {
|