@wordpress/block-library 7.4.0 → 7.7.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 +10 -0
- package/README.md +3 -2
- package/babel-plugin.js +154 -0
- package/build/audio/edit.js +4 -16
- package/build/audio/edit.js.map +1 -1
- package/build/block/edit.js +10 -9
- package/build/block/edit.js.map +1 -1
- package/build/button/deprecated.js +175 -35
- package/build/button/deprecated.js.map +1 -1
- package/build/button/edit.js +1 -1
- package/build/button/edit.js.map +1 -1
- package/build/button/edit.native.js +7 -3
- package/build/button/edit.native.js.map +1 -1
- package/build/button/index.js +1 -0
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +1 -1
- package/build/button/save.js.map +1 -1
- package/build/categories/edit.js +1 -1
- package/build/categories/edit.js.map +1 -1
- package/build/categories/index.js +1 -1
- package/build/columns/index.js +3 -1
- package/build/columns/index.js.map +1 -1
- package/build/comment-author-avatar/index.js +1 -0
- package/build/comment-author-avatar/index.js.map +1 -1
- package/build/comment-template/edit.js +1 -3
- package/build/comment-template/edit.js.map +1 -1
- package/build/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
- package/{build-module/comments-query-loop → build/comments}/edit/comments-inspector-controls.js.map +1 -1
- package/build/{comments-query-loop → comments}/edit.js +3 -3
- package/build/comments/edit.js.map +1 -0
- package/build/{comments-query-loop → comments}/index.js +1 -1
- package/build/comments/index.js.map +1 -0
- package/build/{comments-query-loop → comments}/save.js +2 -2
- package/build/comments/save.js.map +1 -0
- package/build/comments-title/deprecated.js +110 -0
- package/build/comments-title/deprecated.js.map +1 -0
- package/build/comments-title/edit.js +35 -35
- package/build/comments-title/edit.js.map +1 -1
- package/build/comments-title/index.js +5 -8
- package/build/comments-title/index.js.map +1 -1
- package/build/cover/controls.native.js +2 -3
- package/build/cover/controls.native.js.map +1 -1
- package/build/cover/deprecated.js +212 -207
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit/block-controls.js +115 -0
- package/build/cover/edit/block-controls.js.map +1 -0
- package/build/cover/edit/cover-placeholder.js +49 -0
- package/build/cover/edit/cover-placeholder.js.map +1 -0
- package/build/cover/edit/index.js +343 -0
- package/build/cover/edit/index.js.map +1 -0
- package/build/cover/edit/inspector-controls.js +224 -0
- package/build/cover/edit/inspector-controls.js.map +1 -0
- package/build/cover/edit/resizable-cover.js +67 -0
- package/build/cover/edit/resizable-cover.js.map +1 -0
- package/build/cover/edit/use-cover-is-dark.js +81 -0
- package/build/cover/edit/use-cover-is-dark.js.map +1 -0
- package/build/cover/edit.native.js +36 -16
- package/build/cover/edit.native.js.map +1 -1
- package/build/cover/focal-point-settings-button.native.js.map +1 -1
- package/build/cover/save.js +18 -5
- package/build/cover/save.js.map +1 -1
- package/build/cover/shared.js +15 -9
- package/build/cover/shared.js.map +1 -1
- package/build/cover/transforms.js +77 -6
- package/build/cover/transforms.js.map +1 -1
- package/build/cover/use-cover-is-dark.native.js +60 -0
- package/build/cover/use-cover-is-dark.native.js.map +1 -0
- package/build/embed/embed-preview.js +1 -1
- package/build/embed/embed-preview.js.map +1 -1
- package/build/file/edit.js +1 -1
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js +0 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/save.js +9 -1
- package/build/file/save.js.map +1 -1
- package/build/gallery/edit.js +2 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +1 -1
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gap-styles.js +14 -4
- package/build/gallery/gap-styles.js.map +1 -1
- package/build/gallery/index.js +1 -1
- package/build/gallery/shared.js +2 -2
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/use-get-media.js +2 -1
- package/build/gallery/use-get-media.js.map +1 -1
- package/build/gallery/use-short-code-transform.js +19 -18
- package/build/gallery/use-short-code-transform.js.map +1 -1
- package/build/gallery/v1/gallery.js +1 -1
- package/build/gallery/v1/gallery.js.map +1 -1
- package/build/group/index.js +1 -0
- package/build/group/index.js.map +1 -1
- package/build/heading/edit.js +6 -2
- package/build/heading/edit.js.map +1 -1
- package/build/heading/index.js +1 -0
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +9 -4
- package/build/heading/transforms.js.map +1 -1
- package/build/image/edit.js +5 -56
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +56 -4
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +4 -14
- package/build/image/image.js.map +1 -1
- package/build/index.js +48 -14
- package/build/index.js.map +1 -1
- package/build/is-block-metadata-experimental.js +18 -0
- package/build/is-block-metadata-experimental.js.map +1 -0
- package/build/latest-posts/edit.js +30 -4
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +49 -0
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/list/transforms.js +6 -0
- package/build/list/transforms.js.map +1 -1
- package/build/list/v2/edit.js +2 -1
- package/build/list/v2/edit.js.map +1 -1
- package/build/list/v2/migrate.js +1 -0
- package/build/list/v2/migrate.js.map +1 -1
- package/build/list/v2/transforms.js +46 -9
- package/build/list/v2/transforms.js.map +1 -1
- package/build/list-item/edit.js +7 -9
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/index.js +24 -0
- package/build/list-item/hooks/index.js.map +1 -1
- package/build/list-item/hooks/use-backspace.js +59 -0
- package/build/list-item/hooks/use-backspace.js.map +1 -0
- package/build/list-item/hooks/use-enter.js +6 -9
- package/build/list-item/hooks/use-enter.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +33 -39
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +54 -0
- package/build/list-item/hooks/use-space.js.map +1 -0
- package/build/list-item/hooks/use-split.js +44 -0
- package/build/list-item/hooks/use-split.js.map +1 -0
- package/build/list-item/index.js +1 -0
- package/build/list-item/index.js.map +1 -1
- package/build/list-item/utils.js +1 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/media-text/edit.native.js +2 -1
- package/build/media-text/edit.native.js.map +1 -1
- package/build/media-text/media-container.native.js +2 -4
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/media-text/transforms.js +137 -8
- package/build/media-text/transforms.js.map +1 -1
- package/build/navigation/edit/index.js +91 -109
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +6 -12
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/index.js +0 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/use-navigation-entities.js +3 -3
- package/build/navigation/use-navigation-entities.js.map +1 -1
- package/build/navigation/view-modal.js +25 -0
- package/build/navigation/view-modal.js.map +1 -1
- package/build/navigation-link/edit.js +60 -35
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/fallback-variations.js +1 -1
- package/build/navigation-link/fallback-variations.js.map +1 -1
- package/build/navigation-link/hooks.js +1 -1
- package/build/navigation-link/hooks.js.map +1 -1
- package/build/navigation-submenu/edit.js +14 -14
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +1 -1
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/edit.js +1 -1
- package/build/page-list/edit.js.map +1 -1
- package/build/paragraph/edit.js +10 -0
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/use-enter.js +94 -0
- package/build/paragraph/use-enter.js.map +1 -0
- package/build/post-author/edit.js +1 -1
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author-name/index.js +4 -0
- package/build/post-author-name/index.js.map +1 -1
- package/build/post-author-name/transforms.js +41 -0
- package/build/post-author-name/transforms.js.map +1 -0
- package/build/post-comment/index.js +2 -1
- package/build/post-comment/index.js.map +1 -1
- package/build/post-comments/edit.js +138 -35
- package/build/post-comments/edit.js.map +1 -1
- package/build/post-comments/index.js +3 -2
- package/build/post-comments/index.js.map +1 -1
- package/build/post-comments-count/index.js +1 -0
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/edit.js +38 -4
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-comments-form/form.js +58 -0
- package/build/post-comments-form/form.js.map +1 -0
- package/build/post-comments-form/index.js +1 -0
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +1 -0
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +1 -1
- package/build/post-content/edit.js.map +1 -1
- package/build/post-date/edit.js +13 -7
- package/build/post-date/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +1 -1
- package/build/post-featured-image/edit.js.map +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 +35 -4
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/hooks.js +33 -0
- package/build/post-terms/hooks.js.map +1 -0
- package/build/post-terms/index.js +20 -5
- package/build/post-terms/index.js.map +1 -1
- package/build/post-title/index.js +1 -1
- package/build/post-title/index.js.map +1 -1
- package/build/pullquote/edit.js +1 -1
- package/build/pullquote/edit.js.map +1 -1
- package/build/pullquote/edit.native.js +1 -1
- package/build/pullquote/edit.native.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +26 -17
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/parent-control.js +148 -0
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -0
- package/build/query/edit/inspector-controls/sticky-control.js +41 -0
- package/build/query/edit/inspector-controls/sticky-control.js.map +1 -0
- package/build/query/index.js +2 -1
- package/build/query/index.js.map +1 -1
- package/build/query/utils.js +28 -2
- package/build/query/utils.js.map +1 -1
- package/build/query-no-results/edit.js +1 -1
- package/build/query-no-results/edit.js.map +1 -1
- package/build/query-title/index.js +1 -1
- package/build/query-title/index.js.map +1 -1
- package/build/query-title/variations.js +1 -1
- package/build/query-title/variations.js.map +1 -1
- package/build/quote/edit.js +3 -2
- package/build/quote/edit.js.map +1 -1
- package/build/quote/index.js +1 -0
- package/build/quote/index.js.map +1 -1
- package/build/quote/v2/edit.js +1 -1
- package/build/quote/v2/edit.js.map +1 -1
- package/build/search/edit.js +2 -1
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +4 -0
- package/build/search/index.js.map +1 -1
- package/build/separator/index.js +3 -0
- package/build/separator/index.js.map +1 -1
- package/build/shortcode/edit.native.js +16 -13
- package/build/shortcode/edit.native.js.map +1 -1
- package/build/site-logo/edit.js +1 -1
- package/build/site-logo/edit.js.map +1 -1
- package/build/social-links/edit.js +2 -2
- package/build/social-links/edit.js.map +1 -1
- package/build/table/edit.js +15 -2
- package/build/table/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +145 -65
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/index.js +13 -3
- package/build/table-of-contents/index.js.map +1 -1
- package/build/table-of-contents/list.js +16 -9
- package/build/table-of-contents/list.js.map +1 -1
- package/build/table-of-contents/save.js +40 -0
- package/build/table-of-contents/save.js.map +1 -0
- package/build/table-of-contents/utils.js +11 -77
- package/build/table-of-contents/utils.js.map +1 -1
- package/build/template-part/edit/index.js +7 -3
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/inner-blocks.js +3 -8
- package/build/template-part/edit/inner-blocks.js.map +1 -1
- package/build/video/edit.js +4 -8
- package/build/video/edit.js.map +1 -1
- package/build-module/audio/edit.js +5 -17
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/block/edit.js +11 -10
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/deprecated.js +175 -35
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/edit.js +2 -2
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/edit.native.js +7 -3
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/button/index.js +1 -0
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +2 -2
- package/build-module/button/save.js.map +1 -1
- package/build-module/categories/edit.js +1 -1
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/categories/index.js +1 -1
- package/build-module/columns/index.js +3 -1
- package/build-module/columns/index.js.map +1 -1
- package/build-module/comment-author-avatar/index.js +1 -0
- package/build-module/comment-author-avatar/index.js.map +1 -1
- package/build-module/comment-template/edit.js +1 -3
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -0
- package/build-module/{comments-query-loop → comments}/edit.js +2 -2
- package/build-module/comments/edit.js.map +1 -0
- package/build-module/{comments-query-loop → comments}/index.js +1 -1
- package/build-module/comments/index.js.map +1 -0
- package/build-module/{comments-query-loop → comments}/save.js +1 -1
- package/build-module/comments/save.js.map +1 -0
- package/build-module/comments-title/deprecated.js +102 -0
- package/build-module/comments-title/deprecated.js.map +1 -0
- package/build-module/comments-title/edit.js +38 -38
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/comments-title/index.js +4 -8
- package/build-module/comments-title/index.js.map +1 -1
- package/build-module/cover/controls.native.js +2 -3
- package/build-module/cover/controls.native.js.map +1 -1
- package/build-module/cover/deprecated.js +206 -198
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +104 -0
- package/build-module/cover/edit/block-controls.js.map +1 -0
- package/build-module/cover/edit/cover-placeholder.js +38 -0
- package/build-module/cover/edit/cover-placeholder.js.map +1 -0
- package/build-module/cover/edit/index.js +317 -0
- package/build-module/cover/edit/index.js.map +1 -0
- package/build-module/cover/edit/inspector-controls.js +215 -0
- package/build-module/cover/edit/inspector-controls.js.map +1 -0
- package/build-module/cover/edit/resizable-cover.js +55 -0
- package/build-module/cover/edit/resizable-cover.js.map +1 -0
- package/build-module/cover/edit/use-cover-is-dark.js +70 -0
- package/build-module/cover/edit/use-cover-is-dark.js.map +1 -0
- package/build-module/cover/edit.native.js +35 -17
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/cover/focal-point-settings-button.native.js.map +1 -1
- package/build-module/cover/save.js +19 -6
- package/build-module/cover/save.js.map +1 -1
- package/build-module/cover/shared.js +11 -5
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/cover/transforms.js +74 -6
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/cover/use-cover-is-dark.native.js +51 -0
- package/build-module/cover/use-cover-is-dark.native.js.map +1 -0
- package/build-module/embed/embed-preview.js +2 -2
- package/build-module/embed/embed-preview.js.map +1 -1
- package/build-module/file/edit.js +2 -2
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js +0 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/save.js +7 -2
- package/build-module/file/save.js.map +1 -1
- package/build-module/gallery/edit.js +2 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +2 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gap-styles.js +14 -4
- package/build-module/gallery/gap-styles.js.map +1 -1
- package/build-module/gallery/index.js +1 -1
- package/build-module/gallery/shared.js +2 -2
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/use-get-media.js +2 -1
- package/build-module/gallery/use-get-media.js.map +1 -1
- package/build-module/gallery/use-short-code-transform.js +19 -18
- package/build-module/gallery/use-short-code-transform.js.map +1 -1
- package/build-module/gallery/v1/gallery.js +2 -2
- package/build-module/gallery/v1/gallery.js.map +1 -1
- package/build-module/group/index.js +1 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/heading/edit.js +6 -2
- package/build-module/heading/edit.js.map +1 -1
- package/build-module/heading/index.js +1 -0
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +9 -4
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/image/edit.js +4 -52
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +57 -6
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +6 -16
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +43 -12
- package/build-module/index.js.map +1 -1
- package/build-module/is-block-metadata-experimental.js +16 -0
- package/build-module/is-block-metadata-experimental.js.map +1 -0
- package/build-module/latest-posts/edit.js +29 -5
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +51 -2
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/list/transforms.js +6 -0
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/v2/edit.js +2 -1
- package/build-module/list/v2/edit.js.map +1 -1
- package/build-module/list/v2/migrate.js +1 -3
- package/build-module/list/v2/migrate.js.map +1 -1
- package/build-module/list/v2/transforms.js +46 -9
- package/build-module/list/v2/transforms.js.map +1 -1
- package/build-module/list-item/edit.js +8 -9
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/index.js +3 -0
- package/build-module/list-item/hooks/index.js.map +1 -1
- package/build-module/list-item/hooks/use-backspace.js +44 -0
- package/build-module/list-item/hooks/use-backspace.js.map +1 -0
- package/build-module/list-item/hooks/use-enter.js +6 -9
- package/build-module/list-item/hooks/use-enter.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +33 -38
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +40 -0
- package/build-module/list-item/hooks/use-space.js.map +1 -0
- package/build-module/list-item/hooks/use-split.js +33 -0
- package/build-module/list-item/hooks/use-split.js.map +1 -0
- package/build-module/list-item/index.js +1 -0
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/list-item/utils.js +1 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/media-text/edit.native.js +2 -1
- package/build-module/media-text/edit.native.js.map +1 -1
- package/build-module/media-text/media-container.native.js +2 -4
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/media-text/transforms.js +137 -8
- package/build-module/media-text/transforms.js.map +1 -1
- package/build-module/navigation/edit/index.js +93 -110
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +7 -13
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/index.js +0 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/use-navigation-entities.js +1 -1
- package/build-module/navigation/use-navigation-entities.js.map +1 -1
- package/build-module/navigation/view-modal.js +24 -0
- package/build-module/navigation/view-modal.js.map +1 -1
- package/build-module/navigation-link/edit.js +60 -36
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/fallback-variations.js +1 -1
- package/build-module/navigation-link/fallback-variations.js.map +1 -1
- package/build-module/navigation-link/hooks.js +2 -2
- package/build-module/navigation-link/hooks.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +14 -14
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/convert-to-links-modal.js +1 -1
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/edit.js +1 -1
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/paragraph/edit.js +9 -0
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/use-enter.js +81 -0
- package/build-module/paragraph/use-enter.js.map +1 -0
- package/build-module/post-author/edit.js +1 -1
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author-name/index.js +3 -0
- package/build-module/post-author-name/index.js.map +1 -1
- package/build-module/post-author-name/transforms.js +32 -0
- package/build-module/post-author-name/transforms.js.map +1 -0
- package/build-module/post-comment/index.js +2 -1
- package/build-module/post-comment/index.js.map +1 -1
- package/build-module/post-comments/edit.js +139 -37
- package/build-module/post-comments/edit.js.map +1 -1
- package/build-module/post-comments/index.js +3 -2
- package/build-module/post-comments/index.js.map +1 -1
- package/build-module/post-comments-count/index.js +1 -0
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/edit.js +38 -6
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-comments-form/form.js +45 -0
- package/build-module/post-comments-form/form.js.map +1 -0
- package/build-module/post-comments-form/index.js +1 -0
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +1 -0
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +1 -1
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-date/edit.js +15 -9
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +1 -1
- package/build-module/post-featured-image/edit.js.map +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 +35 -6
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/hooks.js +25 -0
- package/build-module/post-terms/hooks.js.map +1 -0
- package/build-module/post-terms/index.js +18 -8
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-title/index.js +1 -1
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/pullquote/edit.js +2 -2
- package/build-module/pullquote/edit.js.map +1 -1
- package/build-module/pullquote/edit.native.js +2 -2
- package/build-module/pullquote/edit.native.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +24 -17
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.js +135 -0
- package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -0
- package/build-module/query/edit/inspector-controls/sticky-control.js +31 -0
- package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -0
- package/build-module/query/index.js +2 -1
- package/build-module/query/index.js.map +1 -1
- package/build-module/query/utils.js +21 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-no-results/edit.js +1 -1
- package/build-module/query-no-results/edit.js.map +1 -1
- package/build-module/query-title/index.js +1 -1
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/query-title/variations.js +2 -2
- package/build-module/query-title/variations.js.map +1 -1
- package/build-module/quote/edit.js +4 -3
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/quote/index.js +1 -0
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/v2/edit.js +2 -2
- package/build-module/quote/v2/edit.js.map +1 -1
- package/build-module/search/edit.js +3 -2
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/index.js +4 -0
- package/build-module/search/index.js.map +1 -1
- package/build-module/separator/index.js +3 -0
- package/build-module/separator/index.js.map +1 -1
- package/build-module/shortcode/edit.native.js +17 -13
- package/build-module/shortcode/edit.native.js.map +1 -1
- package/build-module/site-logo/edit.js +1 -1
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/social-links/edit.js +2 -2
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/table/edit.js +17 -4
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +144 -68
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/index.js +12 -3
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/table-of-contents/list.js +18 -10
- package/build-module/table-of-contents/list.js.map +1 -1
- package/build-module/table-of-contents/save.js +28 -0
- package/build-module/table-of-contents/save.js.map +1 -0
- package/build-module/table-of-contents/utils.js +11 -73
- package/build-module/table-of-contents/utils.js.map +1 -1
- package/build-module/template-part/edit/index.js +8 -4
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/inner-blocks.js +4 -9
- package/build-module/template-part/edit/inner-blocks.js.map +1 -1
- package/build-module/video/edit.js +5 -9
- package/build-module/video/edit.js.map +1 -1
- package/build-style/comment-content/style-rtl.css +81 -0
- package/build-style/comment-content/style.css +81 -0
- package/build-style/{comments-query-loop → comments}/editor-rtl.css +0 -0
- package/build-style/{comments-query-loop → comments}/editor.css +0 -0
- package/build-style/cover/style-rtl.css +32 -27
- package/build-style/cover/style.css +32 -27
- package/build-style/editor-rtl.css +16 -10
- package/build-style/editor.css +16 -10
- package/build-style/image/editor-rtl.css +1 -1
- package/build-style/image/editor.css +1 -1
- package/build-style/latest-posts/style-rtl.css +2 -0
- package/build-style/latest-posts/style.css +4 -0
- package/build-style/navigation/style-rtl.css +3 -0
- package/build-style/navigation/style.css +3 -0
- package/build-style/post-comments/editor-rtl.css +79 -0
- package/build-style/post-comments/editor.css +79 -0
- package/build-style/post-comments/style-rtl.css +27 -3
- package/build-style/post-comments/style.css +27 -3
- package/build-style/post-comments-form/editor-rtl.css +79 -0
- package/build-style/post-comments-form/editor.css +79 -0
- package/build-style/post-comments-form/style-rtl.css +1 -3
- package/build-style/post-comments-form/style.css +1 -3
- package/build-style/separator/editor-rtl.css +1 -0
- package/build-style/separator/editor.css +1 -0
- package/build-style/site-logo/style-rtl.css +4 -0
- package/build-style/site-logo/style.css +4 -0
- package/build-style/style-rtl.css +69 -33
- package/build-style/style.css +71 -33
- package/build-style/video/editor-rtl.css +2 -5
- package/build-style/video/editor.css +2 -5
- package/build-types/table-of-contents/list.d.ts +12 -0
- package/build-types/table-of-contents/list.d.ts.map +1 -0
- package/build-types/table-of-contents/utils.d.ts +24 -0
- package/build-types/table-of-contents/utils.d.ts.map +1 -0
- package/package.json +30 -29
- package/src/audio/edit.js +6 -9
- package/src/avatar/block.json +0 -1
- package/src/avatar/index.php +2 -2
- package/src/block/edit.js +39 -42
- package/src/block/test/edit.native.js +1 -1
- package/src/button/block.json +1 -0
- package/src/button/deprecated.js +145 -0
- package/src/button/edit.js +3 -1
- package/src/button/edit.native.js +6 -3
- package/src/button/save.js +3 -1
- package/src/buttons/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/buttons/test/edit.native.js +1 -1
- package/src/categories/block.json +1 -1
- package/src/categories/edit.js +1 -1
- package/src/columns/block.json +3 -1
- package/src/comment-author-avatar/block.json +1 -0
- package/src/comment-author-name/index.php +7 -5
- package/src/comment-content/index.php +25 -3
- package/src/comment-content/style.scss +5 -0
- package/src/comment-edit-link/index.php +1 -4
- package/src/comment-reply-link/index.php +1 -4
- package/src/comment-template/edit.js +1 -5
- package/src/comment-template/index.php +4 -0
- package/src/{comments-query-loop → comments}/block.json +1 -1
- package/src/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
- package/src/{comments-query-loop → comments}/edit.js +2 -1
- package/src/{comments-query-loop → comments}/editor.scss +0 -0
- package/src/{comments-query-loop → comments}/index.js +0 -0
- package/src/{comments-query-loop → comments}/save.js +1 -3
- package/src/comments-pagination/index.php +4 -0
- package/src/comments-title/block.json +0 -6
- package/src/comments-title/deprecated.js +34 -0
- package/src/comments-title/edit.js +44 -84
- package/src/comments-title/index.js +3 -1
- package/src/comments-title/index.php +51 -22
- package/src/cover/controls.native.js +1 -2
- package/src/cover/deprecated.js +230 -183
- package/src/cover/edit/block-controls.js +119 -0
- package/src/cover/edit/cover-placeholder.js +39 -0
- package/src/cover/edit/index.js +393 -0
- package/src/cover/edit/inspector-controls.js +286 -0
- package/src/cover/edit/resizable-cover.js +55 -0
- package/src/cover/edit/use-cover-is-dark.js +71 -0
- package/src/cover/edit.native.js +40 -14
- package/src/cover/editor.scss +1 -1
- package/src/cover/focal-point-settings-button.native.js +1 -1
- package/src/cover/index.php +20 -37
- package/src/cover/save.js +26 -13
- package/src/cover/shared.js +5 -3
- package/src/cover/style.native.scss +4 -0
- package/src/cover/style.scss +27 -26
- package/src/cover/test/__snapshots__/edit.native.js.snap +6 -6
- package/src/cover/test/block-controls.js +62 -0
- package/src/cover/test/transforms.js +301 -0
- package/src/cover/transforms.js +112 -7
- package/src/cover/use-cover-is-dark.native.js +51 -0
- package/src/editor.scss +3 -1
- package/src/embed/embed-preview.js +4 -2
- package/src/file/edit.js +5 -1
- package/src/file/edit.native.js +0 -1
- package/src/file/save.js +14 -2
- package/src/gallery/block.json +1 -1
- package/src/gallery/edit.js +2 -1
- package/src/gallery/gallery.js +2 -2
- package/src/gallery/gap-styles.js +21 -6
- package/src/gallery/index.php +23 -12
- package/src/gallery/shared.js +3 -2
- package/src/gallery/use-get-media.js +2 -1
- package/src/gallery/use-short-code-transform.js +19 -16
- package/src/gallery/v1/gallery.js +2 -2
- package/src/group/block.json +1 -0
- package/src/heading/block.json +1 -0
- package/src/heading/edit.js +5 -2
- package/src/heading/transforms.js +4 -3
- package/src/image/edit.js +0 -44
- package/src/image/edit.native.js +65 -4
- package/src/image/editor.scss +1 -1
- package/src/image/image.js +10 -13
- package/src/image/styles.native.scss +11 -0
- package/src/image/test/edit.native.js +7 -7
- package/src/index.js +53 -33
- package/src/is-block-metadata-experimental.js +19 -0
- package/src/latest-posts/edit.js +27 -2
- package/src/latest-posts/edit.native.js +56 -1
- package/src/latest-posts/index.php +12 -6
- package/src/latest-posts/style.scss +4 -0
- package/src/list/transforms.js +7 -0
- package/src/list/v2/edit.js +1 -0
- package/src/list/v2/migrate.js +1 -1
- package/src/list/v2/transforms.js +35 -0
- package/src/list-item/block.json +2 -1
- package/src/list-item/edit.js +17 -10
- package/src/list-item/hooks/index.js +3 -0
- package/src/list-item/hooks/use-backspace.js +52 -0
- package/src/list-item/hooks/use-enter.js +9 -16
- package/src/list-item/hooks/use-indent-list-item.js +50 -63
- package/src/list-item/hooks/use-space.js +48 -0
- package/src/list-item/hooks/use-split.js +33 -0
- package/src/list-item/utils.js +1 -1
- package/src/media-text/edit.native.js +3 -1
- package/src/media-text/media-container.native.js +2 -4
- package/src/media-text/transforms.js +154 -0
- package/src/navigation/block.json +0 -1
- package/src/navigation/edit/index.js +181 -205
- package/src/navigation/edit/inner-blocks.js +6 -15
- package/src/navigation/index.php +40 -0
- package/src/navigation/style.scss +3 -0
- package/src/navigation/use-navigation-entities.js +1 -1
- package/src/navigation/view-modal.js +32 -0
- package/src/navigation-link/edit.js +75 -48
- package/src/navigation-link/fallback-variations.js +1 -1
- package/src/navigation-link/hooks.js +2 -2
- package/src/navigation-link/test/__snapshots__/hooks.js.snap +4 -4
- package/src/navigation-link/test/edit.js +0 -20
- package/src/navigation-submenu/edit.js +13 -17
- package/src/page-list/convert-to-links-modal.js +1 -1
- package/src/page-list/edit.js +1 -4
- package/src/paragraph/edit.js +6 -0
- package/src/paragraph/use-enter.js +103 -0
- package/src/post-author/edit.js +24 -22
- package/src/post-author/index.php +4 -3
- package/src/post-author-name/block.json +1 -0
- package/src/post-author-name/index.js +2 -0
- package/src/post-author-name/index.php +1 -1
- package/src/post-author-name/transforms.js +25 -0
- package/src/post-comment/block.json +2 -1
- package/src/post-comments/block.json +3 -2
- package/src/post-comments/edit.js +206 -44
- package/src/post-comments/editor.scss +3 -0
- package/src/post-comments/index.php +3 -1
- package/src/post-comments/style.scss +30 -5
- package/src/post-comments-count/block.json +1 -0
- package/src/post-comments-form/block.json +1 -0
- package/src/post-comments-form/edit.js +52 -23
- package/src/post-comments-form/editor.scss +3 -0
- package/src/post-comments-form/form.js +50 -0
- package/src/post-comments-form/index.php +10 -3
- package/src/post-comments-form/style.scss +1 -4
- package/src/post-comments-link/block.json +1 -0
- package/src/post-content/edit.js +15 -1
- package/src/post-date/edit.js +4 -3
- package/src/post-excerpt/edit.js +14 -1
- package/src/post-featured-image/edit.js +1 -1
- package/src/post-template/edit.js +5 -0
- package/src/post-template/index.php +30 -0
- package/src/post-terms/block.json +8 -0
- package/src/post-terms/edit.js +47 -1
- package/src/post-terms/hooks.js +27 -0
- package/src/post-terms/index.js +14 -7
- package/src/post-terms/index.php +50 -2
- package/src/post-title/index.js +1 -1
- package/src/pullquote/edit.js +2 -2
- package/src/pullquote/edit.native.js +2 -2
- package/src/query/block.json +2 -1
- package/src/query/edit/inspector-controls/index.js +25 -11
- package/src/query/edit/inspector-controls/parent-control.js +133 -0
- package/src/query/edit/inspector-controls/sticky-control.js +25 -0
- package/src/query/utils.js +22 -0
- package/src/query-no-results/edit.js +1 -1
- package/src/query-pagination/index.php +0 -1
- package/src/query-title/index.js +1 -1
- package/src/query-title/variations.js +2 -2
- package/src/quote/block.json +1 -0
- package/src/quote/edit.js +5 -2
- package/src/quote/v2/edit.js +4 -2
- package/src/search/block.json +4 -0
- package/src/search/edit.js +4 -1
- package/src/search/index.php +29 -16
- package/src/separator/block.json +3 -0
- package/src/separator/editor.scss +1 -0
- package/src/shortcode/edit.native.js +29 -15
- package/src/shortcode/style.native.scss +11 -4
- package/src/shortcode/test/__snapshots__/edit.native.js.snap +9 -0
- package/src/shortcode/test/edit.native.js +58 -40
- package/src/site-logo/edit.js +1 -1
- package/src/site-logo/style.scss +6 -0
- package/src/social-links/edit.js +11 -10
- package/src/table/edit.js +19 -4
- package/src/table-of-contents/block.json +9 -2
- package/src/table-of-contents/edit.js +170 -77
- package/src/table-of-contents/index.js +2 -0
- package/src/table-of-contents/list.tsx +46 -0
- package/src/table-of-contents/save.js +25 -0
- package/src/table-of-contents/utils.ts +71 -0
- package/src/tag-cloud/block.json +1 -1
- package/src/template-part/edit/index.js +25 -15
- package/src/template-part/edit/inner-blocks.js +2 -10
- package/src/video/edit.js +7 -6
- package/src/video/editor.scss +3 -6
- package/test/babel-plugin.js +67 -0
- package/tsconfig.json +11 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/build/comments-query-loop/edit/comments-inspector-controls.js.map +0 -1
- package/build/comments-query-loop/edit.js.map +0 -1
- package/build/comments-query-loop/index.js.map +0 -1
- package/build/comments-query-loop/save.js.map +0 -1
- package/build/cover/edit.js +0 -665
- package/build/cover/edit.js.map +0 -1
- package/build/navigation-area/edit.js +0 -110
- package/build/navigation-area/edit.js.map +0 -1
- package/build/navigation-area/index.js +0 -62
- package/build/navigation-area/index.js.map +0 -1
- package/build/navigation-area/inner-blocks.js +0 -34
- package/build/navigation-area/inner-blocks.js.map +0 -1
- package/build/navigation-area/save.js +0 -18
- package/build/navigation-area/save.js.map +0 -1
- package/build/post-terms/variations.js +0 -37
- package/build/post-terms/variations.js.map +0 -1
- package/build-module/comments-query-loop/edit.js.map +0 -1
- package/build-module/comments-query-loop/index.js.map +0 -1
- package/build-module/comments-query-loop/save.js.map +0 -1
- package/build-module/cover/edit.js +0 -642
- package/build-module/cover/edit.js.map +0 -1
- package/build-module/navigation-area/edit.js +0 -94
- package/build-module/navigation-area/edit.js.map +0 -1
- package/build-module/navigation-area/index.js +0 -48
- package/build-module/navigation-area/index.js.map +0 -1
- package/build-module/navigation-area/inner-blocks.js +0 -26
- package/build-module/navigation-area/inner-blocks.js.map +0 -1
- package/build-module/navigation-area/save.js +0 -10
- package/build-module/navigation-area/save.js.map +0 -1
- package/build-module/post-terms/variations.js +0 -27
- package/build-module/post-terms/variations.js.map +0 -1
- package/src/cover/edit.js +0 -822
- package/src/navigation-area/block.json +0 -23
- package/src/navigation-area/edit.js +0 -111
- package/src/navigation-area/index.js +0 -26
- package/src/navigation-area/index.php +0 -22
- package/src/navigation-area/inner-blocks.js +0 -24
- package/src/navigation-area/save.js +0 -8
- package/src/post-terms/variations.js +0 -28
- package/src/table-of-contents/index.php +0 -346
- package/src/table-of-contents/list.js +0 -28
- package/src/table-of-contents/utils.js +0 -126
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://schemas.wp.org/trunk/block.json",
|
|
3
3
|
"apiVersion": 2,
|
|
4
|
+
"__experimental": true,
|
|
4
5
|
"name": "core/table-of-contents",
|
|
5
6
|
"title": "Table of Contents",
|
|
6
7
|
"category": "layout",
|
|
@@ -8,13 +9,19 @@
|
|
|
8
9
|
"keywords": [ "document outline", "summary" ],
|
|
9
10
|
"textdomain": "default",
|
|
10
11
|
"attributes": {
|
|
12
|
+
"headings": {
|
|
13
|
+
"type": "array",
|
|
14
|
+
"items": {
|
|
15
|
+
"type": "object"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
11
18
|
"onlyIncludeCurrentPage": {
|
|
12
19
|
"type": "boolean",
|
|
13
20
|
"default": false
|
|
14
21
|
}
|
|
15
22
|
},
|
|
16
|
-
"usesContext": [ "postId" ],
|
|
17
23
|
"supports": {
|
|
18
24
|
"html": false
|
|
19
|
-
}
|
|
25
|
+
},
|
|
26
|
+
"example": {}
|
|
20
27
|
}
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
store as blockEditorStore,
|
|
14
14
|
useBlockProps,
|
|
15
15
|
} from '@wordpress/block-editor';
|
|
16
|
-
import { createBlock
|
|
16
|
+
import { createBlock } from '@wordpress/blocks';
|
|
17
17
|
import {
|
|
18
18
|
PanelBody,
|
|
19
19
|
Placeholder,
|
|
@@ -21,123 +21,215 @@ import {
|
|
|
21
21
|
ToolbarButton,
|
|
22
22
|
ToolbarGroup,
|
|
23
23
|
} from '@wordpress/components';
|
|
24
|
+
import { useDisabled } from '@wordpress/compose';
|
|
24
25
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
25
|
-
import {
|
|
26
|
+
import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
|
|
27
|
+
import { renderToString, useEffect } from '@wordpress/element';
|
|
26
28
|
import { __ } from '@wordpress/i18n';
|
|
29
|
+
import { addQueryArgs, removeQueryArgs } from '@wordpress/url';
|
|
27
30
|
|
|
28
31
|
/**
|
|
29
32
|
* Internal dependencies
|
|
30
33
|
*/
|
|
34
|
+
import icon from './icon';
|
|
31
35
|
import TableOfContentsList from './list';
|
|
32
|
-
import {
|
|
36
|
+
import { linearToNestedHeadingList } from './utils';
|
|
37
|
+
|
|
38
|
+
/** @typedef {import('./utils').HeadingData} HeadingData */
|
|
33
39
|
|
|
34
40
|
/**
|
|
35
41
|
* Table of Contents block edit component.
|
|
36
42
|
*
|
|
37
43
|
* @param {Object} props The props.
|
|
38
44
|
* @param {Object} props.attributes The block attributes.
|
|
39
|
-
* @param {
|
|
40
|
-
*
|
|
41
|
-
* paginated).
|
|
45
|
+
* @param {HeadingData[]} props.attributes.headings A list of data for each heading in the post.
|
|
46
|
+
* @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).
|
|
42
47
|
* @param {string} props.clientId
|
|
43
48
|
* @param {(attributes: Object) => void} props.setAttributes
|
|
44
49
|
*
|
|
45
50
|
* @return {WPComponent} The component.
|
|
46
51
|
*/
|
|
47
52
|
export default function TableOfContentsEdit( {
|
|
48
|
-
attributes: { onlyIncludeCurrentPage },
|
|
53
|
+
attributes: { headings = [], onlyIncludeCurrentPage },
|
|
49
54
|
clientId,
|
|
50
55
|
setAttributes,
|
|
51
56
|
} ) {
|
|
52
57
|
const blockProps = useBlockProps();
|
|
58
|
+
const disabledRef = useDisabled();
|
|
53
59
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
const canInsertList = useSelect(
|
|
61
|
+
( select ) => {
|
|
62
|
+
const { getBlockRootClientId, canInsertBlockType } = select(
|
|
63
|
+
blockEditorStore
|
|
64
|
+
);
|
|
65
|
+
const rootClientId = getBlockRootClientId( clientId );
|
|
57
66
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
'core/list'
|
|
62
|
-
),
|
|
63
|
-
// FIXME: @wordpress/block-library should not depend on @wordpress/editor.
|
|
64
|
-
// Blocks can be loaded into a *non-post* block editor.
|
|
65
|
-
// eslint-disable-next-line @wordpress/data-no-store-string-literals
|
|
66
|
-
postContent: select( 'core/editor' ).getEditedPostContent(),
|
|
67
|
-
} ),
|
|
68
|
-
[]
|
|
67
|
+
return canInsertBlockType( 'core/list', rootClientId );
|
|
68
|
+
},
|
|
69
|
+
[ clientId ]
|
|
69
70
|
);
|
|
70
71
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if ( ! onlyIncludeCurrentPage ) {
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
72
|
+
const {
|
|
73
|
+
__unstableMarkNextChangeAsNotPersistent,
|
|
74
|
+
replaceBlocks,
|
|
75
|
+
} = useDispatch( blockEditorStore );
|
|
78
76
|
|
|
77
|
+
/**
|
|
78
|
+
* The latest heading data, or null if the new data deeply equals the saved
|
|
79
|
+
* headings attribute.
|
|
80
|
+
*
|
|
81
|
+
* Since useSelect forces a re-render when its return value is shallowly
|
|
82
|
+
* inequal to its prior call, we would be re-rendering this block every time
|
|
83
|
+
* the stores change, even if the latest headings were deeply equal to the
|
|
84
|
+
* ones saved in the block attributes.
|
|
85
|
+
*
|
|
86
|
+
* By returning null when they're equal, we reduce that to 2 renders: one
|
|
87
|
+
* when there are new latest headings (and so it returns them), and one when
|
|
88
|
+
* they haven't changed (so it returns null). As long as the latest heading
|
|
89
|
+
* data remains the same, further calls of the useSelect callback will
|
|
90
|
+
* continue to return null, thus preventing any forced re-renders.
|
|
91
|
+
*/
|
|
92
|
+
const latestHeadings = useSelect(
|
|
93
|
+
( select ) => {
|
|
79
94
|
const {
|
|
80
95
|
getBlockAttributes,
|
|
81
|
-
getBlockIndex,
|
|
82
96
|
getBlockName,
|
|
83
|
-
|
|
97
|
+
getClientIdsWithDescendants,
|
|
98
|
+
__experimentalGetGlobalBlocksByName: getGlobalBlocksByName,
|
|
84
99
|
} = select( blockEditorStore );
|
|
85
100
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
101
|
+
// FIXME: @wordpress/block-library should not depend on @wordpress/editor.
|
|
102
|
+
// Blocks can be loaded into a *non-post* block editor, so to avoid
|
|
103
|
+
// declaring @wordpress/editor as a dependency, we must access its
|
|
104
|
+
// store by string. When the store is not available, editorSelectors
|
|
105
|
+
// will be null, and the block's saved markup will lack permalinks.
|
|
106
|
+
// eslint-disable-next-line @wordpress/data-no-store-string-literals
|
|
107
|
+
const editorSelectors = select( 'core/editor' );
|
|
108
|
+
|
|
109
|
+
const pageBreakClientIds = getGlobalBlocksByName( 'core/nextpage' );
|
|
110
|
+
|
|
111
|
+
const isPaginated = pageBreakClientIds.length !== 0;
|
|
112
|
+
|
|
113
|
+
// Get the client ids of all blocks in the editor.
|
|
114
|
+
const allBlockClientIds = getClientIdsWithDescendants();
|
|
115
|
+
|
|
116
|
+
// If onlyIncludeCurrentPage is true, calculate the page (of a paginated post) this block is part of, so we know which headings to include; otherwise, skip the calculation.
|
|
117
|
+
let tocPage = 1;
|
|
118
|
+
|
|
119
|
+
if ( isPaginated && onlyIncludeCurrentPage ) {
|
|
120
|
+
// We can't use getBlockIndex because it only returns the index
|
|
121
|
+
// relative to sibling blocks.
|
|
122
|
+
const tocIndex = allBlockClientIds.indexOf( clientId );
|
|
123
|
+
|
|
124
|
+
for ( const [
|
|
125
|
+
blockIndex,
|
|
126
|
+
blockClientId,
|
|
127
|
+
] of allBlockClientIds.entries() ) {
|
|
128
|
+
// If we've reached blocks after the Table of Contents, we've
|
|
129
|
+
// finished calculating which page the block is on.
|
|
130
|
+
if ( blockIndex >= tocIndex ) {
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
if ( getBlockName( blockClientId ) === 'core/nextpage' ) {
|
|
134
|
+
tocPage++;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const _latestHeadings = [];
|
|
140
|
+
|
|
141
|
+
/** The page (of a paginated post) a heading will be part of. */
|
|
142
|
+
let headingPage = 1;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* A permalink to the current post. If the core/editor store is
|
|
146
|
+
* unavailable, this variable will be null.
|
|
147
|
+
*/
|
|
148
|
+
const permalink = editorSelectors?.getPermalink() ?? null;
|
|
149
|
+
|
|
150
|
+
let headingPageLink = null;
|
|
151
|
+
|
|
152
|
+
// If the core/editor store is available, we can add permalinks to the
|
|
153
|
+
// generated table of contents.
|
|
154
|
+
if ( typeof permalink === 'string' ) {
|
|
155
|
+
headingPageLink = isPaginated
|
|
156
|
+
? addQueryArgs( permalink, { page: headingPage } )
|
|
157
|
+
: permalink;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
for ( const blockClientId of allBlockClientIds ) {
|
|
161
|
+
const blockName = getBlockName( blockClientId );
|
|
100
162
|
if ( blockName === 'core/nextpage' ) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
//
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
163
|
+
headingPage++;
|
|
164
|
+
|
|
165
|
+
// If we're only including headings from the current page (of
|
|
166
|
+
// a paginated post), then exit the loop if we've reached the
|
|
167
|
+
// pages after the one with the Table of Contents block.
|
|
168
|
+
if ( onlyIncludeCurrentPage && headingPage > tocPage ) {
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
if ( typeof permalink === 'string' ) {
|
|
173
|
+
headingPageLink = addQueryArgs(
|
|
174
|
+
removeQueryArgs( permalink, [ 'page' ] ),
|
|
175
|
+
{ page: headingPage }
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// If we're including all headings or we've reached headings on
|
|
180
|
+
// the same page as the Table of Contents block, add them to the
|
|
181
|
+
// list.
|
|
182
|
+
else if (
|
|
183
|
+
! onlyIncludeCurrentPage ||
|
|
184
|
+
headingPage === tocPage
|
|
185
|
+
) {
|
|
186
|
+
if ( blockName === 'core/heading' ) {
|
|
187
|
+
const headingAttributes = getBlockAttributes(
|
|
188
|
+
blockClientId
|
|
189
|
+
);
|
|
190
|
+
|
|
191
|
+
const canBeLinked =
|
|
192
|
+
typeof headingPageLink === 'string' &&
|
|
193
|
+
typeof headingAttributes.anchor === 'string' &&
|
|
194
|
+
headingAttributes.anchor !== '';
|
|
195
|
+
|
|
196
|
+
_latestHeadings.push( {
|
|
197
|
+
// Convert line breaks to spaces, and get rid of HTML tags in the headings.
|
|
198
|
+
content: stripHTML(
|
|
199
|
+
headingAttributes.content.replace(
|
|
200
|
+
/(<br *\/?>)+/g,
|
|
201
|
+
' '
|
|
202
|
+
)
|
|
203
|
+
),
|
|
204
|
+
level: headingAttributes.level,
|
|
205
|
+
link: canBeLinked
|
|
206
|
+
? `${ headingPageLink }#${ headingAttributes.anchor }`
|
|
207
|
+
: null,
|
|
208
|
+
} );
|
|
110
209
|
}
|
|
111
210
|
}
|
|
112
211
|
}
|
|
113
212
|
|
|
114
|
-
|
|
213
|
+
if ( isEqual( headings, _latestHeadings ) ) {
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
return _latestHeadings;
|
|
115
217
|
},
|
|
116
|
-
[ clientId, onlyIncludeCurrentPage ]
|
|
218
|
+
[ clientId, onlyIncludeCurrentPage, headings ]
|
|
117
219
|
);
|
|
118
220
|
|
|
119
221
|
useEffect( () => {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
latestHeadings = getHeadingsFromContent(
|
|
126
|
-
pagesOfContent[ pageIndex - 1 ]
|
|
127
|
-
);
|
|
128
|
-
} else {
|
|
129
|
-
latestHeadings = getHeadingsFromContent( postContent );
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if ( ! isEqual( headings, latestHeadings ) ) {
|
|
133
|
-
setHeadings( latestHeadings );
|
|
134
|
-
setHeadingTree( linearToNestedHeadingList( latestHeadings ) );
|
|
222
|
+
if ( latestHeadings !== null ) {
|
|
223
|
+
// This is required to keep undo working and not create 2 undo steps
|
|
224
|
+
// for each heading change.
|
|
225
|
+
__unstableMarkNextChangeAsNotPersistent();
|
|
226
|
+
setAttributes( { headings: latestHeadings } );
|
|
135
227
|
}
|
|
136
|
-
}, [
|
|
228
|
+
}, [ latestHeadings ] );
|
|
137
229
|
|
|
138
|
-
const
|
|
230
|
+
const headingTree = linearToNestedHeadingList( headings );
|
|
139
231
|
|
|
140
|
-
const toolbarControls =
|
|
232
|
+
const toolbarControls = canInsertList && (
|
|
141
233
|
<BlockControls>
|
|
142
234
|
<ToolbarGroup>
|
|
143
235
|
<ToolbarButton
|
|
@@ -145,6 +237,7 @@ export default function TableOfContentsEdit( {
|
|
|
145
237
|
replaceBlocks(
|
|
146
238
|
clientId,
|
|
147
239
|
createBlock( 'core/list', {
|
|
240
|
+
ordered: true,
|
|
148
241
|
values: renderToString(
|
|
149
242
|
<TableOfContentsList
|
|
150
243
|
nestedHeadingList={ headingTree }
|
|
@@ -162,7 +255,7 @@ export default function TableOfContentsEdit( {
|
|
|
162
255
|
|
|
163
256
|
const inspectorControls = (
|
|
164
257
|
<InspectorControls>
|
|
165
|
-
<PanelBody title={ __( '
|
|
258
|
+
<PanelBody title={ __( 'Settings' ) }>
|
|
166
259
|
<ToggleControl
|
|
167
260
|
label={ __( 'Only include current page' ) }
|
|
168
261
|
checked={ onlyIncludeCurrentPage }
|
|
@@ -191,7 +284,7 @@ export default function TableOfContentsEdit( {
|
|
|
191
284
|
<>
|
|
192
285
|
<div { ...blockProps }>
|
|
193
286
|
<Placeholder
|
|
194
|
-
icon={ <BlockIcon icon=
|
|
287
|
+
icon={ <BlockIcon icon={ icon } /> }
|
|
195
288
|
label="Table of Contents"
|
|
196
289
|
instructions={ __(
|
|
197
290
|
'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'
|
|
@@ -206,9 +299,9 @@ export default function TableOfContentsEdit( {
|
|
|
206
299
|
return (
|
|
207
300
|
<>
|
|
208
301
|
<nav { ...blockProps }>
|
|
209
|
-
<
|
|
302
|
+
<ol ref={ disabledRef }>
|
|
210
303
|
<TableOfContentsList nestedHeadingList={ headingTree } />
|
|
211
|
-
</
|
|
304
|
+
</ol>
|
|
212
305
|
</nav>
|
|
213
306
|
{ toolbarControls }
|
|
214
307
|
{ inspectorControls }
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import metadata from './block.json';
|
|
5
5
|
import edit from './edit';
|
|
6
6
|
import icon from './icon';
|
|
7
|
+
import save from './save';
|
|
7
8
|
|
|
8
9
|
const { name } = metadata;
|
|
9
10
|
|
|
@@ -12,4 +13,5 @@ export { metadata, name };
|
|
|
12
13
|
export const settings = {
|
|
13
14
|
icon,
|
|
14
15
|
edit,
|
|
16
|
+
save,
|
|
15
17
|
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { WPElement } from '@wordpress/element';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type { NestedHeadingData } from './utils';
|
|
10
|
+
|
|
11
|
+
const ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';
|
|
12
|
+
|
|
13
|
+
export default function TableOfContentsList( {
|
|
14
|
+
nestedHeadingList,
|
|
15
|
+
}: {
|
|
16
|
+
nestedHeadingList: NestedHeadingData[];
|
|
17
|
+
} ): WPElement {
|
|
18
|
+
return (
|
|
19
|
+
<>
|
|
20
|
+
{ nestedHeadingList.map( ( node, index ) => {
|
|
21
|
+
const { content, link } = node.heading;
|
|
22
|
+
|
|
23
|
+
const entry = link ? (
|
|
24
|
+
<a className={ ENTRY_CLASS_NAME } href={ link }>
|
|
25
|
+
{ content }
|
|
26
|
+
</a>
|
|
27
|
+
) : (
|
|
28
|
+
<span className={ ENTRY_CLASS_NAME }>{ content }</span>
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<li key={ index }>
|
|
33
|
+
{ entry }
|
|
34
|
+
{ node.children ? (
|
|
35
|
+
<ol>
|
|
36
|
+
<TableOfContentsList
|
|
37
|
+
nestedHeadingList={ node.children }
|
|
38
|
+
/>
|
|
39
|
+
</ol>
|
|
40
|
+
) : null }
|
|
41
|
+
</li>
|
|
42
|
+
);
|
|
43
|
+
} ) }
|
|
44
|
+
</>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useBlockProps } from '@wordpress/block-editor';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import TableOfContentsList from './list';
|
|
10
|
+
import { linearToNestedHeadingList } from './utils';
|
|
11
|
+
|
|
12
|
+
export default function save( { attributes: { headings = [] } } ) {
|
|
13
|
+
if ( headings.length === 0 ) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return (
|
|
17
|
+
<nav { ...useBlockProps.save() }>
|
|
18
|
+
<ol>
|
|
19
|
+
<TableOfContentsList
|
|
20
|
+
nestedHeadingList={ linearToNestedHeadingList( headings ) }
|
|
21
|
+
/>
|
|
22
|
+
</ol>
|
|
23
|
+
</nav>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export interface HeadingData {
|
|
2
|
+
/** The plain text content of the heading. */
|
|
3
|
+
content: string;
|
|
4
|
+
/** The heading level. */
|
|
5
|
+
level: number;
|
|
6
|
+
/** Link to the heading. */
|
|
7
|
+
link: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface NestedHeadingData {
|
|
11
|
+
/** The heading content, level, and link. */
|
|
12
|
+
heading: HeadingData;
|
|
13
|
+
/** The sub-headings of this heading, if any. */
|
|
14
|
+
children: NestedHeadingData[] | null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Takes a flat list of heading parameters and nests them based on each header's
|
|
19
|
+
* immediate parent's level.
|
|
20
|
+
*
|
|
21
|
+
* @param headingList The flat list of headings to nest.
|
|
22
|
+
*
|
|
23
|
+
* @return The nested list of headings.
|
|
24
|
+
*/
|
|
25
|
+
export function linearToNestedHeadingList(
|
|
26
|
+
headingList: HeadingData[]
|
|
27
|
+
): NestedHeadingData[] {
|
|
28
|
+
const nestedHeadingList: NestedHeadingData[] = [];
|
|
29
|
+
|
|
30
|
+
headingList.forEach( ( heading, key ) => {
|
|
31
|
+
if ( heading.content === '' ) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Make sure we are only working with the same level as the first iteration in our set.
|
|
36
|
+
if ( heading.level === headingList[ 0 ].level ) {
|
|
37
|
+
// Check that the next iteration will return a value.
|
|
38
|
+
// If it does and the next level is greater than the current level,
|
|
39
|
+
// the next iteration becomes a child of the current iteration.
|
|
40
|
+
if ( headingList[ key + 1 ]?.level > heading.level ) {
|
|
41
|
+
// We must calculate the last index before the next iteration that
|
|
42
|
+
// has the same level (siblings). We then use this index to slice
|
|
43
|
+
// the array for use in recursion. This prevents duplicate nodes.
|
|
44
|
+
let endOfSlice = headingList.length;
|
|
45
|
+
for ( let i = key + 1; i < headingList.length; i++ ) {
|
|
46
|
+
if ( headingList[ i ].level === heading.level ) {
|
|
47
|
+
endOfSlice = i;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// We found a child node: Push a new node onto the return array
|
|
53
|
+
// with children.
|
|
54
|
+
nestedHeadingList.push( {
|
|
55
|
+
heading,
|
|
56
|
+
children: linearToNestedHeadingList(
|
|
57
|
+
headingList.slice( key + 1, endOfSlice )
|
|
58
|
+
),
|
|
59
|
+
} );
|
|
60
|
+
} else {
|
|
61
|
+
// No child node: Push a new node onto the return array.
|
|
62
|
+
nestedHeadingList.push( {
|
|
63
|
+
heading,
|
|
64
|
+
children: null,
|
|
65
|
+
} );
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
} );
|
|
69
|
+
|
|
70
|
+
return nestedHeadingList;
|
|
71
|
+
}
|
package/src/tag-cloud/block.json
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,
|
|
14
14
|
Warning,
|
|
15
15
|
store as blockEditorStore,
|
|
16
|
+
__experimentalUseBlockOverlayActive as useBlockOverlayActive,
|
|
16
17
|
} from '@wordpress/block-editor';
|
|
17
18
|
import {
|
|
18
19
|
ToolbarGroup,
|
|
@@ -95,7 +96,15 @@ export default function TemplatePartEdit( {
|
|
|
95
96
|
const blockPatterns = useAlternativeBlockPatterns( area, clientId );
|
|
96
97
|
const hasReplacements = !! templateParts.length || !! blockPatterns.length;
|
|
97
98
|
const areaObject = useTemplatePartArea( area );
|
|
98
|
-
const
|
|
99
|
+
const hasBlockOverlay = useBlockOverlayActive( clientId );
|
|
100
|
+
const blockProps = useBlockProps(
|
|
101
|
+
{
|
|
102
|
+
className: hasBlockOverlay
|
|
103
|
+
? 'block-editor-block-content-overlay'
|
|
104
|
+
: undefined,
|
|
105
|
+
},
|
|
106
|
+
{ __unstableIsDisabled: hasBlockOverlay }
|
|
107
|
+
);
|
|
99
108
|
const isPlaceholder = ! slug;
|
|
100
109
|
const isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;
|
|
101
110
|
const TagName = tagName || areaObject.tagName;
|
|
@@ -153,22 +162,23 @@ export default function TemplatePartEdit( {
|
|
|
153
162
|
/>
|
|
154
163
|
</TagName>
|
|
155
164
|
) }
|
|
156
|
-
{ isEntityAvailable &&
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
165
|
+
{ isEntityAvailable &&
|
|
166
|
+
hasReplacements &&
|
|
167
|
+
( area === 'header' || area === 'footer' ) && (
|
|
168
|
+
<BlockControls>
|
|
169
|
+
<ToolbarGroup className="wp-block-template-part__block-control-group">
|
|
170
|
+
<ToolbarButton
|
|
171
|
+
onClick={ () =>
|
|
172
|
+
setIsTemplatePartSelectionOpen( true )
|
|
173
|
+
}
|
|
174
|
+
>
|
|
175
|
+
{ __( 'Replace' ) }
|
|
176
|
+
</ToolbarButton>
|
|
177
|
+
</ToolbarGroup>
|
|
178
|
+
</BlockControls>
|
|
179
|
+
) }
|
|
169
180
|
{ isEntityAvailable && (
|
|
170
181
|
<TemplatePartInnerBlocks
|
|
171
|
-
clientId={ clientId }
|
|
172
182
|
tagName={ TagName }
|
|
173
183
|
blockProps={ blockProps }
|
|
174
184
|
postId={ templatePartId }
|
|
@@ -5,7 +5,6 @@ import { useEntityBlockEditor } from '@wordpress/core-data';
|
|
|
5
5
|
import {
|
|
6
6
|
InnerBlocks,
|
|
7
7
|
useInnerBlocksProps,
|
|
8
|
-
__experimentalBlockContentOverlay as BlockContentOverlay,
|
|
9
8
|
useSetting,
|
|
10
9
|
store as blockEditorStore,
|
|
11
10
|
} from '@wordpress/block-editor';
|
|
@@ -15,9 +14,8 @@ export default function TemplatePartInnerBlocks( {
|
|
|
15
14
|
postId: id,
|
|
16
15
|
hasInnerBlocks,
|
|
17
16
|
layout,
|
|
18
|
-
tagName,
|
|
17
|
+
tagName: TagName,
|
|
19
18
|
blockProps,
|
|
20
|
-
clientId,
|
|
21
19
|
} ) {
|
|
22
20
|
const themeSupportsLayout = useSelect( ( select ) => {
|
|
23
21
|
const { getSettings } = select( blockEditorStore );
|
|
@@ -42,11 +40,5 @@ export default function TemplatePartInnerBlocks( {
|
|
|
42
40
|
__experimentalLayout: themeSupportsLayout ? usedLayout : undefined,
|
|
43
41
|
} );
|
|
44
42
|
|
|
45
|
-
return
|
|
46
|
-
<BlockContentOverlay
|
|
47
|
-
clientId={ clientId }
|
|
48
|
-
tagName={ tagName }
|
|
49
|
-
wrapperProps={ innerBlocksProps }
|
|
50
|
-
/>
|
|
51
|
-
);
|
|
43
|
+
return <TagName { ...innerBlocksProps } />;
|
|
52
44
|
}
|
package/src/video/edit.js
CHANGED
|
@@ -32,7 +32,7 @@ import { __, sprintf } from '@wordpress/i18n';
|
|
|
32
32
|
import { useInstanceId } from '@wordpress/compose';
|
|
33
33
|
import { useSelect } from '@wordpress/data';
|
|
34
34
|
import { video as icon } from '@wordpress/icons';
|
|
35
|
-
import { createBlock } from '@wordpress/blocks';
|
|
35
|
+
import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* Internal dependencies
|
|
@@ -61,7 +61,8 @@ function VideoEdit( {
|
|
|
61
61
|
const { id, caption, controls, poster, src, tracks } = attributes;
|
|
62
62
|
const isTemporaryVideo = ! id && isBlobURL( src );
|
|
63
63
|
const mediaUpload = useSelect(
|
|
64
|
-
( select ) => select( blockEditorStore ).getSettings().mediaUpload
|
|
64
|
+
( select ) => select( blockEditorStore ).getSettings().mediaUpload,
|
|
65
|
+
[]
|
|
65
66
|
);
|
|
66
67
|
|
|
67
68
|
useEffect( () => {
|
|
@@ -70,9 +71,7 @@ function VideoEdit( {
|
|
|
70
71
|
if ( file ) {
|
|
71
72
|
mediaUpload( {
|
|
72
73
|
filesList: [ file ],
|
|
73
|
-
onFileChange: ( [
|
|
74
|
-
setAttributes( { src: url } );
|
|
75
|
-
},
|
|
74
|
+
onFileChange: ( [ media ] ) => onSelectVideo( media ),
|
|
76
75
|
onError: ( message ) => {
|
|
77
76
|
noticeOperations.createErrorNotice( message );
|
|
78
77
|
},
|
|
@@ -275,7 +274,9 @@ function VideoEdit( {
|
|
|
275
274
|
}
|
|
276
275
|
inlineToolbar
|
|
277
276
|
__unstableOnSplitAtEnd={ () =>
|
|
278
|
-
insertBlocksAfter(
|
|
277
|
+
insertBlocksAfter(
|
|
278
|
+
createBlock( getDefaultBlockName() )
|
|
279
|
+
)
|
|
279
280
|
}
|
|
280
281
|
/>
|
|
281
282
|
) }
|