@wordpress/block-library 7.16.0 → 7.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/build/archives/edit.js +1 -0
- package/build/archives/edit.js.map +1 -1
- package/build/audio/edit.js +44 -4
- package/build/audio/edit.js.map +1 -1
- package/build/button/edit.js +1 -1
- package/build/button/edit.js.map +1 -1
- package/build/buttons/edit.native.js +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/comment-template/edit.js +40 -32
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/index.js +6 -2
- package/build/comment-template/index.js.map +1 -1
- package/build/comments/edit/placeholder.js +1 -4
- package/build/comments/edit/placeholder.js.map +1 -1
- package/build/comments/index.js +5 -1
- package/build/comments/index.js.map +1 -1
- package/build/comments-title/edit.js +18 -1
- package/build/comments-title/edit.js.map +1 -1
- package/build/cover/edit/index.js +2 -2
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +3 -7
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/use-cover-is-dark.js +8 -7
- package/build/cover/edit/use-cover-is-dark.js.map +1 -1
- package/build/embed/deprecated.js +43 -4
- package/build/embed/deprecated.js.map +1 -1
- package/build/embed/variations.js +1 -1
- package/build/embed/variations.js.map +1 -1
- package/build/file/deprecated.js +108 -4
- package/build/file/deprecated.js.map +1 -1
- package/build/file/transforms.js +3 -9
- package/build/file/transforms.js.map +1 -1
- package/build/gallery/deprecated.js +148 -23
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/gallery.js +3 -2
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/transforms.js +3 -3
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-image-sizes.js +2 -1
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/gallery/v1/edit.js +3 -2
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/edit.js +7 -3
- package/build/group/edit.js.map +1 -1
- package/build/image/edit.native.js +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +33 -12
- package/build/image/image.js.map +1 -1
- package/build/image/transforms.js +1 -7
- package/build/image/transforms.js.map +1 -1
- package/build/latest-posts/edit.js +1 -1
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/transforms.js +9 -1
- package/build/list/transforms.js.map +1 -1
- package/build/list/utils.js +4 -8
- package/build/list/utils.js.map +1 -1
- package/build/list-item/edit.js +3 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js +3 -2
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +19 -22
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +24 -10
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/index.js +14 -1
- package/build/list-item/index.js.map +1 -1
- package/build/list-item/utils.js +14 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/navigation/edit/index.js +45 -31
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +3 -5
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +3 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +25 -8
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/index.js +4 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation-link/edit.js +5 -3
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -4
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +29 -10
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +1 -5
- package/build/page-list/index.js.map +1 -1
- package/build/paragraph/edit.js +3 -11
- package/build/paragraph/edit.js.map +1 -1
- package/build/pattern/edit.js +11 -4
- package/build/pattern/edit.js.map +1 -1
- package/build/post-comments-count/index.js +4 -0
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/form.js +1 -2
- package/build/post-comments-form/form.js.map +1 -1
- package/build/post-comments-form/index.js +4 -0
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +4 -0
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +14 -6
- package/build/post-content/edit.js.map +1 -1
- package/build/pullquote/deprecated.js +6 -6
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +2 -2
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +79 -104
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/search/edit.js +3 -4
- package/build/search/edit.js.map +1 -1
- package/build/site-logo/edit.js +7 -10
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-tagline/edit.js +21 -9
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-title/edit/index.js +20 -8
- package/build/site-title/edit/index.js.map +1 -1
- package/build/social-link/edit.js +11 -2
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/index.js +3 -0
- package/build/social-link/index.js.map +1 -1
- package/build/spacer/controls.js +3 -7
- package/build/spacer/controls.js.map +1 -1
- package/build/table/deprecated.js +282 -27
- package/build/table/deprecated.js.map +1 -1
- package/build/table/state.js +2 -2
- package/build/table/state.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -4
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/tag-cloud/index.js +8 -0
- package/build/tag-cloud/index.js.map +1 -1
- package/build/utils/clean-empty-object.js +5 -4
- package/build/utils/clean-empty-object.js.map +1 -1
- package/build/video/deprecated.js +159 -0
- package/build/video/deprecated.js.map +1 -0
- package/build/video/edit.js +41 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/index.js +3 -0
- package/build/video/index.js.map +1 -1
- package/build/video/tracks-editor.js +3 -28
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/archives/edit.js +1 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/audio/edit.js +46 -7
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/button/edit.js +1 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/edit.native.js +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/comment-template/edit.js +38 -30
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/index.js +6 -2
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/comments/edit/placeholder.js +1 -3
- package/build-module/comments/edit/placeholder.js.map +1 -1
- package/build-module/comments/index.js +5 -1
- package/build-module/comments/index.js.map +1 -1
- package/build-module/comments-title/edit.js +18 -2
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -2
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +4 -8
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/use-cover-is-dark.js +7 -7
- package/build-module/cover/edit/use-cover-is-dark.js.map +1 -1
- package/build-module/embed/deprecated.js +44 -5
- package/build-module/embed/deprecated.js.map +1 -1
- package/build-module/embed/variations.js +1 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/file/deprecated.js +108 -4
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/transforms.js +3 -8
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/gallery/deprecated.js +147 -25
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/transforms.js +4 -4
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +3 -2
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/gallery/v1/edit.js +4 -3
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/edit.js +7 -3
- package/build-module/group/edit.js.map +1 -1
- package/build-module/image/edit.native.js +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +36 -15
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/transforms.js +1 -6
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -2
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/transforms.js +9 -1
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/utils.js +5 -9
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/edit.js +3 -2
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js +3 -2
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +19 -21
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +24 -9
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/index.js +14 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/list-item/utils.js +14 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/navigation/edit/index.js +45 -31
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +3 -5
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +3 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +25 -8
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/index.js +4 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation-link/edit.js +5 -4
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -4
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +29 -10
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +1 -5
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/paragraph/edit.js +3 -10
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/pattern/edit.js +10 -3
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +4 -0
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/form.js +2 -3
- package/build-module/post-comments-form/form.js.map +1 -1
- package/build-module/post-comments-form/index.js +4 -0
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +4 -0
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +14 -6
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/pullquote/deprecated.js +7 -7
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +4 -4
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +81 -102
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/search/edit.js +4 -5
- package/build-module/search/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +8 -11
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-tagline/edit.js +23 -11
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-title/edit/index.js +22 -10
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/social-link/edit.js +11 -2
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/index.js +3 -0
- package/build-module/social-link/index.js.map +1 -1
- package/build-module/spacer/controls.js +4 -8
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/table/deprecated.js +282 -27
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/state.js +3 -3
- package/build-module/table/state.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -3
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -1
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/tag-cloud/index.js +8 -0
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-module/utils/clean-empty-object.js +5 -5
- package/build-module/utils/clean-empty-object.js.map +1 -1
- package/build-module/video/deprecated.js +147 -0
- package/build-module/video/deprecated.js.map +1 -0
- package/build-module/video/edit.js +45 -9
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/index.js +2 -0
- package/build-module/video/index.js.map +1 -1
- package/build-module/video/tracks-editor.js +4 -29
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/archives/style-rtl.css +4 -0
- package/build-style/archives/style.css +4 -0
- package/build-style/button/style-rtl.css +1 -0
- package/build-style/button/style.css +1 -0
- package/build-style/comment-template/style-rtl.css +1 -0
- package/build-style/comment-template/style.css +1 -0
- package/build-style/comments/editor-rtl.css +1 -0
- package/build-style/comments/editor.css +1 -0
- package/build-style/comments/style-rtl.css +1 -0
- package/build-style/comments/style.css +1 -0
- package/build-style/cover/editor-rtl.css +4 -0
- package/build-style/cover/editor.css +4 -0
- package/build-style/editor-rtl.css +13 -21
- package/build-style/editor.css +13 -21
- package/build-style/group/editor-rtl.css +1 -0
- package/build-style/group/editor.css +1 -0
- package/build-style/image/editor-rtl.css +1 -1
- package/build-style/image/editor.css +1 -1
- package/build-style/navigation/editor-rtl.css +5 -4
- package/build-style/navigation/editor.css +5 -4
- package/build-style/navigation/style-rtl.css +3 -1
- package/build-style/navigation/style.css +3 -1
- package/build-style/paragraph/editor-rtl.css +0 -16
- package/build-style/paragraph/editor.css +0 -16
- package/build-style/post-comments-form/style-rtl.css +3 -0
- package/build-style/post-comments-form/style.css +3 -0
- package/build-style/site-logo/editor-rtl.css +1 -0
- package/build-style/site-logo/editor.css +1 -0
- package/build-style/style-rtl.css +16 -1
- package/build-style/style.css +16 -1
- package/build-style/tag-cloud/style-rtl.css +3 -0
- package/build-style/tag-cloud/style.css +3 -0
- package/package.json +29 -28
- package/src/archives/edit.js +1 -0
- package/src/archives/style.scss +5 -0
- package/src/audio/edit.js +79 -24
- package/src/avatar/index.php +1 -1
- package/src/button/edit.js +1 -1
- package/src/button/style.scss +2 -0
- package/src/buttons/edit.native.js +1 -1
- package/src/code/test/__snapshots__/edit.native.js.snap +13 -0
- package/src/code/test/edit.native.js +46 -32
- package/src/comment-template/block.json +6 -2
- package/src/comment-template/edit.js +47 -34
- package/src/comment-template/style.scss +2 -0
- package/src/comments/block.json +5 -1
- package/src/comments/edit/placeholder.js +1 -7
- package/src/comments/style.scss +2 -0
- package/src/comments-title/edit.js +24 -1
- package/src/cover/edit/index.js +2 -7
- package/src/cover/edit/inspector-controls.js +11 -13
- package/src/cover/edit/use-cover-is-dark.js +11 -11
- package/src/cover/editor.scss +7 -0
- package/src/embed/deprecated.js +53 -26
- package/src/embed/variations.js +1 -1
- package/src/file/deprecated.js +130 -2
- package/src/file/transforms.js +3 -8
- package/src/gallery/deprecated.js +129 -4
- package/src/gallery/gallery.js +2 -0
- package/src/gallery/index.php +19 -10
- package/src/gallery/transforms.js +8 -5
- package/src/gallery/use-image-sizes.js +3 -2
- package/src/gallery/v1/edit.js +4 -3
- package/src/group/edit.js +10 -2
- package/src/group/editor.scss +1 -0
- package/src/image/edit.native.js +1 -1
- package/src/image/editor.scss +4 -1
- package/src/image/image.js +75 -33
- package/src/image/transforms.js +1 -7
- package/src/latest-posts/edit.js +2 -2
- package/src/list/test/edit.native.js +102 -3
- package/src/list/transforms.js +11 -0
- package/src/list/utils.js +3 -11
- package/src/list-item/block.json +14 -1
- package/src/list-item/edit.js +2 -1
- package/src/list-item/edit.native.js +2 -1
- package/src/list-item/hooks/use-merge.js +4 -23
- package/src/list-item/hooks/use-outdent-list-item.js +9 -8
- package/src/navigation/block.json +4 -1
- package/src/navigation/edit/index.js +61 -37
- package/src/navigation/edit/inner-blocks.js +2 -5
- package/src/navigation/edit/unsaved-inner-blocks.js +9 -2
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +32 -5
- package/src/navigation/edit/use-create-navigation-menu.js +2 -5
- package/src/navigation/editor.scss +5 -4
- package/src/navigation/index.php +103 -6
- package/src/navigation/style.scss +3 -1
- package/src/navigation-link/edit.js +6 -5
- package/src/navigation-link/index.php +8 -1
- package/src/navigation-submenu/edit.js +7 -5
- package/src/navigation-submenu/index.php +8 -1
- package/src/page-list/block.json +1 -5
- package/src/page-list/edit.js +36 -22
- package/src/page-list/index.php +8 -6
- package/src/paragraph/edit.js +1 -14
- package/src/paragraph/editor.scss +0 -20
- package/src/pattern/edit.js +10 -3
- package/src/post-comments-count/block.json +4 -0
- package/src/post-comments-form/block.json +4 -0
- package/src/post-comments-form/form.js +2 -3
- package/src/post-comments-form/style.scss +3 -0
- package/src/post-comments-link/block.json +4 -0
- package/src/post-content/edit.js +8 -4
- package/src/pullquote/deprecated.js +7 -7
- package/src/query/edit/inspector-controls/index.js +4 -3
- package/src/query/edit/inspector-controls/taxonomy-controls.js +82 -87
- package/src/rss/index.php +3 -3
- package/src/search/edit.js +7 -2
- package/src/search/index.php +21 -13
- package/src/site-logo/edit.js +12 -10
- package/src/site-logo/editor.scss +1 -0
- package/src/site-tagline/edit.js +25 -18
- package/src/site-title/edit/index.js +26 -12
- package/src/social-link/block.json +3 -0
- package/src/social-link/edit.js +8 -1
- package/src/social-link/index.php +11 -7
- package/src/spacer/controls.js +10 -12
- package/src/table/deprecated.js +587 -348
- package/src/table/state.js +3 -3
- package/src/table-of-contents/edit.js +1 -3
- package/src/tag-cloud/block.json +8 -0
- package/src/tag-cloud/edit.js +1 -1
- package/src/tag-cloud/style.scss +3 -0
- package/src/template-part/index.php +4 -0
- package/src/utils/clean-empty-object.js +5 -6
- package/src/video/deprecated.js +57 -0
- package/src/video/edit.js +71 -23
- package/src/video/index.js +2 -0
- package/src/video/tracks-editor.js +12 -28
- package/build/paragraph/drop-zone.js +0 -99
- package/build/paragraph/drop-zone.js.map +0 -1
- package/build-module/paragraph/drop-zone.js +0 -88
- package/build-module/paragraph/drop-zone.js.map +0 -1
- package/src/paragraph/drop-zone.js +0 -105
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/pullquote/deprecated.js"],"names":["blockAttributes","value","type","source","selector","multiline","citation","default","mainColor","customMainColor","textColor","customTextColor","parseBorderColor","styleString","matches","match","multilineToInline","html","multilineTag","RegExp","__UNSTABLE_LINE_SEPARATOR","v5","attributes","__experimentalRole","textAlign","save","shouldShowCitation","RichText","isEmpty","useBlockProps","className","migrate","v4","isSolidColorStyle","SOLID_COLOR_CLASS","figureClasses","figureStyles","backgroundClass","backgroundColor","undefined","borderColor","blockquoteTextColorClass","blockquoteClasses","blockquoteStyles","color","style","border","background","text","v3","figureStyle","attribute","v2","figureClass","colors","blockEditorStore","getSettings","colorObject","blockquoteStyle","v1","v0","align"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetColorClassName,\n\tgetColorObjectByAttributeValues,\n\tRichText,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { select } from '@wordpress/data';\nimport {\n\tcreate,\n\treplace,\n\ttoHTMLString,\n\t__UNSTABLE_LINE_SEPARATOR,\n} from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { SOLID_COLOR_CLASS } from './shared';\n\nconst blockAttributes = {\n\tvalue: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'blockquote',\n\t\tmultiline: 'p',\n\t},\n\tcitation: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'cite',\n\t\tdefault: '',\n\t},\n\tmainColor: {\n\t\ttype: 'string',\n\t},\n\tcustomMainColor: {\n\t\ttype: 'string',\n\t},\n\ttextColor: {\n\t\ttype: 'string',\n\t},\n\tcustomTextColor: {\n\t\ttype: 'string',\n\t},\n};\n\nfunction parseBorderColor( styleString ) {\n\tif ( ! styleString ) {\n\t\treturn;\n\t}\n\tconst matches = styleString.match( /border-color:([^;]+)[;]?/ );\n\tif ( matches && matches[ 1 ] ) {\n\t\treturn matches[ 1 ];\n\t}\n}\n\nfunction multilineToInline( value ) {\n\treturn toHTMLString( {\n\t\tvalue: replace(\n\t\t\tcreate( { html: value, multilineTag: 'p' } ),\n\t\t\tnew RegExp( __UNSTABLE_LINE_SEPARATOR, 'g' ),\n\t\t\t'\\n'\n\t\t),\n\t} );\n}\n\nconst v5 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { textAlign, citation, value } = attributes;\n\t\tconst shouldShowCitation = ! RichText.isEmpty( citation );\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\tclassName: classnames( {\n\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<blockquote>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ shouldShowCitation && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\n// TODO: this is ripe for a bit of a clean up according to the example in https://developer.wordpress.org/block-editor/reference-guides/block-api/block-deprecation/#example\n\nconst v4 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\tcustomTextColor,\n\t\t\ttextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t} = attributes;\n\n\t\tconst isSolidColorStyle = includes( className, SOLID_COLOR_CLASS );\n\n\t\tlet figureClasses, figureStyles;\n\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tmainColor\n\t\t\t);\n\n\t\t\tfigureClasses = classnames( {\n\t\t\t\t'has-background': backgroundClass || customMainColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tfigureStyles = {\n\t\t\t\tbackgroundColor: backgroundClass ? undefined : customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses = classnames( {\n\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t} );\n\n\t\tconst blockquoteStyles = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\tclassName: figureClasses,\n\t\t\t\t\tstyle: figureStyles,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyles }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = includes( className, SOLID_COLOR_CLASS );\n\t\tlet style;\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v3 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\t// figureStyle is an attribute that never existed.\n\t\t// We are using it as a way to access the styles previously applied to the figure.\n\t\tfigureStyle: {\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure',\n\t\t\tattribute: 'style',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\ttextColor,\n\t\t\tcustomTextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t\tfigureStyle,\n\t\t} = attributes;\n\n\t\tconst isSolidColorStyle = includes( className, SOLID_COLOR_CLASS );\n\n\t\tlet figureClasses, figureStyles;\n\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tmainColor\n\t\t\t);\n\n\t\t\tfigureClasses = classnames( {\n\t\t\t\t'has-background': backgroundClass || customMainColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tfigureStyles = {\n\t\t\t\tbackgroundColor: backgroundClass ? undefined : customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t\t// If normal style and a named color are being used, we need to retrieve the color value to set the style,\n\t\t\t// as there is no expectation that themes create classes that set border colors.\n\t\t} else if ( mainColor ) {\n\t\t\t// Previously here we queried the color settings to know the color value\n\t\t\t// of a named color. This made the save function impure and the block was refactored,\n\t\t\t// because meanwhile a change in the editor made it impossible to query color settings in the save function.\n\t\t\t// Here instead of querying the color settings to know the color value, we retrieve the value\n\t\t\t// directly from the style previously serialized.\n\t\t\tconst borderColor = parseBorderColor( figureStyle );\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses =\n\t\t\t( textColor || customTextColor ) &&\n\t\t\tclassnames( 'has-text-color', {\n\t\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t\t} );\n\n\t\tconst blockquoteStyles = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\n\t\treturn (\n\t\t\t<figure className={ figureClasses } style={ figureStyles }>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyles }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tfigureStyle,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = includes( className, SOLID_COLOR_CLASS );\n\t\tlet style;\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\t\t// If is the default style, and a main color is set,\n\t\t// migrate the main color value into a custom border color.\n\t\t// The custom border color value is retrieved by parsing the figure styles.\n\t\tif ( ! isSolidColorStyle && mainColor && figureStyle ) {\n\t\t\tconst borderColor = parseBorderColor( figureStyle );\n\t\t\tif ( borderColor ) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: multilineToInline( value ),\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName,\n\t\t\t\t\t// Block supports: Set style.border.color if a deprecated block has `mainColor`, inline border CSS and is not a solid color style.\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tborder: {\n\t\t\t\t\t\t\tcolor: borderColor,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v2 = {\n\tattributes: blockAttributes,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\ttextColor,\n\t\t\tcustomTextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t} = attributes;\n\t\tconst isSolidColorStyle = includes( className, SOLID_COLOR_CLASS );\n\n\t\tlet figureClass, figureStyles;\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tfigureClass = getColorClassName( 'background-color', mainColor );\n\t\t\tif ( ! figureClass ) {\n\t\t\t\tfigureStyles = {\n\t\t\t\t\tbackgroundColor: customMainColor,\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a named color is being used, we need to retrieve the color value to set the style,\n\t\t\t// as there is no expectation that themes create classes that set border colors.\n\t\t} else if ( mainColor ) {\n\t\t\tconst colors = get(\n\t\t\t\tselect( blockEditorStore ).getSettings(),\n\t\t\t\t[ 'colors' ],\n\t\t\t\t[]\n\t\t\t);\n\t\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\t\tcolors,\n\t\t\t\tmainColor\n\t\t\t);\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: colorObject.color,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses =\n\t\t\ttextColor || customTextColor\n\t\t\t\t? classnames( 'has-text-color', {\n\t\t\t\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t\t\t } )\n\t\t\t\t: undefined;\n\t\tconst blockquoteStyle = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\t\treturn (\n\t\t\t<figure className={ figureClass } style={ figureStyles }>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyle }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = includes( className, SOLID_COLOR_CLASS );\n\t\tlet style = {};\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { value, citation } = attributes;\n\t\treturn (\n\t\t\t<blockquote>\n\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v0 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'footer',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\n\tsave( { attributes } ) {\n\t\tconst { value, citation, align } = attributes;\n\n\t\treturn (\n\t\t\t<blockquote className={ `align${ align }` }>\n\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"footer\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v5, v4, v3, v2, v1, v0 ];\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/pullquote/deprecated.js"],"names":["blockAttributes","value","type","source","selector","multiline","citation","default","mainColor","customMainColor","textColor","customTextColor","parseBorderColor","styleString","matches","match","multilineToInline","html","multilineTag","RegExp","__UNSTABLE_LINE_SEPARATOR","v5","attributes","__experimentalRole","textAlign","save","shouldShowCitation","RichText","isEmpty","useBlockProps","className","migrate","v4","isSolidColorStyle","includes","SOLID_COLOR_CLASS","figureClasses","figureStyles","backgroundClass","backgroundColor","undefined","borderColor","blockquoteTextColorClass","blockquoteClasses","blockquoteStyles","color","style","border","background","text","v3","figureStyle","attribute","v2","figureClass","colors","blockEditorStore","getSettings","colorObject","blockquoteStyle","v1","v0","align"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetColorClassName,\n\tgetColorObjectByAttributeValues,\n\tRichText,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { select } from '@wordpress/data';\nimport {\n\tcreate,\n\treplace,\n\ttoHTMLString,\n\t__UNSTABLE_LINE_SEPARATOR,\n} from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { SOLID_COLOR_CLASS } from './shared';\n\nconst blockAttributes = {\n\tvalue: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'blockquote',\n\t\tmultiline: 'p',\n\t},\n\tcitation: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'cite',\n\t\tdefault: '',\n\t},\n\tmainColor: {\n\t\ttype: 'string',\n\t},\n\tcustomMainColor: {\n\t\ttype: 'string',\n\t},\n\ttextColor: {\n\t\ttype: 'string',\n\t},\n\tcustomTextColor: {\n\t\ttype: 'string',\n\t},\n};\n\nfunction parseBorderColor( styleString ) {\n\tif ( ! styleString ) {\n\t\treturn;\n\t}\n\tconst matches = styleString.match( /border-color:([^;]+)[;]?/ );\n\tif ( matches && matches[ 1 ] ) {\n\t\treturn matches[ 1 ];\n\t}\n}\n\nfunction multilineToInline( value ) {\n\treturn toHTMLString( {\n\t\tvalue: replace(\n\t\t\tcreate( { html: value, multilineTag: 'p' } ),\n\t\t\tnew RegExp( __UNSTABLE_LINE_SEPARATOR, 'g' ),\n\t\t\t'\\n'\n\t\t),\n\t} );\n}\n\nconst v5 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { textAlign, citation, value } = attributes;\n\t\tconst shouldShowCitation = ! RichText.isEmpty( citation );\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\tclassName: classnames( {\n\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<blockquote>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ shouldShowCitation && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\n// TODO: this is ripe for a bit of a clean up according to the example in https://developer.wordpress.org/block-editor/reference-guides/block-api/block-deprecation/#example\n\nconst v4 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\tcustomTextColor,\n\t\t\ttextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t} = attributes;\n\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\n\t\tlet figureClasses, figureStyles;\n\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tmainColor\n\t\t\t);\n\n\t\t\tfigureClasses = classnames( {\n\t\t\t\t'has-background': backgroundClass || customMainColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tfigureStyles = {\n\t\t\t\tbackgroundColor: backgroundClass ? undefined : customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses = classnames( {\n\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t} );\n\n\t\tconst blockquoteStyles = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\tclassName: figureClasses,\n\t\t\t\t\tstyle: figureStyles,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyles }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\t\tlet style;\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v3 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\t// figureStyle is an attribute that never existed.\n\t\t// We are using it as a way to access the styles previously applied to the figure.\n\t\tfigureStyle: {\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure',\n\t\t\tattribute: 'style',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\ttextColor,\n\t\t\tcustomTextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t\tfigureStyle,\n\t\t} = attributes;\n\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\n\t\tlet figureClasses, figureStyles;\n\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tmainColor\n\t\t\t);\n\n\t\t\tfigureClasses = classnames( {\n\t\t\t\t'has-background': backgroundClass || customMainColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tfigureStyles = {\n\t\t\t\tbackgroundColor: backgroundClass ? undefined : customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t\t// If normal style and a named color are being used, we need to retrieve the color value to set the style,\n\t\t\t// as there is no expectation that themes create classes that set border colors.\n\t\t} else if ( mainColor ) {\n\t\t\t// Previously here we queried the color settings to know the color value\n\t\t\t// of a named color. This made the save function impure and the block was refactored,\n\t\t\t// because meanwhile a change in the editor made it impossible to query color settings in the save function.\n\t\t\t// Here instead of querying the color settings to know the color value, we retrieve the value\n\t\t\t// directly from the style previously serialized.\n\t\t\tconst borderColor = parseBorderColor( figureStyle );\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses =\n\t\t\t( textColor || customTextColor ) &&\n\t\t\tclassnames( 'has-text-color', {\n\t\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t\t} );\n\n\t\tconst blockquoteStyles = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\n\t\treturn (\n\t\t\t<figure className={ figureClasses } style={ figureStyles }>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyles }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tfigureStyle,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\t\tlet style;\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\t\t// If is the default style, and a main color is set,\n\t\t// migrate the main color value into a custom border color.\n\t\t// The custom border color value is retrieved by parsing the figure styles.\n\t\tif ( ! isSolidColorStyle && mainColor && figureStyle ) {\n\t\t\tconst borderColor = parseBorderColor( figureStyle );\n\t\t\tif ( borderColor ) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: multilineToInline( value ),\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName,\n\t\t\t\t\t// Block supports: Set style.border.color if a deprecated block has `mainColor`, inline border CSS and is not a solid color style.\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tborder: {\n\t\t\t\t\t\t\tcolor: borderColor,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v2 = {\n\tattributes: blockAttributes,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\ttextColor,\n\t\t\tcustomTextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t} = attributes;\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\n\t\tlet figureClass, figureStyles;\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tfigureClass = getColorClassName( 'background-color', mainColor );\n\t\t\tif ( ! figureClass ) {\n\t\t\t\tfigureStyles = {\n\t\t\t\t\tbackgroundColor: customMainColor,\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a named color is being used, we need to retrieve the color value to set the style,\n\t\t\t// as there is no expectation that themes create classes that set border colors.\n\t\t} else if ( mainColor ) {\n\t\t\tconst colors = get(\n\t\t\t\tselect( blockEditorStore ).getSettings(),\n\t\t\t\t[ 'colors' ],\n\t\t\t\t[]\n\t\t\t);\n\t\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\t\tcolors,\n\t\t\t\tmainColor\n\t\t\t);\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: colorObject.color,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses =\n\t\t\ttextColor || customTextColor\n\t\t\t\t? classnames( 'has-text-color', {\n\t\t\t\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t\t\t } )\n\t\t\t\t: undefined;\n\t\tconst blockquoteStyle = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\t\treturn (\n\t\t\t<figure className={ figureClass } style={ figureStyles }>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyle }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\t\tlet style = {};\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { value, citation } = attributes;\n\t\treturn (\n\t\t\t<blockquote>\n\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v0 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'footer',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\n\tsave( { attributes } ) {\n\t\tconst { value, citation, align } = attributes;\n\n\t\treturn (\n\t\t\t<blockquote className={ `align${ align }` }>\n\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"footer\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v5, v4, v3, v2, v1, v0 ];\n"]}
|
|
@@ -62,7 +62,7 @@ function QueryInspectorControls(_ref) {
|
|
|
62
62
|
postTypesTaxonomiesMap,
|
|
63
63
|
postTypesSelectOptions
|
|
64
64
|
} = (0, _utils.usePostTypes)();
|
|
65
|
-
const
|
|
65
|
+
const taxonomies = (0, _utils.useTaxonomies)(postType);
|
|
66
66
|
const isPostTypeHierarchical = (0, _utils.useIsPostTypeHierarchical)(postType);
|
|
67
67
|
(0, _element.useEffect)(() => {
|
|
68
68
|
setShowSticky(postType === 'post');
|
|
@@ -160,7 +160,7 @@ function QueryInspectorControls(_ref) {
|
|
|
160
160
|
});
|
|
161
161
|
setQuerySearch('');
|
|
162
162
|
}
|
|
163
|
-
}, !!(
|
|
163
|
+
}, !!(taxonomies !== null && taxonomies !== void 0 && taxonomies.length) && (0, _utils.isControlAllowed)(allowedControls, 'taxQuery') && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
|
|
164
164
|
label: (0, _i18n.__)('Taxonomies'),
|
|
165
165
|
hasValue: () => Object.values(taxQuery || {}).some(terms => !!terms.length),
|
|
166
166
|
onDeselect: () => setQuery({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["QueryInspectorControls","attributes","setQuery","setDisplayLayout","query","displayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","parents","allowedControls","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","taxonomiesInfo","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","showInheritControl","showPostTypeControl","showColumnsControl","type","showOrderControl","showStickyControl","showSettingsPanel","value","columns","Math","max","values","some"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls, useTaxonomiesInfo } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n} from '../../utils';\n\nexport default function QueryInspectorControls( {\n\tattributes,\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst { query, displayLayout } = attributes;\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 allowedControls = useAllowedControls( attributes );\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomiesInfo = useTaxonomiesInfo( postType );\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\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst showColumnsControl = displayLayout?.type === 'flex';\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\treturn (\n\t\t<>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ showInheritControl && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\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\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { inherit: !! value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showPostTypeControl && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\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\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\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\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showOrderControl && (\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: value } )\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</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ !! taxonomiesInfo?.length &&\n\t\t\t\t\t\t\tisControlAllowed( allowedControls, 'taxQuery' ) && (\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isControlAllowed( allowedControls, 'author' ) && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isControlAllowed( allowedControls, 'search' ) && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isPostTypeHierarchical &&\n\t\t\t\t\t\t\tisControlAllowed( allowedControls, 'parents' ) && (\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetQuery( { parents: [] } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["QueryInspectorControls","attributes","setQuery","setDisplayLayout","query","displayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","parents","allowedControls","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","taxonomies","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","showInheritControl","showPostTypeControl","showColumnsControl","type","showOrderControl","showStickyControl","showSettingsPanel","value","columns","Math","max","values","some"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\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 {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n} from '../../utils';\n\nexport default function QueryInspectorControls( {\n\tattributes,\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst { query, displayLayout } = attributes;\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 allowedControls = useAllowedControls( attributes );\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\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\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst showColumnsControl = displayLayout?.type === 'flex';\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\treturn (\n\t\t<>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ showInheritControl && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\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\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { inherit: !! value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showPostTypeControl && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\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\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\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\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showOrderControl && (\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: value } )\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</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ !! taxonomies?.length &&\n\t\t\t\t\t\t\tisControlAllowed( allowedControls, 'taxQuery' ) && (\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isControlAllowed( allowedControls, 'author' ) && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isControlAllowed( allowedControls, 'search' ) && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isPostTypeHierarchical &&\n\t\t\t\t\t\t\tisControlAllowed( allowedControls, 'parents' ) && (\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetQuery( { parents: [] } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.TaxonomyControls = TaxonomyControls;
|
|
7
|
-
exports.useTaxonomiesInfo = void 0;
|
|
8
7
|
|
|
9
8
|
var _element = require("@wordpress/element");
|
|
10
9
|
|
|
@@ -26,12 +25,15 @@ var _constants = require("../../constants");
|
|
|
26
25
|
* Internal dependencies
|
|
27
26
|
*/
|
|
28
27
|
// Helper function to get the term id based on user input in terms `FormTokenField`.
|
|
29
|
-
const getTermIdByTermValue = (
|
|
30
|
-
var
|
|
28
|
+
const getTermIdByTermValue = (terms, termValue) => {
|
|
29
|
+
var _terms$find, _terms$find2;
|
|
31
30
|
|
|
32
31
|
// First we check for exact match by `term.id` or case sensitive `term.name` match.
|
|
33
|
-
const termId = (termValue === null || termValue === void 0 ? void 0 : termValue.id) || ((
|
|
34
|
-
|
|
32
|
+
const termId = (termValue === null || termValue === void 0 ? void 0 : termValue.id) || ((_terms$find = terms.find(term => term.name === termValue)) === null || _terms$find === void 0 ? void 0 : _terms$find.id);
|
|
33
|
+
|
|
34
|
+
if (termId) {
|
|
35
|
+
return termId;
|
|
36
|
+
}
|
|
35
37
|
/**
|
|
36
38
|
* Here we make an extra check for entered terms in a non case sensitive way,
|
|
37
39
|
* to match user expectations, due to `FormTokenField` behaviour that shows
|
|
@@ -42,126 +44,99 @@ const getTermIdByTermValue = (termsMappedByName, termValue) => {
|
|
|
42
44
|
* In this edge case we always apply the first match from the terms list.
|
|
43
45
|
*/
|
|
44
46
|
|
|
45
|
-
const termValueLower = termValue.toLocaleLowerCase();
|
|
46
47
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return termsMappedByName[term].id;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
48
|
+
const termValueLower = termValue.toLocaleLowerCase();
|
|
49
|
+
return (_terms$find2 = terms.find(term => term.name.toLocaleLowerCase() === termValueLower)) === null || _terms$find2 === void 0 ? void 0 : _terms$find2.id;
|
|
52
50
|
};
|
|
53
51
|
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const {
|
|
58
|
-
getEntityRecords
|
|
59
|
-
} = select(_coreData.store);
|
|
60
|
-
const termsQuery = {
|
|
52
|
+
const useTaxonomyTerms = slug => {
|
|
53
|
+
return (0, _data.useSelect)(select => {
|
|
54
|
+
const terms = select(_coreData.store).getEntityRecords('taxonomy', slug, {
|
|
61
55
|
context: 'view',
|
|
62
56
|
per_page: _constants.MAX_FETCHED_TERMS
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
const _taxonomiesInfo = taxonomies === null || taxonomies === void 0 ? void 0 : taxonomies.map(_ref => {
|
|
66
|
-
let {
|
|
67
|
-
slug,
|
|
68
|
-
name
|
|
69
|
-
} = _ref;
|
|
70
|
-
|
|
71
|
-
const _terms = getEntityRecords('taxonomy', slug, termsQuery);
|
|
72
|
-
|
|
73
|
-
return {
|
|
74
|
-
slug,
|
|
75
|
-
name,
|
|
76
|
-
terms: (0, _utils.getEntitiesInfo)(_terms)
|
|
77
|
-
};
|
|
78
57
|
});
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
58
|
+
return {
|
|
59
|
+
terms
|
|
60
|
+
};
|
|
61
|
+
}, [slug]);
|
|
83
62
|
};
|
|
84
63
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
function TaxonomyControls(_ref2) {
|
|
64
|
+
function TaxonomyControls(_ref) {
|
|
88
65
|
let {
|
|
89
66
|
onChange,
|
|
90
67
|
query
|
|
91
|
-
} =
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
slug
|
|
98
|
-
} = _ref3;
|
|
99
|
-
return slug === taxonomySlug;
|
|
100
|
-
});
|
|
101
|
-
if (!taxonomyInfo) return;
|
|
102
|
-
const termIds = Array.from(newTermValues.reduce((accumulator, termValue) => {
|
|
103
|
-
const termId = getTermIdByTermValue(taxonomyInfo.terms.mapByName, termValue);
|
|
104
|
-
if (termId) accumulator.add(termId);
|
|
105
|
-
return accumulator;
|
|
106
|
-
}, new Set()));
|
|
107
|
-
const newTaxQuery = { ...query.taxQuery,
|
|
108
|
-
[taxonomySlug]: termIds
|
|
109
|
-
};
|
|
110
|
-
onChange({
|
|
111
|
-
taxQuery: newTaxQuery
|
|
112
|
-
});
|
|
113
|
-
}; // Returns only the existing term ids in proper format to be
|
|
114
|
-
// used in `FormTokenField`. This prevents the component from
|
|
115
|
-
// crashing in the editor, when non existing term ids were provided.
|
|
68
|
+
} = _ref;
|
|
69
|
+
const {
|
|
70
|
+
postType,
|
|
71
|
+
taxQuery
|
|
72
|
+
} = query;
|
|
73
|
+
const taxonomies = (0, _utils.useTaxonomies)(postType);
|
|
116
74
|
|
|
75
|
+
if (!taxonomies || taxonomies.length === 0) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
117
78
|
|
|
118
|
-
|
|
119
|
-
|
|
79
|
+
return (0, _element.createElement)(_element.Fragment, null, taxonomies.map(taxonomy => {
|
|
80
|
+
const value = (taxQuery === null || taxQuery === void 0 ? void 0 : taxQuery[taxonomy.slug]) || [];
|
|
120
81
|
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
slug
|
|
124
|
-
} = _ref4;
|
|
125
|
-
return slug === taxonomySlug;
|
|
126
|
-
});
|
|
127
|
-
if (!taxonomyInfo) return [];
|
|
128
|
-
return (((_query$taxQuery = query.taxQuery) === null || _query$taxQuery === void 0 ? void 0 : _query$taxQuery[taxonomySlug]) || []).reduce((accumulator, termId) => {
|
|
129
|
-
const term = taxonomyInfo.terms.mapById[termId];
|
|
130
|
-
|
|
131
|
-
if (term) {
|
|
132
|
-
accumulator.push({
|
|
133
|
-
id: termId,
|
|
134
|
-
value: term.name
|
|
135
|
-
});
|
|
82
|
+
const handleChange = newTermIds => onChange({
|
|
83
|
+
taxQuery: { ...taxQuery,
|
|
84
|
+
[taxonomy.slug]: newTermIds
|
|
136
85
|
}
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
return (0, _element.createElement)(TaxonomyItem, {
|
|
89
|
+
key: taxonomy.slug,
|
|
90
|
+
taxonomy: taxonomy,
|
|
91
|
+
value: value,
|
|
92
|
+
onChange: handleChange
|
|
93
|
+
});
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function TaxonomyItem(_ref2) {
|
|
98
|
+
let {
|
|
99
|
+
taxonomy,
|
|
100
|
+
value,
|
|
101
|
+
onChange
|
|
102
|
+
} = _ref2;
|
|
103
|
+
const {
|
|
104
|
+
terms
|
|
105
|
+
} = useTaxonomyTerms(taxonomy.slug);
|
|
137
106
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
107
|
+
if (!(terms !== null && terms !== void 0 && terms.length)) {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
141
110
|
|
|
142
|
-
|
|
143
|
-
|
|
111
|
+
const onTermsChange = newTermValues => {
|
|
112
|
+
const termIds = new Set();
|
|
144
113
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
name,
|
|
148
|
-
terms
|
|
149
|
-
} = _ref5;
|
|
114
|
+
for (const termValue of newTermValues) {
|
|
115
|
+
const termId = getTermIdByTermValue(terms, termValue);
|
|
150
116
|
|
|
151
|
-
|
|
152
|
-
|
|
117
|
+
if (termId) {
|
|
118
|
+
termIds.add(termId);
|
|
119
|
+
}
|
|
153
120
|
}
|
|
154
121
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
122
|
+
onChange(Array.from(termIds));
|
|
123
|
+
}; // Selects only the existing term ids in proper format to be
|
|
124
|
+
// used in `FormTokenField`. This prevents the component from
|
|
125
|
+
// crashing in the editor, when non existing term ids were provided.
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
const taxQueryValue = value.map(termId => terms.find(t => t.id === termId)).filter(Boolean).map(term => ({
|
|
129
|
+
id: term.id,
|
|
130
|
+
value: term.name
|
|
131
|
+
}));
|
|
132
|
+
return (0, _element.createElement)("div", {
|
|
133
|
+
className: "block-library-query-inspector__taxonomy-control"
|
|
134
|
+
}, (0, _element.createElement)(_components.FormTokenField, {
|
|
135
|
+
label: taxonomy.name,
|
|
136
|
+
value: taxQueryValue,
|
|
137
|
+
suggestions: terms.map(t => t.name),
|
|
138
|
+
onChange: onTermsChange,
|
|
139
|
+
__experimentalShowHowTo: false
|
|
165
140
|
}));
|
|
166
141
|
}
|
|
167
142
|
//# sourceMappingURL=taxonomy-controls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"names":["getTermIdByTermValue","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"names":["getTermIdByTermValue","terms","termValue","termId","id","find","term","name","termValueLower","toLocaleLowerCase","useTaxonomyTerms","slug","select","coreStore","getEntityRecords","context","per_page","MAX_FETCHED_TERMS","TaxonomyControls","onChange","query","postType","taxQuery","taxonomies","length","map","taxonomy","value","handleChange","newTermIds","TaxonomyItem","onTermsChange","newTermValues","termIds","Set","add","Array","from","taxQueryValue","t","filter","Boolean"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useTaxonomies } from '../../utils';\nimport { MAX_FETCHED_TERMS } from '../../constants';\n\n// Helper function to get the term id based on user input in terms `FormTokenField`.\nconst getTermIdByTermValue = ( terms, termValue ) => {\n\t// First we check for exact match by `term.id` or case sensitive `term.name` match.\n\tconst termId =\n\t\ttermValue?.id || terms.find( ( term ) => term.name === termValue )?.id;\n\tif ( termId ) {\n\t\treturn termId;\n\t}\n\n\t/**\n\t * Here we make an extra check for entered terms in a non case sensitive way,\n\t * to match user expectations, due to `FormTokenField` behaviour that shows\n\t * suggestions which are case insensitive.\n\t *\n\t * Although WP tries to discourage users to add terms with the same name (case insensitive),\n\t * it's still possible if you manually change the name, as long as the terms have different slugs.\n\t * In this edge case we always apply the first match from the terms list.\n\t */\n\tconst termValueLower = termValue.toLocaleLowerCase();\n\treturn terms.find(\n\t\t( term ) => term.name.toLocaleLowerCase() === termValueLower\n\t)?.id;\n};\n\nconst useTaxonomyTerms = ( slug ) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst terms = select( coreStore ).getEntityRecords(\n\t\t\t\t'taxonomy',\n\t\t\t\tslug,\n\t\t\t\t{ context: 'view', per_page: MAX_FETCHED_TERMS }\n\t\t\t);\n\t\t\treturn { terms };\n\t\t},\n\t\t[ slug ]\n\t);\n};\n\nexport function TaxonomyControls( { onChange, query } ) {\n\tconst { postType, taxQuery } = query;\n\n\tconst taxonomies = useTaxonomies( postType );\n\tif ( ! taxonomies || taxonomies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ taxonomies.map( ( taxonomy ) => {\n\t\t\t\tconst value = taxQuery?.[ taxonomy.slug ] || [];\n\t\t\t\tconst handleChange = ( newTermIds ) =>\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\ttaxQuery: {\n\t\t\t\t\t\t\t...taxQuery,\n\t\t\t\t\t\t\t[ taxonomy.slug ]: newTermIds,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\treturn (\n\t\t\t\t\t<TaxonomyItem\n\t\t\t\t\t\tkey={ taxonomy.slug }\n\t\t\t\t\t\ttaxonomy={ taxonomy }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\nfunction TaxonomyItem( { taxonomy, value, onChange } ) {\n\tconst { terms } = useTaxonomyTerms( taxonomy.slug );\n\tif ( ! terms?.length ) {\n\t\treturn null;\n\t}\n\n\tconst onTermsChange = ( newTermValues ) => {\n\t\tconst termIds = new Set();\n\t\tfor ( const termValue of newTermValues ) {\n\t\t\tconst termId = getTermIdByTermValue( terms, termValue );\n\t\t\tif ( termId ) {\n\t\t\t\ttermIds.add( termId );\n\t\t\t}\n\t\t}\n\n\t\tonChange( Array.from( termIds ) );\n\t};\n\n\t// Selects only the existing term ids in proper format to be\n\t// used in `FormTokenField`. This prevents the component from\n\t// crashing in the editor, when non existing term ids were provided.\n\tconst taxQueryValue = value\n\t\t.map( ( termId ) => terms.find( ( t ) => t.id === termId ) )\n\t\t.filter( Boolean )\n\t\t.map( ( term ) => ( { id: term.id, value: term.name } ) );\n\n\treturn (\n\t\t<div className=\"block-library-query-inspector__taxonomy-control\">\n\t\t\t<FormTokenField\n\t\t\t\tlabel={ taxonomy.name }\n\t\t\t\tvalue={ taxQueryValue }\n\t\t\t\tsuggestions={ terms.map( ( t ) => t.name ) }\n\t\t\t\tonChange={ onTermsChange }\n\t\t\t\t__experimentalShowHowTo={ false }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
|
package/build/search/edit.js
CHANGED
|
@@ -100,7 +100,8 @@ function SearchEdit(_ref) {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
const colorProps = (0, _blockEditor.__experimentalUseColorProps)(attributes);
|
|
103
|
-
const
|
|
103
|
+
const fluidTypographyEnabled = (0, _blockEditor.useSetting)('typography.fluid');
|
|
104
|
+
const typographyProps = (0, _blockEditor.getTypographyClassesAndStyles)(attributes, fluidTypographyEnabled);
|
|
104
105
|
const unitControlInstanceId = (0, _compose.useInstanceId)(_components.__experimentalUnitControl);
|
|
105
106
|
const unitControlInputId = `wp-block-search__width-${unitControlInstanceId}`;
|
|
106
107
|
const isButtonPositionInside = 'button-inside' === buttonPosition;
|
|
@@ -274,9 +275,7 @@ function SearchEdit(_ref) {
|
|
|
274
275
|
widthUnit: newUnit
|
|
275
276
|
});
|
|
276
277
|
},
|
|
277
|
-
|
|
278
|
-
maxWidth: 80
|
|
279
|
-
},
|
|
278
|
+
__unstableInputWidth: '80px',
|
|
280
279
|
value: `${width}${widthUnit}`,
|
|
281
280
|
units: units
|
|
282
281
|
}), (0, _element.createElement)(_components.ButtonGroup, {
|