@wordpress/block-library 7.16.0 → 7.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/build/archives/edit.js +1 -0
- package/build/archives/edit.js.map +1 -1
- package/build/audio/edit.js +44 -4
- package/build/audio/edit.js.map +1 -1
- package/build/button/edit.js +1 -1
- package/build/button/edit.js.map +1 -1
- package/build/buttons/edit.native.js +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/comment-template/edit.js +40 -32
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/index.js +6 -2
- package/build/comment-template/index.js.map +1 -1
- package/build/comments/edit/placeholder.js +1 -4
- package/build/comments/edit/placeholder.js.map +1 -1
- package/build/comments/index.js +5 -1
- package/build/comments/index.js.map +1 -1
- package/build/comments-title/edit.js +18 -1
- package/build/comments-title/edit.js.map +1 -1
- package/build/cover/edit/index.js +2 -2
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +3 -7
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/use-cover-is-dark.js +8 -7
- package/build/cover/edit/use-cover-is-dark.js.map +1 -1
- package/build/embed/deprecated.js +43 -4
- package/build/embed/deprecated.js.map +1 -1
- package/build/embed/variations.js +1 -1
- package/build/embed/variations.js.map +1 -1
- package/build/file/deprecated.js +108 -4
- package/build/file/deprecated.js.map +1 -1
- package/build/file/transforms.js +3 -9
- package/build/file/transforms.js.map +1 -1
- package/build/gallery/deprecated.js +148 -23
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/gallery.js +3 -2
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/transforms.js +3 -3
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-image-sizes.js +2 -1
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/gallery/v1/edit.js +3 -2
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/edit.js +7 -3
- package/build/group/edit.js.map +1 -1
- package/build/image/edit.native.js +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +33 -12
- package/build/image/image.js.map +1 -1
- package/build/image/transforms.js +1 -7
- package/build/image/transforms.js.map +1 -1
- package/build/latest-posts/edit.js +1 -1
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/transforms.js +9 -1
- package/build/list/transforms.js.map +1 -1
- package/build/list/utils.js +4 -8
- package/build/list/utils.js.map +1 -1
- package/build/list-item/edit.js +3 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js +3 -2
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +19 -22
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +24 -10
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/index.js +14 -1
- package/build/list-item/index.js.map +1 -1
- package/build/list-item/utils.js +14 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/navigation/edit/index.js +45 -31
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +3 -5
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +3 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +25 -8
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/index.js +4 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation-link/edit.js +5 -3
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -4
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +29 -10
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +1 -5
- package/build/page-list/index.js.map +1 -1
- package/build/paragraph/edit.js +3 -11
- package/build/paragraph/edit.js.map +1 -1
- package/build/pattern/edit.js +11 -4
- package/build/pattern/edit.js.map +1 -1
- package/build/post-comments-count/index.js +4 -0
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/form.js +1 -2
- package/build/post-comments-form/form.js.map +1 -1
- package/build/post-comments-form/index.js +4 -0
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +4 -0
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +14 -6
- package/build/post-content/edit.js.map +1 -1
- package/build/pullquote/deprecated.js +6 -6
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +2 -2
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +79 -104
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/search/edit.js +3 -4
- package/build/search/edit.js.map +1 -1
- package/build/site-logo/edit.js +7 -10
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-tagline/edit.js +21 -9
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-title/edit/index.js +20 -8
- package/build/site-title/edit/index.js.map +1 -1
- package/build/social-link/edit.js +11 -2
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/index.js +3 -0
- package/build/social-link/index.js.map +1 -1
- package/build/spacer/controls.js +3 -7
- package/build/spacer/controls.js.map +1 -1
- package/build/table/deprecated.js +282 -27
- package/build/table/deprecated.js.map +1 -1
- package/build/table/state.js +2 -2
- package/build/table/state.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -4
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -1
- 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/utils/clean-empty-object.js +5 -4
- package/build/utils/clean-empty-object.js.map +1 -1
- package/build/video/deprecated.js +159 -0
- package/build/video/deprecated.js.map +1 -0
- package/build/video/edit.js +41 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/index.js +3 -0
- package/build/video/index.js.map +1 -1
- package/build/video/tracks-editor.js +3 -28
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/archives/edit.js +1 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/audio/edit.js +46 -7
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/button/edit.js +1 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/edit.native.js +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/comment-template/edit.js +38 -30
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/index.js +6 -2
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/comments/edit/placeholder.js +1 -3
- package/build-module/comments/edit/placeholder.js.map +1 -1
- package/build-module/comments/index.js +5 -1
- package/build-module/comments/index.js.map +1 -1
- package/build-module/comments-title/edit.js +18 -2
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -2
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +4 -8
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/use-cover-is-dark.js +7 -7
- package/build-module/cover/edit/use-cover-is-dark.js.map +1 -1
- package/build-module/embed/deprecated.js +44 -5
- package/build-module/embed/deprecated.js.map +1 -1
- package/build-module/embed/variations.js +1 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/file/deprecated.js +108 -4
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/transforms.js +3 -8
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/gallery/deprecated.js +147 -25
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/transforms.js +4 -4
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +3 -2
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/gallery/v1/edit.js +4 -3
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/edit.js +7 -3
- package/build-module/group/edit.js.map +1 -1
- package/build-module/image/edit.native.js +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +36 -15
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/transforms.js +1 -6
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -2
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/transforms.js +9 -1
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/utils.js +5 -9
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/edit.js +3 -2
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js +3 -2
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +19 -21
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +24 -9
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/index.js +14 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/list-item/utils.js +14 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/navigation/edit/index.js +45 -31
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +3 -5
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +3 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +25 -8
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/index.js +4 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation-link/edit.js +5 -4
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -4
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +29 -10
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +1 -5
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/paragraph/edit.js +3 -10
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/pattern/edit.js +10 -3
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +4 -0
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/form.js +2 -3
- package/build-module/post-comments-form/form.js.map +1 -1
- package/build-module/post-comments-form/index.js +4 -0
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +4 -0
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +14 -6
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/pullquote/deprecated.js +7 -7
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +4 -4
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +81 -102
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/search/edit.js +4 -5
- package/build-module/search/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +8 -11
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-tagline/edit.js +23 -11
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-title/edit/index.js +22 -10
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/social-link/edit.js +11 -2
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/index.js +3 -0
- package/build-module/social-link/index.js.map +1 -1
- package/build-module/spacer/controls.js +4 -8
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/table/deprecated.js +282 -27
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/state.js +3 -3
- package/build-module/table/state.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -3
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -1
- 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/utils/clean-empty-object.js +5 -5
- package/build-module/utils/clean-empty-object.js.map +1 -1
- package/build-module/video/deprecated.js +147 -0
- package/build-module/video/deprecated.js.map +1 -0
- package/build-module/video/edit.js +45 -9
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/index.js +2 -0
- package/build-module/video/index.js.map +1 -1
- package/build-module/video/tracks-editor.js +4 -29
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/archives/style-rtl.css +4 -0
- package/build-style/archives/style.css +4 -0
- package/build-style/button/style-rtl.css +1 -0
- package/build-style/button/style.css +1 -0
- package/build-style/comment-template/style-rtl.css +1 -0
- package/build-style/comment-template/style.css +1 -0
- package/build-style/comments/editor-rtl.css +1 -0
- package/build-style/comments/editor.css +1 -0
- package/build-style/comments/style-rtl.css +1 -0
- package/build-style/comments/style.css +1 -0
- package/build-style/cover/editor-rtl.css +4 -0
- package/build-style/cover/editor.css +4 -0
- package/build-style/editor-rtl.css +13 -21
- package/build-style/editor.css +13 -21
- package/build-style/group/editor-rtl.css +1 -0
- package/build-style/group/editor.css +1 -0
- package/build-style/image/editor-rtl.css +1 -1
- package/build-style/image/editor.css +1 -1
- package/build-style/navigation/editor-rtl.css +5 -4
- package/build-style/navigation/editor.css +5 -4
- package/build-style/navigation/style-rtl.css +3 -1
- package/build-style/navigation/style.css +3 -1
- package/build-style/paragraph/editor-rtl.css +0 -16
- package/build-style/paragraph/editor.css +0 -16
- package/build-style/post-comments-form/style-rtl.css +3 -0
- package/build-style/post-comments-form/style.css +3 -0
- package/build-style/site-logo/editor-rtl.css +1 -0
- package/build-style/site-logo/editor.css +1 -0
- package/build-style/style-rtl.css +16 -1
- package/build-style/style.css +16 -1
- package/build-style/tag-cloud/style-rtl.css +3 -0
- package/build-style/tag-cloud/style.css +3 -0
- package/package.json +29 -28
- package/src/archives/edit.js +1 -0
- package/src/archives/style.scss +5 -0
- package/src/audio/edit.js +79 -24
- package/src/avatar/index.php +1 -1
- package/src/button/edit.js +1 -1
- package/src/button/style.scss +2 -0
- package/src/buttons/edit.native.js +1 -1
- package/src/code/test/__snapshots__/edit.native.js.snap +13 -0
- package/src/code/test/edit.native.js +46 -32
- package/src/comment-template/block.json +6 -2
- package/src/comment-template/edit.js +47 -34
- package/src/comment-template/style.scss +2 -0
- package/src/comments/block.json +5 -1
- package/src/comments/edit/placeholder.js +1 -7
- package/src/comments/style.scss +2 -0
- package/src/comments-title/edit.js +24 -1
- package/src/cover/edit/index.js +2 -7
- package/src/cover/edit/inspector-controls.js +11 -13
- package/src/cover/edit/use-cover-is-dark.js +11 -11
- package/src/cover/editor.scss +7 -0
- package/src/embed/deprecated.js +53 -26
- package/src/embed/variations.js +1 -1
- package/src/file/deprecated.js +130 -2
- package/src/file/transforms.js +3 -8
- package/src/gallery/deprecated.js +129 -4
- package/src/gallery/gallery.js +2 -0
- package/src/gallery/index.php +19 -10
- package/src/gallery/transforms.js +8 -5
- package/src/gallery/use-image-sizes.js +3 -2
- package/src/gallery/v1/edit.js +4 -3
- package/src/group/edit.js +10 -2
- package/src/group/editor.scss +1 -0
- package/src/image/edit.native.js +1 -1
- package/src/image/editor.scss +4 -1
- package/src/image/image.js +75 -33
- package/src/image/transforms.js +1 -7
- package/src/latest-posts/edit.js +2 -2
- package/src/list/test/edit.native.js +102 -3
- package/src/list/transforms.js +11 -0
- package/src/list/utils.js +3 -11
- package/src/list-item/block.json +14 -1
- package/src/list-item/edit.js +2 -1
- package/src/list-item/edit.native.js +2 -1
- package/src/list-item/hooks/use-merge.js +4 -23
- package/src/list-item/hooks/use-outdent-list-item.js +9 -8
- package/src/navigation/block.json +4 -1
- package/src/navigation/edit/index.js +61 -37
- package/src/navigation/edit/inner-blocks.js +2 -5
- package/src/navigation/edit/unsaved-inner-blocks.js +9 -2
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +32 -5
- package/src/navigation/edit/use-create-navigation-menu.js +2 -5
- package/src/navigation/editor.scss +5 -4
- package/src/navigation/index.php +103 -6
- package/src/navigation/style.scss +3 -1
- package/src/navigation-link/edit.js +6 -5
- package/src/navigation-link/index.php +8 -1
- package/src/navigation-submenu/edit.js +7 -5
- package/src/navigation-submenu/index.php +8 -1
- package/src/page-list/block.json +1 -5
- package/src/page-list/edit.js +36 -22
- package/src/page-list/index.php +8 -6
- package/src/paragraph/edit.js +1 -14
- package/src/paragraph/editor.scss +0 -20
- package/src/pattern/edit.js +10 -3
- package/src/post-comments-count/block.json +4 -0
- package/src/post-comments-form/block.json +4 -0
- package/src/post-comments-form/form.js +2 -3
- package/src/post-comments-form/style.scss +3 -0
- package/src/post-comments-link/block.json +4 -0
- package/src/post-content/edit.js +8 -4
- package/src/pullquote/deprecated.js +7 -7
- package/src/query/edit/inspector-controls/index.js +4 -3
- package/src/query/edit/inspector-controls/taxonomy-controls.js +82 -87
- package/src/rss/index.php +3 -3
- package/src/search/edit.js +7 -2
- package/src/search/index.php +21 -13
- package/src/site-logo/edit.js +12 -10
- package/src/site-logo/editor.scss +1 -0
- package/src/site-tagline/edit.js +25 -18
- package/src/site-title/edit/index.js +26 -12
- package/src/social-link/block.json +3 -0
- package/src/social-link/edit.js +8 -1
- package/src/social-link/index.php +11 -7
- package/src/spacer/controls.js +10 -12
- package/src/table/deprecated.js +587 -348
- package/src/table/state.js +3 -3
- package/src/table-of-contents/edit.js +1 -3
- package/src/tag-cloud/block.json +8 -0
- package/src/tag-cloud/edit.js +1 -1
- package/src/tag-cloud/style.scss +3 -0
- package/src/template-part/index.php +4 -0
- package/src/utils/clean-empty-object.js +5 -6
- package/src/video/deprecated.js +57 -0
- package/src/video/edit.js +71 -23
- package/src/video/index.js +2 -0
- package/src/video/tracks-editor.js +12 -28
- package/build/paragraph/drop-zone.js +0 -99
- package/build/paragraph/drop-zone.js.map +0 -1
- package/build-module/paragraph/drop-zone.js +0 -88
- package/build-module/paragraph/drop-zone.js.map +0 -1
- package/src/paragraph/drop-zone.js +0 -105
|
@@ -39,7 +39,8 @@ export default function ListItemEdit(_ref2) {
|
|
|
39
39
|
attributes,
|
|
40
40
|
setAttributes,
|
|
41
41
|
onReplace,
|
|
42
|
-
clientId
|
|
42
|
+
clientId,
|
|
43
|
+
mergeBlocks
|
|
43
44
|
} = _ref2;
|
|
44
45
|
const {
|
|
45
46
|
placeholder,
|
|
@@ -58,7 +59,7 @@ export default function ListItemEdit(_ref2) {
|
|
|
58
59
|
});
|
|
59
60
|
const useSpaceRef = useSpace(clientId);
|
|
60
61
|
const onSplit = useSplit(clientId);
|
|
61
|
-
const onMerge = useMerge(clientId);
|
|
62
|
+
const onMerge = useMerge(clientId, mergeBlocks);
|
|
62
63
|
return createElement(Fragment, null, createElement("li", innerBlocksProps, createElement(RichText, {
|
|
63
64
|
ref: useMergeRefs([useEnterRef, useSpaceRef]),
|
|
64
65
|
identifier: "content",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/list-item/edit.js"],"names":["RichText","useBlockProps","useInnerBlocksProps","BlockControls","isRTL","__","ToolbarButton","formatOutdent","formatOutdentRTL","formatIndentRTL","formatIndent","useMergeRefs","useEnter","useSpace","useIndentListItem","useOutdentListItem","useSplit","useMerge","useCopy","convertToListItems","IndentUI","clientId","canIndent","indentListItem","canOutdent","outdentListItem","ListItemEdit","attributes","setAttributes","onReplace","placeholder","content","blockProps","ref","innerBlocksProps","allowedBlocks","renderAppender","useEnterRef","useSpaceRef","onSplit","onMerge","nextContent","blocks","args","children"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,QADD,EAECC,aAFD,EAGCC,mBAHD,EAICC,aAJD,QAKO,yBALP;AAMA,SAASC,KAAT,EAAgBC,EAAhB,QAA0B,iBAA1B;AACA,SAASC,aAAT,QAA8B,uBAA9B;AACA,SACCC,aADD,EAECC,gBAFD,EAGCC,eAHD,EAICC,YAJD,QAKO,kBALP;AAMA,SAASC,YAAT,QAA6B,oBAA7B;AAEA;AACA;AACA;;AACA,SACCC,QADD,EAECC,QAFD,EAGCC,iBAHD,EAICC,kBAJD,EAKCC,QALD,EAMCC,QAND,EAOCC,OAPD,QAQO,SARP;AASA,SAASC,kBAAT,QAAmC,SAAnC;AAEA,OAAO,SAASC,QAAT,OAAkC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACxC,QAAM,CAAEC,SAAF,EAAaC,cAAb,IAAgCT,iBAAiB,CAAEO,QAAF,CAAvD;AACA,QAAM,CAAEG,UAAF,EAAcC,eAAd,IAAkCV,kBAAkB,CAAEM,QAAF,CAA1D;AAEA,SACC,8BACC,cAAC,aAAD;AACC,IAAA,IAAI,EAAGjB,KAAK,KAAKI,gBAAL,GAAwBD,aADrC;AAEC,IAAA,KAAK,EAAGF,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,WAAW,EAAGA,EAAE,CAAE,mBAAF,CAHjB;AAIC,IAAA,QAAQ,EAAG,CAAEmB,UAJd;AAKC,IAAA,OAAO,EAAG,MAAMC,eAAe;AALhC,IADD,EAQC,cAAC,aAAD;AACC,IAAA,IAAI,EAAGrB,KAAK,KAAKK,eAAL,GAAuBC,YADpC;AAEC,IAAA,KAAK,EAAGL,EAAE,CAAE,QAAF,CAFX;AAGC,IAAA,WAAW,EAAGA,EAAE,CAAE,kBAAF,CAHjB;AAIC,IAAA,UAAU,EAAG,CAAEiB,SAJhB;AAKC,IAAA,OAAO,EAAG,MAAMC,cAAc;AAL/B,IARD,CADD;AAkBA;AAED,eAAe,SAASG,YAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/edit.js"],"names":["RichText","useBlockProps","useInnerBlocksProps","BlockControls","isRTL","__","ToolbarButton","formatOutdent","formatOutdentRTL","formatIndentRTL","formatIndent","useMergeRefs","useEnter","useSpace","useIndentListItem","useOutdentListItem","useSplit","useMerge","useCopy","convertToListItems","IndentUI","clientId","canIndent","indentListItem","canOutdent","outdentListItem","ListItemEdit","attributes","setAttributes","onReplace","mergeBlocks","placeholder","content","blockProps","ref","innerBlocksProps","allowedBlocks","renderAppender","useEnterRef","useSpaceRef","onSplit","onMerge","nextContent","blocks","args","children"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { ToolbarButton } from '@wordpress/components';\nimport {\n\tformatOutdent,\n\tformatOutdentRTL,\n\tformatIndentRTL,\n\tformatIndent,\n} from '@wordpress/icons';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseEnter,\n\tuseSpace,\n\tuseIndentListItem,\n\tuseOutdentListItem,\n\tuseSplit,\n\tuseMerge,\n\tuseCopy,\n} from './hooks';\nimport { convertToListItems } from './utils';\n\nexport function IndentUI( { clientId } ) {\n\tconst [ canIndent, indentListItem ] = useIndentListItem( clientId );\n\tconst [ canOutdent, outdentListItem ] = useOutdentListItem( clientId );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatOutdentRTL : formatOutdent }\n\t\t\t\ttitle={ __( 'Outdent' ) }\n\t\t\t\tdescribedBy={ __( 'Outdent list item' ) }\n\t\t\t\tdisabled={ ! canOutdent }\n\t\t\t\tonClick={ () => outdentListItem() }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatIndentRTL : formatIndent }\n\t\t\t\ttitle={ __( 'Indent' ) }\n\t\t\t\tdescribedBy={ __( 'Indent list item' ) }\n\t\t\t\tisDisabled={ ! canIndent }\n\t\t\t\tonClick={ () => indentListItem() }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tonReplace,\n\tclientId,\n\tmergeBlocks,\n} ) {\n\tconst { placeholder, content } = attributes;\n\tconst blockProps = useBlockProps( { ref: useCopy( clientId ) } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/list' ],\n\t\trenderAppender: false,\n\t} );\n\tconst useEnterRef = useEnter( { content, clientId } );\n\tconst useSpaceRef = useSpace( clientId );\n\tconst onSplit = useSplit( clientId );\n\tconst onMerge = useMerge( clientId, mergeBlocks );\n\treturn (\n\t\t<>\n\t\t\t<li { ...innerBlocksProps }>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ useMergeRefs( [ useEnterRef, useSpaceRef ] ) }\n\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\ttagName=\"div\"\n\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ content }\n\t\t\t\t\taria-label={ __( 'List text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\tonSplit={ onSplit }\n\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\tonReplace={ ( blocks, ...args ) => {\n\t\t\t\t\t\tonReplace( convertToListItems( blocks ), ...args );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</li>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -31,7 +31,8 @@ export default function ListItemEdit(_ref) {
|
|
|
31
31
|
setAttributes,
|
|
32
32
|
onReplace,
|
|
33
33
|
clientId,
|
|
34
|
-
style
|
|
34
|
+
style,
|
|
35
|
+
mergeBlocks
|
|
35
36
|
} = _ref;
|
|
36
37
|
const [contentWidth, setContentWidth] = useState();
|
|
37
38
|
const {
|
|
@@ -100,7 +101,7 @@ export default function ListItemEdit(_ref) {
|
|
|
100
101
|
clientId
|
|
101
102
|
}, preventDefault);
|
|
102
103
|
const onSplit = useSplit(clientId);
|
|
103
|
-
const onMerge = useMerge(clientId);
|
|
104
|
+
const onMerge = useMerge(clientId, mergeBlocks);
|
|
104
105
|
const onSplitList = useCallback(value => {
|
|
105
106
|
if (!preventDefault.current) {
|
|
106
107
|
return onSplit(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/list-item/edit.native.js"],"names":["View","RichText","useBlockProps","useInnerBlocksProps","BlockControls","store","blockEditorStore","__","usePreferredColorSchemeStyle","useSelect","useState","useCallback","useRef","useSplit","useMerge","useEnter","convertToListItems","IndentUI","styles","ListStyleType","OPACITY","ListItemEdit","attributes","setAttributes","onReplace","clientId","style","contentWidth","setContentWidth","placeholder","content","blockIndex","hasInnerBlocks","indentationLevel","numberOfListItems","ordered","reversed","start","select","getBlockAttributes","getBlockCount","getBlockIndex","getBlockParentsByBlockName","getBlockRootClientId","currentIdentationLevel","length","currentBlockIndex","blockWithInnerBlocks","rootClientId","blockAttributes","totalListItems","isOrdered","isReversed","startValue","blockProps","innerBlocksProps","allowedBlocks","useCompactList","defaultPlaceholderFromScheme","currentTextColor","color","baseColors","text","defaultPlaceholderTextColor","defaultPlaceholderTextColorWithOpacity","styleWithPlaceholderOpacity","placeholderColor","preventDefault","onEnter","onSplit","onMerge","onSplitList","value","current","onReplaceList","blocks","args","onLayout","nativeEvent","prevState","width","layout","Math","floor","nextContent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useCallback, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSplit, useMerge, useEnter } from './hooks';\nimport { convertToListItems } from './utils';\nimport { IndentUI } from './edit.js';\nimport styles from './style.scss';\nimport ListStyleType from './list-style-type';\n\nconst OPACITY = '9e';\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tonReplace,\n\tclientId,\n\tstyle,\n} ) {\n\tconst [ contentWidth, setContentWidth ] = useState();\n\tconst { placeholder, content } = attributes;\n\tconst {\n\t\tblockIndex,\n\t\thasInnerBlocks,\n\t\tindentationLevel,\n\t\tnumberOfListItems,\n\t\tordered,\n\t\treversed,\n\t\tstart,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst currentIdentationLevel = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/list-item',\n\t\t\t\ttrue\n\t\t\t).length;\n\t\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\t\tconst blockWithInnerBlocks = getBlockCount( clientId ) > 0;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockAttributes = getBlockAttributes( rootClientId );\n\t\t\tconst totalListItems = getBlockCount( rootClientId );\n\t\t\tconst {\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t} = blockAttributes || {};\n\n\t\t\treturn {\n\t\t\t\tblockIndex: currentBlockIndex,\n\t\t\t\thasInnerBlocks: blockWithInnerBlocks,\n\t\t\t\tindentationLevel: currentIdentationLevel,\n\t\t\t\tnumberOfListItems: totalListItems,\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\t...( hasInnerBlocks && styles[ 'wp-block-list-item__nested-blocks' ] ),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/list' ],\n\t\tuseCompactList: true,\n\t} );\n\n\t// Set default placeholder text color from light/dark scheme or base colors\n\tconst defaultPlaceholderFromScheme = usePreferredColorSchemeStyle(\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder' ],\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder--dark' ]\n\t);\n\n\tconst currentTextColor = style?.color || style?.baseColors?.color?.text;\n\n\tconst defaultPlaceholderTextColor = currentTextColor\n\t\t? currentTextColor\n\t\t: defaultPlaceholderFromScheme?.color;\n\n\t// Add hex opacity to default placeholder text color and style object\n\tconst defaultPlaceholderTextColorWithOpacity =\n\t\tdefaultPlaceholderTextColor + OPACITY;\n\n\tconst styleWithPlaceholderOpacity = {\n\t\t...style,\n\t\t...( style?.color && {\n\t\t\tplaceholderColor: style.color + OPACITY,\n\t\t} ),\n\t};\n\n\tconst preventDefault = useRef( false );\n\tconst { onEnter } = useEnter( { content, clientId }, preventDefault );\n\tconst onSplit = useSplit( clientId );\n\tconst onMerge = useMerge( clientId );\n\tconst onSplitList = useCallback(\n\t\t( value ) => {\n\t\t\tif ( ! preventDefault.current ) {\n\t\t\t\treturn onSplit( value );\n\t\t\t}\n\t\t},\n\t\t[ clientId, onSplit ]\n\t);\n\tconst onReplaceList = useCallback(\n\t\t( blocks, ...args ) => {\n\t\t\tif ( ! preventDefault.current ) {\n\t\t\t\tonReplace( convertToListItems( blocks ), ...args );\n\t\t\t}\n\t\t},\n\t\t[ clientId, onReplace, convertToListItems ]\n\t);\n\tconst onLayout = useCallback( ( { nativeEvent } ) => {\n\t\tsetContentWidth( ( prevState ) => {\n\t\t\tconst { width } = nativeEvent.layout;\n\n\t\t\tif ( ! prevState || prevState.width !== width ) {\n\t\t\t\treturn Math.floor( width );\n\t\t\t}\n\t\t\treturn prevState;\n\t\t} );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ styles[ 'wp-block-list-item__list-item-parent' ] }>\n\t\t\t<View style={ styles[ 'wp-block-list-item__list-item' ] }>\n\t\t\t\t<View style={ styles[ 'wp-block-list-item__list-item-icon' ] }>\n\t\t\t\t\t<ListStyleType\n\t\t\t\t\t\tblockIndex={ blockIndex }\n\t\t\t\t\t\tindentationLevel={ indentationLevel }\n\t\t\t\t\t\tnumberOfListItems={ numberOfListItems }\n\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\treversed={ reversed }\n\t\t\t\t\t\tstart={ start }\n\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ styles[ 'wp-block-list-item__list-item-content' ] }\n\t\t\t\t\tonLayout={ onLayout }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\tdefaultPlaceholderTextColorWithOpacity\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSplit={ onSplitList }\n\t\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\t\tonReplace={ onReplaceList }\n\t\t\t\t\t\tonEnter={ onEnter }\n\t\t\t\t\t\tstyle={ styleWithPlaceholderOpacity }\n\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\tcontainerWidth={ contentWidth }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t\t<View { ...innerBlocksProps }></View>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</View>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/edit.native.js"],"names":["View","RichText","useBlockProps","useInnerBlocksProps","BlockControls","store","blockEditorStore","__","usePreferredColorSchemeStyle","useSelect","useState","useCallback","useRef","useSplit","useMerge","useEnter","convertToListItems","IndentUI","styles","ListStyleType","OPACITY","ListItemEdit","attributes","setAttributes","onReplace","clientId","style","mergeBlocks","contentWidth","setContentWidth","placeholder","content","blockIndex","hasInnerBlocks","indentationLevel","numberOfListItems","ordered","reversed","start","select","getBlockAttributes","getBlockCount","getBlockIndex","getBlockParentsByBlockName","getBlockRootClientId","currentIdentationLevel","length","currentBlockIndex","blockWithInnerBlocks","rootClientId","blockAttributes","totalListItems","isOrdered","isReversed","startValue","blockProps","innerBlocksProps","allowedBlocks","useCompactList","defaultPlaceholderFromScheme","currentTextColor","color","baseColors","text","defaultPlaceholderTextColor","defaultPlaceholderTextColorWithOpacity","styleWithPlaceholderOpacity","placeholderColor","preventDefault","onEnter","onSplit","onMerge","onSplitList","value","current","onReplaceList","blocks","args","onLayout","nativeEvent","prevState","width","layout","Math","floor","nextContent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useCallback, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSplit, useMerge, useEnter } from './hooks';\nimport { convertToListItems } from './utils';\nimport { IndentUI } from './edit.js';\nimport styles from './style.scss';\nimport ListStyleType from './list-style-type';\n\nconst OPACITY = '9e';\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tonReplace,\n\tclientId,\n\tstyle,\n\tmergeBlocks,\n} ) {\n\tconst [ contentWidth, setContentWidth ] = useState();\n\tconst { placeholder, content } = attributes;\n\tconst {\n\t\tblockIndex,\n\t\thasInnerBlocks,\n\t\tindentationLevel,\n\t\tnumberOfListItems,\n\t\tordered,\n\t\treversed,\n\t\tstart,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst currentIdentationLevel = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/list-item',\n\t\t\t\ttrue\n\t\t\t).length;\n\t\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\t\tconst blockWithInnerBlocks = getBlockCount( clientId ) > 0;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockAttributes = getBlockAttributes( rootClientId );\n\t\t\tconst totalListItems = getBlockCount( rootClientId );\n\t\t\tconst {\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t} = blockAttributes || {};\n\n\t\t\treturn {\n\t\t\t\tblockIndex: currentBlockIndex,\n\t\t\t\thasInnerBlocks: blockWithInnerBlocks,\n\t\t\t\tindentationLevel: currentIdentationLevel,\n\t\t\t\tnumberOfListItems: totalListItems,\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\t...( hasInnerBlocks && styles[ 'wp-block-list-item__nested-blocks' ] ),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/list' ],\n\t\tuseCompactList: true,\n\t} );\n\n\t// Set default placeholder text color from light/dark scheme or base colors\n\tconst defaultPlaceholderFromScheme = usePreferredColorSchemeStyle(\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder' ],\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder--dark' ]\n\t);\n\n\tconst currentTextColor = style?.color || style?.baseColors?.color?.text;\n\n\tconst defaultPlaceholderTextColor = currentTextColor\n\t\t? currentTextColor\n\t\t: defaultPlaceholderFromScheme?.color;\n\n\t// Add hex opacity to default placeholder text color and style object\n\tconst defaultPlaceholderTextColorWithOpacity =\n\t\tdefaultPlaceholderTextColor + OPACITY;\n\n\tconst styleWithPlaceholderOpacity = {\n\t\t...style,\n\t\t...( style?.color && {\n\t\t\tplaceholderColor: style.color + OPACITY,\n\t\t} ),\n\t};\n\n\tconst preventDefault = useRef( false );\n\tconst { onEnter } = useEnter( { content, clientId }, preventDefault );\n\tconst onSplit = useSplit( clientId );\n\tconst onMerge = useMerge( clientId, mergeBlocks );\n\tconst onSplitList = useCallback(\n\t\t( value ) => {\n\t\t\tif ( ! preventDefault.current ) {\n\t\t\t\treturn onSplit( value );\n\t\t\t}\n\t\t},\n\t\t[ clientId, onSplit ]\n\t);\n\tconst onReplaceList = useCallback(\n\t\t( blocks, ...args ) => {\n\t\t\tif ( ! preventDefault.current ) {\n\t\t\t\tonReplace( convertToListItems( blocks ), ...args );\n\t\t\t}\n\t\t},\n\t\t[ clientId, onReplace, convertToListItems ]\n\t);\n\tconst onLayout = useCallback( ( { nativeEvent } ) => {\n\t\tsetContentWidth( ( prevState ) => {\n\t\t\tconst { width } = nativeEvent.layout;\n\n\t\t\tif ( ! prevState || prevState.width !== width ) {\n\t\t\t\treturn Math.floor( width );\n\t\t\t}\n\t\t\treturn prevState;\n\t\t} );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ styles[ 'wp-block-list-item__list-item-parent' ] }>\n\t\t\t<View style={ styles[ 'wp-block-list-item__list-item' ] }>\n\t\t\t\t<View style={ styles[ 'wp-block-list-item__list-item-icon' ] }>\n\t\t\t\t\t<ListStyleType\n\t\t\t\t\t\tblockIndex={ blockIndex }\n\t\t\t\t\t\tindentationLevel={ indentationLevel }\n\t\t\t\t\t\tnumberOfListItems={ numberOfListItems }\n\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\treversed={ reversed }\n\t\t\t\t\t\tstart={ start }\n\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ styles[ 'wp-block-list-item__list-item-content' ] }\n\t\t\t\t\tonLayout={ onLayout }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\tdefaultPlaceholderTextColorWithOpacity\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSplit={ onSplitList }\n\t\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\t\tonReplace={ onReplaceList }\n\t\t\t\t\t\tonEnter={ onEnter }\n\t\t\t\t\t\tstyle={ styleWithPlaceholderOpacity }\n\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\tcontainerWidth={ contentWidth }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t\t<View { ...innerBlocksProps }></View>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</View>\n\t);\n}\n"]}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { useRegistry, useDispatch, useSelect } from '@wordpress/data';
|
|
5
5
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
6
|
-
import { getDefaultBlockName, switchToBlockType } from '@wordpress/blocks';
|
|
7
6
|
/**
|
|
8
7
|
* Internal dependencies
|
|
9
8
|
*/
|
|
@@ -34,24 +33,34 @@ const {
|
|
|
34
33
|
},
|
|
35
34
|
supports: {
|
|
36
35
|
className: false,
|
|
37
|
-
__experimentalSelector: "li"
|
|
36
|
+
__experimentalSelector: "li",
|
|
37
|
+
typography: {
|
|
38
|
+
fontSize: true,
|
|
39
|
+
lineHeight: true,
|
|
40
|
+
__experimentalFontFamily: true,
|
|
41
|
+
__experimentalFontWeight: true,
|
|
42
|
+
__experimentalFontStyle: true,
|
|
43
|
+
__experimentalTextTransform: true,
|
|
44
|
+
__experimentalTextDecoration: true,
|
|
45
|
+
__experimentalLetterSpacing: true,
|
|
46
|
+
__experimentalDefaultControls: {
|
|
47
|
+
fontSize: true
|
|
48
|
+
}
|
|
49
|
+
}
|
|
38
50
|
}
|
|
39
51
|
};
|
|
40
|
-
export default function useMerge(clientId) {
|
|
52
|
+
export default function useMerge(clientId, onMerge) {
|
|
41
53
|
const registry = useRegistry();
|
|
42
54
|
const {
|
|
43
55
|
getPreviousBlockClientId,
|
|
44
56
|
getNextBlockClientId,
|
|
45
57
|
getBlockOrder,
|
|
46
58
|
getBlockRootClientId,
|
|
47
|
-
getBlockName
|
|
48
|
-
getBlock
|
|
59
|
+
getBlockName
|
|
49
60
|
} = useSelect(blockEditorStore);
|
|
50
61
|
const {
|
|
51
62
|
mergeBlocks,
|
|
52
|
-
moveBlocksToPosition
|
|
53
|
-
replaceBlock,
|
|
54
|
-
selectBlock
|
|
63
|
+
moveBlocksToPosition
|
|
55
64
|
} = useDispatch(blockEditorStore);
|
|
56
65
|
const [, outdentListItem] = useOutdentListItem(clientId);
|
|
57
66
|
|
|
@@ -109,23 +118,12 @@ export default function useMerge(clientId) {
|
|
|
109
118
|
return getBlockOrder(order[0])[0];
|
|
110
119
|
}
|
|
111
120
|
|
|
112
|
-
function switchToDefaultBlockType(forward) {
|
|
113
|
-
const rootClientId = getBlockRootClientId(clientId);
|
|
114
|
-
const replacement = switchToBlockType(getBlock(rootClientId), getDefaultBlockName());
|
|
115
|
-
const indexToSelect = forward ? replacement.length - 1 : 0;
|
|
116
|
-
const initialPosition = forward ? -1 : 0;
|
|
117
|
-
registry.batch(() => {
|
|
118
|
-
replaceBlock(rootClientId, replacement);
|
|
119
|
-
selectBlock(replacement[indexToSelect].clientId, initialPosition);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
|
|
123
121
|
return forward => {
|
|
124
122
|
if (forward) {
|
|
125
123
|
const nextBlockClientId = getNextId(clientId);
|
|
126
124
|
|
|
127
125
|
if (!nextBlockClientId) {
|
|
128
|
-
|
|
126
|
+
onMerge(forward);
|
|
129
127
|
return;
|
|
130
128
|
}
|
|
131
129
|
|
|
@@ -151,7 +149,7 @@ export default function useMerge(clientId) {
|
|
|
151
149
|
mergeBlocks(trailingId, clientId);
|
|
152
150
|
});
|
|
153
151
|
} else {
|
|
154
|
-
|
|
152
|
+
onMerge(forward);
|
|
155
153
|
}
|
|
156
154
|
}
|
|
157
155
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-merge.js"],"names":["useRegistry","useDispatch","useSelect","store","blockEditorStore","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-merge.js"],"names":["useRegistry","useDispatch","useSelect","store","blockEditorStore","useOutdentListItem","useMerge","clientId","onMerge","registry","getPreviousBlockClientId","getNextBlockClientId","getBlockOrder","getBlockRootClientId","getBlockName","mergeBlocks","moveBlocksToPosition","outdentListItem","getTrailingId","id","order","length","getParentListItemId","listId","parentListItemId","listItemName","_getNextId","next","getNextId","forward","nextBlockClientId","batch","previousBlockClientId","trailingId"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport useOutdentListItem from './use-outdent-list-item';\n\nimport { name as listItemName } from '../block.json';\n\nexport default function useMerge( clientId, onMerge ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t} = useSelect( blockEditorStore );\n\tconst { mergeBlocks, moveBlocksToPosition } =\n\t\tuseDispatch( blockEditorStore );\n\tconst [ , outdentListItem ] = useOutdentListItem( clientId );\n\n\tfunction getTrailingId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn id;\n\t\t}\n\n\t\treturn getTrailingId( order[ order.length - 1 ] );\n\t}\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) return;\n\t\tif ( getBlockName( parentListItemId ) !== listItemName ) return;\n\t\treturn parentListItemId;\n\t}\n\n\t/**\n\t * Return the next list item with respect to the given list item. If none,\n\t * return the next list item of the parent list item if it exists.\n\t *\n\t * @param {string} id A list item client ID.\n\t * @return {string?} The client ID of the next list item.\n\t */\n\tfunction _getNextId( id ) {\n\t\tconst next = getNextBlockClientId( id );\n\t\tif ( next ) return next;\n\t\tconst parentListItemId = getParentListItemId( id );\n\t\tif ( ! parentListItemId ) return;\n\t\treturn _getNextId( parentListItemId );\n\t}\n\n\t/**\n\t * Given a client ID, return the client ID of the list item on the next\n\t * line, regardless of indentation level.\n\t *\n\t * @param {string} id The client ID of the current list item.\n\t * @return {string?} The client ID of the next list item.\n\t */\n\tfunction getNextId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\t// If the list item does not have a nested list, return the next list\n\t\t// item.\n\t\tif ( ! order.length ) {\n\t\t\treturn _getNextId( id );\n\t\t}\n\n\t\t// Get the first list item in the nested list.\n\t\treturn getBlockOrder( order[ 0 ] )[ 0 ];\n\t}\n\n\treturn ( forward ) => {\n\t\tif ( forward ) {\n\t\t\tconst nextBlockClientId = getNextId( clientId );\n\n\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\tonMerge( forward );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( getParentListItemId( nextBlockClientId ) ) {\n\t\t\t\toutdentListItem( nextBlockClientId );\n\t\t\t} else {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\tgetBlockOrder( nextBlockClientId ),\n\t\t\t\t\t\tnextBlockClientId,\n\t\t\t\t\t\tgetPreviousBlockClientId( nextBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\t// Merging is only done from the top level. For lowel levels, the\n\t\t\t// list item is outdented instead.\n\t\t\tconst previousBlockClientId = getPreviousBlockClientId( clientId );\n\t\t\tif ( getParentListItemId( clientId ) ) {\n\t\t\t\toutdentListItem( clientId );\n\t\t\t} else if ( previousBlockClientId ) {\n\t\t\t\tconst trailingId = getTrailingId( previousBlockClientId );\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\tgetBlockOrder( clientId ),\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tpreviousBlockClientId\n\t\t\t\t\t);\n\t\t\t\t\tmergeBlocks( trailingId, clientId );\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tonMerge( forward );\n\t\t\t}\n\t\t}\n\t};\n}\n"]}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { castArray } from 'lodash';
|
|
5
1
|
/**
|
|
6
2
|
* WordPress dependencies
|
|
7
3
|
*/
|
|
8
|
-
|
|
9
4
|
import { useCallback } from '@wordpress/element';
|
|
10
5
|
import { useSelect, useDispatch, useRegistry } from '@wordpress/data';
|
|
11
6
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
@@ -39,7 +34,20 @@ const {
|
|
|
39
34
|
},
|
|
40
35
|
supports: {
|
|
41
36
|
className: false,
|
|
42
|
-
__experimentalSelector: "li"
|
|
37
|
+
__experimentalSelector: "li",
|
|
38
|
+
typography: {
|
|
39
|
+
fontSize: true,
|
|
40
|
+
lineHeight: true,
|
|
41
|
+
__experimentalFontFamily: true,
|
|
42
|
+
__experimentalFontWeight: true,
|
|
43
|
+
__experimentalFontStyle: true,
|
|
44
|
+
__experimentalTextTransform: true,
|
|
45
|
+
__experimentalTextDecoration: true,
|
|
46
|
+
__experimentalLetterSpacing: true,
|
|
47
|
+
__experimentalDefaultControls: {
|
|
48
|
+
fontSize: true
|
|
49
|
+
}
|
|
50
|
+
}
|
|
43
51
|
}
|
|
44
52
|
};
|
|
45
53
|
export default function useOutdentListItem(clientId) {
|
|
@@ -48,11 +56,14 @@ export default function useOutdentListItem(clientId) {
|
|
|
48
56
|
canOutdent
|
|
49
57
|
} = useSelect(innerSelect => {
|
|
50
58
|
const {
|
|
51
|
-
getBlockRootClientId
|
|
59
|
+
getBlockRootClientId,
|
|
60
|
+
getBlockName
|
|
52
61
|
} = innerSelect(blockEditorStore);
|
|
53
62
|
const grandParentId = getBlockRootClientId(getBlockRootClientId(clientId));
|
|
63
|
+
const grandParentName = getBlockName(grandParentId);
|
|
64
|
+
const isListItem = grandParentName === listItemName;
|
|
54
65
|
return {
|
|
55
|
-
canOutdent:
|
|
66
|
+
canOutdent: isListItem
|
|
56
67
|
};
|
|
57
68
|
}, [clientId]);
|
|
58
69
|
const {
|
|
@@ -81,7 +92,11 @@ export default function useOutdentListItem(clientId) {
|
|
|
81
92
|
|
|
82
93
|
return [canOutdent, useCallback(function () {
|
|
83
94
|
let clientIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSelectedBlockClientIds();
|
|
84
|
-
|
|
95
|
+
|
|
96
|
+
if (!Array.isArray(clientIds)) {
|
|
97
|
+
clientIds = [clientIds];
|
|
98
|
+
}
|
|
99
|
+
|
|
85
100
|
if (!clientIds.length) return;
|
|
86
101
|
const firstClientId = clientIds[0]; // Can't outdent if it's not a list item.
|
|
87
102
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"names":["useCallback","useSelect","useDispatch","useRegistry","store","blockEditorStore","cloneBlock","useOutdentListItem","clientId","registry","canOutdent","innerSelect","getBlockRootClientId","getBlockName","grandParentId","grandParentName","isListItem","listItemName","moveBlocksToPosition","removeBlock","insertBlock","updateBlockListSettings","getBlockOrder","getBlockIndex","getSelectedBlockClientIds","getBlock","getBlockListSettings","getParentListItemId","id","listId","parentListItemId","clientIds","Array","isArray","length","firstClientId","parentListId","lastClientId","order","followingListItems","slice","batch","nestedListId","nestedListBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as listItemName } from '../block.json';\n\nexport default function useOutdentListItem( clientId ) {\n\tconst registry = useRegistry();\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId, getBlockName } =\n\t\t\t\tinnerSelect( blockEditorStore );\n\t\t\tconst grandParentId = getBlockRootClientId(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst grandParentName = getBlockName( grandParentId );\n\t\t\tconst isListItem = grandParentName === listItemName;\n\n\t\t\treturn {\n\t\t\t\tcanOutdent: isListItem,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tinsertBlock,\n\t\tupdateBlockListSettings,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlockOrder,\n\t\tgetBlockIndex,\n\t\tgetSelectedBlockClientIds,\n\t\tgetBlock,\n\t\tgetBlockListSettings,\n\t} = useSelect( blockEditorStore );\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) return;\n\t\tif ( getBlockName( parentListItemId ) !== listItemName ) return;\n\t\treturn parentListItemId;\n\t}\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( ( clientIds = getSelectedBlockClientIds() ) => {\n\t\t\tif ( ! Array.isArray( clientIds ) ) {\n\t\t\t\tclientIds = [ clientIds ];\n\t\t\t}\n\n\t\t\tif ( ! clientIds.length ) return;\n\n\t\t\tconst firstClientId = clientIds[ 0 ];\n\n\t\t\t// Can't outdent if it's not a list item.\n\t\t\tif ( getBlockName( firstClientId ) !== listItemName ) return;\n\n\t\t\tconst parentListItemId = getParentListItemId( firstClientId );\n\n\t\t\t// Can't outdent if it's at the top level.\n\t\t\tif ( ! parentListItemId ) return;\n\n\t\t\tconst parentListId = getBlockRootClientId( firstClientId );\n\t\t\tconst lastClientId = clientIds[ clientIds.length - 1 ];\n\t\t\tconst order = getBlockOrder( parentListId );\n\t\t\tconst followingListItems = order.slice(\n\t\t\t\tgetBlockIndex( lastClientId ) + 1\n\t\t\t);\n\n\t\t\tregistry.batch( () => {\n\t\t\t\tif ( followingListItems.length ) {\n\t\t\t\t\tlet nestedListId = getBlockOrder( firstClientId )[ 0 ];\n\n\t\t\t\t\tif ( ! nestedListId ) {\n\t\t\t\t\t\tconst nestedListBlock = cloneBlock(\n\t\t\t\t\t\t\tgetBlock( parentListId ),\n\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\tnestedListId = nestedListBlock.clientId;\n\t\t\t\t\t\tinsertBlock( nestedListBlock, 0, firstClientId, false );\n\t\t\t\t\t\t// Immediately update the block list settings, otherwise\n\t\t\t\t\t\t// blocks can't be moved here due to canInsert checks.\n\t\t\t\t\t\tupdateBlockListSettings(\n\t\t\t\t\t\t\tnestedListId,\n\t\t\t\t\t\t\tgetBlockListSettings( parentListId )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\tfollowingListItems,\n\t\t\t\t\t\tparentListId,\n\t\t\t\t\t\tnestedListId\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\tclientIds,\n\t\t\t\t\tparentListId,\n\t\t\t\t\tgetBlockRootClientId( parentListItemId ),\n\t\t\t\t\tgetBlockIndex( parentListItemId ) + 1\n\t\t\t\t);\n\t\t\t\tif ( ! getBlockOrder( parentListId ).length ) {\n\t\t\t\t\tremoveBlock( parentListId );\n\t\t\t\t}\n\t\t\t} );\n\t\t}, [] ),\n\t];\n}\n"]}
|
|
@@ -30,7 +30,20 @@ const metadata = {
|
|
|
30
30
|
},
|
|
31
31
|
supports: {
|
|
32
32
|
className: false,
|
|
33
|
-
__experimentalSelector: "li"
|
|
33
|
+
__experimentalSelector: "li",
|
|
34
|
+
typography: {
|
|
35
|
+
fontSize: true,
|
|
36
|
+
lineHeight: true,
|
|
37
|
+
__experimentalFontFamily: true,
|
|
38
|
+
__experimentalFontWeight: true,
|
|
39
|
+
__experimentalFontStyle: true,
|
|
40
|
+
__experimentalTextTransform: true,
|
|
41
|
+
__experimentalTextDecoration: true,
|
|
42
|
+
__experimentalLetterSpacing: true,
|
|
43
|
+
__experimentalDefaultControls: {
|
|
44
|
+
fontSize: true
|
|
45
|
+
}
|
|
46
|
+
}
|
|
34
47
|
}
|
|
35
48
|
};
|
|
36
49
|
import edit from './edit';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/list-item/index.js"],"names":["listItem","icon","initBlock","edit","save","name","metadata","settings","merge","attributes","attributesToMerge","content","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAArB,QAAiC,kBAAjC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/index.js"],"names":["listItem","icon","initBlock","edit","save","name","metadata","settings","merge","attributes","attributesToMerge","content","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAArB,QAAiC,kBAAjC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;AACvBN,EAAAA,IADuB;AAEvBE,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;AAYP,OAAO,MAAMC,IAAI,GAAG,MAAMV,SAAS,CAAE;AAAEG,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { listItem as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -31,7 +31,20 @@ const {
|
|
|
31
31
|
},
|
|
32
32
|
supports: {
|
|
33
33
|
className: false,
|
|
34
|
-
__experimentalSelector: "li"
|
|
34
|
+
__experimentalSelector: "li",
|
|
35
|
+
typography: {
|
|
36
|
+
fontSize: true,
|
|
37
|
+
lineHeight: true,
|
|
38
|
+
__experimentalFontFamily: true,
|
|
39
|
+
__experimentalFontWeight: true,
|
|
40
|
+
__experimentalFontStyle: true,
|
|
41
|
+
__experimentalTextTransform: true,
|
|
42
|
+
__experimentalTextDecoration: true,
|
|
43
|
+
__experimentalLetterSpacing: true,
|
|
44
|
+
__experimentalDefaultControls: {
|
|
45
|
+
fontSize: true
|
|
46
|
+
}
|
|
47
|
+
}
|
|
35
48
|
}
|
|
36
49
|
};
|
|
37
50
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/list-item/utils.js"],"names":["createBlock","switchToBlockType","createListItem","listItemAttributes","listAttributes","children","listItemName","length","listName","convertToListItems","blocks","listItems","block","name","push","innerBlocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,iBAAtB,QAA+C,mBAA/C;AAEA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/utils.js"],"names":["createBlock","switchToBlockType","createListItem","listItemAttributes","listAttributes","children","listItemName","length","listName","convertToListItems","blocks","listItems","block","name","push","innerBlocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,iBAAtB,QAA+C,mBAA/C;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,OAAO,SAASC,cAAT,CAAyBC,kBAAzB,EAA6CC,cAA7C,EAA6DC,QAA7D,EAAwE;AAC9E,SAAOL,WAAW,CACjBM,YADiB,EAEjBH,kBAFiB,EAGjB,EAAEE,QAAF,aAAEA,QAAF,eAAEA,QAAQ,CAAEE,MAAZ,IACG,EADH,GAEG,CAAEP,WAAW,CAAEQ,QAAF,EAAYJ,cAAZ,EAA4BC,QAA5B,CAAb,CALc,CAAlB;AAOA;AAED,OAAO,SAASI,kBAAT,CAA6BC,MAA7B,EAAsC;AAC5C,QAAMC,SAAS,GAAG,EAAlB;;AAEA,OAAM,IAAIC,KAAV,IAAmBF,MAAnB,EAA4B;AAC3B,QAAKE,KAAK,CAACC,IAAN,KAAeP,YAApB,EAAmC;AAClCK,MAAAA,SAAS,CAACG,IAAV,CAAgBF,KAAhB;AACA,KAFD,MAEO,IAAKA,KAAK,CAACC,IAAN,KAAeL,QAApB,EAA+B;AACrCG,MAAAA,SAAS,CAACG,IAAV,CAAgB,GAAGF,KAAK,CAACG,WAAzB;AACA,KAFM,MAEA,IAAOH,KAAK,GAAGX,iBAAiB,CAAEW,KAAF,EAASJ,QAAT,CAAhC,EAAwD;AAC9D,WAAM,MAAM;AAAEO,QAAAA;AAAF,OAAZ,IAA+BH,KAA/B,EAAuC;AACtCD,QAAAA,SAAS,CAACG,IAAV,CAAgB,GAAGC,WAAnB;AACA;AACD;AACD;;AAED,SAAOJ,SAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, switchToBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as listItemName } from './block.json';\nimport { name as listName } from '../list/block.json';\n\nexport function createListItem( listItemAttributes, listAttributes, children ) {\n\treturn createBlock(\n\t\tlistItemName,\n\t\tlistItemAttributes,\n\t\t! children?.length\n\t\t\t? []\n\t\t\t: [ createBlock( listName, listAttributes, children ) ]\n\t);\n}\n\nexport function convertToListItems( blocks ) {\n\tconst listItems = [];\n\n\tfor ( let block of blocks ) {\n\t\tif ( block.name === listItemName ) {\n\t\t\tlistItems.push( block );\n\t\t} else if ( block.name === listName ) {\n\t\t\tlistItems.push( ...block.innerBlocks );\n\t\t} else if ( ( block = switchToBlockType( block, listName ) ) ) {\n\t\t\tfor ( const { innerBlocks } of block ) {\n\t\t\t\tlistItems.push( ...innerBlocks );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn listItems;\n}\n"]}
|
|
@@ -66,6 +66,7 @@ function Navigation(_ref) {
|
|
|
66
66
|
openSubmenusOnClick,
|
|
67
67
|
overlayMenu,
|
|
68
68
|
showSubmenuIcon,
|
|
69
|
+
templateLock,
|
|
69
70
|
layout: {
|
|
70
71
|
justifyContent,
|
|
71
72
|
orientation = 'horizontal',
|
|
@@ -89,7 +90,9 @@ function Navigation(_ref) {
|
|
|
89
90
|
} = useDispatch(coreStore); // Preload classic menus, so that they don't suddenly pop-in when viewing
|
|
90
91
|
// the Select Menu dropdown.
|
|
91
92
|
|
|
92
|
-
|
|
93
|
+
const {
|
|
94
|
+
menus: classicMenus
|
|
95
|
+
} = useNavigationEntities();
|
|
93
96
|
const [showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice] = useNavigationNotice({
|
|
94
97
|
name: 'block-library/core/navigation/status'
|
|
95
98
|
});
|
|
@@ -163,7 +166,15 @@ function Navigation(_ref) {
|
|
|
163
166
|
isResolvingCanUserCreateNavigationMenu,
|
|
164
167
|
hasResolvedCanUserCreateNavigationMenu
|
|
165
168
|
} = useNavigationMenu(ref);
|
|
166
|
-
const navMenuResolvedButMissing = hasResolvedNavigationMenus && isNavigationMenuMissing;
|
|
169
|
+
const navMenuResolvedButMissing = hasResolvedNavigationMenus && isNavigationMenuMissing;
|
|
170
|
+
const {
|
|
171
|
+
convert: convertClassicMenu,
|
|
172
|
+
status: classicMenuConversionStatus,
|
|
173
|
+
error: classicMenuConversionError
|
|
174
|
+
} = useConvertClassicToBlockMenu(clientId);
|
|
175
|
+
const isConvertingClassicMenu = classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING; // Only autofallback to published menus.
|
|
176
|
+
|
|
177
|
+
const fallbackNavigationMenus = navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.filter(menu => menu.status === 'publish'); // Attempt to retrieve and prioritize any existing navigation menu unless:
|
|
167
178
|
// - the are uncontrolled inner blocks already present in the block.
|
|
168
179
|
// - the user is creating a new menu.
|
|
169
180
|
// - there are no menus to choose from.
|
|
@@ -172,18 +183,15 @@ function Navigation(_ref) {
|
|
|
172
183
|
// The aim is for the block to "just work" from a user perspective using existing data.
|
|
173
184
|
|
|
174
185
|
useEffect(() => {
|
|
175
|
-
if (hasUncontrolledInnerBlocks || isCreatingNavigationMenu || ref || !(
|
|
186
|
+
if (hasUncontrolledInnerBlocks || isCreatingNavigationMenu || ref || !(fallbackNavigationMenus !== null && fallbackNavigationMenus !== void 0 && fallbackNavigationMenus.length)) {
|
|
176
187
|
return;
|
|
177
188
|
}
|
|
178
189
|
|
|
179
|
-
|
|
190
|
+
fallbackNavigationMenus.sort((menuA, menuB) => {
|
|
180
191
|
const menuADate = new Date(menuA.date);
|
|
181
192
|
const menuBDate = new Date(menuB.date);
|
|
182
193
|
return menuADate.getTime() < menuBDate.getTime();
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
const fallbackNavigationMenus = navigationMenus.filter(menu => menu.status === 'publish');
|
|
186
|
-
if (fallbackNavigationMenus.length === 0) return;
|
|
194
|
+
});
|
|
187
195
|
/**
|
|
188
196
|
* This fallback displays (both in editor and on front)
|
|
189
197
|
* a list of pages only if no menu (user assigned or
|
|
@@ -196,13 +204,16 @@ function Navigation(_ref) {
|
|
|
196
204
|
|
|
197
205
|
setRef(fallbackNavigationMenus[0].id);
|
|
198
206
|
}, [navigationMenus]);
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
207
|
+
useEffect(() => {
|
|
208
|
+
if (!hasResolvedNavigationMenus || isConvertingClassicMenu || (fallbackNavigationMenus === null || fallbackNavigationMenus === void 0 ? void 0 : fallbackNavigationMenus.length) > 0 || (classicMenus === null || classicMenus === void 0 ? void 0 : classicMenus.length) !== 1) {
|
|
209
|
+
return;
|
|
210
|
+
} // If there's non fallback navigation menus and
|
|
211
|
+
// only one classic menu then create a new navigation menu based on it.
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
convertClassicMenu(classicMenus[0].id, classicMenus[0].name, 'publish');
|
|
215
|
+
}, [hasResolvedNavigationMenus]);
|
|
216
|
+
const navRef = useRef(); // The standard HTML5 tag for the block wrapper.
|
|
206
217
|
|
|
207
218
|
const TagName = 'nav'; // "placeholder" shown if:
|
|
208
219
|
// - there is no ref attribute pointing to a Navigation Post.
|
|
@@ -210,9 +221,9 @@ function Navigation(_ref) {
|
|
|
210
221
|
// - there is no menu creation process in progress.
|
|
211
222
|
// - there are no uncontrolled blocks.
|
|
212
223
|
|
|
213
|
-
const isPlaceholder = !ref && !isCreatingNavigationMenu && !isConvertingClassicMenu && hasResolvedNavigationMenus && !hasUncontrolledInnerBlocks;
|
|
224
|
+
const isPlaceholder = !ref && !isCreatingNavigationMenu && !isConvertingClassicMenu && hasResolvedNavigationMenus && (classicMenus === null || classicMenus === void 0 ? void 0 : classicMenus.length) === 0 && !hasUncontrolledInnerBlocks;
|
|
214
225
|
useEffect(() => {
|
|
215
|
-
if (isPlaceholder
|
|
226
|
+
if (isPlaceholder) {
|
|
216
227
|
/**
|
|
217
228
|
* this fallback only displays (both in editor and on front)
|
|
218
229
|
* the list of pages block if no menu is available as a fallback.
|
|
@@ -339,19 +350,20 @@ function Navigation(_ref) {
|
|
|
339
350
|
}); // Prompt the user to publish the menu they have set as a draft
|
|
340
351
|
|
|
341
352
|
const isDraftNavigationMenu = (navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.status) === 'draft';
|
|
342
|
-
useEffect(
|
|
353
|
+
useEffect(() => {
|
|
343
354
|
hideMenuAutoPublishDraftNotice();
|
|
344
|
-
if (!isDraftNavigationMenu) return;
|
|
345
355
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
status: 'publish'
|
|
349
|
-
}, {
|
|
350
|
-
throwOnError: true
|
|
351
|
-
});
|
|
352
|
-
} catch {
|
|
353
|
-
showMenuAutoPublishDraftNotice(__('Error ocurred while publishing the navigation menu.'));
|
|
356
|
+
if (!isDraftNavigationMenu) {
|
|
357
|
+
return;
|
|
354
358
|
}
|
|
359
|
+
|
|
360
|
+
editEntityRecord('postType', 'wp_navigation', navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.id, {
|
|
361
|
+
status: 'publish'
|
|
362
|
+
}, {
|
|
363
|
+
throwOnError: true
|
|
364
|
+
}).catch(() => {
|
|
365
|
+
showMenuAutoPublishDraftNotice(__('Error occurred while publishing the navigation menu.'));
|
|
366
|
+
});
|
|
355
367
|
}, [isDraftNavigationMenu, navigationMenu]);
|
|
356
368
|
const stylingInspectorControls = createElement(InspectorControls, null, hasSubmenuIndicatorSetting && createElement(PanelBody, {
|
|
357
369
|
title: __('Display')
|
|
@@ -454,7 +466,7 @@ function Navigation(_ref) {
|
|
|
454
466
|
handleUpdateMenu(menuId);
|
|
455
467
|
},
|
|
456
468
|
onSelectClassicMenu: async classicMenu => {
|
|
457
|
-
const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
|
|
469
|
+
const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name, 'draft');
|
|
458
470
|
|
|
459
471
|
if (navMenu) {
|
|
460
472
|
handleUpdateMenu(navMenu.id, {
|
|
@@ -486,6 +498,7 @@ function Navigation(_ref) {
|
|
|
486
498
|
}, createElement(UnsavedInnerBlocks, {
|
|
487
499
|
blocks: uncontrolledInnerBlocks,
|
|
488
500
|
clientId: clientId,
|
|
501
|
+
templateLock: templateLock,
|
|
489
502
|
navigationMenus: navigationMenus,
|
|
490
503
|
hasSelection: isSelected || isInnerBlockSelected,
|
|
491
504
|
hasSavedUnsavedInnerBlocks: hasSavedUnsavedInnerBlocks,
|
|
@@ -511,7 +524,7 @@ function Navigation(_ref) {
|
|
|
511
524
|
handleUpdateMenu(menuId);
|
|
512
525
|
},
|
|
513
526
|
onSelectClassicMenu: async classicMenu => {
|
|
514
|
-
const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
|
|
527
|
+
const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name, 'draft');
|
|
515
528
|
|
|
516
529
|
if (navMenu) {
|
|
517
530
|
handleUpdateMenu(navMenu.id, {
|
|
@@ -562,7 +575,7 @@ function Navigation(_ref) {
|
|
|
562
575
|
handleUpdateMenu(menuId);
|
|
563
576
|
},
|
|
564
577
|
onSelectClassicMenu: async classicMenu => {
|
|
565
|
-
const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
|
|
578
|
+
const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name, 'draft');
|
|
566
579
|
|
|
567
580
|
if (navMenu) {
|
|
568
581
|
handleUpdateMenu(navMenu.id, {
|
|
@@ -589,7 +602,7 @@ function Navigation(_ref) {
|
|
|
589
602
|
handleUpdateMenu(menuId);
|
|
590
603
|
},
|
|
591
604
|
onSelectClassicMenu: async classicMenu => {
|
|
592
|
-
const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
|
|
605
|
+
const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name, 'draft');
|
|
593
606
|
|
|
594
607
|
if (navMenu) {
|
|
595
608
|
handleUpdateMenu(navMenu.id, {
|
|
@@ -634,6 +647,7 @@ function Navigation(_ref) {
|
|
|
634
647
|
}, isEntityAvailable && createElement(NavigationInnerBlocks, {
|
|
635
648
|
clientId: clientId,
|
|
636
649
|
hasCustomPlaceholder: !!CustomPlaceholder,
|
|
650
|
+
templateLock: templateLock,
|
|
637
651
|
orientation: orientation
|
|
638
652
|
})))));
|
|
639
653
|
}
|