@wordpress/block-library 9.3.0 → 9.5.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 +8 -0
- package/build/avatar/edit.js +1 -0
- package/build/avatar/edit.js.map +1 -1
- package/build/block/edit.js +38 -23
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +1 -1
- package/build/button/edit.js.map +1 -1
- package/build/buttons/index.js +26 -0
- package/build/buttons/index.js.map +1 -1
- package/build/categories/edit.js +20 -3
- package/build/categories/edit.js.map +1 -1
- package/build/categories/index.js +20 -0
- package/build/categories/index.js.map +1 -1
- package/build/column/edit.js +2 -2
- package/build/column/edit.js.map +1 -1
- package/build/column/index.js +2 -0
- package/build/column/index.js.map +1 -1
- package/build/columns/index.js +2 -2
- package/build/columns/index.js.map +1 -1
- package/build/comment-template/index.js +12 -0
- package/build/comment-template/index.js.map +1 -1
- package/build/comments-title/deprecated.js +3 -0
- package/build/comments-title/deprecated.js.map +1 -1
- package/build/comments-title/edit.js +3 -1
- package/build/comments-title/edit.js.map +1 -1
- package/build/comments-title/index.js +3 -0
- package/build/comments-title/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +2 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/details/edit.js +1 -0
- package/build/details/edit.js.map +1 -1
- package/build/embed/variations.js +39 -34
- package/build/embed/variations.js.map +1 -1
- package/build/footnotes/index.js +1 -1
- package/build/footnotes/index.js.map +1 -1
- package/build/form/edit.js +4 -4
- package/build/form/edit.js.map +1 -1
- package/build/form-input/edit.js +3 -0
- package/build/form-input/edit.js.map +1 -1
- package/build/gallery/edit.js +42 -8
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gap-styles.js +1 -9
- package/build/gallery/gap-styles.js.map +1 -1
- package/build/gallery/index.js +10 -0
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/use-image-sizes.js +2 -2
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/group/deprecated.js +2 -5
- package/build/group/deprecated.js.map +1 -1
- package/build/group/index.js +27 -30
- package/build/group/index.js.map +1 -1
- package/build/group/variations.js +51 -3
- package/build/group/variations.js.map +1 -1
- package/build/heading/edit.js +2 -0
- package/build/heading/edit.js.map +1 -1
- package/build/heading/index.js +17 -1
- package/build/heading/index.js.map +1 -1
- package/build/image/edit.js +1 -1
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +24 -11
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +3 -0
- package/build/image/index.js.map +1 -1
- package/build/image/view.js +65 -49
- package/build/image/view.js.map +1 -1
- package/build/latest-comments/index.js +9 -0
- package/build/latest-comments/index.js.map +1 -1
- package/build/latest-posts/edit.js +1 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/edit.js +3 -3
- package/build/list/edit.js.map +1 -1
- package/build/list/index.js +1 -1
- package/build/list/ordered-list-settings.js +19 -17
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list-item/edit.js +2 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/index.js +0 -7
- package/build/list-item/hooks/index.js.map +1 -1
- package/build/list-item/index.js +3 -2
- package/build/list-item/index.js.map +1 -1
- package/build/loginout/index.js +14 -1
- package/build/loginout/index.js.map +1 -1
- package/build/media-text/index.js +12 -0
- package/build/media-text/index.js.map +1 -1
- package/build/navigation/edit/index.js +5 -4
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +1 -0
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +5 -1
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/link-ui.js +13 -17
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-submenu/edit.js +0 -11
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +1 -0
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list-item/edit.js +4 -1
- package/build/page-list-item/edit.js.map +1 -1
- package/build/paragraph/index.js +6 -0
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +6 -0
- package/build/paragraph/transforms.js.map +1 -1
- package/build/post-author/index.js +8 -0
- package/build/post-author/index.js.map +1 -1
- package/build/post-author-biography/index.js +3 -0
- package/build/post-author-biography/index.js.map +1 -1
- package/build/post-author-name/index.js +3 -0
- package/build/post-author-name/index.js.map +1 -1
- package/build/post-comments-form/index.js +12 -0
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-content/index.js +1 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-date/index.js +15 -0
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-excerpt/index.js +12 -0
- package/build/post-excerpt/index.js.map +1 -1
- package/build/post-featured-image/index.js +3 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +2 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/index.js +15 -0
- package/build/post-terms/index.js.map +1 -1
- package/build/post-time-to-read/index.js +6 -0
- package/build/post-time-to-read/index.js.map +1 -1
- package/build/post-title/edit.js +9 -3
- package/build/post-title/edit.js.map +1 -1
- package/build/post-title/index.js +15 -0
- package/build/post-title/index.js.map +1 -1
- package/build/query/edit/inspector-controls/author-control.js +3 -1
- package/build/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +90 -12
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/offset-controls.js +37 -0
- package/build/query/edit/inspector-controls/offset-controls.js.map +1 -0
- package/build/query/edit/inspector-controls/order-control.js +1 -0
- package/build/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build/query/edit/inspector-controls/pages-control.js +36 -0
- package/build/query/edit/inspector-controls/pages-control.js.map +1 -0
- package/build/query/edit/inspector-controls/parent-control.js +2 -1
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build/query/edit/inspector-controls/per-page-control.js +40 -0
- package/build/query/edit/inspector-controls/per-page-control.js.map +1 -0
- package/build/query/edit/inspector-controls/sticky-control.js +2 -1
- package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +5 -2
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/edit/query-content.js +11 -2
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +1 -14
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/edit/query-toolbar.js +3 -76
- package/build/query/edit/query-toolbar.js.map +1 -1
- package/build/query/utils.js +15 -6
- package/build/query/utils.js.map +1 -1
- package/build/query/variations.js +9 -55
- package/build/query/variations.js.map +1 -1
- package/build/query-pagination-numbers/edit.js +1 -0
- package/build/query-pagination-numbers/edit.js.map +1 -1
- package/build/query-title/edit.js +13 -19
- package/build/query-title/edit.js.map +1 -1
- package/build/query-title/index.js +3 -0
- package/build/query-title/index.js.map +1 -1
- package/build/query-title/use-archive-label.js +95 -0
- package/build/query-title/use-archive-label.js.map +1 -0
- package/build/quote/index.js +15 -1
- package/build/quote/index.js.map +1 -1
- package/build/search/index.js +3 -0
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +19 -9
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-tagline/edit.js +8 -5
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-tagline/index.js +18 -2
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/edit.js +6 -3
- package/build/site-title/edit.js.map +1 -1
- package/build/site-title/index.js +16 -1
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/edit.js +0 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/icons/soundcloud.js +1 -1
- package/build/social-link/icons/soundcloud.js.map +1 -1
- package/build/social-links/index.js +12 -0
- package/build/social-links/index.js.map +1 -1
- package/build/spacer/controls.js +8 -13
- package/build/spacer/controls.js.map +1 -1
- package/build/table-of-contents/index.js +14 -1
- package/build/table-of-contents/index.js.map +1 -1
- package/build/tag-cloud/edit.js +42 -33
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/tag-cloud/index.js +1 -1
- package/build/template-part/edit/index.js +8 -5
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/inner-blocks.js +11 -4
- package/build/template-part/edit/inner-blocks.js.map +1 -1
- package/build/template-part/edit/placeholder.js +23 -3
- package/build/template-part/edit/placeholder.js.map +1 -1
- package/build/template-part/edit/title-modal.js +20 -8
- package/build/template-part/edit/title-modal.js.map +1 -1
- package/build/term-description/index.js +12 -0
- package/build/term-description/index.js.map +1 -1
- package/build/utils/hooks.js +5 -1
- package/build/utils/hooks.js.map +1 -1
- package/build-module/avatar/edit.js +1 -0
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/block/edit.js +38 -23
- package/build-module/block/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/index.js +26 -0
- package/build-module/buttons/index.js.map +1 -1
- package/build-module/categories/edit.js +21 -4
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/categories/index.js +20 -0
- package/build-module/categories/index.js.map +1 -1
- package/build-module/column/edit.js +2 -2
- package/build-module/column/edit.js.map +1 -1
- package/build-module/column/index.js +2 -0
- package/build-module/column/index.js.map +1 -1
- package/build-module/columns/index.js +2 -2
- package/build-module/columns/index.js.map +1 -1
- package/build-module/comment-template/index.js +12 -0
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/comments-title/deprecated.js +3 -0
- package/build-module/comments-title/deprecated.js.map +1 -1
- package/build-module/comments-title/edit.js +3 -1
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/comments-title/index.js +3 -0
- package/build-module/comments-title/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +2 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/details/edit.js +1 -0
- package/build-module/details/edit.js.map +1 -1
- package/build-module/embed/variations.js +40 -35
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/footnotes/index.js +1 -1
- package/build-module/footnotes/index.js.map +1 -1
- package/build-module/form/edit.js +4 -4
- package/build-module/form/edit.js.map +1 -1
- package/build-module/form-input/edit.js +3 -0
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/gallery/edit.js +43 -9
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gap-styles.js +1 -9
- package/build-module/gallery/gap-styles.js.map +1 -1
- package/build-module/gallery/index.js +10 -0
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +2 -2
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/group/deprecated.js +2 -5
- package/build-module/group/deprecated.js.map +1 -1
- package/build-module/group/index.js +27 -30
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/variations.js +51 -3
- package/build-module/group/variations.js.map +1 -1
- package/build-module/heading/edit.js +2 -0
- package/build-module/heading/edit.js.map +1 -1
- package/build-module/heading/index.js +17 -1
- package/build-module/heading/index.js.map +1 -1
- package/build-module/image/edit.js +1 -1
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +25 -12
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +3 -0
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/view.js +65 -49
- package/build-module/image/view.js.map +1 -1
- package/build-module/latest-comments/index.js +9 -0
- package/build-module/latest-comments/index.js.map +1 -1
- package/build-module/latest-posts/edit.js +1 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/edit.js +3 -3
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list/index.js +1 -1
- package/build-module/list/ordered-list-settings.js +19 -17
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list-item/edit.js +2 -2
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/index.js +0 -1
- package/build-module/list-item/hooks/index.js.map +1 -1
- package/build-module/list-item/index.js +3 -2
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/loginout/index.js +14 -1
- package/build-module/loginout/index.js.map +1 -1
- package/build-module/media-text/index.js +12 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/navigation/edit/index.js +5 -4
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -0
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +5 -1
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +13 -17
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +0 -11
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +1 -0
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list-item/edit.js +4 -1
- package/build-module/page-list-item/edit.js.map +1 -1
- package/build-module/paragraph/index.js +6 -0
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +6 -0
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/post-author/index.js +8 -0
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-author-biography/index.js +3 -0
- package/build-module/post-author-biography/index.js.map +1 -1
- package/build-module/post-author-name/index.js +3 -0
- package/build-module/post-author-name/index.js.map +1 -1
- package/build-module/post-comments-form/index.js +12 -0
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-content/index.js +1 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-date/index.js +15 -0
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-excerpt/index.js +12 -0
- package/build-module/post-excerpt/index.js.map +1 -1
- package/build-module/post-featured-image/index.js +3 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +2 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/index.js +15 -0
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-time-to-read/index.js +6 -0
- package/build-module/post-time-to-read/index.js.map +1 -1
- package/build-module/post-title/edit.js +9 -3
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/post-title/index.js +15 -0
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js +3 -1
- package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +92 -14
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/offset-controls.js +29 -0
- package/build-module/query/edit/inspector-controls/offset-controls.js.map +1 -0
- package/build-module/query/edit/inspector-controls/order-control.js +1 -0
- package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/pages-control.js +28 -0
- package/build-module/query/edit/inspector-controls/pages-control.js.map +1 -0
- package/build-module/query/edit/inspector-controls/parent-control.js +2 -1
- package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/per-page-control.js +33 -0
- package/build-module/query/edit/inspector-controls/per-page-control.js.map +1 -0
- package/build-module/query/edit/inspector-controls/sticky-control.js +2 -1
- package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +6 -4
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/edit/query-content.js +11 -2
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +1 -14
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/edit/query-toolbar.js +4 -78
- package/build-module/query/edit/query-toolbar.js.map +1 -1
- package/build-module/query/utils.js +15 -6
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query/variations.js +4 -50
- package/build-module/query/variations.js.map +1 -1
- package/build-module/query-pagination-numbers/edit.js +1 -0
- package/build-module/query-pagination-numbers/edit.js.map +1 -1
- package/build-module/query-title/edit.js +14 -20
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/query-title/index.js +3 -0
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/query-title/use-archive-label.js +88 -0
- package/build-module/query-title/use-archive-label.js.map +1 -0
- package/build-module/quote/index.js +15 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/search/index.js +3 -0
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +19 -9
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-tagline/edit.js +8 -5
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +18 -2
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/edit.js +6 -3
- package/build-module/site-title/edit.js.map +1 -1
- package/build-module/site-title/index.js +16 -1
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/edit.js +0 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/icons/soundcloud.js +1 -1
- package/build-module/social-link/icons/soundcloud.js.map +1 -1
- package/build-module/social-links/index.js +12 -0
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/spacer/controls.js +9 -14
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/table-of-contents/index.js +14 -1
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/tag-cloud/edit.js +43 -34
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/tag-cloud/index.js +1 -1
- package/build-module/template-part/edit/index.js +8 -5
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/inner-blocks.js +11 -4
- package/build-module/template-part/edit/inner-blocks.js.map +1 -1
- package/build-module/template-part/edit/placeholder.js +23 -3
- package/build-module/template-part/edit/placeholder.js.map +1 -1
- package/build-module/template-part/edit/title-modal.js +20 -8
- package/build-module/template-part/edit/title-modal.js.map +1 -1
- package/build-module/term-description/index.js +12 -0
- package/build-module/term-description/index.js.map +1 -1
- package/build-module/utils/hooks.js +5 -1
- package/build-module/utils/hooks.js.map +1 -1
- package/build-style/archives/editor-rtl.css +3 -0
- package/build-style/archives/editor.css +3 -0
- package/build-style/archives/style-rtl.css +3 -0
- package/build-style/archives/style.css +3 -0
- package/build-style/audio/editor-rtl.css +3 -0
- package/build-style/audio/editor.css +3 -0
- package/build-style/audio/style-rtl.css +3 -0
- package/build-style/audio/style.css +3 -0
- package/build-style/audio/theme-rtl.css +3 -0
- package/build-style/audio/theme.css +3 -0
- package/build-style/avatar/editor-rtl.css +3 -0
- package/build-style/avatar/editor.css +3 -0
- package/build-style/avatar/style-rtl.css +3 -0
- package/build-style/avatar/style.css +3 -0
- package/build-style/button/editor-rtl.css +3 -0
- package/build-style/button/editor.css +3 -0
- package/build-style/button/style-rtl.css +3 -0
- package/build-style/button/style.css +3 -0
- package/build-style/buttons/editor-rtl.css +3 -0
- package/build-style/buttons/editor.css +3 -0
- package/build-style/buttons/style-rtl.css +3 -0
- package/build-style/buttons/style.css +3 -0
- package/build-style/calendar/style-rtl.css +3 -0
- package/build-style/calendar/style.css +3 -0
- package/build-style/categories/editor-rtl.css +7 -0
- package/build-style/categories/editor.css +7 -0
- package/build-style/categories/style-rtl.css +7 -0
- package/build-style/categories/style.css +7 -0
- package/build-style/classic-rtl.css +3 -0
- package/build-style/classic.css +3 -0
- package/build-style/code/editor-rtl.css +3 -0
- package/build-style/code/editor.css +3 -0
- package/build-style/code/style-rtl.css +3 -0
- package/build-style/code/style.css +3 -0
- package/build-style/code/theme-rtl.css +3 -0
- package/build-style/code/theme.css +3 -0
- package/build-style/columns/editor-rtl.css +3 -0
- package/build-style/columns/editor.css +3 -0
- package/build-style/columns/style-rtl.css +3 -0
- package/build-style/columns/style.css +3 -0
- package/build-style/comment-author-avatar/editor-rtl.css +3 -0
- package/build-style/comment-author-avatar/editor.css +3 -0
- package/build-style/comment-content/style-rtl.css +3 -0
- package/build-style/comment-content/style.css +3 -0
- package/build-style/comment-template/style-rtl.css +3 -0
- package/build-style/comment-template/style.css +3 -0
- package/build-style/comments/editor-rtl.css +3 -0
- package/build-style/comments/editor.css +3 -0
- package/build-style/comments/style-rtl.css +3 -0
- package/build-style/comments/style.css +3 -0
- package/build-style/comments-pagination/editor-rtl.css +3 -0
- package/build-style/comments-pagination/editor.css +3 -0
- package/build-style/comments-pagination/style-rtl.css +3 -0
- package/build-style/comments-pagination/style.css +3 -0
- package/build-style/comments-pagination-numbers/editor-rtl.css +3 -0
- package/build-style/comments-pagination-numbers/editor.css +3 -0
- package/build-style/comments-title/editor-rtl.css +3 -0
- package/build-style/comments-title/editor.css +3 -0
- package/build-style/common-rtl.css +3 -0
- package/build-style/common.css +3 -0
- package/build-style/cover/editor-rtl.css +3 -0
- package/build-style/cover/editor.css +3 -0
- package/build-style/cover/style-rtl.css +3 -0
- package/build-style/cover/style.css +3 -0
- package/build-style/details/editor-rtl.css +3 -0
- package/build-style/details/editor.css +3 -0
- package/build-style/details/style-rtl.css +3 -0
- package/build-style/details/style.css +3 -0
- package/build-style/editor-elements-rtl.css +3 -0
- package/build-style/editor-elements.css +3 -0
- package/build-style/editor-rtl.css +29 -42
- package/build-style/editor.css +29 -42
- package/build-style/elements-rtl.css +3 -0
- package/build-style/elements.css +3 -0
- package/build-style/embed/editor-rtl.css +3 -0
- package/build-style/embed/editor.css +3 -0
- package/build-style/embed/style-rtl.css +3 -0
- package/build-style/embed/style.css +3 -0
- package/build-style/embed/theme-rtl.css +3 -0
- package/build-style/embed/theme.css +3 -0
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/file/style-rtl.css +3 -0
- package/build-style/file/style.css +3 -0
- package/build-style/footnotes/style-rtl.css +3 -0
- package/build-style/footnotes/style.css +3 -0
- package/build-style/form-input/editor-rtl.css +3 -0
- package/build-style/form-input/editor.css +3 -0
- package/build-style/form-input/style-rtl.css +4 -0
- package/build-style/form-input/style.css +4 -0
- package/build-style/form-submission-notification/editor-rtl.css +3 -0
- package/build-style/form-submission-notification/editor.css +3 -0
- package/build-style/form-submit-button/style-rtl.css +3 -0
- package/build-style/form-submit-button/style.css +3 -0
- package/build-style/freeform/editor-rtl.css +3 -0
- package/build-style/freeform/editor.css +3 -0
- package/build-style/gallery/editor-rtl.css +3 -1
- package/build-style/gallery/editor.css +3 -1
- package/build-style/gallery/style-rtl.css +3 -0
- package/build-style/gallery/style.css +3 -0
- package/build-style/gallery/theme-rtl.css +3 -0
- package/build-style/gallery/theme.css +3 -0
- package/build-style/group/editor-rtl.css +3 -11
- package/build-style/group/editor.css +3 -11
- package/build-style/group/style-rtl.css +3 -0
- package/build-style/group/style.css +3 -0
- package/build-style/group/theme-rtl.css +3 -0
- package/build-style/group/theme.css +3 -0
- package/build-style/heading/style-rtl.css +3 -0
- package/build-style/heading/style.css +3 -0
- package/build-style/html/editor-rtl.css +3 -0
- package/build-style/html/editor.css +3 -0
- package/build-style/image/editor-rtl.css +19 -4
- package/build-style/image/editor.css +19 -4
- package/build-style/image/style-rtl.css +22 -0
- package/build-style/image/style.css +22 -0
- package/build-style/image/theme-rtl.css +3 -0
- package/build-style/image/theme.css +3 -0
- package/build-style/latest-comments/style-rtl.css +3 -0
- package/build-style/latest-comments/style.css +3 -0
- package/build-style/latest-posts/editor-rtl.css +3 -3
- package/build-style/latest-posts/editor.css +3 -3
- package/build-style/latest-posts/style-rtl.css +3 -0
- package/build-style/latest-posts/style.css +3 -0
- package/build-style/list/style-rtl.css +4 -1
- package/build-style/list/style.css +4 -1
- package/build-style/loginout/style-rtl.css +94 -0
- package/build-style/loginout/style.css +94 -0
- package/build-style/media-text/editor-rtl.css +3 -0
- package/build-style/media-text/editor.css +3 -0
- package/build-style/media-text/style-rtl.css +3 -0
- package/build-style/media-text/style.css +3 -0
- package/build-style/more/editor-rtl.css +3 -0
- package/build-style/more/editor.css +3 -0
- package/build-style/navigation/editor-rtl.css +3 -12
- package/build-style/navigation/editor.css +3 -12
- package/build-style/navigation/style-rtl.css +4 -4
- package/build-style/navigation/style.css +4 -4
- package/build-style/navigation-link/editor-rtl.css +3 -0
- package/build-style/navigation-link/editor.css +3 -0
- package/build-style/navigation-link/style-rtl.css +3 -0
- package/build-style/navigation-link/style.css +3 -0
- package/build-style/navigation-submenu/editor-rtl.css +3 -0
- package/build-style/navigation-submenu/editor.css +3 -0
- package/build-style/nextpage/editor-rtl.css +3 -0
- package/build-style/nextpage/editor.css +3 -0
- package/build-style/page-list/editor-rtl.css +3 -0
- package/build-style/page-list/editor.css +3 -0
- package/build-style/page-list/style-rtl.css +3 -0
- package/build-style/page-list/style.css +3 -0
- package/build-style/paragraph/editor-rtl.css +3 -0
- package/build-style/paragraph/editor.css +3 -0
- package/build-style/paragraph/style-rtl.css +3 -0
- package/build-style/paragraph/style.css +3 -0
- package/build-style/post-author/style-rtl.css +3 -0
- package/build-style/post-author/style.css +3 -0
- package/build-style/post-comments-form/editor-rtl.css +3 -0
- package/build-style/post-comments-form/editor.css +3 -0
- package/build-style/post-comments-form/style-rtl.css +4 -1
- package/build-style/post-comments-form/style.css +4 -1
- package/build-style/post-content/editor-rtl.css +3 -0
- package/build-style/post-content/editor.css +3 -0
- package/build-style/post-content/style-rtl.css +96 -0
- package/build-style/post-content/style.css +96 -0
- package/build-style/post-date/style-rtl.css +3 -0
- package/build-style/post-date/style.css +3 -0
- package/build-style/post-excerpt/editor-rtl.css +3 -0
- package/build-style/post-excerpt/editor.css +3 -0
- package/build-style/post-excerpt/style-rtl.css +4 -0
- package/build-style/post-excerpt/style.css +4 -0
- package/build-style/post-featured-image/editor-rtl.css +3 -0
- package/build-style/post-featured-image/editor.css +3 -0
- package/build-style/post-featured-image/style-rtl.css +3 -0
- package/build-style/post-featured-image/style.css +3 -0
- package/build-style/post-navigation-link/style-rtl.css +3 -0
- package/build-style/post-navigation-link/style.css +3 -0
- package/build-style/post-template/editor-rtl.css +3 -0
- package/build-style/post-template/editor.css +3 -0
- package/build-style/post-template/style-rtl.css +3 -0
- package/build-style/post-template/style.css +3 -0
- package/build-style/post-terms/style-rtl.css +3 -0
- package/build-style/post-terms/style.css +3 -0
- package/build-style/post-time-to-read/style-rtl.css +3 -0
- package/build-style/post-time-to-read/style.css +3 -0
- package/build-style/post-title/style-rtl.css +3 -0
- package/build-style/post-title/style.css +3 -0
- package/build-style/preformatted/style-rtl.css +3 -0
- package/build-style/preformatted/style.css +3 -0
- package/build-style/pullquote/editor-rtl.css +3 -0
- package/build-style/pullquote/editor.css +3 -0
- package/build-style/pullquote/style-rtl.css +3 -0
- package/build-style/pullquote/style.css +3 -0
- package/build-style/pullquote/theme-rtl.css +3 -0
- package/build-style/pullquote/theme.css +3 -0
- package/build-style/query/editor-rtl.css +3 -7
- package/build-style/query/editor.css +3 -7
- package/build-style/query-pagination/editor-rtl.css +3 -0
- package/build-style/query-pagination/editor.css +3 -0
- package/build-style/query-pagination/style-rtl.css +3 -0
- package/build-style/query-pagination/style.css +3 -0
- package/build-style/query-pagination-numbers/editor-rtl.css +3 -0
- package/build-style/query-pagination-numbers/editor.css +3 -0
- package/build-style/query-title/style-rtl.css +3 -0
- package/build-style/query-title/style.css +3 -0
- package/build-style/quote/style-rtl.css +3 -0
- package/build-style/quote/style.css +3 -0
- package/build-style/quote/theme-rtl.css +6 -3
- package/build-style/quote/theme.css +6 -3
- package/build-style/read-more/style-rtl.css +3 -0
- package/build-style/read-more/style.css +3 -0
- package/build-style/reset-rtl.css +3 -0
- package/build-style/reset.css +3 -0
- package/build-style/rss/editor-rtl.css +3 -0
- package/build-style/rss/editor.css +3 -0
- package/build-style/rss/style-rtl.css +3 -0
- package/build-style/rss/style.css +3 -0
- package/build-style/search/editor-rtl.css +4 -1
- package/build-style/search/editor.css +4 -1
- package/build-style/search/style-rtl.css +3 -0
- package/build-style/search/style.css +3 -0
- package/build-style/search/theme-rtl.css +3 -0
- package/build-style/search/theme.css +3 -0
- package/build-style/separator/editor-rtl.css +3 -0
- package/build-style/separator/editor.css +3 -0
- package/build-style/separator/style-rtl.css +3 -0
- package/build-style/separator/style.css +3 -0
- package/build-style/separator/theme-rtl.css +3 -0
- package/build-style/separator/theme.css +3 -0
- package/build-style/shortcode/editor-rtl.css +3 -0
- package/build-style/shortcode/editor.css +3 -0
- package/build-style/site-logo/editor-rtl.css +3 -0
- package/build-style/site-logo/editor.css +3 -0
- package/build-style/site-logo/style-rtl.css +3 -0
- package/build-style/site-logo/style.css +3 -0
- package/build-style/site-tagline/editor-rtl.css +3 -0
- package/build-style/site-tagline/editor.css +3 -0
- package/build-style/site-tagline/style-rtl.css +94 -0
- package/build-style/site-tagline/style.css +94 -0
- package/build-style/site-title/editor-rtl.css +3 -0
- package/build-style/site-title/editor.css +3 -0
- package/build-style/site-title/style-rtl.css +7 -1
- package/build-style/site-title/style.css +7 -1
- package/build-style/social-link/editor-rtl.css +3 -0
- package/build-style/social-link/editor.css +3 -0
- package/build-style/social-links/editor-rtl.css +3 -0
- package/build-style/social-links/editor.css +3 -0
- package/build-style/social-links/style-rtl.css +5 -2
- package/build-style/social-links/style.css +5 -2
- package/build-style/spacer/editor-rtl.css +3 -0
- package/build-style/spacer/editor.css +3 -0
- package/build-style/spacer/style-rtl.css +3 -0
- package/build-style/spacer/style.css +3 -0
- package/build-style/style-rtl.css +56 -9
- package/build-style/style.css +56 -9
- package/build-style/table/editor-rtl.css +3 -0
- package/build-style/table/editor.css +3 -0
- package/build-style/table/style-rtl.css +3 -0
- package/build-style/table/style.css +3 -0
- package/build-style/table/theme-rtl.css +3 -0
- package/build-style/table/theme.css +3 -0
- package/build-style/table-of-contents/style-rtl.css +94 -0
- package/build-style/table-of-contents/style.css +94 -0
- package/build-style/tag-cloud/editor-rtl.css +95 -0
- package/build-style/tag-cloud/editor.css +95 -0
- package/build-style/tag-cloud/style-rtl.css +3 -0
- package/build-style/tag-cloud/style.css +3 -0
- package/build-style/template-part/editor-rtl.css +3 -0
- package/build-style/template-part/editor.css +3 -0
- package/build-style/template-part/theme-rtl.css +3 -0
- package/build-style/template-part/theme.css +3 -0
- package/build-style/term-description/style-rtl.css +4 -0
- package/build-style/term-description/style.css +4 -0
- package/build-style/text-columns/editor-rtl.css +3 -0
- package/build-style/text-columns/editor.css +3 -0
- package/build-style/text-columns/style-rtl.css +3 -0
- package/build-style/text-columns/style.css +3 -0
- package/build-style/theme-rtl.css +6 -3
- package/build-style/theme.css +6 -3
- package/build-style/verse/style-rtl.css +3 -0
- package/build-style/verse/style.css +3 -0
- package/build-style/video/editor-rtl.css +3 -3
- package/build-style/video/editor.css +3 -3
- package/build-style/video/style-rtl.css +3 -0
- package/build-style/video/style.css +3 -0
- package/build-style/video/theme-rtl.css +3 -0
- package/build-style/video/theme.css +3 -0
- package/package.json +35 -35
- package/src/avatar/edit.js +1 -0
- package/src/block/edit.js +58 -27
- package/src/block/test/edit.native.js +6 -2
- package/src/button/edit.js +1 -1
- package/src/button/index.php +1 -14
- package/src/buttons/block.json +20 -0
- package/src/buttons/index.js +6 -0
- package/src/categories/block.json +20 -0
- package/src/categories/edit.js +32 -4
- package/src/categories/editor.scss +4 -0
- package/src/categories/index.php +4 -1
- package/src/categories/style.scss +4 -0
- package/src/column/block.json +2 -0
- package/src/column/edit.js +2 -2
- package/src/columns/index.js +1 -1
- package/src/comment-template/block.json +12 -0
- package/src/comments-title/block.json +3 -0
- package/src/comments-title/edit.js +8 -1
- package/src/cover/edit/inspector-controls.js +1 -0
- package/src/details/edit.js +1 -0
- package/src/editor.scss +1 -0
- package/src/embed/test/__snapshots__/index.native.js.snap +8 -8
- package/src/embed/test/index.js +1 -1
- package/src/embed/test/index.native.js +24 -23
- package/src/embed/variations.js +43 -35
- package/src/footnotes/index.js +1 -2
- package/src/form/edit.js +3 -2
- package/src/form-input/edit.js +3 -0
- package/src/form-input/style.scss +1 -0
- package/src/gallery/block.json +10 -0
- package/src/gallery/edit.js +75 -13
- package/src/gallery/editor.scss +0 -1
- package/src/gallery/gap-styles.js +1 -8
- package/src/gallery/test/__snapshots__/index.native.js.snap +1 -1
- package/src/gallery/test/index.native.js +5 -5
- package/src/gallery/use-image-sizes.js +2 -2
- package/src/group/deprecated.js +3 -7
- package/src/group/editor.scss +1 -1
- package/src/group/index.js +26 -29
- package/src/group/variations.js +56 -0
- package/src/heading/block.json +15 -0
- package/src/heading/edit.js +3 -1
- package/src/heading/index.js +1 -0
- package/src/image/block.json +3 -0
- package/src/image/edit.js +1 -1
- package/src/image/editor.scss +18 -1
- package/src/image/image.js +55 -35
- package/src/image/index.php +32 -15
- package/src/image/style.scss +22 -0
- package/src/image/test/edit.native.js +1 -0
- package/src/image/view.js +69 -49
- package/src/latest-comments/block.json +9 -0
- package/src/latest-posts/edit.js +1 -0
- package/src/latest-posts/editor.scss +0 -4
- package/src/list/block.json +1 -1
- package/src/list/edit.js +3 -3
- package/src/list/ordered-list-settings.js +20 -18
- package/src/list/style.scss +1 -1
- package/src/list/test/edit.native.js +1 -3
- package/src/list-item/block.json +3 -2
- package/src/list-item/edit.js +2 -2
- package/src/list-item/hooks/index.js +0 -1
- package/src/loginout/block.json +14 -1
- package/src/loginout/style.scss +4 -0
- package/src/media-text/block.json +12 -0
- package/src/media-text/style.native.scss +2 -0
- package/src/navigation/edit/index.js +5 -5
- package/src/navigation/edit/navigation-menu-delete-control.js +1 -0
- package/src/navigation/editor.scss +0 -1
- package/src/navigation/index.php +1 -1
- package/src/navigation/style.scss +4 -9
- package/src/navigation/test/use-navigation-menu.js +54 -15
- package/src/navigation/use-navigation-menu.js +5 -1
- package/src/navigation-link/link-ui.js +8 -14
- package/src/navigation-submenu/edit.js +1 -13
- package/src/page-list/edit.js +1 -0
- package/src/page-list-item/edit.js +4 -4
- package/src/paragraph/block.json +6 -0
- package/src/post-author/index.js +8 -0
- package/src/post-author-biography/block.json +3 -0
- package/src/post-author-name/block.json +3 -0
- package/src/post-comments-form/block.json +12 -0
- package/src/post-comments-form/style.scss +1 -1
- package/src/post-content/block.json +1 -0
- package/src/post-content/style.scss +5 -0
- package/src/post-date/block.json +15 -0
- package/src/post-excerpt/block.json +12 -0
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-excerpt/style.scss +3 -0
- package/src/post-featured-image/block.json +3 -0
- package/src/post-navigation-link/edit.js +2 -0
- package/src/post-terms/block.json +15 -0
- package/src/post-time-to-read/block.json +6 -0
- package/src/post-title/block.json +15 -0
- package/src/post-title/edit.js +9 -8
- package/src/query/edit/inspector-controls/author-control.js +2 -0
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
- package/src/query/edit/inspector-controls/index.js +123 -23
- package/src/query/edit/inspector-controls/offset-controls.js +31 -0
- package/src/query/edit/inspector-controls/order-control.js +1 -0
- package/src/query/edit/inspector-controls/pages-control.js +27 -0
- package/src/query/edit/inspector-controls/parent-control.js +1 -0
- package/src/query/edit/inspector-controls/per-page-control.js +33 -0
- package/src/query/edit/inspector-controls/sticky-control.js +2 -1
- package/src/query/edit/inspector-controls/taxonomy-controls.js +8 -3
- package/src/query/edit/query-content.js +17 -3
- package/src/query/edit/query-placeholder.js +1 -21
- package/src/query/edit/query-toolbar.js +1 -90
- package/src/query/editor.scss +0 -9
- package/src/query/utils.js +13 -5
- package/src/query/variations.js +4 -46
- package/src/query-pagination-numbers/edit.js +1 -0
- package/src/query-title/block.json +3 -0
- package/src/query-title/edit.js +19 -18
- package/src/query-title/use-archive-label.js +99 -0
- package/src/quote/block.json +15 -1
- package/src/quote/theme.scss +5 -3
- package/src/search/block.json +3 -0
- package/src/search/editor.scss +1 -1
- package/src/site-logo/edit.js +27 -10
- package/src/site-tagline/block.json +18 -2
- package/src/site-tagline/edit.js +7 -6
- package/src/site-tagline/style.scss +4 -0
- package/src/site-title/block.json +10 -0
- package/src/site-title/edit.js +6 -5
- package/src/site-title/index.js +6 -1
- package/src/site-title/style.scss +7 -2
- package/src/social-link/edit.js +0 -1
- package/src/social-link/icons/soundcloud.js +1 -1
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/social-links/block.json +12 -0
- package/src/spacer/controls.js +10 -13
- package/src/style.scss +4 -0
- package/src/table-of-contents/block.json +14 -1
- package/src/table-of-contents/style.scss +4 -0
- package/src/tag-cloud/block.json +1 -1
- package/src/tag-cloud/edit.js +53 -35
- package/src/tag-cloud/editor.scss +9 -0
- package/src/template-part/edit/index.js +10 -5
- package/src/template-part/edit/inner-blocks.js +11 -6
- package/src/template-part/edit/placeholder.js +31 -6
- package/src/template-part/edit/title-modal.js +18 -4
- package/src/term-description/block.json +12 -0
- package/src/term-description/style.scss +2 -0
- package/src/utils/hooks.js +5 -1
- package/src/video/editor.scss +0 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/build/list-item/hooks/use-split.js +0 -39
- package/build/list-item/hooks/use-split.js.map +0 -1
- package/build-module/list-item/hooks/use-split.js +0 -32
- package/build-module/list-item/hooks/use-split.js.map +0 -1
- package/src/list-item/hooks/use-split.js +0 -33
|
@@ -132,15 +132,24 @@ function LinkUIBlockInserter({
|
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
function UnforwardedLinkUI(props, ref) {
|
|
135
|
+
const {
|
|
136
|
+
label,
|
|
137
|
+
url,
|
|
138
|
+
opensInNewTab,
|
|
139
|
+
type,
|
|
140
|
+
kind
|
|
141
|
+
} = props.link;
|
|
142
|
+
const postType = type || 'page';
|
|
135
143
|
const [addingBlock, setAddingBlock] = useState(false);
|
|
136
144
|
const [focusAddBlockButton, setFocusAddBlockButton] = useState(false);
|
|
137
145
|
const {
|
|
138
146
|
saveEntityRecord
|
|
139
147
|
} = useDispatch(coreStore);
|
|
140
|
-
const
|
|
141
|
-
|
|
148
|
+
const permissions = useResourcePermissions({
|
|
149
|
+
kind: 'postType',
|
|
150
|
+
name: postType
|
|
151
|
+
});
|
|
142
152
|
async function handleCreate(pageTitle) {
|
|
143
|
-
const postType = props.link.type || 'page';
|
|
144
153
|
const page = await saveEntityRecord('postType', postType, {
|
|
145
154
|
title: pageTitle,
|
|
146
155
|
status: 'draft'
|
|
@@ -163,19 +172,6 @@ function UnforwardedLinkUI(props, ref) {
|
|
|
163
172
|
kind: 'post-type'
|
|
164
173
|
};
|
|
165
174
|
}
|
|
166
|
-
const {
|
|
167
|
-
label,
|
|
168
|
-
url,
|
|
169
|
-
opensInNewTab,
|
|
170
|
-
type,
|
|
171
|
-
kind
|
|
172
|
-
} = props.link;
|
|
173
|
-
let userCanCreate = false;
|
|
174
|
-
if (!type || type === 'page') {
|
|
175
|
-
userCanCreate = pagesPermissions.canCreate;
|
|
176
|
-
} else if (type === 'post') {
|
|
177
|
-
userCanCreate = postsPermissions.canCreate;
|
|
178
|
-
}
|
|
179
175
|
|
|
180
176
|
// Memoize link value to avoid overriding the LinkControl's internal state.
|
|
181
177
|
// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.
|
|
@@ -215,7 +211,7 @@ function UnforwardedLinkUI(props, ref) {
|
|
|
215
211
|
hasRichPreviews: true,
|
|
216
212
|
value: link,
|
|
217
213
|
showInitialSuggestions: true,
|
|
218
|
-
withCreateSuggestion:
|
|
214
|
+
withCreateSuggestion: permissions.canCreate,
|
|
219
215
|
createSuggestion: handleCreate,
|
|
220
216
|
createSuggestionButtonText: searchTerm => {
|
|
221
217
|
let format;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__unstableStripHTML","stripHTML","Popover","Button","VisuallyHidden","__experimentalVStack","VStack","__","sprintf","__experimentalLinkControl","LinkControl","store","blockEditorStore","privateApis","blockEditorPrivateApis","createInterpolateElement","useMemo","useState","useRef","useEffect","forwardRef","coreStore","useResourcePermissions","decodeEntities","useSelect","useDispatch","chevronLeftSmall","plus","useInstanceId","useFocusOnMount","unlock","jsx","_jsx","jsxs","_jsxs","PrivateQuickInserter","QuickInserter","getSuggestionsQuery","type","kind","subtype","initialSuggestionsSearchOptions","perPage","LinkUIBlockInserter","clientId","onBack","onSelectBlock","rootBlockClientId","select","getBlockRootClientId","focusOnMountRef","dialogTitleId","dialogDescritionId","className","role","ref","children","id","icon","onClick","e","preventDefault","size","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","onSelect","UnforwardedLinkUI","props","addingBlock","setAddingBlock","focusAddBlockButton","setFocusAddBlockButton","saveEntityRecord","pagesPermissions","postsPermissions","handleCreate","pageTitle","postType","link","page","title","status","rendered","url","label","opensInNewTab","userCanCreate","canCreate","LinkUI","onClose","placement","anchor","shift","hasTextControl","hasRichPreviews","value","showInitialSuggestions","withCreateSuggestion","createSuggestion","createSuggestionButtonText","searchTerm","format","mark","noDirectEntry","noURLSuggestion","suggestionsQuery","onChange","onRemove","onCancel","renderControlBottom","length","LinkUITools","blockInserterAriaRole","addBlockButtonRef","current","focus"],"sources":["@wordpress/block-library/src/navigation-link/link-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tPopover,\n\tButton,\n\tVisuallyHidden,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalLinkControl as LinkControl,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tcreateInterpolateElement,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { chevronLeftSmall, plus } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Given the Link block's type attribute, return the query params to give to\n * /wp/v2/search.\n *\n * @param {string} type Link block's type attribute.\n * @param {string} kind Link block's entity of kind (post-type|taxonomy)\n * @return {{ type?: string, subtype?: string }} Search query params.\n */\nexport function getSuggestionsQuery( type, kind ) {\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\tcase 'page':\n\t\t\treturn { type: 'post', subtype: type };\n\t\tcase 'category':\n\t\t\treturn { type: 'term', subtype: 'category' };\n\t\tcase 'tag':\n\t\t\treturn { type: 'term', subtype: 'post_tag' };\n\t\tcase 'post_format':\n\t\t\treturn { type: 'post-format' };\n\t\tdefault:\n\t\t\tif ( kind === 'taxonomy' ) {\n\t\t\t\treturn { type: 'term', subtype: type };\n\t\t\t}\n\t\t\tif ( kind === 'post-type' ) {\n\t\t\t\treturn { type: 'post', subtype: type };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// for custom link which has no type\n\t\t\t\t// always show pages as initial suggestions\n\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\tperPage: 20,\n\t\t\t\t},\n\t\t\t};\n\t}\n}\n\nfunction LinkUIBlockInserter( { clientId, onBack, onSelectBlock } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__description`\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescritionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add block' ) }</h2>\n\n\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t{ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\t\t</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<Button\n\t\t\t\tclassName=\"link-ui-block-inserter__back\"\n\t\t\t\ticon={ chevronLeftSmall }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonBack();\n\t\t\t\t} }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ __( 'Back' ) }\n\t\t\t</Button>\n\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert\n\t\t\t\thasSearch={ false }\n\t\t\t\tonSelect={ onSelectBlock }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction UnforwardedLinkUI( props, ref ) {\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst pagesPermissions = useResourcePermissions( 'pages' );\n\tconst postsPermissions = useResourcePermissions( 'posts' );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst postType = props.link.type || 'page';\n\n\t\tconst page = await saveEntityRecord( 'postType', postType, {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: postType,\n\t\t\t// Make `title` property consistent with that in `fetchLinkSuggestions` where the `rendered` title (containing HTML entities)\n\t\t\t// is also being decoded. By being consistent in both locations we avoid having to branch in the rendering output code.\n\t\t\t// Ideally in the future we will update both APIs to utilise the \"raw\" form of the title which is better suited to edit contexts.\n\t\t\t// e.g.\n\t\t\t// - title.raw = \"Yes & No\"\n\t\t\t// - title.rendered = \"Yes & No\"\n\t\t\t// - decodeEntities( title.rendered ) = \"Yes & No\"\n\t\t\t// See:\n\t\t\t// - https://github.com/WordPress/gutenberg/pull/41063\n\t\t\t// - https://github.com/WordPress/gutenberg/blob/a1e1fdc0e6278457e9f4fc0b31ac6d2095f5450b/packages/core-data/src/fetch/__experimental-fetch-link-suggestions.js#L212-L218\n\t\t\ttitle: decodeEntities( page.title.rendered ),\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tconst { label, url, opensInNewTab, type, kind } = props.link;\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = pagesPermissions.canCreate;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = postsPermissions.canCreate;\n\t}\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.\n\tconst link = useMemo(\n\t\t() => ( {\n\t\t\turl,\n\t\t\topensInNewTab,\n\t\t\ttitle: label && stripHTML( label ),\n\t\t} ),\n\t\t[ label, opensInNewTab, url ]\n\t);\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__description`\n\t);\n\n\t// Selecting a block should close the popover and also remove the (previously) automatically inserted\n\t// link block so that the newly selected block can be inserted in its place.\n\tconst { onClose: onSelectBlock } = props;\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ ref }\n\t\t\tplacement=\"bottom\"\n\t\t\tonClose={ props.onClose }\n\t\t\tanchor={ props.anchor }\n\t\t\tshift\n\t\t>\n\t\t\t{ ! addingBlock && (\n\t\t\t\t<div\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\taria-describedby={ dialogDescritionId }\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Search for and add a link to your Navigation.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t\twithCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\tlet format;\n\n\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft post: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft page: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmark: <mark />,\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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery( type, kind ) }\n\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\trenderControlBottom={ () =>\n\t\t\t\t\t\t\t! link?.url?.length && (\n\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\tfocusAddBlockButton={ focusAddBlockButton }\n\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t\tsetFocusAddBlockButton( false );\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)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ addingBlock && (\n\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\tsetFocusAddBlockButton( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectBlock={ onSelectBlock }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nexport const LinkUI = forwardRef( UnforwardedLinkUI );\n\nconst LinkUITools = ( { setAddingBlock, focusAddBlockButton } ) => {\n\tconst blockInserterAriaRole = 'listbox';\n\tconst addBlockButtonRef = useRef();\n\n\t// Focus the add block button when the popover is opened.\n\tuseEffect( () => {\n\t\tif ( focusAddBlockButton ) {\n\t\t\taddBlockButtonRef.current?.focus();\n\t\t}\n\t}, [ focusAddBlockButton ] );\n\n\treturn (\n\t\t<VStack className=\"link-ui-tools\">\n\t\t\t<Button\n\t\t\t\tref={ addBlockButtonRef }\n\t\t\t\ticon={ plus }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t>\n\t\t\t\t{ __( 'Add block' ) }\n\t\t\t</Button>\n\t\t</VStack>\n\t);\n};\n\nexport default LinkUITools;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__unstableStripHTML","stripHTML","Popover","Button","VisuallyHidden","__experimentalVStack","VStack","__","sprintf","__experimentalLinkControl","LinkControl","store","blockEditorStore","privateApis","blockEditorPrivateApis","createInterpolateElement","useMemo","useState","useRef","useEffect","forwardRef","coreStore","useResourcePermissions","decodeEntities","useSelect","useDispatch","chevronLeftSmall","plus","useInstanceId","useFocusOnMount","unlock","jsx","_jsx","jsxs","_jsxs","PrivateQuickInserter","QuickInserter","getSuggestionsQuery","type","kind","subtype","initialSuggestionsSearchOptions","perPage","LinkUIBlockInserter","clientId","onBack","onSelectBlock","rootBlockClientId","select","getBlockRootClientId","focusOnMountRef","dialogTitleId","dialogDescritionId","className","role","ref","children","id","icon","onClick","e","preventDefault","size","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","onSelect","UnforwardedLinkUI","props","label","url","opensInNewTab","link","postType","addingBlock","setAddingBlock","focusAddBlockButton","setFocusAddBlockButton","saveEntityRecord","permissions","name","handleCreate","pageTitle","page","title","status","rendered","LinkUI","onClose","placement","anchor","shift","hasTextControl","hasRichPreviews","value","showInitialSuggestions","withCreateSuggestion","canCreate","createSuggestion","createSuggestionButtonText","searchTerm","format","mark","noDirectEntry","noURLSuggestion","suggestionsQuery","onChange","onRemove","onCancel","renderControlBottom","length","LinkUITools","blockInserterAriaRole","addBlockButtonRef","current","focus"],"sources":["@wordpress/block-library/src/navigation-link/link-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tPopover,\n\tButton,\n\tVisuallyHidden,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalLinkControl as LinkControl,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tcreateInterpolateElement,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { chevronLeftSmall, plus } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Given the Link block's type attribute, return the query params to give to\n * /wp/v2/search.\n *\n * @param {string} type Link block's type attribute.\n * @param {string} kind Link block's entity of kind (post-type|taxonomy)\n * @return {{ type?: string, subtype?: string }} Search query params.\n */\nexport function getSuggestionsQuery( type, kind ) {\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\tcase 'page':\n\t\t\treturn { type: 'post', subtype: type };\n\t\tcase 'category':\n\t\t\treturn { type: 'term', subtype: 'category' };\n\t\tcase 'tag':\n\t\t\treturn { type: 'term', subtype: 'post_tag' };\n\t\tcase 'post_format':\n\t\t\treturn { type: 'post-format' };\n\t\tdefault:\n\t\t\tif ( kind === 'taxonomy' ) {\n\t\t\t\treturn { type: 'term', subtype: type };\n\t\t\t}\n\t\t\tif ( kind === 'post-type' ) {\n\t\t\t\treturn { type: 'post', subtype: type };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// for custom link which has no type\n\t\t\t\t// always show pages as initial suggestions\n\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\tperPage: 20,\n\t\t\t\t},\n\t\t\t};\n\t}\n}\n\nfunction LinkUIBlockInserter( { clientId, onBack, onSelectBlock } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__description`\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescritionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add block' ) }</h2>\n\n\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t{ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\t\t</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<Button\n\t\t\t\tclassName=\"link-ui-block-inserter__back\"\n\t\t\t\ticon={ chevronLeftSmall }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonBack();\n\t\t\t\t} }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ __( 'Back' ) }\n\t\t\t</Button>\n\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert\n\t\t\t\thasSearch={ false }\n\t\t\t\tonSelect={ onSelectBlock }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction UnforwardedLinkUI( props, ref ) {\n\tconst { label, url, opensInNewTab, type, kind } = props.link;\n\tconst postType = type || 'page';\n\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst permissions = useResourcePermissions( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await saveEntityRecord( 'postType', postType, {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: postType,\n\t\t\t// Make `title` property consistent with that in `fetchLinkSuggestions` where the `rendered` title (containing HTML entities)\n\t\t\t// is also being decoded. By being consistent in both locations we avoid having to branch in the rendering output code.\n\t\t\t// Ideally in the future we will update both APIs to utilise the \"raw\" form of the title which is better suited to edit contexts.\n\t\t\t// e.g.\n\t\t\t// - title.raw = \"Yes & No\"\n\t\t\t// - title.rendered = \"Yes & No\"\n\t\t\t// - decodeEntities( title.rendered ) = \"Yes & No\"\n\t\t\t// See:\n\t\t\t// - https://github.com/WordPress/gutenberg/pull/41063\n\t\t\t// - https://github.com/WordPress/gutenberg/blob/a1e1fdc0e6278457e9f4fc0b31ac6d2095f5450b/packages/core-data/src/fetch/__experimental-fetch-link-suggestions.js#L212-L218\n\t\t\ttitle: decodeEntities( page.title.rendered ),\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.\n\tconst link = useMemo(\n\t\t() => ( {\n\t\t\turl,\n\t\t\topensInNewTab,\n\t\t\ttitle: label && stripHTML( label ),\n\t\t} ),\n\t\t[ label, opensInNewTab, url ]\n\t);\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__description`\n\t);\n\n\t// Selecting a block should close the popover and also remove the (previously) automatically inserted\n\t// link block so that the newly selected block can be inserted in its place.\n\tconst { onClose: onSelectBlock } = props;\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ ref }\n\t\t\tplacement=\"bottom\"\n\t\t\tonClose={ props.onClose }\n\t\t\tanchor={ props.anchor }\n\t\t\tshift\n\t\t>\n\t\t\t{ ! addingBlock && (\n\t\t\t\t<div\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\taria-describedby={ dialogDescritionId }\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Search for and add a link to your Navigation.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t\twithCreateSuggestion={ permissions.canCreate }\n\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\tlet format;\n\n\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft post: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft page: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmark: <mark />,\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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery( type, kind ) }\n\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\trenderControlBottom={ () =>\n\t\t\t\t\t\t\t! link?.url?.length && (\n\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\tfocusAddBlockButton={ focusAddBlockButton }\n\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t\tsetFocusAddBlockButton( false );\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)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ addingBlock && (\n\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\tsetFocusAddBlockButton( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectBlock={ onSelectBlock }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nexport const LinkUI = forwardRef( UnforwardedLinkUI );\n\nconst LinkUITools = ( { setAddingBlock, focusAddBlockButton } ) => {\n\tconst blockInserterAriaRole = 'listbox';\n\tconst addBlockButtonRef = useRef();\n\n\t// Focus the add block button when the popover is opened.\n\tuseEffect( () => {\n\t\tif ( focusAddBlockButton ) {\n\t\t\taddBlockButtonRef.current?.focus();\n\t\t}\n\t}, [ focusAddBlockButton ] );\n\n\treturn (\n\t\t<VStack className=\"link-ui-tools\">\n\t\t\t<Button\n\t\t\t\tref={ addBlockButtonRef }\n\t\t\t\ticon={ plus }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t>\n\t\t\t\t{ __( 'Add block' ) }\n\t\t\t</Button>\n\t\t</VStack>\n\t);\n};\n\nexport default LinkUITools;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,6 @@ import { BlockControls, InnerBlocks, useInnerBlocksProps, InspectorControls, Ric
|
|
|
14
14
|
import { isURL, prependHTTP } from '@wordpress/url';
|
|
15
15
|
import { useState, useEffect, useRef } from '@wordpress/element';
|
|
16
16
|
import { link as linkIcon, removeSubmenu } from '@wordpress/icons';
|
|
17
|
-
import { useResourcePermissions } from '@wordpress/core-data';
|
|
18
17
|
import { speak } from '@wordpress/a11y';
|
|
19
18
|
import { createBlock } from '@wordpress/blocks';
|
|
20
19
|
import { useMergeRefs, usePrevious } from '@wordpress/compose';
|
|
@@ -112,7 +111,6 @@ export default function NavigationSubmenuEdit({
|
|
|
112
111
|
}) {
|
|
113
112
|
const {
|
|
114
113
|
label,
|
|
115
|
-
type,
|
|
116
114
|
url,
|
|
117
115
|
description,
|
|
118
116
|
rel,
|
|
@@ -138,8 +136,6 @@ export default function NavigationSubmenuEdit({
|
|
|
138
136
|
const isDraggingWithin = useIsDraggingWithin(listItemRef);
|
|
139
137
|
const itemLabelPlaceholder = __('Add text…');
|
|
140
138
|
const ref = useRef();
|
|
141
|
-
const pagesPermissions = useResourcePermissions('pages');
|
|
142
|
-
const postsPermissions = useResourcePermissions('posts');
|
|
143
139
|
const {
|
|
144
140
|
parentCount,
|
|
145
141
|
isParentOfSelectedBlock,
|
|
@@ -227,12 +223,6 @@ export default function NavigationSubmenuEdit({
|
|
|
227
223
|
selection.removeAllRanges();
|
|
228
224
|
selection.addRange(range);
|
|
229
225
|
}
|
|
230
|
-
let userCanCreate = false;
|
|
231
|
-
if (!type || type === 'page') {
|
|
232
|
-
userCanCreate = pagesPermissions.canCreate;
|
|
233
|
-
} else if (type === 'post') {
|
|
234
|
-
userCanCreate = postsPermissions.canCreate;
|
|
235
|
-
}
|
|
236
226
|
const {
|
|
237
227
|
textColor,
|
|
238
228
|
customTextColor,
|
|
@@ -421,7 +411,6 @@ export default function NavigationSubmenuEdit({
|
|
|
421
411
|
}
|
|
422
412
|
},
|
|
423
413
|
anchor: popoverAnchor,
|
|
424
|
-
hasCreateSuggestion: userCanCreate,
|
|
425
414
|
onRemove: () => {
|
|
426
415
|
setAttributes({
|
|
427
416
|
url: ''
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useSelect","useDispatch","PanelBody","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","displayShortcut","isKeyboardEvent","__","BlockControls","InnerBlocks","useInnerBlocksProps","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","isURL","prependHTTP","useState","useEffect","useRef","link","linkIcon","removeSubmenu","useResourcePermissions","speak","createBlock","useMergeRefs","usePrevious","ItemSubmenuIcon","LinkUI","updateAttributes","getColors","getNavigationChildBlockProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_BLOCKS","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","NavigationSubmenuEdit","attributes","isSelected","setAttributes","mergeBlocks","onReplace","context","clientId","label","type","url","description","rel","title","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","__unstableMarkNextChangeAsNotPersistent","replaceBlock","selectBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","pagesPermissions","postsPermissions","parentCount","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasChildren","selectedBlockHasChildren","onlyDescendantIsEmptyLink","select","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","getBlock","getBlockCount","getBlockOrder","_onlyDescendantIsEmptyLink","selectedBlockId","selectedBlockChildren","length","singleBlock","prevHasChildren","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","userCanCreate","canCreate","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksColors","allowedBlocks","filter","blockName","navigationChildBlockProps","innerBlocksProps","defaultBlock","directInsert","__experimentalCaptureToolbars","renderAppender","ButtonBlockAppender","ParentElement","transformToLink","newLinkBlock","canConvertToLink","children","icon","shortcut","onClick","currentTarget","disabled","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","urlValue","descriptionValue","help","titleValue","relValue","identifier","onMerge","placeholder","withoutInteractiveFormatting","allowedFormats","onClose","anchor","hasCreateSuggestion","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { link as linkIcon, removeSubmenu } from '@wordpress/icons';\nimport { useResourcePermissions } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { LinkUI } from '../navigation-link/link-ui';\nimport { updateAttributes } from '../navigation-link/update-attributes';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n\t'core/page-list',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n\nexport default function NavigationSubmenuEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { label, type, url, description, rel, title } = attributes;\n\n\tconst { showSubmenuIcon, maxNestingLevel, openSubmenusOnClick } = context;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlock,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add text…' );\n\tconst ref = useRef();\n\n\tconst pagesPermissions = useResourcePermissions( 'pages' );\n\tconst postsPermissions = useResourcePermissions( 'posts' );\n\n\tconst {\n\t\tparentCount,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasChildren,\n\t\tselectedBlockHasChildren,\n\t\tonlyDescendantIsEmptyLink,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tlet _onlyDescendantIsEmptyLink;\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst selectedBlockChildren = getBlockOrder( selectedBlockId );\n\n\t\t\t// Check for a single descendant in the submenu. If that block\n\t\t\t// is a link block in a \"placeholder\" state with no label then\n\t\t\t// we can consider as an \"empty\" link.\n\t\t\tif ( selectedBlockChildren?.length === 1 ) {\n\t\t\t\tconst singleBlock = getBlock( selectedBlockChildren[ 0 ] );\n\n\t\t\t\t_onlyDescendantIsEmptyLink =\n\t\t\t\t\tsingleBlock?.name === 'core/navigation-link' &&\n\t\t\t\t\t! singleBlock?.attributes?.label;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tparentCount: getBlockParentsByBlockName(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'core/navigation-submenu'\n\t\t\t\t).length,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tselectedBlockHasChildren: !! selectedBlockChildren?.length,\n\t\t\t\tonlyDescendantIsEmptyLink: _onlyDescendantIsEmptyLink,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst prevHasChildren = usePrevious( hasChildren );\n\n\t// Show the LinkControl on mount if the URL is empty\n\t// ( When adding a new menu item)\n\t// This can't be done in the useState call because it conflicts\n\t// with the autofocus behavior of the BlockListBlock component.\n\tuseEffect( () => {\n\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t}\n\t\t}\n\t}, [ url ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = pagesPermissions.canCreate;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = postsPermissions.canCreate;\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, parentCount > 0 );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If we don't stop propogation, this event bubbles up to the parent submenu item\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t\t'open-on-click': openSubmenusOnClick,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\t// Always use overlay colors for submenus.\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst allowedBlocks =\n\t\tparentCount >= maxNestingLevel\n\t\t\t? ALLOWED_BLOCKS.filter(\n\t\t\t\t\t( blockName ) => blockName !== 'core/navigation-submenu'\n\t\t\t )\n\t\t\t: ALLOWED_BLOCKS;\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst innerBlocksProps = useInnerBlocksProps( navigationChildBlockProps, {\n\t\tallowedBlocks,\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\n\t\t// Ensure block toolbar is not too far removed from item\n\t\t// being edited.\n\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t__experimentalCaptureToolbars: true,\n\n\t\trenderAppender:\n\t\t\tisSelected ||\n\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t! selectedBlockHasChildren ) ||\n\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\thasChildren\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: false,\n\t} );\n\n\tconst ParentElement = openSubmenusOnClick ? 'button' : 'a';\n\n\tfunction transformToLink() {\n\t\tconst newLinkBlock = createBlock( 'core/navigation-link', attributes );\n\t\treplaceBlock( clientId, newLinkBlock );\n\t}\n\n\tuseEffect( () => {\n\t\t// If block becomes empty, transform to Navigation Link.\n\t\tif ( ! hasChildren && prevHasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToLink();\n\t\t}\n\t}, [ hasChildren, prevHasChildren ] );\n\n\tconst canConvertToLink =\n\t\t! selectedBlockHasChildren || onlyDescendantIsEmptyLink;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ ! openSubmenusOnClick && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"revert\"\n\t\t\t\t\t\ticon={ removeSubmenu }\n\t\t\t\t\t\ttitle={ __( 'Convert to Link' ) }\n\t\t\t\t\t\tonClick={ transformToLink }\n\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu__revert\"\n\t\t\t\t\t\tdisabled={ ! canConvertToLink }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-link/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ label || '' }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ url || '' }\n\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: urlValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<ParentElement className=\"wp-block-navigation-item__content\">\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( ref.current );\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\t{ ! openSubmenusOnClick && isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\thasCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { url: '' } );\n\t\t\t\t\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\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</ParentElement>\n\t\t\t\t{ ( showSubmenuIcon || openSubmenusOnClick ) && (\n\t\t\t\t\t<span className=\"wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useSelect","useDispatch","PanelBody","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","displayShortcut","isKeyboardEvent","__","BlockControls","InnerBlocks","useInnerBlocksProps","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","isURL","prependHTTP","useState","useEffect","useRef","link","linkIcon","removeSubmenu","speak","createBlock","useMergeRefs","usePrevious","ItemSubmenuIcon","LinkUI","updateAttributes","getColors","getNavigationChildBlockProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_BLOCKS","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","NavigationSubmenuEdit","attributes","isSelected","setAttributes","mergeBlocks","onReplace","context","clientId","label","url","description","rel","title","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","__unstableMarkNextChangeAsNotPersistent","replaceBlock","selectBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","parentCount","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasChildren","selectedBlockHasChildren","onlyDescendantIsEmptyLink","select","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","getBlock","getBlockCount","getBlockOrder","_onlyDescendantIsEmptyLink","selectedBlockId","selectedBlockChildren","length","singleBlock","prevHasChildren","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksColors","allowedBlocks","filter","blockName","navigationChildBlockProps","innerBlocksProps","defaultBlock","directInsert","__experimentalCaptureToolbars","renderAppender","ButtonBlockAppender","ParentElement","transformToLink","newLinkBlock","canConvertToLink","children","icon","shortcut","onClick","currentTarget","disabled","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","urlValue","descriptionValue","help","titleValue","relValue","identifier","onMerge","placeholder","withoutInteractiveFormatting","allowedFormats","onClose","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { link as linkIcon, removeSubmenu } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { LinkUI } from '../navigation-link/link-ui';\nimport { updateAttributes } from '../navigation-link/update-attributes';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n\t'core/page-list',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n\nexport default function NavigationSubmenuEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { label, url, description, rel, title } = attributes;\n\n\tconst { showSubmenuIcon, maxNestingLevel, openSubmenusOnClick } = context;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlock,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add text…' );\n\tconst ref = useRef();\n\n\tconst {\n\t\tparentCount,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasChildren,\n\t\tselectedBlockHasChildren,\n\t\tonlyDescendantIsEmptyLink,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tlet _onlyDescendantIsEmptyLink;\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst selectedBlockChildren = getBlockOrder( selectedBlockId );\n\n\t\t\t// Check for a single descendant in the submenu. If that block\n\t\t\t// is a link block in a \"placeholder\" state with no label then\n\t\t\t// we can consider as an \"empty\" link.\n\t\t\tif ( selectedBlockChildren?.length === 1 ) {\n\t\t\t\tconst singleBlock = getBlock( selectedBlockChildren[ 0 ] );\n\n\t\t\t\t_onlyDescendantIsEmptyLink =\n\t\t\t\t\tsingleBlock?.name === 'core/navigation-link' &&\n\t\t\t\t\t! singleBlock?.attributes?.label;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tparentCount: getBlockParentsByBlockName(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'core/navigation-submenu'\n\t\t\t\t).length,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tselectedBlockHasChildren: !! selectedBlockChildren?.length,\n\t\t\t\tonlyDescendantIsEmptyLink: _onlyDescendantIsEmptyLink,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst prevHasChildren = usePrevious( hasChildren );\n\n\t// Show the LinkControl on mount if the URL is empty\n\t// ( When adding a new menu item)\n\t// This can't be done in the useState call because it conflicts\n\t// with the autofocus behavior of the BlockListBlock component.\n\tuseEffect( () => {\n\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t}\n\t\t}\n\t}, [ url ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, parentCount > 0 );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If we don't stop propogation, this event bubbles up to the parent submenu item\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t\t'open-on-click': openSubmenusOnClick,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\t// Always use overlay colors for submenus.\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst allowedBlocks =\n\t\tparentCount >= maxNestingLevel\n\t\t\t? ALLOWED_BLOCKS.filter(\n\t\t\t\t\t( blockName ) => blockName !== 'core/navigation-submenu'\n\t\t\t )\n\t\t\t: ALLOWED_BLOCKS;\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst innerBlocksProps = useInnerBlocksProps( navigationChildBlockProps, {\n\t\tallowedBlocks,\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\n\t\t// Ensure block toolbar is not too far removed from item\n\t\t// being edited.\n\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t__experimentalCaptureToolbars: true,\n\n\t\trenderAppender:\n\t\t\tisSelected ||\n\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t! selectedBlockHasChildren ) ||\n\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\thasChildren\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: false,\n\t} );\n\n\tconst ParentElement = openSubmenusOnClick ? 'button' : 'a';\n\n\tfunction transformToLink() {\n\t\tconst newLinkBlock = createBlock( 'core/navigation-link', attributes );\n\t\treplaceBlock( clientId, newLinkBlock );\n\t}\n\n\tuseEffect( () => {\n\t\t// If block becomes empty, transform to Navigation Link.\n\t\tif ( ! hasChildren && prevHasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToLink();\n\t\t}\n\t}, [ hasChildren, prevHasChildren ] );\n\n\tconst canConvertToLink =\n\t\t! selectedBlockHasChildren || onlyDescendantIsEmptyLink;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ ! openSubmenusOnClick && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"revert\"\n\t\t\t\t\t\ticon={ removeSubmenu }\n\t\t\t\t\t\ttitle={ __( 'Convert to Link' ) }\n\t\t\t\t\t\tonClick={ transformToLink }\n\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu__revert\"\n\t\t\t\t\t\tdisabled={ ! canConvertToLink }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-link/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ label || '' }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ url || '' }\n\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: urlValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<ParentElement className=\"wp-block-navigation-item__content\">\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( ref.current );\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\t{ ! openSubmenusOnClick && isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { url: '' } );\n\t\t\t\t\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\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</ParentElement>\n\t\t\t\t{ ( showSubmenuIcon || openSubmenusOnClick ) && (\n\t\t\t\t\t<span className=\"wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,SAAS,EACTC,WAAW,EACXC,eAAe,EACfC,aAAa,EACbC,YAAY,QACN,uBAAuB;AAC9B,SAASC,eAAe,EAAEC,eAAe,QAAQ,qBAAqB;AACtE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,aAAa,EACbC,WAAW,EACXC,mBAAmB,EACnBC,iBAAiB,EACjBC,QAAQ,EACRC,aAAa,EACbC,KAAK,IAAIC,gBAAgB,EACzBC,iBAAiB,QACX,yBAAyB;AAChC,SAASC,KAAK,EAAEC,WAAW,QAAQ,gBAAgB;AACnD,SAASC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AAChE,SAASC,IAAI,IAAIC,QAAQ,EAAEC,aAAa,QAAQ,kBAAkB;AAClE,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,YAAY,EAAEC,WAAW,QAAQ,oBAAoB;;AAE9D;AACA;AACA;AACA,SAASC,eAAe,QAAQ,SAAS;AACzC,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SACCC,SAAS,EACTC,4BAA4B,QACtB,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAElC,MAAMC,cAAc,GAAG,CACtB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,CAChB;AAED,MAAMC,aAAa,GAAG;EACrBC,IAAI,EAAE;AACP,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAKC,UAAU,IAAM;EAC7C,MAAM,CAAEC,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG3B,QAAQ,CAAE,KAAM,CAAC;EAEnEC,SAAS,CAAE,MAAM;IAChB,MAAM;MAAE2B;IAAc,CAAC,GAAGH,UAAU,CAACI,OAAO;IAE5C,SAASC,eAAeA,CAAEC,KAAK,EAAG;MACjC;MACAC,eAAe,CAAED,KAAM,CAAC;IACzB;;IAEA;IACA,SAASE,aAAaA,CAAA,EAAG;MACxBN,mBAAmB,CAAE,KAAM,CAAC;IAC7B;IAEA,SAASK,eAAeA,CAAED,KAAK,EAAG;MACjC;MACA,IAAKN,UAAU,CAACI,OAAO,CAACK,QAAQ,CAAEH,KAAK,CAACI,MAAO,CAAC,EAAG;QAClDR,mBAAmB,CAAE,IAAK,CAAC;MAC5B,CAAC,MAAM;QACNA,mBAAmB,CAAE,KAAM,CAAC;MAC7B;IACD;;IAEA;IACA;IACA;IACAC,aAAa,CAACQ,gBAAgB,CAAE,WAAW,EAAEN,eAAgB,CAAC;IAC9DF,aAAa,CAACQ,gBAAgB,CAAE,SAAS,EAAEH,aAAc,CAAC;IAC1DL,aAAa,CAACQ,gBAAgB,CAAE,WAAW,EAAEJ,eAAgB,CAAC;IAE9D,OAAO,MAAM;MACZJ,aAAa,CAACS,mBAAmB,CAAE,WAAW,EAAEP,eAAgB,CAAC;MACjEF,aAAa,CAACS,mBAAmB,CAAE,SAAS,EAAEJ,aAAc,CAAC;MAC7DL,aAAa,CAACS,mBAAmB,CAAE,WAAW,EAAEL,eAAgB,CAAC;IAClE,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OAAON,gBAAgB;AACxB,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,SAASY,qBAAqBA,CAAE;EAC9CC,UAAU;EACVC,UAAU;EACVC,aAAa;EACbC,WAAW;EACXC,SAAS;EACTC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,KAAK;IAAEC,GAAG;IAAEC,WAAW;IAAEC,GAAG;IAAEC;EAAM,CAAC,GAAGX,UAAU;EAE1D,MAAM;IAAEY,eAAe;IAAEC,eAAe;IAAEC;EAAoB,CAAC,GAAGT,OAAO;EAEzE,MAAM;IACLU,uCAAuC;IACvCC,YAAY;IACZC;EACD,CAAC,GAAG5E,WAAW,CAAEgB,gBAAiB,CAAC;EACnC,MAAM,CAAE6D,UAAU,EAAEC,aAAa,CAAE,GAAG1D,QAAQ,CAAE,KAAM,CAAC;EACvD;EACA,MAAM,CAAE2D,QAAQ,EAAEC,WAAW,CAAE,GAAG5D,QAAQ,CAAE,IAAK,CAAC;EAClD;EACA;EACA,MAAM,CAAE6D,aAAa,EAAEC,gBAAgB,CAAE,GAAG9D,QAAQ,CAAE,IAAK,CAAC;EAC5D,MAAM+D,WAAW,GAAG7D,MAAM,CAAE,IAAK,CAAC;EAClC,MAAMwB,gBAAgB,GAAGF,mBAAmB,CAAEuC,WAAY,CAAC;EAC3D,MAAMC,oBAAoB,GAAG5E,EAAE,CAAE,WAAY,CAAC;EAC9C,MAAM6E,GAAG,GAAG/D,MAAM,CAAC,CAAC;EAEpB,MAAM;IACLgE,WAAW;IACXC,uBAAuB;IACvBC,gCAAgC;IAChCC,WAAW;IACXC,wBAAwB;IACxBC;EACD,CAAC,GAAG5F,SAAS,CACV6F,MAAM,IAAM;IACb,MAAM;MACLC,qBAAqB;MACrBC,wBAAwB;MACxBC,0BAA0B;MAC1BC,QAAQ;MACRC,aAAa;MACbC;IACD,CAAC,GAAGN,MAAM,CAAE5E,gBAAiB,CAAC;IAE9B,IAAImF,0BAA0B;IAE9B,MAAMC,eAAe,GAAGN,wBAAwB,CAAC,CAAC;IAElD,MAAMO,qBAAqB,GAAGH,aAAa,CAAEE,eAAgB,CAAC;;IAE9D;IACA;IACA;IACA,IAAKC,qBAAqB,EAAEC,MAAM,KAAK,CAAC,EAAG;MAC1C,MAAMC,WAAW,GAAGP,QAAQ,CAAEK,qBAAqB,CAAE,CAAC,CAAG,CAAC;MAE1DF,0BAA0B,GACzBI,WAAW,EAAE5D,IAAI,KAAK,sBAAsB,IAC5C,CAAE4D,WAAW,EAAE5C,UAAU,EAAEO,KAAK;IAClC;IAEA,OAAO;MACNoB,WAAW,EAAES,0BAA0B,CACtC9B,QAAQ,EACR,yBACD,CAAC,CAACqC,MAAM;MACRf,uBAAuB,EAAEM,qBAAqB,CAC7C5B,QAAQ,EACR,IACD,CAAC;MACDuB,gCAAgC,EAAEK,qBAAqB,CACtD5B,QAAQ,EACR,KACD,CAAC;MACDwB,WAAW,EAAE,CAAC,CAAEQ,aAAa,CAAEhC,QAAS,CAAC;MACzCyB,wBAAwB,EAAE,CAAC,CAAEW,qBAAqB,EAAEC,MAAM;MAC1DX,yBAAyB,EAAEQ;IAC5B,CAAC;EACF,CAAC,EACD,CAAElC,QAAQ,CACX,CAAC;EAED,MAAMuC,eAAe,GAAG3E,WAAW,CAAE4D,WAAY,CAAC;;EAElD;EACA;EACA;EACA;EACApE,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEoD,mBAAmB,IAAI,CAAEN,GAAG,EAAG;MACrCW,aAAa,CAAE,IAAK,CAAC;IACtB;EACD,CAAC,EAAE,EAAG,CAAC;;EAEP;AACD;AACA;AACA;EACCzD,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEuC,UAAU,EAAG;MACnBkB,aAAa,CAAE,KAAM,CAAC;IACvB;EACD,CAAC,EAAE,CAAElB,UAAU,CAAG,CAAC;;EAEnB;EACAvC,SAAS,CAAE,MAAM;IAChB,IAAKwD,UAAU,IAAIV,GAAG,EAAG;MACxB;MACA,IACCjD,KAAK,CAAEC,WAAW,CAAE+C,KAAM,CAAE,CAAC,IAC7B,aAAa,CAACuC,IAAI,CAAEvC,KAAM,CAAC,EAC1B;QACD;QACAwC,eAAe,CAAC,CAAC;MAClB;IACD;EACD,CAAC,EAAE,CAAEvC,GAAG,CAAG,CAAC;;EAEZ;AACD;AACA;EACC,SAASuC,eAAeA,CAAA,EAAG;IAC1BrB,GAAG,CAACpC,OAAO,CAAC0D,KAAK,CAAC,CAAC;IACnB,MAAM;MAAE3D;IAAc,CAAC,GAAGqC,GAAG,CAACpC,OAAO;IACrC,MAAM;MAAE2D;IAAY,CAAC,GAAG5D,aAAa;IACrC,MAAM6D,SAAS,GAAGD,WAAW,CAACE,YAAY,CAAC,CAAC;IAC5C,MAAMC,KAAK,GAAG/D,aAAa,CAACgE,WAAW,CAAC,CAAC;IACzC;IACAD,KAAK,CAACE,kBAAkB,CAAE5B,GAAG,CAACpC,OAAQ,CAAC;IACvC4D,SAAS,CAACK,eAAe,CAAC,CAAC;IAC3BL,SAAS,CAACM,QAAQ,CAAEJ,KAAM,CAAC;EAC5B;EAEA,MAAM;IACLK,SAAS;IACTC,eAAe;IACfC,eAAe;IACfC;EACD,CAAC,GAAGtF,SAAS,CAAE+B,OAAO,EAAEsB,WAAW,GAAG,CAAE,CAAC;EAEzC,SAASkC,SAASA,CAAErE,KAAK,EAAG;IAC3B,IAAK5C,eAAe,CAACkH,OAAO,CAAEtE,KAAK,EAAE,GAAI,CAAC,EAAG;MAC5C;MACA;MACA;MACAA,KAAK,CAACuE,cAAc,CAAC,CAAC;MACtB;MACAvE,KAAK,CAACwE,eAAe,CAAC,CAAC;MACvB7C,aAAa,CAAE,IAAK,CAAC;MACrBE,WAAW,CAAEK,GAAG,CAACpC,OAAQ,CAAC;IAC3B;EACD;EAEA,MAAM2E,UAAU,GAAG9G,aAAa,CAAE;IACjCuE,GAAG,EAAEzD,YAAY,CAAE,CAAEsD,gBAAgB,EAAEC,WAAW,CAAG,CAAC;IACtD0C,SAAS,EAAE/H,IAAI,CAAE,0BAA0B,EAAE;MAC5C,YAAY,EAAE8D,UAAU,IAAI2B,uBAAuB;MACnD,oBAAoB,EAAEzC,gBAAgB;MACtC,UAAU,EAAE,CAAC,CAAEqB,GAAG;MAClB,WAAW,EAAEsB,WAAW;MACxB,gBAAgB,EAAE,CAAC,CAAE2B,SAAS,IAAI,CAAC,CAAEC,eAAe;MACpD,CAAEpG,iBAAiB,CAAE,OAAO,EAAEmG,SAAU,CAAC,GAAI,CAAC,CAAEA,SAAS;MACzD,gBAAgB,EAAE,CAAC,CAAEE,eAAe,IAAIC,qBAAqB;MAC7D,CAAEtG,iBAAiB,CAAE,kBAAkB,EAAEqG,eAAgB,CAAC,GACzD,CAAC,CAAEA,eAAe;MACnB,eAAe,EAAE7C;IAClB,CAAE,CAAC;IACHqD,KAAK,EAAE;MACNC,KAAK,EAAE,CAAEX,SAAS,IAAIC,eAAe;MACrCC,eAAe,EAAE,CAAEA,eAAe,IAAIC;IACvC,CAAC;IACDC;EACD,CAAE,CAAC;;EAEH;EACA,MAAMQ,iBAAiB,GAAG/F,SAAS,CAAE+B,OAAO,EAAE,IAAK,CAAC;EAEpD,MAAMiE,aAAa,GAClB3C,WAAW,IAAId,eAAe,GAC3B/B,cAAc,CAACyF,MAAM,CACnBC,SAAS,IAAMA,SAAS,KAAK,yBAC/B,CAAC,GACD1F,cAAc;EAElB,MAAM2F,yBAAyB,GAC9BlG,4BAA4B,CAAE8F,iBAAkB,CAAC;EAClD,MAAMK,gBAAgB,GAAG1H,mBAAmB,CAAEyH,yBAAyB,EAAE;IACxEH,aAAa;IACbK,YAAY,EAAE5F,aAAa;IAC3B6F,YAAY,EAAE,IAAI;IAElB;IACA;IACA;IACAC,6BAA6B,EAAE,IAAI;IAEnCC,cAAc,EACb7E,UAAU,IACR4B,gCAAgC,IACjC,CAAEE,wBAA0B;IAC7B;IACAD,WAAW,GACR/E,WAAW,CAACgI,mBAAmB,GAC/B;EACL,CAAE,CAAC;EAEH,MAAMC,aAAa,GAAGlE,mBAAmB,GAAG,QAAQ,GAAG,GAAG;EAE1D,SAASmE,eAAeA,CAAA,EAAG;IAC1B,MAAMC,YAAY,GAAGlH,WAAW,CAAE,sBAAsB,EAAEgC,UAAW,CAAC;IACtEgB,YAAY,CAAEV,QAAQ,EAAE4E,YAAa,CAAC;EACvC;EAEAxH,SAAS,CAAE,MAAM;IAChB;IACA,IAAK,CAAEoE,WAAW,IAAIe,eAAe,EAAG;MACvC;MACA;MACA9B,uCAAuC,CAAC,CAAC;MACzCkE,eAAe,CAAC,CAAC;IAClB;EACD,CAAC,EAAE,CAAEnD,WAAW,EAAEe,eAAe,CAAG,CAAC;EAErC,MAAMsC,gBAAgB,GACrB,CAAEpD,wBAAwB,IAAIC,yBAAyB;EAExD,oBACCrD,KAAA,CAAAE,SAAA;IAAAuG,QAAA,gBACC3G,IAAA,CAAC3B,aAAa;MAAAsI,QAAA,eACbzG,KAAA,CAACjC,YAAY;QAAA0I,QAAA,GACV,CAAEtE,mBAAmB,iBACtBrC,IAAA,CAAChC,aAAa;UACbuC,IAAI,EAAC,MAAM;UACXqG,IAAI,EAAGxH,QAAU;UACjB8C,KAAK,EAAG9D,EAAE,CAAE,MAAO,CAAG;UACtByI,QAAQ,EAAG3I,eAAe,CAACmH,OAAO,CAAE,GAAI,CAAG;UAC3CyB,OAAO,EAAK/F,KAAK,IAAM;YACtB2B,aAAa,CAAE,IAAK,CAAC;YACrBE,WAAW,CAAE7B,KAAK,CAACgG,aAAc,CAAC;UACnC;QAAG,CACH,CACD,eAED/G,IAAA,CAAChC,aAAa;UACbuC,IAAI,EAAC,QAAQ;UACbqG,IAAI,EAAGvH,aAAe;UACtB6C,KAAK,EAAG9D,EAAE,CAAE,iBAAkB,CAAG;UACjC0I,OAAO,EAAGN,eAAiB;UAC3Bf,SAAS,EAAC,sCAAsC;UAChDuB,QAAQ,EAAG,CAAEN;QAAkB,CAC/B,CAAC;MAAA,CACW;IAAC,CACD,CAAC,eAEhB1G,IAAA,CAACxB,iBAAiB;MAAAmI,QAAA,eACjBzG,KAAA,CAACrC,SAAS;QAACqE,KAAK,EAAG9D,EAAE,CAAE,UAAW,CAAG;QAAAuI,QAAA,gBACpC3G,IAAA,CAAClC,WAAW;UACXmJ,uBAAuB;UACvBC,qBAAqB;UACrBC,KAAK,EAAGrF,KAAK,IAAI,EAAI;UACrBsF,QAAQ,EAAKC,UAAU,IAAM;YAC5B5F,aAAa,CAAE;cAAEK,KAAK,EAAEuF;YAAW,CAAE,CAAC;UACvC,CAAG;UACHvF,KAAK,EAAG1D,EAAE,CAAE,MAAO,CAAG;UACtBkJ,YAAY,EAAC;QAAK,CAClB,CAAC,eACFtH,IAAA,CAAClC,WAAW;UACXmJ,uBAAuB;UACvBC,qBAAqB;UACrBC,KAAK,EAAGpF,GAAG,IAAI,EAAI;UACnBqF,QAAQ,EAAKG,QAAQ,IAAM;YAC1B9F,aAAa,CAAE;cAAEM,GAAG,EAAEwF;YAAS,CAAE,CAAC;UACnC,CAAG;UACHzF,KAAK,EAAG1D,EAAE,CAAE,MAAO,CAAG;UACtBkJ,YAAY,EAAC;QAAK,CAClB,CAAC,eACFtH,IAAA,CAACjC,eAAe;UACfkJ,uBAAuB;UACvBE,KAAK,EAAGnF,WAAW,IAAI,EAAI;UAC3BoF,QAAQ,EAAKI,gBAAgB,IAAM;YAClC/F,aAAa,CAAE;cACdO,WAAW,EAAEwF;YACd,CAAE,CAAC;UACJ,CAAG;UACH1F,KAAK,EAAG1D,EAAE,CAAE,aAAc,CAAG;UAC7BqJ,IAAI,EAAGrJ,EAAE,CACR,iFACD;QAAG,CACH,CAAC,eACF4B,IAAA,CAAClC,WAAW;UACXmJ,uBAAuB;UACvBC,qBAAqB;UACrBC,KAAK,EAAGjF,KAAK,IAAI,EAAI;UACrBkF,QAAQ,EAAKM,UAAU,IAAM;YAC5BjG,aAAa,CAAE;cAAES,KAAK,EAAEwF;YAAW,CAAE,CAAC;UACvC,CAAG;UACH5F,KAAK,EAAG1D,EAAE,CAAE,iBAAkB,CAAG;UACjCkJ,YAAY,EAAC,KAAK;UAClBG,IAAI,EAAGrJ,EAAE,CACR,iEACD;QAAG,CACH,CAAC,eACF4B,IAAA,CAAClC,WAAW;UACXmJ,uBAAuB;UACvBC,qBAAqB;UACrBC,KAAK,EAAGlF,GAAG,IAAI,EAAI;UACnBmF,QAAQ,EAAKO,QAAQ,IAAM;YAC1BlG,aAAa,CAAE;cAAEQ,GAAG,EAAE0F;YAAS,CAAE,CAAC;UACnC,CAAG;UACH7F,KAAK,EAAG1D,EAAE,CAAE,eAAgB,CAAG;UAC/BkJ,YAAY,EAAC,KAAK;UAClBG,IAAI,EAAGrJ,EAAE,CACR,mEACD;QAAG,CACH,CAAC;MAAA,CACQ;IAAC,CACM,CAAC,eACpB8B,KAAA;MAAA,GAAUsF,UAAU;MAAAmB,QAAA,gBAEnBzG,KAAA,CAACqG,aAAa;QAACd,SAAS,EAAC,mCAAmC;QAAAkB,QAAA,gBAE3D3G,IAAA,CAACvB,QAAQ;UACRwE,GAAG,EAAGA,GAAK;UACX2E,UAAU,EAAC,OAAO;UAClBnC,SAAS,EAAC,iCAAiC;UAC3C0B,KAAK,EAAGrF,KAAO;UACfsF,QAAQ,EAAKC,UAAU,IACtB5F,aAAa,CAAE;YAAEK,KAAK,EAAEuF;UAAW,CAAE,CACrC;UACDQ,OAAO,EAAGnG,WAAa;UACvBC,SAAS,EAAGA,SAAW;UACvB,cAAavD,EAAE,CAAE,sBAAuB,CAAG;UAC3C0J,WAAW,EAAG9E,oBAAsB;UACpC+E,4BAA4B;UAC5BC,cAAc,EAAG,CAChB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,oBAAoB,CAClB;UACHlB,OAAO,EAAGA,CAAA,KAAM;YACf,IAAK,CAAEzE,mBAAmB,IAAI,CAAEN,GAAG,EAAG;cACrCW,aAAa,CAAE,IAAK,CAAC;cACrBE,WAAW,CAAEK,GAAG,CAACpC,OAAQ,CAAC;YAC3B;UACD;QAAG,CACH,CAAC,EACA,CAAEwB,mBAAmB,IAAII,UAAU,iBACpCzC,IAAA,CAACL,MAAM;UACNkC,QAAQ,EAAGA,QAAU;UACrB1C,IAAI,EAAGoC,UAAY;UACnB0G,OAAO,EAAGA,CAAA,KAAM;YACfvF,aAAa,CAAE,KAAM,CAAC;YACtB,IAAKC,QAAQ,EAAG;cACfA,QAAQ,CAAC4B,KAAK,CAAC,CAAC;cAChB3B,WAAW,CAAE,IAAK,CAAC;YACpB,CAAC,MAAM;cACNJ,WAAW,CAAEX,QAAS,CAAC;YACxB;UACD,CAAG;UACHqG,MAAM,EAAGrF,aAAe;UACxBsF,QAAQ,EAAGA,CAAA,KAAM;YAChB1G,aAAa,CAAE;cAAEM,GAAG,EAAE;YAAG,CAAE,CAAC;YAC5BzC,KAAK,CAAElB,EAAE,CAAE,eAAgB,CAAC,EAAE,WAAY,CAAC;UAC5C,CAAG;UACHgJ,QAAQ,EAAKgB,YAAY,IAAM;YAC9BxI,gBAAgB,CACfwI,YAAY,EACZ3G,aAAa,EACbF,UACD,CAAC;UACF;QAAG,CACH,CACD;MAAA,CACa,CAAC,EACd,CAAEY,eAAe,IAAIE,mBAAmB,kBACzCrC,IAAA;QAAMyF,SAAS,EAAC,mCAAmC;QAAAkB,QAAA,eAClD3G,IAAA,CAACN,eAAe,IAAE;MAAC,CACd,CACN,eACDM,IAAA;QAAA,GAAUiG;MAAgB,CAAI,CAAC;IAAA,CAC3B,CAAC;EAAA,CACL,CAAC;AAEL","ignoreList":[]}
|
|
@@ -251,6 +251,7 @@ export default function PageListEdit({
|
|
|
251
251
|
children: [/*#__PURE__*/_jsxs(InspectorControls, {
|
|
252
252
|
children: [pagesTree.length > 0 && /*#__PURE__*/_jsx(PanelBody, {
|
|
253
253
|
children: /*#__PURE__*/_jsx(ComboboxControl, {
|
|
254
|
+
__nextHasNoMarginBottom: true,
|
|
254
255
|
__next40pxDefaultSize: true,
|
|
255
256
|
className: "editor-page-attributes__parent",
|
|
256
257
|
label: __('Parent'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","createBlock","InspectorControls","BlockControls","useBlockProps","useInnerBlocksProps","getColorClassName","store","blockEditorStore","Warning","PanelBody","ToolbarButton","Spinner","Notice","ComboboxControl","Button","__","sprintf","useMemo","useState","useEffect","useCallback","useEntityRecords","useSelect","useDispatch","useConvertToNavigationLinks","convertDescription","ConvertToLinksModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_PAGE_COUNT","NOOP","BlockContent","blockProps","innerBlocksProps","hasResolvedPages","blockList","pages","parentPageID","children","className","status","isDismissible","length","parentPageDetails","find","page","id","title","rendered","PageListEdit","context","clientId","attributes","setAttributes","isOpen","setOpen","openModal","closeModal","records","hasResolved","per_page","_fields","orderby","order","allowConvertToLinks","pagesByParentId","Map","sortedPages","sort","a","b","menu_order","localeCompare","reduce","accumulator","parent","has","get","push","set","textColor","backgroundColor","style","color","pagesTree","makePagesTree","parentId","level","childPages","tree","hasChildren","item","value","label","repeat","rawName","getBlockList","template","pageProps","trim","link","url","isNested","hasSelectedChild","parentClientId","hasDraggedChild","isChildOfNavigation","select","getBlockParentsByBlockName","hasSelectedInnerBlock","hasDraggedInnerBlock","blockParents","navigationBlockParents","convertToNavigationLinks","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","selectBlock","__next40pxDefaultSize","options","help","variant","accessibleWhenDisabled","disabled","onClick","group","onClose"],"sources":["@wordpress/block-library/src/page-list/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"info\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst pagesTree = useMemo(\n\t\tfunction makePagesTree( parentId = 0, level = 0 ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst item = {\n\t\t\t\t\tvalue: page.id,\n\t\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\t\trawName: page.title.rendered,\n\t\t\t\t};\n\t\t\t\ttree.push( item );\n\t\t\t\tif ( hasChildren ) {\n\t\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId ]\n\t);\n\n\tconst blockList = useMemo(\n\t\tfunction getBlockList( parentId = parentPageID ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst pageProps = {\n\t\t\t\t\tid: page.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ttitle: page.title?.rendered,\n\t\t\t\t\tlink: page.url,\n\t\t\t\t\thasChildren,\n\t\t\t\t};\n\t\t\t\tlet item = null;\n\t\t\t\tconst children = getBlockList( page.id );\n\t\t\t\titem = createBlock(\n\t\t\t\t\t'core/page-list-item',\n\t\t\t\t\tpageProps,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t\ttemplate.push( item );\n\n\t\t\t\treturn template;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId, parentPageID ]\n\t);\n\n\tconst {\n\t\tisNested,\n\t\thasSelectedChild,\n\t\tparentClientId,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentClientId: navigationBlockParents[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentClientId,\n\t\tparentPageID,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentClientId );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentClientId,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested, setAttributes ] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\tlabel={ __( 'Parent' ) }\n\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: value ?? 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\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) }\n\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t<PanelBody title={ __( 'Edit this menu' ) }>\n\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\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\t<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","createBlock","InspectorControls","BlockControls","useBlockProps","useInnerBlocksProps","getColorClassName","store","blockEditorStore","Warning","PanelBody","ToolbarButton","Spinner","Notice","ComboboxControl","Button","__","sprintf","useMemo","useState","useEffect","useCallback","useEntityRecords","useSelect","useDispatch","useConvertToNavigationLinks","convertDescription","ConvertToLinksModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_PAGE_COUNT","NOOP","BlockContent","blockProps","innerBlocksProps","hasResolvedPages","blockList","pages","parentPageID","children","className","status","isDismissible","length","parentPageDetails","find","page","id","title","rendered","PageListEdit","context","clientId","attributes","setAttributes","isOpen","setOpen","openModal","closeModal","records","hasResolved","per_page","_fields","orderby","order","allowConvertToLinks","pagesByParentId","Map","sortedPages","sort","a","b","menu_order","localeCompare","reduce","accumulator","parent","has","get","push","set","textColor","backgroundColor","style","color","pagesTree","makePagesTree","parentId","level","childPages","tree","hasChildren","item","value","label","repeat","rawName","getBlockList","template","pageProps","trim","link","url","isNested","hasSelectedChild","parentClientId","hasDraggedChild","isChildOfNavigation","select","getBlockParentsByBlockName","hasSelectedInnerBlock","hasDraggedInnerBlock","blockParents","navigationBlockParents","convertToNavigationLinks","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","selectBlock","__nextHasNoMarginBottom","__next40pxDefaultSize","options","help","variant","accessibleWhenDisabled","disabled","onClick","group","onClose"],"sources":["@wordpress/block-library/src/page-list/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"info\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst pagesTree = useMemo(\n\t\tfunction makePagesTree( parentId = 0, level = 0 ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst item = {\n\t\t\t\t\tvalue: page.id,\n\t\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\t\trawName: page.title.rendered,\n\t\t\t\t};\n\t\t\t\ttree.push( item );\n\t\t\t\tif ( hasChildren ) {\n\t\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId ]\n\t);\n\n\tconst blockList = useMemo(\n\t\tfunction getBlockList( parentId = parentPageID ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst pageProps = {\n\t\t\t\t\tid: page.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ttitle: page.title?.rendered,\n\t\t\t\t\tlink: page.url,\n\t\t\t\t\thasChildren,\n\t\t\t\t};\n\t\t\t\tlet item = null;\n\t\t\t\tconst children = getBlockList( page.id );\n\t\t\t\titem = createBlock(\n\t\t\t\t\t'core/page-list-item',\n\t\t\t\t\tpageProps,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t\ttemplate.push( item );\n\n\t\t\t\treturn template;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId, parentPageID ]\n\t);\n\n\tconst {\n\t\tisNested,\n\t\thasSelectedChild,\n\t\tparentClientId,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentClientId: navigationBlockParents[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentClientId,\n\t\tparentPageID,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentClientId );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentClientId,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested, setAttributes ] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\tlabel={ __( 'Parent' ) }\n\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: value ?? 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\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) }\n\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t<PanelBody title={ __( 'Edit this menu' ) }>\n\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\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\t<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,7 +20,10 @@ import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
|
20
20
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
21
|
function useFrontPageId() {
|
|
22
22
|
return useSelect(select => {
|
|
23
|
-
const canReadSettings = select(coreStore).canUser('read',
|
|
23
|
+
const canReadSettings = select(coreStore).canUser('read', {
|
|
24
|
+
kind: 'root',
|
|
25
|
+
name: 'site'
|
|
26
|
+
});
|
|
24
27
|
if (!canReadSettings) {
|
|
25
28
|
return undefined;
|
|
26
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useBlockProps","useInnerBlocksProps","useSelect","store","coreStore","decodeEntities","ItemSubmenuIcon","getColors","getNavigationChildBlockProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useFrontPageId","select","canReadSettings","canUser","undefined","site","getEntityRecord","show_on_front","page_on_front","PageListItemEdit","context","attributes","id","label","link","hasChildren","title","isNavigationChild","frontPageId","innerBlocksColors","navigationChildBlockProps","blockProps","className","innerBlocksProps","openSubmenusOnClick","showSubmenuIcon","children","type","href"],"sources":["@wordpress/block-library/src/page-list-item/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nfunction useFrontPageId() {\n\treturn useSelect( ( select ) => {\n\t\tconst canReadSettings = select( coreStore ).canUser(\n\t\t\
|
|
1
|
+
{"version":3,"names":["clsx","useBlockProps","useInnerBlocksProps","useSelect","store","coreStore","decodeEntities","ItemSubmenuIcon","getColors","getNavigationChildBlockProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useFrontPageId","select","canReadSettings","canUser","kind","name","undefined","site","getEntityRecord","show_on_front","page_on_front","PageListItemEdit","context","attributes","id","label","link","hasChildren","title","isNavigationChild","frontPageId","innerBlocksColors","navigationChildBlockProps","blockProps","className","innerBlocksProps","openSubmenusOnClick","showSubmenuIcon","children","type","href"],"sources":["@wordpress/block-library/src/page-list-item/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nfunction useFrontPageId() {\n\treturn useSelect( ( select ) => {\n\t\tconst canReadSettings = select( coreStore ).canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tif ( ! canReadSettings ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst site = select( coreStore ).getEntityRecord( 'root', 'site' );\n\t\treturn site?.show_on_front === 'page' && site?.page_on_front;\n\t}, [] );\n}\n\nexport default function PageListItemEdit( { context, attributes } ) {\n\tconst { id, label, link, hasChildren, title } = attributes;\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst frontPageId = useFrontPageId();\n\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst blockProps = useBlockProps( navigationChildBlockProps, {\n\t\tclassName: 'wp-block-pages-list__item',\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps );\n\n\treturn (\n\t\t<li\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'wp-block-pages-list__item', {\n\t\t\t\t'has-child': hasChildren,\n\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t! context.openSubmenusOnClick && context.showSubmenuIcon,\n\t\t\t\t'menu-item-home': id === frontPageId,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t<>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ decodeEntities( label ) }\n\t\t\t\t\t</button>\n\t\t\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ clsx( 'wp-block-pages-list__item__link', {\n\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t} ) }\n\t\t\t\t\thref={ link }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( title ) }\n\t\t\t\t</a>\n\t\t\t) }\n\t\t\t{ hasChildren && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\"\n\t\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t<ul { ...innerBlocksProps }></ul>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","paragraph","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","align","type","content","source","selector","__experimentalRole","dropCap","placeholder","direction","supports","splitting","anchor","className","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalTextDecoration","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalWritingMode","__experimentalSelector","__unstablePasteTextInline","interactivity","clientNavigation","editorStyle","
|
|
1
|
+
{"version":3,"names":["__","paragraph","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","align","type","content","source","selector","__experimentalRole","dropCap","placeholder","direction","supports","splitting","anchor","className","__experimentalBorder","color","radius","style","width","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalTextDecoration","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalWritingMode","__experimentalSelector","__unstablePasteTextInline","interactivity","clientNavigation","editorStyle","save","transforms","settings","example","__experimentalLabel","context","customName","length","merge","attributesToMerge","init"],"sources":["@wordpress/block-library/src/paragraph/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { paragraph as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __(\n\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t),\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif ( context === 'list-view' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\tif ( customName ) {\n\t\t\t\treturn customName;\n\t\t\t}\n\n\t\t\tconst { content } = attributes;\n\t\t\treturn ! content || content.length === 0 ? __( 'Empty' ) : content;\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,IAAIC,IAAI,QAAQ,kBAAkB;;AAEpD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,kBAAA;IAAA;IAAAC,OAAA;MAAAL,IAAA;MAAA;IAAA;IAAAM,WAAA;MAAAN,IAAA;IAAA;IAAAO,SAAA;MAAAP,IAAA;MAAA;IAAA;EAAA;EAAAQ,QAAA;IAAAC,SAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC,oBAAA;MAAAC,KAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;IAAA;IAAAH,KAAA;MAAAI,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAL,6BAAA;QAAAI,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,4BAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAC,yBAAA;MAAAf,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAS,sBAAA;IAAAC,yBAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAxB,KAAA;AAAA;AAE1B,OAAOyB,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEjD;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMkD,QAAQ,GAAG;EACvBzD,IAAI;EACJ0D,OAAO,EAAE;IACR7C,UAAU,EAAE;MACXG,OAAO,EAAElB,EAAE,CACV,kOACD;IACD;EACD,CAAC;EACD6D,mBAAmBA,CAAE9C,UAAU,EAAE;IAAE+C;EAAQ,CAAC,EAAG;IAC9C,MAAMC,UAAU,GAAGhD,UAAU,EAAET,QAAQ,EAAEG,IAAI;IAE7C,IAAKqD,OAAO,KAAK,WAAW,IAAIC,UAAU,EAAG;MAC5C,OAAOA,UAAU;IAClB;IAEA,IAAKD,OAAO,KAAK,eAAe,EAAG;MAClC,IAAKC,UAAU,EAAG;QACjB,OAAOA,UAAU;MAClB;MAEA,MAAM;QAAE7C;MAAQ,CAAC,GAAGH,UAAU;MAC9B,OAAO,CAAEG,OAAO,IAAIA,OAAO,CAAC8C,MAAM,KAAK,CAAC,GAAGhE,EAAE,CAAE,OAAQ,CAAC,GAAGkB,OAAO;IACnE;EACD,CAAC;EACDwC,UAAU;EACVtD,UAAU;EACV6D,KAAKA,CAAElD,UAAU,EAAEmD,iBAAiB,EAAG;IACtC,OAAO;MACNhD,OAAO,EACN,CAAEH,UAAU,CAACG,OAAO,IAAI,EAAE,KACxBgD,iBAAiB,CAAChD,OAAO,IAAI,EAAE;IACnC,CAAC;EACF,CAAC;EACDb,IAAI;EACJoD;AACD,CAAC;AAED,OAAO,MAAMU,IAAI,GAAGA,CAAA,KAAMhE,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAEqD;AAAS,CAAE,CAAC","ignoreList":[]}
|