@wordpress/block-library 7.3.10 → 7.6.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/archives/edit.js +1 -1
- package/build/archives/edit.js.map +1 -1
- package/build/audio/edit.js +5 -17
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +1 -1
- package/build/audio/edit.native.js.map +1 -1
- package/build/block/edit.js +10 -9
- package/build/block/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/categories/edit.js +9 -4
- package/build/categories/edit.js.map +1 -1
- package/build/categories/index.js +5 -1
- package/build/categories/index.js.map +1 -1
- package/build/column/index.js +10 -0
- package/build/column/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 +2 -2
- 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/index.js +1 -1
- 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/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 +333 -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/shared.js +9 -0
- 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/edit.js +12 -18
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +1 -7
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/embed-preview.js +1 -1
- package/build/embed/embed-preview.js.map +1 -1
- package/build/embed/util.js +29 -4
- package/build/embed/util.js.map +1 -1
- package/build/file/edit.native.js +0 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/inspector.js +2 -4
- package/build/file/inspector.js.map +1 -1
- package/build/gallery/edit.js +3 -2
- 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/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/edit.js +1 -1
- package/build/gallery/v1/edit.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/html/edit.js +2 -2
- package/build/html/edit.js.map +1 -1
- package/build/image/edit.js +9 -8
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +1 -2
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +2 -2
- package/build/image/image.js.map +1 -1
- package/build/index.js +48 -12
- package/build/index.js.map +1 -1
- package/build/index.native.js +14 -3
- package/build/index.native.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-comments/edit.js +1 -1
- package/build/latest-comments/edit.js.map +1 -1
- 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 +30 -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/loginout/edit.js +1 -1
- package/build/loginout/edit.js.map +1 -1
- package/build/media-text/edit.js +1 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/edit.native.js +3 -2
- 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 +86 -81
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +1 -5
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +5 -4
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/index.js +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 +62 -0
- package/build/navigation/view-modal.js.map +1 -0
- package/build/navigation/view.js +1 -34
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +1 -1
- 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/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/edit.native.js +6 -2
- package/build/paragraph/edit.native.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 +2 -2
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author-name/index.js +1 -0
- package/build/post-author-name/index.js.map +1 -1
- package/build/post-comment/index.js +2 -1
- package/build/post-comment/index.js.map +1 -1
- package/build/post-comments/edit.js +14 -35
- package/build/post-comments/edit.js.map +1 -1
- package/build/post-comments/index.js +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 +37 -24
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-comments-form/form.js +48 -0
- package/build/post-comments-form/form.js.map +1 -0
- package/build/post-comments-link/index.js +1 -0
- package/build/post-comments-link/index.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-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 +7 -0
- package/build/quote/index.js.map +1 -1
- package/build/quote/v2/edit.js +12 -4
- package/build/quote/v2/edit.js.map +1 -1
- package/build/rss/edit.js +1 -1
- package/build/rss/edit.js.map +1 -1
- package/build/search/edit.js +12 -9
- package/build/search/edit.js.map +1 -1
- package/build/separator/index.js +3 -0
- package/build/separator/index.js.map +1 -1
- package/build/site-logo/edit.js +1 -1
- package/build/site-logo/edit.js.map +1 -1
- package/build/spacer/constants.js +9 -0
- package/build/spacer/constants.js.map +1 -0
- package/build/spacer/controls.js +3 -3
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/controls.native.js +2 -2
- package/build/spacer/controls.native.js.map +1 -1
- package/build/spacer/edit.js +5 -6
- package/build/spacer/edit.js.map +1 -1
- package/build/table/edit.js +23 -4
- package/build/table/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +138 -66
- 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/tag-cloud/edit.js +1 -1
- package/build/tag-cloud/edit.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 +5 -9
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +1 -1
- package/build/video/edit.native.js.map +1 -1
- package/build-module/archives/edit.js +1 -1
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/audio/edit.js +6 -18
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +1 -1
- package/build-module/audio/edit.native.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/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/categories/edit.js +9 -4
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/categories/index.js +5 -1
- package/build-module/categories/index.js.map +1 -1
- package/build-module/column/index.js +10 -0
- package/build-module/column/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 +1 -1
- 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/index.js +1 -1
- 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/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 +307 -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/shared.js +7 -0
- 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/edit.js +13 -19
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +2 -8
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/embed-preview.js +2 -2
- package/build-module/embed/embed-preview.js.map +1 -1
- package/build-module/embed/util.js +25 -3
- package/build-module/embed/util.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/inspector.js +2 -4
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/gallery/edit.js +3 -2
- 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/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/edit.js +1 -1
- package/build-module/gallery/v1/edit.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/html/edit.js +2 -2
- package/build-module/html/edit.js.map +1 -1
- package/build-module/image/edit.js +10 -9
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +1 -2
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +3 -3
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +43 -11
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +14 -3
- package/build-module/index.native.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-comments/edit.js +1 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- 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 +19 -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/loginout/edit.js +1 -1
- package/build-module/loginout/edit.js.map +1 -1
- package/build-module/media-text/edit.js +1 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/edit.native.js +3 -2
- 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 +87 -82
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +2 -6
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +5 -4
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/index.js +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 +56 -0
- package/build-module/navigation/view-modal.js.map +1 -0
- package/build-module/navigation/view.js +1 -30
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +1 -1
- 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/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/edit.native.js +6 -2
- package/build-module/paragraph/edit.native.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 +2 -2
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author-name/index.js +1 -0
- package/build-module/post-author-name/index.js.map +1 -1
- 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 +13 -35
- package/build-module/post-comments/edit.js.map +1 -1
- package/build-module/post-comments/index.js +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 -26
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-comments-form/form.js +39 -0
- package/build-module/post-comments-form/form.js.map +1 -0
- 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-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-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 +2 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/v2/edit.js +12 -5
- package/build-module/quote/v2/edit.js.map +1 -1
- package/build-module/rss/edit.js +1 -1
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/search/edit.js +12 -9
- package/build-module/search/edit.js.map +1 -1
- package/build-module/separator/index.js +3 -0
- package/build-module/separator/index.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/spacer/constants.js +2 -0
- package/build-module/spacer/constants.js.map +1 -0
- package/build-module/spacer/controls.js +2 -2
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/spacer/controls.native.js +1 -1
- package/build-module/spacer/controls.native.js.map +1 -1
- package/build-module/spacer/edit.js +1 -1
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/table/edit.js +26 -7
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +136 -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/tag-cloud/edit.js +1 -1
- package/build-module/tag-cloud/edit.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 +6 -10
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +1 -1
- package/build-module/video/edit.native.js.map +1 -1
- 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/common-rtl.css +32 -0
- package/build-style/common.css +32 -0
- package/build-style/cover/style-rtl.css +0 -4
- package/build-style/cover/style.css +0 -4
- 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/navigation/style-rtl.css +3 -0
- package/build-style/navigation/style.css +3 -0
- package/build-style/separator/editor-rtl.css +1 -0
- package/build-style/separator/editor.css +1 -0
- package/build-style/style-rtl.css +73 -4
- package/build-style/style.css +73 -4
- package/build-style/table/editor-rtl.css +8 -0
- package/build-style/table/editor.css +8 -0
- package/build-style/table/style-rtl.css +38 -0
- package/build-style/table/style.css +38 -0
- 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/archives/edit.js +1 -1
- package/src/audio/edit.js +7 -10
- package/src/audio/edit.native.js +1 -1
- 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/edit.native.js +6 -3
- package/src/categories/block.json +5 -1
- package/src/categories/edit.js +9 -3
- package/src/categories/index.php +1 -0
- package/src/column/block.json +10 -0
- package/src/comment-author-avatar/block.json +1 -0
- package/src/comment-template/edit.js +1 -5
- 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 +1 -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-title/index.js +1 -1
- package/src/common.scss +24 -1
- package/src/cover/controls.native.js +1 -2
- package/src/cover/edit/block-controls.js +119 -0
- package/src/cover/edit/cover-placeholder.js +39 -0
- package/src/cover/edit/index.js +381 -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/shared.js +4 -0
- package/src/cover/style.native.scss +4 -0
- package/src/cover/style.scss +0 -4
- 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 +1 -1
- package/src/embed/edit.js +19 -24
- package/src/embed/edit.native.js +9 -14
- package/src/embed/embed-preview.js +4 -2
- package/src/embed/util.js +34 -2
- package/src/file/edit.native.js +0 -1
- package/src/file/inspector.js +1 -3
- package/src/gallery/edit.js +3 -2
- package/src/gallery/gallery.js +2 -2
- 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/edit.js +1 -1
- 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/html/edit.js +2 -2
- package/src/image/edit.js +11 -5
- package/src/image/edit.native.js +1 -2
- package/src/image/editor.scss +1 -1
- package/src/image/image.js +9 -3
- package/src/image/test/edit.native.js +7 -7
- package/src/index.js +52 -30
- package/src/index.native.js +12 -2
- package/src/is-block-metadata-experimental.js +19 -0
- package/src/latest-comments/edit.js +1 -1
- package/src/latest-posts/edit.js +27 -2
- package/src/latest-posts/edit.native.js +56 -1
- 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 +24 -0
- package/src/list-item/utils.js +1 -1
- package/src/loginout/edit.js +1 -1
- package/src/media-text/edit.js +1 -2
- package/src/media-text/edit.native.js +4 -2
- package/src/media-text/media-container.native.js +2 -4
- package/src/media-text/transforms.js +154 -0
- package/src/navigation/block.json +1 -1
- package/src/navigation/edit/index.js +175 -169
- package/src/navigation/edit/inner-blocks.js +1 -8
- package/src/navigation/edit/unsaved-inner-blocks.js +5 -4
- package/src/navigation/index.php +5 -0
- package/src/navigation/style.scss +3 -0
- package/src/navigation/use-navigation-entities.js +1 -1
- package/src/navigation/view-modal.js +68 -0
- package/src/navigation/view.js +0 -35
- package/src/navigation-link/edit.js +1 -1
- 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/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/edit.native.js +13 -1
- package/src/paragraph/use-enter.js +103 -0
- package/src/post-author/edit.js +25 -23
- package/src/post-author-name/block.json +1 -0
- package/src/post-comment/block.json +2 -1
- package/src/post-comments/block.json +1 -1
- package/src/post-comments/edit.js +13 -43
- package/src/post-comments/index.php +2 -0
- package/src/post-comments-count/block.json +1 -0
- package/src/post-comments-form/edit.js +50 -58
- package/src/post-comments-form/form.js +40 -0
- package/src/post-comments-link/block.json +1 -0
- package/src/post-excerpt/edit.js +1 -1
- package/src/post-featured-image/edit.js +1 -1
- package/src/post-template/edit.js +5 -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-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/index.js +1 -1
- package/src/quote/v2/edit.js +7 -2
- package/src/rss/edit.js +1 -1
- package/src/search/edit.js +14 -7
- package/src/search/index.php +85 -34
- package/src/separator/block.json +3 -0
- package/src/separator/editor.scss +1 -0
- package/src/site-logo/edit.js +1 -1
- package/src/spacer/constants.js +1 -0
- package/src/spacer/controls.js +2 -2
- package/src/spacer/controls.native.js +1 -1
- package/src/spacer/edit.js +1 -2
- package/src/table/edit.js +30 -6
- package/src/table/editor.scss +13 -0
- package/src/table/style.scss +52 -0
- package/src/table-of-contents/block.json +9 -2
- package/src/table-of-contents/edit.js +155 -75
- 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/tag-cloud/edit.js +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 +8 -7
- package/src/video/edit.native.js +1 -1
- 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 -668
- package/build/cover/edit.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 -645
- package/build-module/cover/edit.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 -827
- 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,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { postCategories as icon } from '@wordpress/icons';
|
|
5
|
+
import { addFilter } from '@wordpress/hooks';
|
|
1
6
|
/**
|
|
2
7
|
* Internal dependencies
|
|
3
8
|
*/
|
|
9
|
+
|
|
4
10
|
const metadata = {
|
|
5
11
|
$schema: "https://schemas.wp.org/trunk/block.json",
|
|
6
12
|
apiVersion: 2,
|
|
@@ -19,6 +25,14 @@ const metadata = {
|
|
|
19
25
|
separator: {
|
|
20
26
|
type: "string",
|
|
21
27
|
"default": ", "
|
|
28
|
+
},
|
|
29
|
+
prefix: {
|
|
30
|
+
type: "string",
|
|
31
|
+
"default": ""
|
|
32
|
+
},
|
|
33
|
+
suffix: {
|
|
34
|
+
type: "string",
|
|
35
|
+
"default": ""
|
|
22
36
|
}
|
|
23
37
|
},
|
|
24
38
|
usesContext: ["postId", "postType"],
|
|
@@ -48,19 +62,15 @@ const metadata = {
|
|
|
48
62
|
style: "wp-block-post-terms"
|
|
49
63
|
};
|
|
50
64
|
import edit from './edit';
|
|
51
|
-
import
|
|
52
|
-
/**
|
|
53
|
-
* WordPress dependencies
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
import { postTerms as icon } from '@wordpress/icons';
|
|
65
|
+
import enhanceVariations from './hooks';
|
|
57
66
|
const {
|
|
58
67
|
name
|
|
59
68
|
} = metadata;
|
|
60
69
|
export { metadata, name };
|
|
61
70
|
export const settings = {
|
|
62
71
|
icon,
|
|
63
|
-
variations,
|
|
64
72
|
edit
|
|
65
|
-
};
|
|
73
|
+
}; // Importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects
|
|
74
|
+
|
|
75
|
+
addFilter('blocks.registerBlockType', 'core/template-part', enhanceVariations);
|
|
66
76
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-terms/index.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-terms/index.js"],"names":["postCategories","icon","addFilter","edit","enhanceVariations","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,cAAc,IAAIC,IAA3B,QAAuC,kBAAvC;AACA,SAASC,SAAT,QAA0B,kBAA1B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,iBAAP,MAA8B,SAA9B;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBN,EAAAA,IADuB;AAEvBE,EAAAA;AAFuB,CAAjB,C,CAKP;;AACAD,SAAS,CACR,0BADQ,EAER,oBAFQ,EAGRE,iBAHQ,CAAT","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postCategories as icon } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport enhanceVariations from './hooks';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\n// Importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/template-part',\n\tenhanceVariations\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-title/index.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-title/index.js"],"names":["title","icon","edit","deprecated","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBL,EAAAA,IADuB;AAEvBC,EAAAA,IAFuB;AAGvBC,EAAAA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { title as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tdeprecated,\n};\n"]}
|
|
@@ -10,7 +10,7 @@ import classnames from 'classnames';
|
|
|
10
10
|
|
|
11
11
|
import { __ } from '@wordpress/i18n';
|
|
12
12
|
import { AlignmentControl, BlockControls, RichText, useBlockProps } from '@wordpress/block-editor';
|
|
13
|
-
import { createBlock } from '@wordpress/blocks';
|
|
13
|
+
import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
14
14
|
import { Platform } from '@wordpress/element';
|
|
15
15
|
/**
|
|
16
16
|
* Internal dependencies
|
|
@@ -74,7 +74,7 @@ function PullQuoteEdit(_ref) {
|
|
|
74
74
|
className: "wp-block-pullquote__citation",
|
|
75
75
|
__unstableMobileNoFocusOnMount: true,
|
|
76
76
|
textAlign: "center",
|
|
77
|
-
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(
|
|
77
|
+
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
|
|
78
78
|
}))));
|
|
79
79
|
}
|
|
80
80
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/pullquote/edit.js"],"names":["classnames","__","AlignmentControl","BlockControls","RichText","useBlockProps","createBlock","Platform","Figure","BlockQuote","isWebPlatform","OS","PullQuoteEdit","attributes","setAttributes","isSelected","insertBlocksAfter","textAlign","citation","value","blockProps","className","shouldShowCitation","isEmpty","nextAlign","nextValue","undefined","display","nextCitation"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,QAHD,EAICC,aAJD,QAKO,yBALP;AAMA,SAASC,WAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/pullquote/edit.js"],"names":["classnames","__","AlignmentControl","BlockControls","RichText","useBlockProps","createBlock","getDefaultBlockName","Platform","Figure","BlockQuote","isWebPlatform","OS","PullQuoteEdit","attributes","setAttributes","isSelected","insertBlocksAfter","textAlign","citation","value","blockProps","className","shouldShowCitation","isEmpty","nextAlign","nextValue","undefined","display","nextCitation"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,QAHD,EAICC,aAJD,QAKO,yBALP;AAMA,SAASC,WAAT,EAAsBC,mBAAtB,QAAiD,mBAAjD;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,UAAvB;AACA,SAASC,UAAT,QAA2B,cAA3B;AAEA,MAAMC,aAAa,GAAGH,QAAQ,CAACI,EAAT,KAAgB,KAAtC;;AAEA,SAASC,aAAT,OAKI;AAAA,MALoB;AACvBC,IAAAA,UADuB;AAEvBC,IAAAA,aAFuB;AAGvBC,IAAAA,UAHuB;AAIvBC,IAAAA;AAJuB,GAKpB;AACH,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,QAAb;AAAuBC,IAAAA;AAAvB,MAAiCN,UAAvC;AACA,QAAMO,UAAU,GAAGhB,aAAa,CAAE;AACjCiB,IAAAA,SAAS,EAAEtB,UAAU,CAAE;AACtB,OAAG,kBAAkBkB,SAAW,EAAhC,GAAqCA;AADf,KAAF;AADY,GAAF,CAAhC;AAKA,QAAMK,kBAAkB,GAAG,CAAEnB,QAAQ,CAACoB,OAAT,CAAkBL,QAAlB,CAAF,IAAkCH,UAA7D;AAEA,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAGE,SADT;AAEC,IAAA,QAAQ,EAAKO,SAAF,IAAiB;AAC3BV,MAAAA,aAAa,CAAE;AAAEG,QAAAA,SAAS,EAAEO;AAAb,OAAF,CAAb;AACA;AAJF,IADD,CADD,EASC,cAAC,MAAD,EAAaJ,UAAb,EACC,cAAC,UAAD,QACC,cAAC,QAAD;AACC,IAAA,UAAU,EAAC,OADZ;AAEC,IAAA,SAAS,MAFV;AAGC,IAAA,KAAK,EAAGD,KAHT;AAIC,IAAA,QAAQ,EAAKM,SAAF,IACVX,aAAa,CAAE;AACdK,MAAAA,KAAK,EAAEM;AADO,KAAF,CALf;AASC,kBAAazB,EAAE,CAAE,gBAAF,CAThB;AAUC,IAAA,WAAW,EACV;AACAA,IAAAA,EAAE,CAAE,WAAF,CAZJ;AAcC,IAAA,SAAS,EAAC;AAdX,IADD,EAiBGsB,kBAAkB,IACnB,cAAC,QAAD;AACC,IAAA,UAAU,EAAC,UADZ;AAEC,IAAA,OAAO,EAAGZ,aAAa,GAAG,MAAH,GAAYgB,SAFpC;AAGC,IAAA,KAAK,EAAG;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAHT;AAIC,IAAA,KAAK,EAAGT,QAJT;AAKC,kBAAalB,EAAE,CAAE,yBAAF,CALhB;AAMC,IAAA,WAAW,EACV;AACAA,IAAAA,EAAE,CAAE,cAAF,CARJ;AAUC,IAAA,QAAQ,EAAK4B,YAAF,IACVd,aAAa,CAAE;AACdI,MAAAA,QAAQ,EAAEU;AADI,KAAF,CAXf;AAeC,IAAA,SAAS,EAAC,8BAfX;AAgBC,IAAA,8BAA8B,MAhB/B;AAiBC,IAAA,SAAS,EAAC,QAjBX;AAkBC,IAAA,sBAAsB,EAAG,MACxBZ,iBAAiB,CAChBX,WAAW,CAAEC,mBAAmB,EAArB,CADK;AAnBnB,IAlBF,CADD,CATD,CADD;AA0DA;;AAED,eAAeM,aAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Figure } from './figure';\nimport { BlockQuote } from './blockquote';\n\nconst isWebPlatform = Platform.OS === 'web';\n\nfunction PullQuoteEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { textAlign, citation, value } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tconst shouldShowCitation = ! RichText.isEmpty( citation ) || isSelected;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<Figure { ...blockProps }>\n\t\t\t\t<BlockQuote>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"value\"\n\t\t\t\t\t\tmultiline\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( nextValue ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tvalue: nextValue,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label={ __( 'Pullquote text' ) }\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t// translators: placeholder text used for the quote\n\t\t\t\t\t\t\t__( 'Add quote' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowCitation && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"citation\"\n\t\t\t\t\t\t\ttagName={ isWebPlatform ? 'cite' : undefined }\n\t\t\t\t\t\t\tstyle={ { display: 'block' } }\n\t\t\t\t\t\t\tvalue={ citation }\n\t\t\t\t\t\t\taria-label={ __( 'Pullquote citation text' ) }\n\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\t// translators: placeholder text used for the citation\n\t\t\t\t\t\t\t\t__( 'Add citation' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ ( nextCitation ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tcitation: nextCitation,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"wp-block-pullquote__citation\"\n\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockQuote>\n\t\t\t</Figure>\n\t\t</>\n\t);\n}\n\nexport default PullQuoteEdit;\n"]}
|
|
@@ -5,7 +5,7 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
5
5
|
*/
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
7
|
import { AlignmentControl, BlockControls, RichText, useBlockProps, getColorObjectByAttributeValues, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles } from '@wordpress/block-editor';
|
|
8
|
-
import { createBlock } from '@wordpress/blocks';
|
|
8
|
+
import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
9
9
|
/**
|
|
10
10
|
* Internal dependencies
|
|
11
11
|
*/
|
|
@@ -106,7 +106,7 @@ function PullQuoteEdit(props) {
|
|
|
106
106
|
}),
|
|
107
107
|
__unstableMobileNoFocusOnMount: true,
|
|
108
108
|
textAlign: textAlign !== null && textAlign !== void 0 ? textAlign : 'center',
|
|
109
|
-
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(
|
|
109
|
+
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
|
|
110
110
|
}))));
|
|
111
111
|
}
|
|
112
112
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/pullquote/edit.native.js"],"names":["__","AlignmentControl","BlockControls","RichText","useBlockProps","getColorObjectByAttributeValues","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","createBlock","Figure","BlockQuote","getBackgroundColor","attributes","colors","style","backgroundColor","colorProps","colorObject","color","background","getTextColor","textColor","baseColors","text","getBorderColor","props","wrapperProps","defaultColor","borderColor","PullQuoteEdit","setAttributes","isSelected","insertBlocksAfter","textAlign","citation","value","blockProps","shouldShowCitation","isEmpty","nextAlign","nextValue","nextCitation"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,QAHD,EAICC,aAJD,EAKCC,+BALD,EAMCC,sCAAsC,IAAIC,wBAN3C,QAOO,yBAPP;AAQA,SAASC,WAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/pullquote/edit.native.js"],"names":["__","AlignmentControl","BlockControls","RichText","useBlockProps","getColorObjectByAttributeValues","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","createBlock","getDefaultBlockName","Figure","BlockQuote","getBackgroundColor","attributes","colors","style","backgroundColor","colorProps","colorObject","color","background","getTextColor","textColor","baseColors","text","getBorderColor","props","wrapperProps","defaultColor","borderColor","PullQuoteEdit","setAttributes","isSelected","insertBlocksAfter","textAlign","citation","value","blockProps","shouldShowCitation","isEmpty","nextAlign","nextValue","nextCitation"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n\tgetColorObjectByAttributeValues,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { Figure } from './figure';\nimport { BlockQuote } from './blockquote';\n\nconst getBackgroundColor = ( { attributes, colors, style } ) => {\n\tconst { backgroundColor } = attributes;\n\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst colorObject = getColorObjectByAttributeValues(\n\t\tcolors,\n\t\tbackgroundColor\n\t);\n\n\treturn (\n\t\tcolorObject?.color ||\n\t\tcolorProps.style?.backgroundColor ||\n\t\tcolorProps.style?.background ||\n\t\tstyle?.backgroundColor\n\t);\n};\n\nconst getTextColor = ( { attributes, colors, style } ) => {\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst colorObject = getColorObjectByAttributeValues(\n\t\tcolors,\n\t\tattributes.textColor\n\t);\n\treturn (\n\t\tcolorObject?.color ||\n\t\tcolorProps.style?.color ||\n\t\tstyle?.color ||\n\t\tstyle?.baseColors?.color?.text\n\t);\n};\nconst getBorderColor = ( props ) => {\n\tconst { wrapperProps } = props;\n\tconst defaultColor = getTextColor( props );\n\n\treturn wrapperProps?.style?.borderColor || defaultColor;\n};\n/**\n * Internal dependencies\n */\n\nfunction PullQuoteEdit( props ) {\n\tconst { attributes, setAttributes, isSelected, insertBlocksAfter } = props;\n\tconst { textAlign, citation, value } = attributes;\n\n\tconst blockProps = useBlockProps( {\n\t\tbackgroundColor: getBackgroundColor( props ),\n\t\tborderColor: getBorderColor( props ),\n\t} );\n\n\tconst shouldShowCitation = ! RichText.isEmpty( citation ) || isSelected;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<Figure { ...blockProps }>\n\t\t\t\t<BlockQuote textColor={ getTextColor( props ) }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"value\"\n\t\t\t\t\t\tmultiline\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( nextValue ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tvalue: nextValue,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label={ __( 'Pullquote text' ) }\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t// translators: placeholder text used for the quote\n\t\t\t\t\t\t\t__( 'Add quote' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttextAlign={ textAlign ?? 'center' }\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowCitation && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"citation\"\n\t\t\t\t\t\t\tvalue={ citation }\n\t\t\t\t\t\t\taria-label={ __( 'Pullquote citation text' ) }\n\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\t// translators: placeholder text used for the citation\n\t\t\t\t\t\t\t\t__( 'Add citation' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ ( nextCitation ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tcitation: nextCitation,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\ttextAlign={ textAlign ?? 'center' }\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockQuote>\n\t\t\t</Figure>\n\t\t</>\n\t);\n}\n\nexport default PullQuoteEdit;\n"]}
|
|
@@ -12,24 +12,26 @@ import { PanelBody, TextControl, SelectControl, RangeControl, ToggleControl, Not
|
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
13
|
import { InspectorControls } from '@wordpress/block-editor';
|
|
14
14
|
import { useEffect, useState, useCallback } from '@wordpress/element';
|
|
15
|
+
import { useSelect } from '@wordpress/data';
|
|
16
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
15
17
|
/**
|
|
16
18
|
* Internal dependencies
|
|
17
19
|
*/
|
|
18
20
|
|
|
19
21
|
import OrderControl from './order-control';
|
|
20
22
|
import AuthorControl from './author-control';
|
|
23
|
+
import ParentControl from './parent-control';
|
|
21
24
|
import TaxonomyControls from './taxonomy-controls';
|
|
25
|
+
import StickyControl from './sticky-control';
|
|
22
26
|
import { usePostTypes } from '../../utils';
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
value: 'only'
|
|
32
|
-
}];
|
|
27
|
+
|
|
28
|
+
function useIsPostTypeHierarchical(postType) {
|
|
29
|
+
return useSelect(select => {
|
|
30
|
+
const type = select(coreStore).getPostType(postType);
|
|
31
|
+
return (type === null || type === void 0 ? void 0 : type.viewable) && (type === null || type === void 0 ? void 0 : type.hierarchical);
|
|
32
|
+
}, [postType]);
|
|
33
|
+
}
|
|
34
|
+
|
|
33
35
|
export default function QueryInspectorControls(_ref) {
|
|
34
36
|
let {
|
|
35
37
|
attributes: {
|
|
@@ -46,13 +48,15 @@ export default function QueryInspectorControls(_ref) {
|
|
|
46
48
|
postType,
|
|
47
49
|
sticky,
|
|
48
50
|
inherit,
|
|
49
|
-
taxQuery
|
|
51
|
+
taxQuery,
|
|
52
|
+
parents
|
|
50
53
|
} = query;
|
|
51
54
|
const [showSticky, setShowSticky] = useState(postType === 'post');
|
|
52
55
|
const {
|
|
53
56
|
postTypesTaxonomiesMap,
|
|
54
57
|
postTypesSelectOptions
|
|
55
58
|
} = usePostTypes();
|
|
59
|
+
const isPostTypeHierarchical = useIsPostTypeHierarchical(postType);
|
|
56
60
|
useEffect(() => {
|
|
57
61
|
setShowSticky(postType === 'post');
|
|
58
62
|
}, [postType]);
|
|
@@ -77,8 +81,10 @@ export default function QueryInspectorControls(_ref) {
|
|
|
77
81
|
|
|
78
82
|
if (newValue !== 'post') {
|
|
79
83
|
updateQuery.sticky = '';
|
|
80
|
-
}
|
|
84
|
+
} // We need to reset `parents` because they are tied to each post type.
|
|
81
85
|
|
|
86
|
+
|
|
87
|
+
updateQuery.parents = [];
|
|
82
88
|
setQuery(updateQuery);
|
|
83
89
|
};
|
|
84
90
|
|
|
@@ -124,14 +130,11 @@ export default function QueryInspectorControls(_ref) {
|
|
|
124
130
|
order,
|
|
125
131
|
orderBy,
|
|
126
132
|
onChange: setQuery
|
|
127
|
-
}), showSticky && createElement(
|
|
128
|
-
label: __('Sticky posts'),
|
|
129
|
-
options: stickyOptions,
|
|
133
|
+
}), showSticky && createElement(StickyControl, {
|
|
130
134
|
value: sticky,
|
|
131
135
|
onChange: value => setQuery({
|
|
132
136
|
sticky: value
|
|
133
|
-
})
|
|
134
|
-
help: __('Blog posts can be "stickied", a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.')
|
|
137
|
+
})
|
|
135
138
|
})), !inherit && createElement(PanelBody, {
|
|
136
139
|
title: __('Filters')
|
|
137
140
|
}, createElement(TaxonomyControls, {
|
|
@@ -144,6 +147,10 @@ export default function QueryInspectorControls(_ref) {
|
|
|
144
147
|
label: __('Keyword'),
|
|
145
148
|
value: querySearch,
|
|
146
149
|
onChange: setQuerySearch
|
|
150
|
+
}), isPostTypeHierarchical && createElement(ParentControl, {
|
|
151
|
+
parents: parents,
|
|
152
|
+
postType: postType,
|
|
153
|
+
onChange: setQuery
|
|
147
154
|
})));
|
|
148
155
|
}
|
|
149
156
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["debounce","PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__","InspectorControls","useEffect","useState","useCallback","OrderControl","AuthorControl","TaxonomyControls","usePostTypes","stickyOptions","label","value","QueryInspectorControls","attributes","query","displayLayout","setQuery","setDisplayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","type","columns","Math","max"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport TaxonomyControls from './taxonomy-controls';\nimport { usePostTypes } from '../../utils';\n\nconst stickyOptions = [\n\t{ label: __( 'Include' ), value: '' },\n\t{ label: __( 'Exclude' ), value: 'exclude' },\n\t{ label: __( 'Only' ), value: 'only' },\n];\n\nexport default function QueryInspectorControls( {\n\tattributes: { query, displayLayout },\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t} = query;\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\tonChange={ ( value ) => setQuery( { inherit: !! value } ) }\n\t\t\t\t/>\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called \"Post types\". By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayLayout?.type === 'flex' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ showSticky && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Sticky posts' ) }\n\t\t\t\t\t\toptions={ stickyOptions }\n\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\tonChange={ ( value ) => setQuery( { sticky: value } ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Blog posts can be \"stickied\", a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t\t{ ! inherit && (\n\t\t\t\t<PanelBody title={ __( 'Filters' ) }>\n\t\t\t\t\t<TaxonomyControls onChange={ setQuery } query={ query } />\n\t\t\t\t\t<AuthorControl value={ authorIds } onChange={ setQuery } />\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["debounce","PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__","InspectorControls","useEffect","useState","useCallback","useSelect","store","coreStore","OrderControl","AuthorControl","ParentControl","TaxonomyControls","StickyControl","usePostTypes","useIsPostTypeHierarchical","postType","select","type","getPostType","viewable","hierarchical","QueryInspectorControls","attributes","query","displayLayout","setQuery","setDisplayLayout","order","orderBy","author","authorIds","sticky","inherit","taxQuery","parents","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","value","columns","Math","max"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport TaxonomyControls from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport { usePostTypes } from '../../utils';\n\nfunction useIsPostTypeHierarchical( postType ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst type = select( coreStore ).getPostType( postType );\n\t\t\treturn type?.viewable && type?.hierarchical;\n\t\t},\n\t\t[ postType ]\n\t);\n}\n\nexport default function QueryInspectorControls( {\n\tattributes: { query, displayLayout },\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\tonChange={ ( value ) => setQuery( { inherit: !! value } ) }\n\t\t\t\t/>\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called \"Post types\". By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayLayout?.type === 'flex' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ showSticky && (\n\t\t\t\t\t<StickyControl\n\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\tonChange={ ( value ) => setQuery( { sticky: value } ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t\t{ ! inherit && (\n\t\t\t\t<PanelBody title={ __( 'Filters' ) }>\n\t\t\t\t\t<TaxonomyControls onChange={ setQuery } query={ query } />\n\t\t\t\t\t<AuthorControl value={ authorIds } onChange={ setQuery } />\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isPostTypeHierarchical && (\n\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* WordPress dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { __ } from '@wordpress/i18n';
|
|
7
|
+
import { FormTokenField } from '@wordpress/components';
|
|
8
|
+
import { useSelect } from '@wordpress/data';
|
|
9
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
10
|
+
import { useState, useEffect, useMemo } from '@wordpress/element';
|
|
11
|
+
import { useDebounce } from '@wordpress/compose';
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { getEntitiesInfo, mapToIHasNameAndId } from '../../utils';
|
|
17
|
+
const EMPTY_ARRAY = [];
|
|
18
|
+
const BASE_QUERY = {
|
|
19
|
+
order: 'asc',
|
|
20
|
+
_fields: 'id,title',
|
|
21
|
+
context: 'view'
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
function ParentControl(_ref) {
|
|
25
|
+
let {
|
|
26
|
+
parents,
|
|
27
|
+
postType,
|
|
28
|
+
onChange
|
|
29
|
+
} = _ref;
|
|
30
|
+
const [search, setSearch] = useState('');
|
|
31
|
+
const [value, setValue] = useState(EMPTY_ARRAY);
|
|
32
|
+
const [suggestions, setSuggestions] = useState(EMPTY_ARRAY);
|
|
33
|
+
const debouncedSearch = useDebounce(setSearch, 250);
|
|
34
|
+
const {
|
|
35
|
+
searchResults,
|
|
36
|
+
searchHasResolved
|
|
37
|
+
} = useSelect(select => {
|
|
38
|
+
if (!search) {
|
|
39
|
+
return {
|
|
40
|
+
searchResults: EMPTY_ARRAY,
|
|
41
|
+
searchHasResolved: true
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const {
|
|
46
|
+
getEntityRecords,
|
|
47
|
+
hasFinishedResolution
|
|
48
|
+
} = select(coreStore);
|
|
49
|
+
const selectorArgs = ['postType', postType, { ...BASE_QUERY,
|
|
50
|
+
search,
|
|
51
|
+
orderby: 'relevance',
|
|
52
|
+
exclude: parents,
|
|
53
|
+
per_page: 20
|
|
54
|
+
}];
|
|
55
|
+
return {
|
|
56
|
+
searchResults: getEntityRecords(...selectorArgs),
|
|
57
|
+
searchHasResolved: hasFinishedResolution('getEntityRecords', selectorArgs)
|
|
58
|
+
};
|
|
59
|
+
}, [search, parents]);
|
|
60
|
+
const currentParents = useSelect(select => {
|
|
61
|
+
if (!(parents !== null && parents !== void 0 && parents.length)) return EMPTY_ARRAY;
|
|
62
|
+
const {
|
|
63
|
+
getEntityRecords
|
|
64
|
+
} = select(coreStore);
|
|
65
|
+
return getEntityRecords('postType', postType, { ...BASE_QUERY,
|
|
66
|
+
include: parents,
|
|
67
|
+
per_page: parents.length
|
|
68
|
+
});
|
|
69
|
+
}, [parents]); // Update the `value` state only after the selectors are resolved
|
|
70
|
+
// to avoid emptying the input when we're changing parents.
|
|
71
|
+
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (!(parents !== null && parents !== void 0 && parents.length)) {
|
|
74
|
+
setValue(EMPTY_ARRAY);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (!(currentParents !== null && currentParents !== void 0 && currentParents.length)) return;
|
|
78
|
+
const currentParentsInfo = getEntitiesInfo(mapToIHasNameAndId(currentParents, 'title.rendered')); // Returns only the existing entity ids. This prevents the component
|
|
79
|
+
// from crashing in the editor, when non existing ids are provided.
|
|
80
|
+
|
|
81
|
+
const sanitizedValue = parents.reduce((accumulator, id) => {
|
|
82
|
+
const entity = currentParentsInfo.mapById[id];
|
|
83
|
+
|
|
84
|
+
if (entity) {
|
|
85
|
+
accumulator.push({
|
|
86
|
+
id,
|
|
87
|
+
value: entity.name
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return accumulator;
|
|
92
|
+
}, []);
|
|
93
|
+
setValue(sanitizedValue);
|
|
94
|
+
}, [parents, currentParents]);
|
|
95
|
+
const entitiesInfo = useMemo(() => {
|
|
96
|
+
if (!(searchResults !== null && searchResults !== void 0 && searchResults.length)) return EMPTY_ARRAY;
|
|
97
|
+
return getEntitiesInfo(mapToIHasNameAndId(searchResults, 'title.rendered'));
|
|
98
|
+
}, [searchResults]); // Update suggestions only when the query has resolved.
|
|
99
|
+
|
|
100
|
+
useEffect(() => {
|
|
101
|
+
if (!searchHasResolved) return;
|
|
102
|
+
setSuggestions(entitiesInfo.names);
|
|
103
|
+
}, [entitiesInfo.names, searchHasResolved]);
|
|
104
|
+
|
|
105
|
+
const getIdByValue = (entitiesMappedByName, entity) => {
|
|
106
|
+
var _entitiesMappedByName;
|
|
107
|
+
|
|
108
|
+
const id = (entity === null || entity === void 0 ? void 0 : entity.id) || (entitiesMappedByName === null || entitiesMappedByName === void 0 ? void 0 : (_entitiesMappedByName = entitiesMappedByName[entity]) === null || _entitiesMappedByName === void 0 ? void 0 : _entitiesMappedByName.id);
|
|
109
|
+
if (id) return id;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
const onParentChange = newValue => {
|
|
113
|
+
const ids = Array.from(newValue.reduce((accumulator, entity) => {
|
|
114
|
+
// Verify that new values point to existing entities.
|
|
115
|
+
const id = getIdByValue(entitiesInfo.mapByName, entity);
|
|
116
|
+
if (id) accumulator.add(id);
|
|
117
|
+
return accumulator;
|
|
118
|
+
}, new Set()));
|
|
119
|
+
setSuggestions(EMPTY_ARRAY);
|
|
120
|
+
onChange({
|
|
121
|
+
parents: ids
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
return createElement(FormTokenField, {
|
|
126
|
+
label: __('Parents'),
|
|
127
|
+
value: value,
|
|
128
|
+
onInputChange: debouncedSearch,
|
|
129
|
+
suggestions: suggestions,
|
|
130
|
+
onChange: onParentChange
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export default ParentControl;
|
|
135
|
+
//# sourceMappingURL=parent-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/parent-control.js"],"names":["__","FormTokenField","useSelect","store","coreStore","useState","useEffect","useMemo","useDebounce","getEntitiesInfo","mapToIHasNameAndId","EMPTY_ARRAY","BASE_QUERY","order","_fields","context","ParentControl","parents","postType","onChange","search","setSearch","value","setValue","suggestions","setSuggestions","debouncedSearch","searchResults","searchHasResolved","select","getEntityRecords","hasFinishedResolution","selectorArgs","orderby","exclude","per_page","currentParents","length","include","currentParentsInfo","sanitizedValue","reduce","accumulator","id","entity","mapById","push","name","entitiesInfo","names","getIdByValue","entitiesMappedByName","onParentChange","newValue","ids","Array","from","mapByName","add","Set"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo, mapToIHasNameAndId } from '../../utils';\n\nconst EMPTY_ARRAY = [];\nconst BASE_QUERY = {\n\torder: 'asc',\n\t_fields: 'id,title',\n\tcontext: 'view',\n};\n\nfunction ParentControl( { parents, postType, onChange } ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst [ value, setValue ] = useState( EMPTY_ARRAY );\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tconst debouncedSearch = useDebounce( setSearch, 250 );\n\tconst { searchResults, searchHasResolved } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! search ) {\n\t\t\t\treturn { searchResults: EMPTY_ARRAY, searchHasResolved: true };\n\t\t\t}\n\t\t\tconst { getEntityRecords, hasFinishedResolution } = select(\n\t\t\t\tcoreStore\n\t\t\t);\n\t\t\tconst selectorArgs = [\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\t{\n\t\t\t\t\t...BASE_QUERY,\n\t\t\t\t\tsearch,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\texclude: parents,\n\t\t\t\t\tper_page: 20,\n\t\t\t\t},\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tsearchResults: getEntityRecords( ...selectorArgs ),\n\t\t\t\tsearchHasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ search, parents ]\n\t);\n\tconst currentParents = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! parents?.length ) return EMPTY_ARRAY;\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\treturn getEntityRecords( 'postType', postType, {\n\t\t\t\t...BASE_QUERY,\n\t\t\t\tinclude: parents,\n\t\t\t\tper_page: parents.length,\n\t\t\t} );\n\t\t},\n\t\t[ parents ]\n\t);\n\t// Update the `value` state only after the selectors are resolved\n\t// to avoid emptying the input when we're changing parents.\n\tuseEffect( () => {\n\t\tif ( ! parents?.length ) {\n\t\t\tsetValue( EMPTY_ARRAY );\n\t\t}\n\t\tif ( ! currentParents?.length ) return;\n\t\tconst currentParentsInfo = getEntitiesInfo(\n\t\t\tmapToIHasNameAndId( currentParents, 'title.rendered' )\n\t\t);\n\t\t// Returns only the existing entity ids. This prevents the component\n\t\t// from crashing in the editor, when non existing ids are provided.\n\t\tconst sanitizedValue = parents.reduce( ( accumulator, id ) => {\n\t\t\tconst entity = currentParentsInfo.mapById[ id ];\n\t\t\tif ( entity ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tvalue: entity.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\t\tsetValue( sanitizedValue );\n\t}, [ parents, currentParents ] );\n\n\tconst entitiesInfo = useMemo( () => {\n\t\tif ( ! searchResults?.length ) return EMPTY_ARRAY;\n\t\treturn getEntitiesInfo(\n\t\t\tmapToIHasNameAndId( searchResults, 'title.rendered' )\n\t\t);\n\t}, [ searchResults ] );\n\t// Update suggestions only when the query has resolved.\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) return;\n\t\tsetSuggestions( entitiesInfo.names );\n\t}, [ entitiesInfo.names, searchHasResolved ] );\n\n\tconst getIdByValue = ( entitiesMappedByName, entity ) => {\n\t\tconst id = entity?.id || entitiesMappedByName?.[ entity ]?.id;\n\t\tif ( id ) return id;\n\t};\n\tconst onParentChange = ( newValue ) => {\n\t\tconst ids = Array.from(\n\t\t\tnewValue.reduce( ( accumulator, entity ) => {\n\t\t\t\t// Verify that new values point to existing entities.\n\t\t\t\tconst id = getIdByValue( entitiesInfo.mapByName, entity );\n\t\t\t\tif ( id ) accumulator.add( id );\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tsetSuggestions( EMPTY_ARRAY );\n\t\tonChange( { parents: ids } );\n\t};\n\treturn (\n\t\t<FormTokenField\n\t\t\tlabel={ __( 'Parents' ) }\n\t\t\tvalue={ value }\n\t\t\tonInputChange={ debouncedSearch }\n\t\t\tsuggestions={ suggestions }\n\t\t\tonChange={ onParentChange }\n\t\t/>\n\t);\n}\n\nexport default ParentControl;\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* WordPress dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { SelectControl } from '@wordpress/components';
|
|
7
|
+
import { __ } from '@wordpress/i18n';
|
|
8
|
+
const stickyOptions = [{
|
|
9
|
+
label: __('Include'),
|
|
10
|
+
value: ''
|
|
11
|
+
}, {
|
|
12
|
+
label: __('Exclude'),
|
|
13
|
+
value: 'exclude'
|
|
14
|
+
}, {
|
|
15
|
+
label: __('Only'),
|
|
16
|
+
value: 'only'
|
|
17
|
+
}];
|
|
18
|
+
export default function StickyControl(_ref) {
|
|
19
|
+
let {
|
|
20
|
+
value,
|
|
21
|
+
onChange
|
|
22
|
+
} = _ref;
|
|
23
|
+
return createElement(SelectControl, {
|
|
24
|
+
label: __('Sticky posts'),
|
|
25
|
+
options: stickyOptions,
|
|
26
|
+
value: value,
|
|
27
|
+
onChange: onChange,
|
|
28
|
+
help: __('Blog posts can be "stickied", a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.')
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=sticky-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/sticky-control.js"],"names":["SelectControl","__","stickyOptions","label","value","StickyControl","onChange"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,uBAA9B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,MAAMC,aAAa,GAAG,CACrB;AAAEC,EAAAA,KAAK,EAAEF,EAAE,CAAE,SAAF,CAAX;AAA0BG,EAAAA,KAAK,EAAE;AAAjC,CADqB,EAErB;AAAED,EAAAA,KAAK,EAAEF,EAAE,CAAE,SAAF,CAAX;AAA0BG,EAAAA,KAAK,EAAE;AAAjC,CAFqB,EAGrB;AAAED,EAAAA,KAAK,EAAEF,EAAE,CAAE,MAAF,CAAX;AAAuBG,EAAAA,KAAK,EAAE;AAA9B,CAHqB,CAAtB;AAMA,eAAe,SAASC,aAAT,OAA8C;AAAA,MAAtB;AAAED,IAAAA,KAAF;AAASE,IAAAA;AAAT,GAAsB;AAC5D,SACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGL,EAAE,CAAE,cAAF,CADX;AAEC,IAAA,OAAO,EAAGC,aAFX;AAGC,IAAA,KAAK,EAAGE,KAHT;AAIC,IAAA,QAAQ,EAAGE,QAJZ;AAKC,IAAA,IAAI,EAAGL,EAAE,CACR,wJADQ;AALV,IADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst stickyOptions = [\n\t{ label: __( 'Include' ), value: '' },\n\t{ label: __( 'Exclude' ), value: 'exclude' },\n\t{ label: __( 'Only' ), value: 'only' },\n];\n\nexport default function StickyControl( { value, onChange } ) {\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Sticky posts' ) }\n\t\t\toptions={ stickyOptions }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\thelp={ __(\n\t\t\t\t'Blog posts can be \"stickied\", a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.'\n\t\t\t) }\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query/index.js"],"names":["loop","icon","addFilter","edit","save","variations","deprecated","queryInspectorControls","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AACA,SAASC,SAAT,QAA0B,kBAA1B;AAEA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/index.js"],"names":["loop","icon","addFilter","edit","save","variations","deprecated","queryInspectorControls","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AACA,SAASC,SAAT,QAA0B,kBAA1B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,sBAAP,MAAmC,SAAnC;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBT,EAAAA,IADuB;AAEvBE,EAAAA,IAFuB;AAGvBC,EAAAA,IAHuB;AAIvBC,EAAAA,UAJuB;AAKvBC,EAAAA;AALuB,CAAjB,C,CAQP;AACA;;AACAJ,SAAS,CAAE,kBAAF,EAAsB,YAAtB,EAAoCK,sBAApC,CAAT","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { loop as icon } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport variations from './variations';\nimport deprecated from './deprecated';\nimport queryInspectorControls from './hooks';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tvariations,\n\tdeprecated,\n};\n\n// Importing this file includes side effects and is whitelisted\n// in block-library/package.json under `sideEffects`.\naddFilter( 'editor.BlockEdit', 'core/query', queryInspectorControls );\n"]}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { get } from 'lodash';
|
|
1
5
|
/**
|
|
2
6
|
* WordPress dependencies
|
|
3
7
|
*/
|
|
8
|
+
|
|
4
9
|
import { useSelect } from '@wordpress/data';
|
|
5
10
|
import { useMemo } from '@wordpress/element';
|
|
6
11
|
import { store as coreStore } from '@wordpress/core-data';
|
|
12
|
+
import { decodeEntities } from '@wordpress/html-entities';
|
|
7
13
|
/**
|
|
8
14
|
* @typedef IHasNameAndId
|
|
9
15
|
* @property {string|number} id The entity's id.
|
|
@@ -51,6 +57,21 @@ export const getEntitiesInfo = entities => {
|
|
|
51
57
|
...mapping
|
|
52
58
|
};
|
|
53
59
|
};
|
|
60
|
+
/**
|
|
61
|
+
* Helper util to map records to add a `name` prop from a
|
|
62
|
+
* provided path, in order to handle all entities in the same
|
|
63
|
+
* fashion(implementing`IHasNameAndId` interface).
|
|
64
|
+
*
|
|
65
|
+
* @param {Object[]} entities The array of entities.
|
|
66
|
+
* @param {string} path The path to map a `name` property from the entity.
|
|
67
|
+
* @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
export const mapToIHasNameAndId = (entities, path) => {
|
|
71
|
+
return (entities || []).map(entity => ({ ...entity,
|
|
72
|
+
name: decodeEntities(get(entity, path))
|
|
73
|
+
}));
|
|
74
|
+
};
|
|
54
75
|
/**
|
|
55
76
|
* Returns a helper object that contains:
|
|
56
77
|
* 1. An `options` object from the available post types, to be passed to a `SelectControl`.
|