@wordpress/block-library 8.0.0 → 8.2.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 -0
- package/LICENSE.md +1 -1
- package/build/archives/edit.js +1 -0
- package/build/archives/edit.js.map +1 -1
- package/build/audio/edit.js +2 -0
- package/build/audio/edit.js.map +1 -1
- package/build/categories/edit.js +1 -1
- package/build/categories/edit.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +9 -3
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/embed/embed-preview.js +1 -0
- package/build/embed/embed-preview.js.map +1 -1
- package/build/file/inspector.js +1 -0
- package/build/file/inspector.js.map +1 -1
- package/build/freeform/edit.js +21 -6
- package/build/freeform/edit.js.map +1 -1
- package/build/freeform/modal.js +97 -0
- package/build/freeform/modal.js.map +1 -0
- package/build/gallery/edit.js +15 -2
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +3 -16
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/v1/edit.js +2 -0
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/edit.js +1 -0
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -0
- package/build/group/index.js.map +1 -1
- package/build/image/image.js +7 -10
- package/build/image/image.js.map +1 -1
- package/build/latest-posts/edit.js +11 -8
- package/build/latest-posts/edit.js.map +1 -1
- package/build/media-text/edit.js +1 -0
- package/build/media-text/edit.js.map +1 -1
- package/build/missing/edit.native.js +2 -2
- package/build/missing/edit.native.js.map +1 -1
- package/build/navigation/edit/index.js +9 -7
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +81 -22
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +15 -10
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/utils.js +81 -0
- package/build/navigation/edit/utils.js.map +1 -1
- package/build/navigation/leaf-more-menu.js +95 -0
- package/build/navigation/leaf-more-menu.js.map +1 -0
- package/build/navigation-link/edit.js +10 -61
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +3 -3
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +7 -72
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +16 -15
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +29 -2
- package/build/page-list/index.js.map +1 -1
- package/build/page-list-item/edit.js +9 -5
- package/build/page-list-item/edit.js.map +1 -1
- package/build/page-list-item/index.js +2 -1
- package/build/page-list-item/index.js.map +1 -1
- package/build/post-author/edit.js +2 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +1 -0
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/overlay.js +0 -1
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/query/edit/index.js +2 -1
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +11 -5
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/order-control.js +1 -0
- package/build/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build/query/edit/inspector-controls/sticky-control.js +1 -0
- package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +101 -37
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/edit/query-content.js +10 -4
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +17 -12
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/utils.js +73 -1
- package/build/query/utils.js.map +1 -1
- package/build/search/edit.js +2 -2
- package/build/search/edit.js.map +1 -1
- package/build/social-link/edit.js +2 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-links/edit.js +0 -1
- package/build/social-links/edit.js.map +1 -1
- package/build/table/edit.js +1 -0
- package/build/table/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -1
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -0
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +23 -2
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/import-controls.js +160 -0
- package/build/template-part/edit/import-controls.js.map +1 -0
- package/build/template-part/edit/index.js +2 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +48 -0
- package/build/template-part/edit/utils/transformers.js.map +1 -0
- package/build/video/edit-common-settings.js +6 -5
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +1 -0
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +1 -0
- 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 +2 -0
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/categories/edit.js +1 -1
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +9 -3
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +3 -3
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/embed/embed-preview.js +1 -0
- package/build-module/embed/embed-preview.js.map +1 -1
- package/build-module/file/inspector.js +1 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/freeform/edit.js +22 -8
- package/build-module/freeform/edit.js.map +1 -1
- package/build-module/freeform/modal.js +90 -0
- package/build-module/freeform/modal.js.map +1 -0
- package/build-module/gallery/edit.js +16 -3
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +4 -16
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/v1/edit.js +2 -0
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/edit.js +1 -0
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/image/image.js +7 -10
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-posts/edit.js +12 -9
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/media-text/edit.js +1 -0
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/missing/edit.native.js +2 -2
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/navigation/edit/index.js +9 -7
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +80 -25
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +16 -11
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/utils.js +75 -0
- package/build-module/navigation/edit/utils.js.map +1 -1
- package/build-module/navigation/leaf-more-menu.js +76 -0
- package/build-module/navigation/leaf-more-menu.js.map +1 -0
- package/build-module/navigation-link/edit.js +10 -62
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +3 -3
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +6 -72
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +17 -15
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +30 -3
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/page-list-item/edit.js +9 -6
- package/build-module/page-list-item/edit.js.map +1 -1
- package/build-module/page-list-item/index.js +2 -1
- package/build-module/page-list-item/index.js.map +1 -1
- package/build-module/post-author/edit.js +2 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +1 -0
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +0 -1
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/query/edit/index.js +2 -1
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +11 -5
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/order-control.js +1 -0
- package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/sticky-control.js +1 -0
- package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +99 -35
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/edit/query-content.js +9 -2
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +16 -12
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/utils.js +69 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/search/edit.js +2 -2
- package/build-module/search/edit.js.map +1 -1
- package/build-module/social-link/edit.js +4 -3
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-links/edit.js +0 -1
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/table/edit.js +1 -0
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -0
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +22 -2
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +146 -0
- package/build-module/template-part/edit/import-controls.js.map +1 -0
- package/build-module/template-part/edit/index.js +2 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +40 -0
- package/build-module/template-part/edit/utils/transformers.js.map +1 -0
- package/build-module/video/edit-common-settings.js +6 -5
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +1 -0
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +1 -0
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/archives/editor-rtl.css +3 -3
- package/build-style/archives/editor.css +3 -3
- package/build-style/archives/style-rtl.css +3 -3
- package/build-style/archives/style.css +3 -3
- package/build-style/audio/editor-rtl.css +3 -3
- package/build-style/audio/editor.css +3 -3
- package/build-style/audio/style-rtl.css +3 -3
- package/build-style/audio/style.css +3 -3
- package/build-style/audio/theme-rtl.css +3 -3
- package/build-style/audio/theme.css +3 -3
- package/build-style/avatar/editor-rtl.css +3 -3
- package/build-style/avatar/editor.css +3 -3
- package/build-style/avatar/style-rtl.css +3 -3
- package/build-style/avatar/style.css +3 -3
- package/build-style/block/editor-rtl.css +3 -3
- package/build-style/block/editor.css +3 -3
- package/build-style/button/editor-rtl.css +3 -3
- package/build-style/button/editor.css +3 -3
- package/build-style/button/style-rtl.css +3 -3
- package/build-style/button/style.css +3 -3
- package/build-style/buttons/editor-rtl.css +3 -3
- package/build-style/buttons/editor.css +3 -3
- package/build-style/buttons/style-rtl.css +3 -3
- package/build-style/buttons/style.css +3 -3
- package/build-style/calendar/style-rtl.css +3 -3
- package/build-style/calendar/style.css +3 -3
- package/build-style/categories/editor-rtl.css +3 -3
- package/build-style/categories/editor.css +3 -3
- package/build-style/categories/style-rtl.css +3 -3
- package/build-style/categories/style.css +3 -3
- package/build-style/classic-rtl.css +3 -3
- package/build-style/classic.css +3 -3
- package/build-style/code/editor-rtl.css +3 -3
- package/build-style/code/editor.css +3 -3
- package/build-style/code/style-rtl.css +3 -3
- package/build-style/code/style.css +3 -3
- package/build-style/code/theme-rtl.css +3 -3
- package/build-style/code/theme.css +3 -3
- package/build-style/columns/editor-rtl.css +3 -3
- package/build-style/columns/editor.css +3 -3
- package/build-style/columns/style-rtl.css +3 -3
- package/build-style/columns/style.css +3 -3
- package/build-style/comment-author-avatar/editor-rtl.css +3 -3
- package/build-style/comment-author-avatar/editor.css +3 -3
- package/build-style/comment-content/style-rtl.css +3 -3
- package/build-style/comment-content/style.css +3 -3
- package/build-style/comment-template/style-rtl.css +3 -3
- package/build-style/comment-template/style.css +3 -3
- package/build-style/comments/editor-rtl.css +3 -3
- package/build-style/comments/editor.css +3 -3
- package/build-style/comments/style-rtl.css +3 -3
- package/build-style/comments/style.css +3 -3
- package/build-style/comments-pagination/editor-rtl.css +3 -3
- package/build-style/comments-pagination/editor.css +3 -3
- package/build-style/comments-pagination/style-rtl.css +3 -3
- package/build-style/comments-pagination/style.css +3 -3
- package/build-style/comments-pagination-numbers/editor-rtl.css +3 -3
- package/build-style/comments-pagination-numbers/editor.css +3 -3
- package/build-style/comments-title/editor-rtl.css +3 -3
- package/build-style/comments-title/editor.css +3 -3
- package/build-style/common-rtl.css +3 -3
- package/build-style/common.css +3 -3
- package/build-style/cover/editor-rtl.css +3 -3
- package/build-style/cover/editor.css +3 -3
- package/build-style/cover/style-rtl.css +3 -3
- package/build-style/cover/style.css +3 -3
- package/build-style/editor-elements-rtl.css +3 -3
- package/build-style/editor-elements.css +3 -3
- package/build-style/editor-rtl.css +7 -9
- package/build-style/editor.css +7 -9
- package/build-style/elements-rtl.css +3 -3
- package/build-style/elements.css +3 -3
- package/build-style/embed/editor-rtl.css +3 -3
- package/build-style/embed/editor.css +3 -3
- package/build-style/embed/style-rtl.css +3 -3
- package/build-style/embed/style.css +3 -3
- package/build-style/embed/theme-rtl.css +3 -3
- package/build-style/embed/theme.css +3 -3
- package/build-style/file/editor-rtl.css +3 -3
- package/build-style/file/editor.css +3 -3
- package/build-style/file/style-rtl.css +3 -3
- package/build-style/file/style.css +3 -3
- package/build-style/freeform/editor-rtl.css +3 -3
- package/build-style/freeform/editor.css +3 -3
- package/build-style/gallery/editor-rtl.css +3 -3
- package/build-style/gallery/editor.css +3 -3
- package/build-style/gallery/style-rtl.css +3 -3
- package/build-style/gallery/style.css +3 -3
- package/build-style/gallery/theme-rtl.css +3 -3
- package/build-style/gallery/theme.css +3 -3
- package/build-style/group/editor-rtl.css +3 -3
- package/build-style/group/editor.css +3 -3
- package/build-style/group/style-rtl.css +3 -3
- package/build-style/group/style.css +3 -3
- package/build-style/group/theme-rtl.css +3 -3
- package/build-style/group/theme.css +3 -3
- package/build-style/heading/style-rtl.css +3 -3
- package/build-style/heading/style.css +3 -3
- package/build-style/html/editor-rtl.css +3 -3
- package/build-style/html/editor.css +3 -3
- package/build-style/image/editor-rtl.css +3 -3
- package/build-style/image/editor.css +3 -3
- package/build-style/image/style-rtl.css +3 -3
- package/build-style/image/style.css +3 -3
- package/build-style/image/theme-rtl.css +3 -3
- package/build-style/image/theme.css +3 -3
- package/build-style/latest-comments/style-rtl.css +3 -3
- package/build-style/latest-comments/style.css +3 -3
- package/build-style/latest-posts/editor-rtl.css +3 -3
- package/build-style/latest-posts/editor.css +3 -3
- package/build-style/latest-posts/style-rtl.css +3 -3
- package/build-style/latest-posts/style.css +3 -3
- package/build-style/list/style-rtl.css +3 -3
- package/build-style/list/style.css +3 -3
- package/build-style/media-text/editor-rtl.css +3 -3
- package/build-style/media-text/editor.css +3 -3
- package/build-style/media-text/style-rtl.css +3 -3
- package/build-style/media-text/style.css +3 -3
- package/build-style/more/editor-rtl.css +3 -3
- package/build-style/more/editor.css +3 -3
- package/build-style/navigation/editor-rtl.css +3 -9
- package/build-style/navigation/editor.css +3 -9
- package/build-style/navigation/style-rtl.css +3 -4
- package/build-style/navigation/style.css +3 -4
- package/build-style/navigation-link/editor-rtl.css +3 -3
- package/build-style/navigation-link/editor.css +3 -3
- package/build-style/navigation-link/style-rtl.css +3 -3
- package/build-style/navigation-link/style.css +3 -3
- package/build-style/navigation-submenu/editor-rtl.css +3 -3
- package/build-style/navigation-submenu/editor.css +3 -3
- package/build-style/nextpage/editor-rtl.css +3 -3
- package/build-style/nextpage/editor.css +3 -3
- package/build-style/page-list/editor-rtl.css +7 -3
- package/build-style/page-list/editor.css +7 -3
- package/build-style/page-list/style-rtl.css +3 -3
- package/build-style/page-list/style.css +3 -3
- package/build-style/paragraph/editor-rtl.css +3 -3
- package/build-style/paragraph/editor.css +3 -3
- package/build-style/paragraph/style-rtl.css +3 -3
- package/build-style/paragraph/style.css +3 -3
- package/build-style/post-author/style-rtl.css +3 -3
- package/build-style/post-author/style.css +3 -3
- package/build-style/post-comments-form/editor-rtl.css +3 -3
- package/build-style/post-comments-form/editor.css +3 -3
- package/build-style/post-comments-form/style-rtl.css +3 -3
- package/build-style/post-comments-form/style.css +3 -3
- package/build-style/post-date/style-rtl.css +3 -3
- package/build-style/post-date/style.css +3 -3
- package/build-style/post-excerpt/editor-rtl.css +3 -3
- package/build-style/post-excerpt/editor.css +3 -3
- package/build-style/post-excerpt/style-rtl.css +3 -3
- package/build-style/post-excerpt/style.css +3 -3
- package/build-style/post-featured-image/editor-rtl.css +3 -3
- package/build-style/post-featured-image/editor.css +3 -3
- package/build-style/post-featured-image/style-rtl.css +3 -3
- package/build-style/post-featured-image/style.css +3 -3
- package/build-style/post-navigation-link/style-rtl.css +3 -3
- package/build-style/post-navigation-link/style.css +3 -3
- package/build-style/post-template/editor-rtl.css +3 -3
- package/build-style/post-template/editor.css +3 -3
- package/build-style/post-template/style-rtl.css +3 -3
- package/build-style/post-template/style.css +3 -3
- package/build-style/post-terms/style-rtl.css +3 -3
- package/build-style/post-terms/style.css +3 -3
- package/build-style/post-title/style-rtl.css +3 -3
- package/build-style/post-title/style.css +3 -3
- package/build-style/preformatted/style-rtl.css +3 -3
- package/build-style/preformatted/style.css +3 -3
- package/build-style/pullquote/editor-rtl.css +3 -3
- package/build-style/pullquote/editor.css +3 -3
- package/build-style/pullquote/style-rtl.css +3 -3
- package/build-style/pullquote/style.css +3 -3
- package/build-style/pullquote/theme-rtl.css +3 -3
- package/build-style/pullquote/theme.css +3 -3
- package/build-style/query/editor-rtl.css +3 -3
- package/build-style/query/editor.css +3 -3
- package/build-style/query-pagination/editor-rtl.css +3 -3
- package/build-style/query-pagination/editor.css +3 -3
- package/build-style/query-pagination/style-rtl.css +3 -3
- package/build-style/query-pagination/style.css +3 -3
- package/build-style/query-pagination-numbers/editor-rtl.css +3 -3
- package/build-style/query-pagination-numbers/editor.css +3 -3
- package/build-style/query-title/style-rtl.css +3 -3
- package/build-style/query-title/style.css +3 -3
- package/build-style/quote/style-rtl.css +3 -3
- package/build-style/quote/style.css +3 -3
- package/build-style/quote/theme-rtl.css +3 -3
- package/build-style/quote/theme.css +3 -3
- package/build-style/read-more/style-rtl.css +3 -3
- package/build-style/read-more/style.css +3 -3
- package/build-style/reset-rtl.css +3 -3
- package/build-style/reset.css +3 -3
- package/build-style/rss/editor-rtl.css +3 -3
- package/build-style/rss/editor.css +3 -3
- package/build-style/rss/style-rtl.css +3 -3
- package/build-style/rss/style.css +3 -3
- package/build-style/search/editor-rtl.css +3 -3
- package/build-style/search/editor.css +3 -3
- package/build-style/search/style-rtl.css +3 -3
- package/build-style/search/style.css +3 -3
- package/build-style/search/theme-rtl.css +3 -3
- package/build-style/search/theme.css +3 -3
- package/build-style/separator/editor-rtl.css +3 -3
- package/build-style/separator/editor.css +3 -3
- package/build-style/separator/style-rtl.css +3 -3
- package/build-style/separator/style.css +3 -3
- package/build-style/separator/theme-rtl.css +3 -3
- package/build-style/separator/theme.css +3 -3
- package/build-style/shortcode/editor-rtl.css +3 -3
- package/build-style/shortcode/editor.css +3 -3
- package/build-style/site-logo/editor-rtl.css +3 -3
- package/build-style/site-logo/editor.css +3 -3
- package/build-style/site-logo/style-rtl.css +3 -3
- package/build-style/site-logo/style.css +3 -3
- package/build-style/site-tagline/editor-rtl.css +3 -3
- package/build-style/site-tagline/editor.css +3 -3
- package/build-style/site-title/editor-rtl.css +3 -3
- package/build-style/site-title/editor.css +3 -3
- package/build-style/site-title/style-rtl.css +3 -3
- package/build-style/site-title/style.css +3 -3
- package/build-style/social-link/editor-rtl.css +3 -3
- package/build-style/social-link/editor.css +3 -3
- package/build-style/social-links/editor-rtl.css +3 -3
- package/build-style/social-links/editor.css +3 -3
- package/build-style/social-links/style-rtl.css +3 -3
- package/build-style/social-links/style.css +3 -3
- package/build-style/spacer/editor-rtl.css +3 -3
- package/build-style/spacer/editor.css +3 -3
- package/build-style/spacer/style-rtl.css +3 -3
- package/build-style/spacer/style.css +3 -3
- package/build-style/style-rtl.css +13 -5
- package/build-style/style.css +13 -5
- package/build-style/table/editor-rtl.css +3 -3
- package/build-style/table/editor.css +3 -3
- package/build-style/table/style-rtl.css +9 -3
- package/build-style/table/style.css +9 -3
- package/build-style/table/theme-rtl.css +3 -9
- package/build-style/table/theme.css +3 -9
- package/build-style/tag-cloud/style-rtl.css +3 -3
- package/build-style/tag-cloud/style.css +3 -3
- package/build-style/template-part/editor-rtl.css +3 -3
- package/build-style/template-part/editor.css +3 -3
- package/build-style/template-part/theme-rtl.css +3 -3
- package/build-style/template-part/theme.css +3 -3
- package/build-style/text-columns/editor-rtl.css +3 -3
- package/build-style/text-columns/editor.css +3 -3
- package/build-style/text-columns/style-rtl.css +3 -3
- package/build-style/text-columns/style.css +3 -3
- package/build-style/theme-rtl.css +3 -9
- package/build-style/theme.css +3 -9
- package/build-style/verse/style-rtl.css +7 -4
- package/build-style/verse/style.css +7 -4
- package/build-style/video/editor-rtl.css +3 -3
- package/build-style/video/editor.css +3 -3
- package/build-style/video/style-rtl.css +3 -3
- package/build-style/video/style.css +3 -3
- package/build-style/video/theme-rtl.css +3 -3
- package/build-style/video/theme.css +3 -3
- package/package.json +29 -29
- package/src/archives/edit.js +1 -0
- package/src/audio/edit.js +2 -0
- package/src/categories/edit.js +1 -1
- package/src/comments/edit/comments-inspector-controls.js +12 -2
- package/src/comments/index.php +0 -1
- package/src/cover/edit/inspector-controls.js +4 -4
- package/src/embed/embed-preview.js +1 -0
- package/src/file/inspector.js +1 -0
- package/src/freeform/edit.js +48 -29
- package/src/freeform/modal.js +111 -0
- package/src/gallery/edit.js +19 -2
- package/src/gallery/gallery.js +4 -13
- package/src/gallery/v1/edit.js +2 -0
- package/src/group/block.json +3 -0
- package/src/group/edit.js +1 -0
- package/src/image/image.js +27 -36
- package/src/latest-posts/edit.js +6 -7
- package/src/latest-posts/test/__snapshots__/edit.native.js.snap +3 -0
- package/src/latest-posts/test/edit.native.js +49 -0
- package/src/media-text/edit.js +1 -0
- package/src/missing/edit.native.js +13 -6
- package/src/more/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/more/test/edit.native.js +41 -0
- package/src/navigation/edit/index.js +6 -4
- package/src/navigation/edit/menu-inspector-controls.js +115 -44
- package/src/navigation/edit/navigation-menu-selector.js +24 -11
- package/src/navigation/edit/utils.js +82 -0
- package/src/navigation/editor.scss +0 -7
- package/src/navigation/index.php +32 -0
- package/src/navigation/leaf-more-menu.js +93 -0
- package/src/navigation/style.scss +0 -1
- package/src/navigation-link/edit.js +23 -65
- package/src/navigation-link/index.php +62 -3
- package/src/navigation-link/update-attributes.js +1 -1
- package/src/navigation-submenu/edit.js +29 -100
- package/src/navigation-submenu/index.php +34 -2
- package/src/page-list/block.json +18 -1
- package/src/page-list/edit.js +30 -22
- package/src/page-list/editor.scss +4 -0
- package/src/page-list/index.js +8 -2
- package/src/page-list/index.php +14 -10
- package/src/page-list-item/block.json +2 -1
- package/src/page-list-item/edit.js +17 -9
- package/src/post-author/edit.js +2 -0
- package/src/post-featured-image/dimension-controls.js +1 -0
- package/src/post-featured-image/overlay.js +0 -1
- package/src/query/edit/index.js +1 -0
- package/src/query/edit/inspector-controls/index.js +50 -38
- package/src/query/edit/inspector-controls/order-control.js +1 -0
- package/src/query/edit/inspector-controls/sticky-control.js +1 -0
- package/src/query/edit/inspector-controls/taxonomy-controls.js +102 -38
- package/src/query/edit/query-content.js +15 -1
- package/src/query/edit/query-placeholder.js +15 -14
- package/src/query/utils.js +59 -1
- package/src/rss/index.php +1 -1
- package/src/search/edit.js +2 -2
- package/src/separator/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/separator/test/edit.native.js +41 -0
- package/src/social-link/edit.js +5 -4
- package/src/social-links/edit.js +0 -1
- package/src/table/edit.js +1 -0
- package/src/table/style.scss +8 -0
- package/src/table/theme.scss +0 -8
- package/src/table-of-contents/edit.js +1 -1
- package/src/tag-cloud/edit.js +1 -0
- package/src/template-part/edit/advanced-controls.js +36 -0
- package/src/template-part/edit/import-controls.js +180 -0
- package/src/template-part/edit/index.js +1 -0
- package/src/template-part/edit/utils/transformers.js +37 -0
- package/src/verse/style.scss +4 -1
- package/src/verse/test/__snapshots__/edit.native.js.snap +13 -0
- package/src/verse/test/edit.native.js +40 -33
- package/src/video/edit-common-settings.js +6 -5
- package/src/video/edit.js +1 -0
- package/src/video/tracks-editor.js +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/query/constants.js +0 -16
- package/build/query/constants.js.map +0 -1
- package/build-module/query/constants.js +0 -7
- package/build-module/query/constants.js.map +0 -1
- package/src/query/constants.js +0 -7
package/src/query/utils.js
CHANGED
|
@@ -18,6 +18,8 @@ import { cloneBlock, store as blocksStore } from '@wordpress/blocks';
|
|
|
18
18
|
*/
|
|
19
19
|
import { name as queryLoopName } from './block.json';
|
|
20
20
|
|
|
21
|
+
/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */
|
|
22
|
+
|
|
21
23
|
/**
|
|
22
24
|
* @typedef IHasNameAndId
|
|
23
25
|
* @property {string|number} id The entity's id.
|
|
@@ -237,7 +239,6 @@ export function useBlockNameForPatterns( clientId, attributes ) {
|
|
|
237
239
|
queryLoopName,
|
|
238
240
|
attributes
|
|
239
241
|
)?.name,
|
|
240
|
-
|
|
241
242
|
[ attributes ]
|
|
242
243
|
);
|
|
243
244
|
const blockName = `${ queryLoopName }/${ activeVariationName }`;
|
|
@@ -260,3 +261,60 @@ export function useBlockNameForPatterns( clientId, attributes ) {
|
|
|
260
261
|
);
|
|
261
262
|
return activeVariationPatterns?.length ? blockName : queryLoopName;
|
|
262
263
|
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Helper hook that determines if there is an active variation of the block
|
|
267
|
+
* and if there are available specific scoped `block` variations connected with
|
|
268
|
+
* this variation.
|
|
269
|
+
*
|
|
270
|
+
* If there are, these variations are going to be the only ones suggested
|
|
271
|
+
* to the user in setup flow when clicking to `start blank`, without including
|
|
272
|
+
* the default ones for Query Loop.
|
|
273
|
+
*
|
|
274
|
+
* If there are no such scoped `block` variations, the default ones for Query
|
|
275
|
+
* Loop are going to be suggested.
|
|
276
|
+
*
|
|
277
|
+
* The way we determine such variations is with the convention that they have the `namespace`
|
|
278
|
+
* attribute defined as an array. This array should contain the names(`name` property) of any
|
|
279
|
+
* variations they want to be connected to.
|
|
280
|
+
* For example, if we have a `Query Loop` scoped `inserter` variation with the name `products`,
|
|
281
|
+
* we can connect a scoped `block` variation by setting its `namespace` attribute to `['products']`.
|
|
282
|
+
* If the user selects this variation, the `namespace` attribute will be overridden by the
|
|
283
|
+
* main `inserter` variation.
|
|
284
|
+
*
|
|
285
|
+
* @param {Object} attributes The block's attributes.
|
|
286
|
+
* @return {WPBlockVariation[]} The block variations to be suggested in setup flow, when clicking to `start blank`.
|
|
287
|
+
*/
|
|
288
|
+
export function useScopedBlockVariations( attributes ) {
|
|
289
|
+
const { activeVariationName, blockVariations } = useSelect(
|
|
290
|
+
( select ) => {
|
|
291
|
+
const { getActiveBlockVariation, getBlockVariations } =
|
|
292
|
+
select( blocksStore );
|
|
293
|
+
return {
|
|
294
|
+
activeVariationName: getActiveBlockVariation(
|
|
295
|
+
queryLoopName,
|
|
296
|
+
attributes
|
|
297
|
+
)?.name,
|
|
298
|
+
blockVariations: getBlockVariations( queryLoopName, 'block' ),
|
|
299
|
+
};
|
|
300
|
+
},
|
|
301
|
+
[ attributes ]
|
|
302
|
+
);
|
|
303
|
+
const variations = useMemo( () => {
|
|
304
|
+
// Filter out the variations that have defined a `namespace` attribute,
|
|
305
|
+
// which means they are 'connected' to specific variations of the block.
|
|
306
|
+
const isNotConnected = ( variation ) =>
|
|
307
|
+
! variation.attributes?.namespace;
|
|
308
|
+
if ( ! activeVariationName ) {
|
|
309
|
+
return blockVariations.filter( isNotConnected );
|
|
310
|
+
}
|
|
311
|
+
const connectedVariations = blockVariations.filter( ( variation ) =>
|
|
312
|
+
variation.attributes?.namespace?.includes( activeVariationName )
|
|
313
|
+
);
|
|
314
|
+
if ( !! connectedVariations.length ) {
|
|
315
|
+
return connectedVariations;
|
|
316
|
+
}
|
|
317
|
+
return blockVariations.filter( isNotConnected );
|
|
318
|
+
}, [ activeVariationName, blockVariations ] );
|
|
319
|
+
return variations;
|
|
320
|
+
}
|
package/src/rss/index.php
CHANGED
|
@@ -48,7 +48,7 @@ function render_block_core_rss( $attributes ) {
|
|
|
48
48
|
if ( $date ) {
|
|
49
49
|
$date = sprintf(
|
|
50
50
|
'<time datetime="%1$s" class="wp-block-rss__item-publish-date">%2$s</time> ',
|
|
51
|
-
esc_attr( date_i18n(
|
|
51
|
+
esc_attr( date_i18n( 'c', $date ) ),
|
|
52
52
|
esc_attr( date_i18n( get_option( 'date_format' ), $date ) )
|
|
53
53
|
);
|
|
54
54
|
}
|
package/src/search/edit.js
CHANGED
|
@@ -114,10 +114,10 @@ export default function SearchEdit( {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
const colorProps = useColorProps( attributes );
|
|
117
|
-
const
|
|
117
|
+
const fluidTypographySettings = useSetting( 'typography.fluid' );
|
|
118
118
|
const typographyProps = useTypographyProps(
|
|
119
119
|
attributes,
|
|
120
|
-
|
|
120
|
+
fluidTypographySettings
|
|
121
121
|
);
|
|
122
122
|
const unitControlInstanceId = useInstanceId( UnitControl );
|
|
123
123
|
const unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
addBlock,
|
|
6
|
+
getEditorHtml,
|
|
7
|
+
initializeEditor,
|
|
8
|
+
getBlock,
|
|
9
|
+
} from 'test/helpers';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* WordPress dependencies
|
|
13
|
+
*/
|
|
14
|
+
import { getBlockTypes, unregisterBlockType } from '@wordpress/blocks';
|
|
15
|
+
import { registerCoreBlocks } from '@wordpress/block-library';
|
|
16
|
+
|
|
17
|
+
beforeAll( () => {
|
|
18
|
+
// Register all core blocks
|
|
19
|
+
registerCoreBlocks();
|
|
20
|
+
} );
|
|
21
|
+
|
|
22
|
+
afterAll( () => {
|
|
23
|
+
// Clean up registered blocks
|
|
24
|
+
getBlockTypes().forEach( ( block ) => {
|
|
25
|
+
unregisterBlockType( block.name );
|
|
26
|
+
} );
|
|
27
|
+
} );
|
|
28
|
+
|
|
29
|
+
describe( 'Separator block', () => {
|
|
30
|
+
it( 'inserts block', async () => {
|
|
31
|
+
const screen = await initializeEditor();
|
|
32
|
+
|
|
33
|
+
// Add block
|
|
34
|
+
await addBlock( screen, 'Separator' );
|
|
35
|
+
|
|
36
|
+
// Get block
|
|
37
|
+
const separatorBlock = await getBlock( screen, 'Separator' );
|
|
38
|
+
expect( separatorBlock ).toBeVisible();
|
|
39
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
40
|
+
} );
|
|
41
|
+
} );
|
package/src/social-link/edit.js
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
URLInput,
|
|
13
13
|
useBlockProps,
|
|
14
14
|
} from '@wordpress/block-editor';
|
|
15
|
-
import {
|
|
15
|
+
import { useState } from '@wordpress/element';
|
|
16
16
|
import {
|
|
17
17
|
Button,
|
|
18
18
|
PanelBody,
|
|
@@ -43,6 +43,7 @@ const SocialLinkURLPopover = ( {
|
|
|
43
43
|
>
|
|
44
44
|
<div className="block-editor-url-input">
|
|
45
45
|
<URLInput
|
|
46
|
+
__nextHasNoMarginBottom
|
|
46
47
|
value={ url }
|
|
47
48
|
onChange={ ( nextURL ) =>
|
|
48
49
|
setAttributes( { url: nextURL } )
|
|
@@ -89,7 +90,7 @@ const SocialLinkEdit = ( {
|
|
|
89
90
|
} );
|
|
90
91
|
|
|
91
92
|
return (
|
|
92
|
-
|
|
93
|
+
<>
|
|
93
94
|
<InspectorControls>
|
|
94
95
|
<PanelBody
|
|
95
96
|
title={ sprintf(
|
|
@@ -105,7 +106,7 @@ const SocialLinkEdit = ( {
|
|
|
105
106
|
help={ __(
|
|
106
107
|
'Briefly describe the link to help screen reader users.'
|
|
107
108
|
) }
|
|
108
|
-
value={ label }
|
|
109
|
+
value={ label || '' }
|
|
109
110
|
onChange={ ( value ) =>
|
|
110
111
|
setAttributes( { label: value } )
|
|
111
112
|
}
|
|
@@ -144,7 +145,7 @@ const SocialLinkEdit = ( {
|
|
|
144
145
|
) }
|
|
145
146
|
</Button>
|
|
146
147
|
</li>
|
|
147
|
-
|
|
148
|
+
</>
|
|
148
149
|
);
|
|
149
150
|
};
|
|
150
151
|
|
package/src/social-links/edit.js
CHANGED
|
@@ -229,7 +229,6 @@ export function SocialLinksEdit( props ) {
|
|
|
229
229
|
( { onChange, label, value, resetAllFilter } ) => (
|
|
230
230
|
<ColorGradientSettingsDropdown
|
|
231
231
|
key={ `social-links-color-${ label }` }
|
|
232
|
-
__experimentalHasMultipleOrigins
|
|
233
232
|
__experimentalIsRenderedInSidebar
|
|
234
233
|
settings={ [
|
|
235
234
|
{
|
package/src/table/edit.js
CHANGED
package/src/table/style.scss
CHANGED
package/src/table/theme.scss
CHANGED
|
@@ -279,7 +279,7 @@ export default function TableOfContentsEdit( {
|
|
|
279
279
|
<div { ...blockProps }>
|
|
280
280
|
<Placeholder
|
|
281
281
|
icon={ <BlockIcon icon={ icon } /> }
|
|
282
|
-
label=
|
|
282
|
+
label={ __( 'Table of Contents' ) }
|
|
283
283
|
instructions={ __(
|
|
284
284
|
'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'
|
|
285
285
|
) }
|
package/src/tag-cloud/edit.js
CHANGED
|
@@ -109,6 +109,7 @@ function TagCloudEdit( { attributes, setAttributes, taxonomies } ) {
|
|
|
109
109
|
<InspectorControls>
|
|
110
110
|
<PanelBody title={ __( 'Settings' ) }>
|
|
111
111
|
<SelectControl
|
|
112
|
+
__nextHasNoMarginBottom
|
|
112
113
|
label={ __( 'Taxonomy' ) }
|
|
113
114
|
options={ getTaxonomyOptions() }
|
|
114
115
|
value={ taxonomy }
|
|
@@ -7,12 +7,18 @@ import { sprintf, __ } from '@wordpress/i18n';
|
|
|
7
7
|
import { InspectorControls } from '@wordpress/block-editor';
|
|
8
8
|
import { useSelect } from '@wordpress/data';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
import { TemplatePartImportControls } from './import-controls';
|
|
14
|
+
|
|
10
15
|
export function TemplatePartAdvancedControls( {
|
|
11
16
|
tagName,
|
|
12
17
|
setAttributes,
|
|
13
18
|
isEntityAvailable,
|
|
14
19
|
templatePartId,
|
|
15
20
|
defaultWrapper,
|
|
21
|
+
hasInnerBlocks,
|
|
16
22
|
} ) {
|
|
17
23
|
const [ area, setArea ] = useEntityProp(
|
|
18
24
|
'postType',
|
|
@@ -43,6 +49,27 @@ export function TemplatePartAdvancedControls( {
|
|
|
43
49
|
};
|
|
44
50
|
}, [] );
|
|
45
51
|
|
|
52
|
+
const htmlElementMessages = {
|
|
53
|
+
header: __(
|
|
54
|
+
'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'
|
|
55
|
+
),
|
|
56
|
+
main: __(
|
|
57
|
+
'The <main> element should be used for the primary content of your document only. '
|
|
58
|
+
),
|
|
59
|
+
section: __(
|
|
60
|
+
"The <section> element should represent a standalone portion of the document that can't be better represented by another element."
|
|
61
|
+
),
|
|
62
|
+
article: __(
|
|
63
|
+
'The <article> element should represent a self-contained, syndicatable portion of the document.'
|
|
64
|
+
),
|
|
65
|
+
aside: __(
|
|
66
|
+
"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content."
|
|
67
|
+
),
|
|
68
|
+
footer: __(
|
|
69
|
+
'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'
|
|
70
|
+
),
|
|
71
|
+
};
|
|
72
|
+
|
|
46
73
|
return (
|
|
47
74
|
<InspectorControls __experimentalGroup="advanced">
|
|
48
75
|
{ isEntityAvailable && (
|
|
@@ -57,6 +84,7 @@ export function TemplatePartAdvancedControls( {
|
|
|
57
84
|
/>
|
|
58
85
|
|
|
59
86
|
<SelectControl
|
|
87
|
+
__nextHasNoMarginBottom
|
|
60
88
|
label={ __( 'Area' ) }
|
|
61
89
|
labelPosition="top"
|
|
62
90
|
options={ areaOptions }
|
|
@@ -66,6 +94,7 @@ export function TemplatePartAdvancedControls( {
|
|
|
66
94
|
</>
|
|
67
95
|
) }
|
|
68
96
|
<SelectControl
|
|
97
|
+
__nextHasNoMarginBottom
|
|
69
98
|
label={ __( 'HTML element' ) }
|
|
70
99
|
options={ [
|
|
71
100
|
{
|
|
@@ -86,7 +115,14 @@ export function TemplatePartAdvancedControls( {
|
|
|
86
115
|
] }
|
|
87
116
|
value={ tagName || '' }
|
|
88
117
|
onChange={ ( value ) => setAttributes( { tagName: value } ) }
|
|
118
|
+
help={ htmlElementMessages[ tagName ] }
|
|
89
119
|
/>
|
|
120
|
+
{ ! hasInnerBlocks && (
|
|
121
|
+
<TemplatePartImportControls
|
|
122
|
+
area={ area }
|
|
123
|
+
setAttributes={ setAttributes }
|
|
124
|
+
/>
|
|
125
|
+
) }
|
|
90
126
|
</InspectorControls>
|
|
91
127
|
);
|
|
92
128
|
}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
5
|
+
import { useMemo, useState } from '@wordpress/element';
|
|
6
|
+
import { useDispatch, useSelect, useRegistry } from '@wordpress/data';
|
|
7
|
+
import {
|
|
8
|
+
Button,
|
|
9
|
+
FlexBlock,
|
|
10
|
+
FlexItem,
|
|
11
|
+
SelectControl,
|
|
12
|
+
__experimentalHStack as HStack,
|
|
13
|
+
__experimentalSpacer as Spacer,
|
|
14
|
+
} from '@wordpress/components';
|
|
15
|
+
import {
|
|
16
|
+
switchToBlockType,
|
|
17
|
+
getPossibleBlockTransformations,
|
|
18
|
+
} from '@wordpress/blocks';
|
|
19
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
20
|
+
import { store as noticesStore } from '@wordpress/notices';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Internal dependencies
|
|
24
|
+
*/
|
|
25
|
+
import { useCreateTemplatePartFromBlocks } from './utils/hooks';
|
|
26
|
+
import { transformWidgetToBlock } from './utils/transformers';
|
|
27
|
+
|
|
28
|
+
export function TemplatePartImportControls( { area, setAttributes } ) {
|
|
29
|
+
const [ selectedSidebar, setSelectedSidebar ] = useState( '' );
|
|
30
|
+
const [ isBusy, setIsBusy ] = useState( false );
|
|
31
|
+
|
|
32
|
+
const registry = useRegistry();
|
|
33
|
+
const sidebars = useSelect( ( select ) => {
|
|
34
|
+
return select( coreStore ).getSidebars( {
|
|
35
|
+
per_page: -1,
|
|
36
|
+
_fields: 'id,name,description,status,widgets',
|
|
37
|
+
} );
|
|
38
|
+
}, [] );
|
|
39
|
+
const { createErrorNotice } = useDispatch( noticesStore );
|
|
40
|
+
|
|
41
|
+
const createFromBlocks = useCreateTemplatePartFromBlocks(
|
|
42
|
+
area,
|
|
43
|
+
setAttributes
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
const options = useMemo( () => {
|
|
47
|
+
const sidebarOptions = ( sidebars ?? [] )
|
|
48
|
+
.filter(
|
|
49
|
+
( widgetArea ) =>
|
|
50
|
+
widgetArea.id !== 'wp_inactive_widgets' &&
|
|
51
|
+
widgetArea.widgets.length > 0
|
|
52
|
+
)
|
|
53
|
+
.map( ( widgetArea ) => {
|
|
54
|
+
return {
|
|
55
|
+
value: widgetArea.id,
|
|
56
|
+
label: widgetArea.name,
|
|
57
|
+
};
|
|
58
|
+
} );
|
|
59
|
+
|
|
60
|
+
if ( ! sidebarOptions.length ) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return [
|
|
65
|
+
{ value: '', label: __( 'Select widget area' ) },
|
|
66
|
+
...sidebarOptions,
|
|
67
|
+
];
|
|
68
|
+
}, [ sidebars ] );
|
|
69
|
+
|
|
70
|
+
async function createFromWidgets( event ) {
|
|
71
|
+
event.preventDefault();
|
|
72
|
+
|
|
73
|
+
if ( isBusy || ! selectedSidebar ) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
setIsBusy( true );
|
|
78
|
+
|
|
79
|
+
const sidebar = options.find(
|
|
80
|
+
( { value } ) => value === selectedSidebar
|
|
81
|
+
);
|
|
82
|
+
const { getWidgets } = registry.resolveSelect( coreStore );
|
|
83
|
+
|
|
84
|
+
// The widgets API always returns a successful response.
|
|
85
|
+
const widgets = await getWidgets( {
|
|
86
|
+
sidebar: sidebar.value,
|
|
87
|
+
_embed: 'about',
|
|
88
|
+
} );
|
|
89
|
+
|
|
90
|
+
const skippedWidgets = new Set();
|
|
91
|
+
const blocks = widgets.flatMap( ( widget ) => {
|
|
92
|
+
const block = transformWidgetToBlock( widget );
|
|
93
|
+
|
|
94
|
+
if ( block.name !== 'core/legacy-widget' ) {
|
|
95
|
+
return block;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const transforms = getPossibleBlockTransformations( [
|
|
99
|
+
block,
|
|
100
|
+
] ).filter( ( item ) => {
|
|
101
|
+
// The block without any transformations can't be a wildcard.
|
|
102
|
+
if ( ! item.transforms ) {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const hasWildCardFrom = item.transforms?.from?.find(
|
|
107
|
+
( from ) => from.blocks && from.blocks.includes( '*' )
|
|
108
|
+
);
|
|
109
|
+
const hasWildCardTo = item.transforms?.to?.find(
|
|
110
|
+
( to ) => to.blocks && to.blocks.includes( '*' )
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
return ! hasWildCardFrom && ! hasWildCardTo;
|
|
114
|
+
} );
|
|
115
|
+
|
|
116
|
+
// Skip the block if we have no matching transformations.
|
|
117
|
+
if ( ! transforms.length ) {
|
|
118
|
+
skippedWidgets.add( widget.id_base );
|
|
119
|
+
return [];
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Try transforming the Legacy Widget into a first matching block.
|
|
123
|
+
return switchToBlockType( block, transforms[ 0 ].name );
|
|
124
|
+
} );
|
|
125
|
+
|
|
126
|
+
await createFromBlocks(
|
|
127
|
+
blocks,
|
|
128
|
+
/* translators: %s: name of the widget area */
|
|
129
|
+
sprintf( __( 'Widget area: %s' ), sidebar.label )
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
if ( skippedWidgets.size ) {
|
|
133
|
+
createErrorNotice(
|
|
134
|
+
sprintf(
|
|
135
|
+
/* translators: %s: the list of widgets */
|
|
136
|
+
__( 'Unable to import the following widgets: %s.' ),
|
|
137
|
+
Array.from( skippedWidgets ).join( ', ' )
|
|
138
|
+
),
|
|
139
|
+
{
|
|
140
|
+
type: 'snackbar',
|
|
141
|
+
}
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
setIsBusy( false );
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return (
|
|
149
|
+
<Spacer marginBottom="4">
|
|
150
|
+
<HStack as="form" onSubmit={ createFromWidgets }>
|
|
151
|
+
<FlexBlock>
|
|
152
|
+
<SelectControl
|
|
153
|
+
label={ __( 'Import widget area' ) }
|
|
154
|
+
value={ selectedSidebar }
|
|
155
|
+
options={ options }
|
|
156
|
+
onChange={ ( value ) => setSelectedSidebar( value ) }
|
|
157
|
+
disabled={ ! options.length }
|
|
158
|
+
__next36pxDefaultSize
|
|
159
|
+
__nextHasNoMarginBottom
|
|
160
|
+
/>
|
|
161
|
+
</FlexBlock>
|
|
162
|
+
<FlexItem
|
|
163
|
+
style={ {
|
|
164
|
+
marginBottom: '8px',
|
|
165
|
+
marginTop: 'auto',
|
|
166
|
+
} }
|
|
167
|
+
>
|
|
168
|
+
<Button
|
|
169
|
+
variant="primary"
|
|
170
|
+
type="submit"
|
|
171
|
+
isBusy={ isBusy }
|
|
172
|
+
aria-disabled={ isBusy || ! selectedSidebar }
|
|
173
|
+
>
|
|
174
|
+
{ __( 'Import' ) }
|
|
175
|
+
</Button>
|
|
176
|
+
</FlexItem>
|
|
177
|
+
</HStack>
|
|
178
|
+
</Spacer>
|
|
179
|
+
);
|
|
180
|
+
}
|
|
@@ -141,6 +141,7 @@ export default function TemplatePartEdit( {
|
|
|
141
141
|
isEntityAvailable={ isEntityAvailable }
|
|
142
142
|
templatePartId={ templatePartId }
|
|
143
143
|
defaultWrapper={ areaObject.tagName }
|
|
144
|
+
hasInnerBlocks={ innerBlocks.length > 0 }
|
|
144
145
|
/>
|
|
145
146
|
{ isPlaceholder && (
|
|
146
147
|
<TagName { ...blockProps }>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { createBlock, parse } from '@wordpress/blocks';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Converts a widget entity record into a block.
|
|
8
|
+
*
|
|
9
|
+
* @param {Object} widget The widget entity record.
|
|
10
|
+
* @return {Object} a block (converted from the entity record).
|
|
11
|
+
*/
|
|
12
|
+
export function transformWidgetToBlock( widget ) {
|
|
13
|
+
if ( widget.id_base === 'block' ) {
|
|
14
|
+
const parsedBlocks = parse( widget.instance.raw.content, {
|
|
15
|
+
__unstableSkipAutop: true,
|
|
16
|
+
} );
|
|
17
|
+
if ( ! parsedBlocks.length ) {
|
|
18
|
+
return createBlock( 'core/paragraph', {}, [] );
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return parsedBlocks[ 0 ];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
let attributes;
|
|
25
|
+
if ( widget._embedded.about[ 0 ].is_multi ) {
|
|
26
|
+
attributes = {
|
|
27
|
+
idBase: widget.id_base,
|
|
28
|
+
instance: widget.instance,
|
|
29
|
+
};
|
|
30
|
+
} else {
|
|
31
|
+
attributes = {
|
|
32
|
+
id: widget.id,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return createBlock( 'core/legacy-widget', attributes, [] );
|
|
37
|
+
}
|
package/src/verse/style.scss
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Verse block inserts block 1`] = `
|
|
4
|
+
"<!-- wp:verse -->
|
|
5
|
+
<pre class=\\"wp-block-verse\\"></pre>
|
|
6
|
+
<!-- /wp:verse -->"
|
|
7
|
+
`;
|
|
8
|
+
|
|
9
|
+
exports[`Verse block renders block text set as initial content 1`] = `
|
|
10
|
+
"<!-- wp:verse -->
|
|
11
|
+
<pre class=\\"wp-block-verse\\">Sample text</pre>
|
|
12
|
+
<!-- /wp:verse -->"
|
|
13
|
+
`;
|
|
@@ -1,47 +1,54 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
import {
|
|
5
|
+
addBlock,
|
|
6
|
+
getEditorHtml,
|
|
7
|
+
initializeEditor,
|
|
8
|
+
getBlock,
|
|
9
|
+
} from 'test/helpers';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* WordPress dependencies
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
describe( 'Verse Block', () => {
|
|
22
|
-
beforeAll( () => {
|
|
23
|
-
registerBlockType( name, {
|
|
24
|
-
...metadata,
|
|
25
|
-
...settings,
|
|
26
|
-
} );
|
|
27
|
-
} );
|
|
14
|
+
import { getBlockTypes, unregisterBlockType } from '@wordpress/blocks';
|
|
15
|
+
import { registerCoreBlocks } from '@wordpress/block-library';
|
|
16
|
+
|
|
17
|
+
beforeAll( () => {
|
|
18
|
+
// Register all core blocks
|
|
19
|
+
registerCoreBlocks();
|
|
20
|
+
} );
|
|
28
21
|
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
afterAll( () => {
|
|
23
|
+
// Clean up registered blocks
|
|
24
|
+
getBlockTypes().forEach( ( block ) => {
|
|
25
|
+
unregisterBlockType( block.name );
|
|
31
26
|
} );
|
|
27
|
+
} );
|
|
28
|
+
|
|
29
|
+
describe( 'Verse block', () => {
|
|
30
|
+
it( 'inserts block', async () => {
|
|
31
|
+
const screen = await initializeEditor();
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
// Add block
|
|
34
|
+
await addBlock( screen, 'Verse' );
|
|
35
|
+
|
|
36
|
+
// Get block
|
|
37
|
+
const verseBlock = await getBlock( screen, 'Verse' );
|
|
38
|
+
expect( verseBlock ).toBeVisible();
|
|
39
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
37
40
|
} );
|
|
38
41
|
|
|
39
|
-
it( 'renders
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
it( 'renders block text set as initial content', async () => {
|
|
43
|
+
const screen = await initializeEditor( {
|
|
44
|
+
initialHtml: `<!-- wp:verse -->
|
|
45
|
+
<pre class="wp-block-verse">Sample text</pre>
|
|
46
|
+
<!-- /wp:verse -->`,
|
|
47
|
+
} );
|
|
48
|
+
|
|
49
|
+
// Get block
|
|
50
|
+
const verseBlock = await getBlock( screen, 'Verse' );
|
|
51
|
+
expect( verseBlock ).toBeVisible();
|
|
52
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
46
53
|
} );
|
|
47
54
|
} );
|