@wordpress/block-library 7.18.0 → 8.0.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/audio/edit.native.js +1 -3
- package/build/audio/edit.native.js.map +1 -1
- package/build/audio/index.js +2 -1
- package/build/audio/index.js.map +1 -1
- package/build/avatar/edit.js +1 -0
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/user-control.js +1 -0
- package/build/avatar/user-control.js.map +1 -1
- package/build/block/edit.js +14 -2
- package/build/block/edit.js.map +1 -1
- package/build/block/edit.native.js +14 -6
- package/build/block/edit.native.js.map +1 -1
- package/build/block/index.js +1 -2
- package/build/block/index.js.map +1 -1
- package/build/button/deprecated.js +16 -2
- package/build/button/deprecated.js.map +1 -1
- package/build/button/edit.js +13 -7
- package/build/button/edit.js.map +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/button/index.js +4 -1
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +2 -0
- package/build/button/save.js.map +1 -1
- package/build/code/transforms.js +1 -1
- package/build/code/transforms.js.map +1 -1
- package/build/columns/edit.js +1 -0
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +13 -30
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/transforms.js +5 -0
- package/build/columns/transforms.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -0
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/edit/index.js +3 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +2 -0
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit.native.js +24 -16
- package/build/cover/edit.native.js.map +1 -1
- package/build/embed/embed-controls.native.js +1 -0
- package/build/embed/embed-controls.native.js.map +1 -1
- package/build/embed/embed-preview.native.js +1 -3
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/file/inspector.js +1 -0
- package/build/file/inspector.js.map +1 -1
- package/build/gallery/edit.js +25 -13
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.native.js +1 -3
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/shared.js +4 -10
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +1 -7
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-media.js +1 -1
- package/build/gallery/use-get-media.js.map +1 -1
- package/build/gallery/use-get-media.native.js +3 -1
- package/build/gallery/use-get-media.native.js.map +1 -1
- package/build/gallery/v1/edit.js +26 -17
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery.native.js +1 -3
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/gallery/v1/shared.js +4 -1
- package/build/gallery/v1/shared.js.map +1 -1
- package/build/group/edit.js +97 -45
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +6 -1
- package/build/group/index.js.map +1 -1
- package/build/group/placeholder.js +147 -0
- package/build/group/placeholder.js.map +1 -0
- package/build/group/variations.js +3 -3
- package/build/group/variations.js.map +1 -1
- package/build/heading/deprecated.js +152 -69
- package/build/heading/deprecated.js.map +1 -1
- package/build/heading/index.js +1 -2
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +1 -2
- package/build/heading/transforms.js.map +1 -1
- package/build/html/index.js +1 -1
- package/build/image/edit.js +8 -5
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +3 -2
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +12 -8
- package/build/image/image.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +3 -1
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-comments/index.js +5 -1
- package/build/latest-comments/index.js.map +1 -1
- package/build/latest-posts/deprecated.js +13 -0
- package/build/latest-posts/deprecated.js.map +1 -1
- package/build/latest-posts/edit.js +2 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/index.js +13 -0
- package/build/latest-posts/index.js.map +1 -1
- package/build/list/transforms.js +1 -9
- package/build/list/transforms.js.map +1 -1
- package/build/list/utils.js +5 -2
- package/build/list/utils.js.map +1 -1
- package/build/list-item/edit.js +2 -1
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/index.js +4 -1
- package/build/list-item/index.js.map +1 -1
- package/build/list-item/transforms.js +22 -0
- package/build/list-item/transforms.js.map +1 -0
- package/build/list-item/utils.js +77 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/media-text/edit.js +4 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/navigation/edit/are-blocks-dirty.js +52 -0
- package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
- package/build/navigation/edit/index.js +112 -143
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/manage-menus-button.js +36 -0
- package/build/navigation/edit/manage-menus-button.js.map +1 -0
- package/build/navigation/edit/menu-inspector-controls.js +72 -0
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
- package/build/navigation/edit/navigation-menu-selector.js +3 -1
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +2 -6
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +15 -25
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/view-modal.js +6 -2
- package/build/navigation/view-modal.js.map +1 -1
- package/build/navigation-link/edit.js +52 -299
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js +222 -0
- package/build/navigation-link/link-ui.js.map +1 -0
- package/build/navigation-link/transforms.js +12 -0
- package/build/navigation-link/transforms.js.map +1 -1
- package/build/navigation-link/update-attributes.js +108 -0
- package/build/navigation-link/update-attributes.js.map +1 -0
- package/build/navigation-submenu/edit.js +42 -173
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/constants.js +15 -0
- package/build/page-list/constants.js.map +1 -0
- package/build/page-list/convert-to-links-modal.js +22 -86
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/convert-to-navigation-links.js +76 -0
- package/build/page-list/convert-to-navigation-links.js.map +1 -0
- package/build/page-list/edit.js +142 -78
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +6 -1
- package/build/page-list/index.js.map +1 -1
- package/build/page-list-item/edit.js +87 -0
- package/build/page-list-item/edit.js.map +1 -0
- package/build/page-list-item/index.js +85 -0
- package/build/page-list-item/index.js.map +1 -0
- package/build/page-list-item/init.js +16 -0
- package/build/page-list-item/init.js.map +1 -0
- package/build/paragraph/index.js +1 -7
- package/build/paragraph/index.js.map +1 -1
- package/build/post-author/edit.js +38 -22
- package/build/post-author/edit.js.map +1 -1
- package/build/post-content/index.js +3 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-featured-image/overlay.js +1 -0
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-template/index.js +8 -0
- package/build/post-template/index.js.map +1 -1
- package/build/preformatted/transforms.js +3 -1
- package/build/preformatted/transforms.js.map +1 -1
- package/build/query/deprecated.js +192 -21
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +1 -0
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/query-placeholder.js +3 -19
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/index.js +0 -8
- package/build/query/index.js.map +1 -1
- package/build/query/utils.js +0 -8
- package/build/query/utils.js.map +1 -1
- package/build/rss/edit.js +3 -0
- package/build/rss/edit.js.map +1 -1
- package/build/search/edit.native.js +22 -22
- package/build/search/edit.native.js.map +1 -1
- package/build/search/index.js +9 -1
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +18 -10
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +1 -0
- package/build/site-logo/index.js.map +1 -1
- package/build/site-title/index.js +1 -0
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/social-list.js +4 -12
- package/build/social-link/social-list.js.map +1 -1
- package/build/table/edit.js +3 -1
- package/build/table/edit.js.map +1 -1
- package/build/table/index.js +17 -1
- package/build/table/index.js.map +1 -1
- package/build/table/save.js +4 -2
- package/build/table/save.js.map +1 -1
- package/build/table/state.js +24 -12
- package/build/table/state.js.map +1 -1
- package/build/table/transforms.js +3 -2
- package/build/table/transforms.js.map +1 -1
- package/build/table-of-contents/edit.js +2 -2
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +2 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +5 -2
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +2 -6
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/template-part/variations.js +5 -0
- package/build/template-part/variations.js.map +1 -1
- package/build/text-columns/edit.js +1 -0
- package/build/text-columns/edit.js.map +1 -1
- package/build/utils/transformation-categories.native.js +1 -1
- package/build/utils/transformation-categories.native.js.map +1 -1
- package/build/video/edit.js +1 -1
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +1 -3
- package/build/video/edit.native.js.map +1 -1
- package/build-module/audio/edit.native.js +1 -2
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/audio/index.js +2 -1
- package/build-module/audio/index.js.map +1 -1
- package/build-module/avatar/edit.js +1 -0
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/avatar/user-control.js +1 -0
- package/build-module/avatar/user-control.js.map +1 -1
- package/build-module/block/edit.js +14 -2
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/edit.native.js +14 -6
- package/build-module/block/edit.native.js.map +1 -1
- package/build-module/block/index.js +1 -2
- package/build-module/block/index.js.map +1 -1
- package/build-module/button/deprecated.js +16 -2
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/edit.js +15 -9
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/edit.native.js +2 -1
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/button/index.js +4 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +2 -0
- package/build-module/button/save.js.map +1 -1
- package/build-module/code/transforms.js +1 -1
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/columns/edit.js +1 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +13 -29
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/columns/transforms.js +5 -0
- package/build-module/columns/transforms.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -0
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/edit/index.js +3 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +2 -0
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit.native.js +22 -14
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/embed/embed-controls.native.js +2 -1
- package/build-module/embed/embed-controls.native.js.map +1 -1
- package/build-module/embed/embed-preview.native.js +1 -2
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/file/inspector.js +1 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/gallery/edit.js +25 -12
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.native.js +1 -2
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/shared.js +5 -11
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +1 -6
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-media.js +1 -1
- package/build-module/gallery/use-get-media.js.map +1 -1
- package/build-module/gallery/use-get-media.native.js +3 -1
- package/build-module/gallery/use-get-media.native.js.map +1 -1
- package/build-module/gallery/v1/edit.js +27 -18
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery.native.js +1 -2
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/gallery/v1/shared.js +5 -2
- package/build-module/gallery/v1/shared.js.map +1 -1
- package/build-module/group/edit.js +92 -45
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +6 -1
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/placeholder.js +133 -0
- package/build-module/group/placeholder.js.map +1 -0
- package/build-module/group/variations.js +3 -3
- package/build-module/group/variations.js.map +1 -1
- package/build-module/heading/deprecated.js +152 -69
- package/build-module/heading/deprecated.js.map +1 -1
- package/build-module/heading/index.js +1 -2
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +1 -2
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/html/index.js +1 -1
- package/build-module/image/edit.js +9 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +2 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +13 -9
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +3 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-comments/index.js +5 -1
- package/build-module/latest-comments/index.js.map +1 -1
- package/build-module/latest-posts/deprecated.js +13 -0
- package/build-module/latest-posts/deprecated.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/index.js +13 -0
- package/build-module/latest-posts/index.js.map +1 -1
- package/build-module/list/transforms.js +1 -9
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/utils.js +5 -2
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/edit.js +2 -1
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/index.js +3 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/list-item/transforms.js +13 -0
- package/build-module/list-item/transforms.js.map +1 -0
- package/build-module/list-item/utils.js +78 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/media-text/edit.js +5 -3
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
- package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
- package/build-module/navigation/edit/index.js +111 -143
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/manage-menus-button.js +26 -0
- package/build-module/navigation/edit/manage-menus-button.js.map +1 -0
- package/build-module/navigation/edit/menu-inspector-controls.js +59 -0
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
- package/build-module/navigation/edit/navigation-menu-selector.js +3 -1
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +2 -6
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +16 -26
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/view-modal.js +6 -2
- package/build-module/navigation/view-modal.js.map +1 -1
- package/build-module/navigation-link/edit.js +56 -300
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +206 -0
- package/build-module/navigation-link/link-ui.js.map +1 -0
- package/build-module/navigation-link/transforms.js +12 -0
- package/build-module/navigation-link/transforms.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +97 -0
- package/build-module/navigation-link/update-attributes.js.map +1 -0
- package/build-module/navigation-submenu/edit.js +47 -175
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/constants.js +6 -0
- package/build-module/page-list/constants.js.map +1 -0
- package/build-module/page-list/convert-to-links-modal.js +20 -81
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/convert-to-navigation-links.js +66 -0
- package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
- package/build-module/page-list/edit.js +144 -82
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +6 -1
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/page-list-item/edit.js +74 -0
- package/build-module/page-list-item/edit.js.map +1 -0
- package/build-module/page-list-item/index.js +68 -0
- package/build-module/page-list-item/index.js.map +1 -0
- package/build-module/page-list-item/init.js +6 -0
- package/build-module/page-list-item/init.js.map +1 -0
- package/build-module/paragraph/index.js +1 -7
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/post-author/edit.js +38 -23
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-content/index.js +3 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +1 -0
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-template/index.js +8 -0
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/preformatted/transforms.js +3 -1
- package/build-module/preformatted/transforms.js.map +1 -1
- package/build-module/query/deprecated.js +185 -21
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +1 -0
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +3 -19
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/index.js +0 -8
- package/build-module/query/index.js.map +1 -1
- package/build-module/query/utils.js +0 -8
- package/build-module/query/utils.js.map +1 -1
- package/build-module/rss/edit.js +3 -0
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/search/edit.native.js +20 -20
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/search/index.js +8 -1
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +18 -9
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +1 -0
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-title/index.js +1 -0
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/social-list.js +2 -11
- package/build-module/social-link/social-list.js.map +1 -1
- package/build-module/table/edit.js +3 -1
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/index.js +17 -1
- package/build-module/table/index.js.map +1 -1
- package/build-module/table/save.js +4 -2
- package/build-module/table/save.js.map +1 -1
- package/build-module/table/state.js +25 -13
- package/build-module/table/state.js.map +1 -1
- package/build-module/table/transforms.js +3 -2
- package/build-module/table/transforms.js.map +1 -1
- package/build-module/table-of-contents/edit.js +2 -2
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +3 -2
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +6 -3
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +3 -7
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/template-part/variations.js +5 -0
- package/build-module/template-part/variations.js.map +1 -1
- package/build-module/text-columns/edit.js +1 -0
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/utils/transformation-categories.native.js +1 -1
- package/build-module/utils/transformation-categories.native.js.map +1 -1
- package/build-module/video/edit.js +1 -1
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +1 -2
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/archives/editor-rtl.css +12 -0
- package/build-style/archives/editor.css +12 -0
- package/build-style/archives/style-rtl.css +12 -0
- package/build-style/archives/style.css +12 -0
- package/build-style/audio/editor-rtl.css +12 -0
- package/build-style/audio/editor.css +12 -0
- package/build-style/audio/style-rtl.css +12 -0
- package/build-style/audio/style.css +12 -0
- package/build-style/audio/theme-rtl.css +12 -0
- package/build-style/audio/theme.css +12 -0
- package/build-style/avatar/editor-rtl.css +12 -0
- package/build-style/avatar/editor.css +12 -0
- package/build-style/avatar/style-rtl.css +12 -0
- package/build-style/avatar/style.css +12 -0
- package/build-style/block/editor-rtl.css +22 -0
- package/build-style/block/editor.css +22 -0
- package/build-style/button/editor-rtl.css +12 -0
- package/build-style/button/editor.css +12 -0
- package/build-style/button/style-rtl.css +12 -0
- package/build-style/button/style.css +12 -0
- package/build-style/buttons/editor-rtl.css +12 -0
- package/build-style/buttons/editor.css +12 -0
- package/build-style/buttons/style-rtl.css +12 -0
- package/build-style/buttons/style.css +12 -0
- package/build-style/calendar/style-rtl.css +12 -0
- package/build-style/calendar/style.css +12 -0
- package/build-style/categories/editor-rtl.css +12 -0
- package/build-style/categories/editor.css +12 -0
- package/build-style/categories/style-rtl.css +12 -0
- package/build-style/categories/style.css +12 -0
- package/build-style/classic-rtl.css +12 -0
- package/build-style/classic.css +12 -0
- package/build-style/code/editor-rtl.css +12 -0
- package/build-style/code/editor.css +12 -0
- package/build-style/code/style-rtl.css +12 -0
- package/build-style/code/style.css +12 -0
- package/build-style/code/theme-rtl.css +12 -0
- package/build-style/code/theme.css +12 -0
- package/build-style/columns/editor-rtl.css +12 -0
- package/build-style/columns/editor.css +12 -0
- package/build-style/columns/style-rtl.css +12 -0
- package/build-style/columns/style.css +12 -0
- package/build-style/comment-author-avatar/editor-rtl.css +12 -0
- package/build-style/comment-author-avatar/editor.css +12 -0
- package/build-style/comment-content/style-rtl.css +12 -0
- package/build-style/comment-content/style.css +12 -0
- package/build-style/comment-template/style-rtl.css +12 -0
- package/build-style/comment-template/style.css +12 -0
- package/build-style/comments/editor-rtl.css +12 -0
- package/build-style/comments/editor.css +12 -0
- package/build-style/comments/style-rtl.css +12 -0
- package/build-style/comments/style.css +12 -0
- package/build-style/comments-pagination/editor-rtl.css +12 -0
- package/build-style/comments-pagination/editor.css +12 -0
- package/build-style/comments-pagination/style-rtl.css +12 -0
- package/build-style/comments-pagination/style.css +12 -0
- package/build-style/comments-pagination-numbers/editor-rtl.css +12 -0
- package/build-style/comments-pagination-numbers/editor.css +12 -0
- package/build-style/comments-title/editor-rtl.css +12 -0
- package/build-style/comments-title/editor.css +12 -0
- package/build-style/common-rtl.css +17 -1
- package/build-style/common.css +17 -1
- package/build-style/cover/editor-rtl.css +12 -0
- package/build-style/cover/editor.css +12 -0
- package/build-style/cover/style-rtl.css +14 -1
- package/build-style/cover/style.css +14 -1
- package/build-style/editor-elements-rtl.css +12 -0
- package/build-style/editor-elements.css +12 -0
- package/build-style/editor-rtl.css +115 -21
- package/build-style/editor.css +115 -21
- package/build-style/elements-rtl.css +12 -0
- package/build-style/elements.css +12 -0
- package/build-style/embed/editor-rtl.css +12 -0
- package/build-style/embed/editor.css +12 -0
- package/build-style/embed/style-rtl.css +12 -0
- package/build-style/embed/style.css +12 -0
- package/build-style/embed/theme-rtl.css +12 -0
- package/build-style/embed/theme.css +12 -0
- package/build-style/file/editor-rtl.css +12 -0
- package/build-style/file/editor.css +12 -0
- package/build-style/file/style-rtl.css +12 -0
- package/build-style/file/style.css +12 -0
- package/build-style/freeform/editor-rtl.css +12 -0
- package/build-style/freeform/editor.css +12 -0
- package/build-style/gallery/editor-rtl.css +13 -1
- package/build-style/gallery/editor.css +13 -1
- package/build-style/gallery/style-rtl.css +16 -2
- package/build-style/gallery/style.css +16 -2
- package/build-style/gallery/theme-rtl.css +12 -0
- package/build-style/gallery/theme.css +12 -0
- package/build-style/group/editor-rtl.css +56 -0
- package/build-style/group/editor.css +56 -0
- package/build-style/group/style-rtl.css +12 -0
- package/build-style/group/style.css +12 -0
- package/build-style/group/theme-rtl.css +12 -0
- package/build-style/group/theme.css +12 -0
- package/build-style/heading/style-rtl.css +12 -0
- package/build-style/heading/style.css +12 -0
- package/build-style/html/editor-rtl.css +12 -0
- package/build-style/html/editor.css +12 -0
- package/build-style/image/editor-rtl.css +12 -9
- package/build-style/image/editor.css +12 -9
- package/build-style/image/style-rtl.css +12 -0
- package/build-style/image/style.css +12 -0
- package/build-style/image/theme-rtl.css +12 -0
- package/build-style/image/theme.css +12 -0
- package/build-style/latest-comments/style-rtl.css +13 -0
- package/build-style/latest-comments/style.css +13 -0
- package/build-style/latest-posts/editor-rtl.css +12 -0
- package/build-style/latest-posts/editor.css +12 -0
- package/build-style/latest-posts/style-rtl.css +15 -0
- package/build-style/latest-posts/style.css +15 -0
- package/build-style/list/style-rtl.css +12 -0
- package/build-style/list/style.css +12 -0
- package/build-style/media-text/editor-rtl.css +12 -0
- package/build-style/media-text/editor.css +12 -0
- package/build-style/media-text/style-rtl.css +12 -0
- package/build-style/media-text/style.css +12 -0
- package/build-style/more/editor-rtl.css +12 -0
- package/build-style/more/editor.css +12 -0
- package/build-style/navigation/editor-rtl.css +35 -0
- package/build-style/navigation/editor.css +35 -0
- package/build-style/navigation/style-rtl.css +22 -0
- package/build-style/navigation/style.css +22 -0
- package/build-style/navigation-link/editor-rtl.css +20 -1
- package/build-style/navigation-link/editor.css +20 -1
- package/build-style/navigation-link/style-rtl.css +12 -0
- package/build-style/navigation-link/style.css +12 -0
- package/build-style/navigation-submenu/editor-rtl.css +12 -0
- package/build-style/navigation-submenu/editor.css +12 -0
- package/build-style/nextpage/editor-rtl.css +12 -0
- package/build-style/nextpage/editor.css +12 -0
- package/build-style/page-list/editor-rtl.css +12 -0
- package/build-style/page-list/editor.css +12 -0
- package/build-style/page-list/style-rtl.css +12 -0
- package/build-style/page-list/style.css +12 -0
- package/build-style/paragraph/editor-rtl.css +12 -0
- package/build-style/paragraph/editor.css +12 -0
- package/build-style/paragraph/style-rtl.css +12 -0
- package/build-style/paragraph/style.css +12 -0
- package/build-style/post-author/style-rtl.css +12 -0
- package/build-style/post-author/style.css +12 -0
- package/build-style/post-comments-form/editor-rtl.css +12 -0
- package/build-style/post-comments-form/editor.css +12 -0
- package/build-style/post-comments-form/style-rtl.css +12 -0
- package/build-style/post-comments-form/style.css +12 -0
- package/build-style/post-date/style-rtl.css +12 -0
- package/build-style/post-date/style.css +12 -0
- package/build-style/post-excerpt/editor-rtl.css +12 -0
- package/build-style/post-excerpt/editor.css +12 -0
- package/build-style/post-excerpt/style-rtl.css +12 -0
- package/build-style/post-excerpt/style.css +12 -0
- package/build-style/post-featured-image/editor-rtl.css +12 -0
- package/build-style/post-featured-image/editor.css +12 -0
- package/build-style/post-featured-image/style-rtl.css +12 -0
- package/build-style/post-featured-image/style.css +12 -0
- package/build-style/post-navigation-link/style-rtl.css +12 -0
- package/build-style/post-navigation-link/style.css +12 -0
- package/build-style/post-template/editor-rtl.css +12 -0
- package/build-style/post-template/editor.css +12 -0
- package/build-style/post-template/style-rtl.css +12 -0
- package/build-style/post-template/style.css +12 -0
- package/build-style/post-terms/style-rtl.css +12 -0
- package/build-style/post-terms/style.css +12 -0
- package/build-style/post-title/style-rtl.css +12 -0
- package/build-style/post-title/style.css +12 -0
- package/build-style/preformatted/style-rtl.css +12 -0
- package/build-style/preformatted/style.css +12 -0
- package/build-style/pullquote/editor-rtl.css +12 -0
- package/build-style/pullquote/editor.css +12 -0
- package/build-style/pullquote/style-rtl.css +12 -0
- package/build-style/pullquote/style.css +12 -0
- package/build-style/pullquote/theme-rtl.css +12 -0
- package/build-style/pullquote/theme.css +12 -0
- package/build-style/query/editor-rtl.css +13 -1
- package/build-style/query/editor.css +13 -1
- package/build-style/query-pagination/editor-rtl.css +12 -0
- package/build-style/query-pagination/editor.css +12 -0
- package/build-style/query-pagination/style-rtl.css +13 -1
- package/build-style/query-pagination/style.css +13 -1
- package/build-style/query-pagination-numbers/editor-rtl.css +12 -0
- package/build-style/query-pagination-numbers/editor.css +12 -0
- package/build-style/query-title/style-rtl.css +12 -0
- package/build-style/query-title/style.css +12 -0
- package/build-style/quote/style-rtl.css +12 -0
- package/build-style/quote/style.css +12 -0
- package/build-style/quote/theme-rtl.css +12 -0
- package/build-style/quote/theme.css +12 -0
- package/build-style/read-more/style-rtl.css +12 -0
- package/build-style/read-more/style.css +12 -0
- package/build-style/reset-rtl.css +12 -0
- package/build-style/reset.css +12 -0
- package/build-style/rss/editor-rtl.css +12 -0
- package/build-style/rss/editor.css +12 -0
- package/build-style/rss/style-rtl.css +12 -0
- package/build-style/rss/style.css +12 -0
- package/build-style/search/editor-rtl.css +12 -0
- package/build-style/search/editor.css +12 -0
- package/build-style/search/style-rtl.css +12 -0
- package/build-style/search/style.css +12 -0
- package/build-style/search/theme-rtl.css +12 -0
- package/build-style/search/theme.css +12 -0
- package/build-style/separator/editor-rtl.css +12 -0
- package/build-style/separator/editor.css +12 -0
- package/build-style/separator/style-rtl.css +12 -0
- package/build-style/separator/style.css +12 -0
- package/build-style/separator/theme-rtl.css +12 -0
- package/build-style/separator/theme.css +12 -0
- package/build-style/shortcode/editor-rtl.css +13 -1
- package/build-style/shortcode/editor.css +13 -1
- package/build-style/site-logo/editor-rtl.css +12 -0
- package/build-style/site-logo/editor.css +12 -0
- package/build-style/site-logo/style-rtl.css +12 -0
- package/build-style/site-logo/style.css +12 -0
- package/build-style/site-tagline/editor-rtl.css +12 -0
- package/build-style/site-tagline/editor.css +12 -0
- package/build-style/site-title/editor-rtl.css +12 -0
- package/build-style/site-title/editor.css +12 -0
- package/build-style/site-title/style-rtl.css +12 -0
- package/build-style/site-title/style.css +12 -0
- package/build-style/social-link/editor-rtl.css +12 -0
- package/build-style/social-link/editor.css +12 -0
- package/build-style/social-links/editor-rtl.css +12 -0
- package/build-style/social-links/editor.css +12 -0
- package/build-style/social-links/style-rtl.css +12 -0
- package/build-style/social-links/style.css +12 -0
- package/build-style/spacer/editor-rtl.css +12 -0
- package/build-style/spacer/editor.css +12 -0
- package/build-style/spacer/style-rtl.css +12 -0
- package/build-style/spacer/style.css +12 -0
- package/build-style/style-rtl.css +43 -6
- package/build-style/style.css +43 -6
- package/build-style/table/editor-rtl.css +13 -8
- package/build-style/table/editor.css +13 -8
- package/build-style/table/style-rtl.css +17 -0
- package/build-style/table/style.css +17 -0
- package/build-style/table/theme-rtl.css +13 -3
- package/build-style/table/theme.css +13 -3
- package/build-style/tag-cloud/style-rtl.css +12 -0
- package/build-style/tag-cloud/style.css +12 -0
- package/build-style/template-part/editor-rtl.css +27 -1
- package/build-style/template-part/editor.css +27 -1
- package/build-style/template-part/theme-rtl.css +12 -0
- package/build-style/template-part/theme.css +12 -0
- package/build-style/text-columns/editor-rtl.css +12 -0
- package/build-style/text-columns/editor.css +12 -0
- package/build-style/text-columns/style-rtl.css +12 -0
- package/build-style/text-columns/style.css +12 -0
- package/build-style/theme-rtl.css +13 -3
- package/build-style/theme.css +13 -3
- package/build-style/verse/style-rtl.css +12 -0
- package/build-style/verse/style.css +12 -0
- package/build-style/video/editor-rtl.css +12 -0
- package/build-style/video/editor.css +12 -0
- package/build-style/video/style-rtl.css +14 -1
- package/build-style/video/style.css +14 -1
- package/build-style/video/theme-rtl.css +12 -0
- package/build-style/video/theme.css +12 -0
- package/package.json +32 -30
- package/src/audio/edit.native.js +1 -2
- package/src/audio/index.js +1 -0
- package/src/avatar/edit.js +1 -0
- package/src/avatar/index.php +1 -1
- package/src/avatar/user-control.js +1 -0
- package/src/block/block.json +1 -2
- package/src/block/edit.js +14 -3
- package/src/block/edit.native.js +24 -12
- package/src/block/editor.scss +17 -0
- package/src/block/index.php +1 -2
- package/src/block/test/edit.native.js +28 -32
- package/src/button/block.json +4 -1
- package/src/button/deprecated.js +18 -2
- package/src/button/edit.js +11 -9
- package/src/button/edit.native.js +1 -0
- package/src/button/save.js +12 -2
- package/src/buttons/test/edit.native.js +41 -52
- package/src/code/transforms.js +3 -1
- package/src/columns/edit.js +1 -0
- package/src/columns/edit.native.js +18 -26
- package/src/columns/test/edit.native.js +32 -32
- package/src/columns/transforms.js +8 -0
- package/src/comment-author-avatar/edit.js +1 -0
- package/src/cover/edit/index.js +3 -1
- package/src/cover/edit/inspector-controls.js +2 -0
- package/src/cover/edit.native.js +32 -19
- package/src/cover/test/edit.native.js +77 -130
- package/src/embed/embed-controls.native.js +1 -0
- package/src/embed/embed-preview.native.js +1 -2
- package/src/embed/test/index.native.js +251 -245
- package/src/file/inspector.js +1 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
- package/src/gallery/edit.js +15 -5
- package/src/gallery/gallery.native.js +1 -2
- package/src/gallery/shared.js +7 -11
- package/src/gallery/test/index.native.js +11 -11
- package/src/gallery/transforms.js +1 -6
- package/src/gallery/use-get-media.js +1 -1
- package/src/gallery/use-get-media.native.js +2 -1
- package/src/gallery/v1/edit.js +26 -30
- package/src/gallery/v1/gallery.native.js +1 -2
- package/src/gallery/v1/shared.js +7 -2
- package/src/group/block.json +6 -1
- package/src/group/edit.js +91 -44
- package/src/group/editor.scss +48 -0
- package/src/group/placeholder.js +168 -0
- package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/group/test/edit.native.js +3 -3
- package/src/group/test/placeholder.js +78 -0
- package/src/group/variations.js +3 -3
- package/src/heading/block.json +1 -2
- package/src/heading/deprecated.js +209 -136
- package/src/heading/index.php +52 -0
- package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
- package/src/heading/test/index.native.js +44 -0
- package/src/home-link/index.php +1 -1
- package/src/html/block.json +1 -1
- package/src/image/edit.js +7 -2
- package/src/image/edit.native.js +2 -1
- package/src/image/editor.scss +0 -11
- package/src/image/image.js +13 -8
- package/src/image/test/edit.native.js +24 -20
- package/src/index.js +2 -0
- package/src/latest-comments/block.json +5 -1
- package/src/latest-comments/edit.js +2 -0
- package/src/latest-comments/style.scss +3 -0
- package/src/latest-posts/block.json +13 -0
- package/src/latest-posts/edit.js +2 -0
- package/src/latest-posts/style.scss +3 -0
- package/src/list/test/edit.native.js +55 -47
- package/src/list/transforms.js +0 -11
- package/src/list/utils.js +6 -2
- package/src/list-item/edit.js +1 -0
- package/src/list-item/index.js +2 -0
- package/src/list-item/transforms.js +17 -0
- package/src/list-item/utils.js +10 -1
- package/src/media-text/edit.js +5 -3
- package/src/missing/test/edit-integration.native.js +10 -12
- package/src/navigation/edit/are-blocks-dirty.js +51 -0
- package/src/navigation/edit/index.js +269 -310
- package/src/navigation/edit/manage-menus-button.js +21 -0
- package/src/navigation/edit/menu-inspector-controls.js +78 -0
- package/src/navigation/edit/navigation-menu-selector.js +5 -1
- package/src/navigation/edit/responsive-wrapper.js +2 -10
- package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
- package/src/navigation/edit/unsaved-inner-blocks.js +17 -36
- package/src/navigation/editor.scss +25 -0
- package/src/navigation/index.php +57 -10
- package/src/navigation/style.scss +16 -0
- package/src/navigation/view-modal.js +11 -1
- package/src/navigation-link/edit.js +66 -329
- package/src/navigation-link/editor.scss +8 -0
- package/src/navigation-link/index.php +32 -0
- package/src/navigation-link/link-ui.js +213 -0
- package/src/navigation-link/test/edit.js +23 -82
- package/src/navigation-link/transforms.js +14 -0
- package/src/navigation-link/update-attributes.js +99 -0
- package/src/navigation-submenu/edit.js +57 -177
- package/src/navigation-submenu/index.php +40 -0
- package/src/page-list/block.json +6 -1
- package/src/page-list/constants.js +8 -0
- package/src/page-list/convert-to-links-modal.js +19 -76
- package/src/page-list/convert-to-navigation-links.js +60 -0
- package/src/page-list/edit.js +179 -118
- package/src/page-list/index.php +9 -0
- package/src/page-list/test/convert-to-links-modal.js +28 -34
- package/src/page-list-item/block.json +51 -0
- package/src/page-list-item/edit.js +94 -0
- package/src/page-list-item/index.js +24 -0
- package/src/page-list-item/init.js +6 -0
- package/src/paragraph/index.js +0 -6
- package/src/post-author/edit.js +47 -22
- package/src/post-content/block.json +3 -0
- package/src/post-content/index.php +1 -2
- package/src/post-featured-image/index.php +7 -2
- package/src/post-featured-image/overlay.js +1 -0
- package/src/post-template/block.json +8 -0
- package/src/preformatted/transforms.js +4 -1
- package/src/query/block.json +0 -8
- package/src/query/deprecated.js +257 -86
- package/src/query/edit/inspector-controls/index.js +1 -0
- package/src/query/edit/query-placeholder.js +4 -16
- package/src/query/editor.scss +1 -1
- package/src/query-pagination/style.scss +1 -1
- package/src/read-more/index.php +9 -2
- package/src/rss/edit.js +3 -0
- package/src/search/edit.native.js +31 -27
- package/src/search/index.js +5 -1
- package/src/shortcode/test/edit.native.js +15 -18
- package/src/site-logo/edit.js +14 -6
- package/src/site-logo/index.js +1 -0
- package/src/site-title/index.js +1 -0
- package/src/social-link/social-list.js +2 -7
- package/src/social-link/test/index.native.js +16 -22
- package/src/social-links/test/edit.native.js +8 -7
- package/src/spacer/test/index.native.js +39 -36
- package/src/table/block.json +15 -0
- package/src/table/edit.js +2 -1
- package/src/table/editor.scss +1 -4
- package/src/table/index.js +1 -0
- package/src/table/save.js +5 -1
- package/src/table/state.js +22 -7
- package/src/table/style.scss +7 -0
- package/src/table/theme.scss +1 -3
- package/src/table/transforms.js +2 -1
- package/src/table-of-contents/edit.js +2 -2
- package/src/tag-cloud/edit.js +3 -2
- package/src/template-part/edit/selection-modal.js +4 -3
- package/src/template-part/edit/utils/hooks.js +7 -3
- package/src/template-part/editor.scss +20 -2
- package/src/template-part/index.php +6 -2
- package/src/template-part/variations.js +4 -0
- package/src/text-columns/edit.js +1 -0
- package/src/utils/transformation-categories.native.js +1 -0
- package/src/video/edit.js +1 -1
- package/src/video/edit.native.js +1 -2
- package/test/babel-plugin.js +35 -35
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { createElement
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
6
|
import { useInnerBlocksProps } from '@wordpress/block-editor';
|
|
7
|
-
import { Disabled
|
|
7
|
+
import { Disabled } from '@wordpress/components';
|
|
8
8
|
import { store as coreStore } from '@wordpress/core-data';
|
|
9
9
|
import { useSelect } from '@wordpress/data';
|
|
10
10
|
import { useContext, useEffect, useRef, useMemo } from '@wordpress/element';
|
|
@@ -13,7 +13,7 @@ import { useContext, useEffect, useRef, useMemo } from '@wordpress/element';
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import useNavigationMenu from '../use-navigation-menu';
|
|
16
|
-
import
|
|
16
|
+
import { areBlocksDirty } from './are-blocks-dirty';
|
|
17
17
|
const EMPTY_OBJECT = {};
|
|
18
18
|
const DRAFT_MENU_PARAMS = ['postType', 'wp_navigation', {
|
|
19
19
|
status: 'draft',
|
|
@@ -26,9 +26,7 @@ const ALLOWED_BLOCKS = ['core/navigation-link', 'core/search', 'core/social-link
|
|
|
26
26
|
export default function UnsavedInnerBlocks(_ref) {
|
|
27
27
|
let {
|
|
28
28
|
blocks,
|
|
29
|
-
|
|
30
|
-
hasSavedUnsavedInnerBlocks,
|
|
31
|
-
onSave,
|
|
29
|
+
createNavigationMenu,
|
|
32
30
|
hasSelection
|
|
33
31
|
} = _ref;
|
|
34
32
|
const originalBlocks = useRef();
|
|
@@ -38,13 +36,15 @@ export default function UnsavedInnerBlocks(_ref) {
|
|
|
38
36
|
if (!(originalBlocks !== null && originalBlocks !== void 0 && originalBlocks.current)) {
|
|
39
37
|
originalBlocks.current = blocks;
|
|
40
38
|
}
|
|
41
|
-
}, [blocks]); // If the current inner blocks
|
|
42
|
-
// from the
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
//
|
|
39
|
+
}, [blocks]); // If the current inner blocks are different from the original inner blocks
|
|
40
|
+
// from the post content then the user has made changes to the inner blocks.
|
|
41
|
+
// At this point the inner blocks can be considered "dirty".
|
|
42
|
+
// Note: referential equality is not sufficient for comparison as the inner blocks
|
|
43
|
+
// of the page list are controlled and may be updated async due to syncing with
|
|
44
|
+
// entity records. As a result we need to perform a deep equality check skipping
|
|
45
|
+
// the page list's inner blocks.
|
|
46
46
|
|
|
47
|
-
const innerBlocksAreDirty =
|
|
47
|
+
const innerBlocksAreDirty = areBlocksDirty(originalBlocks === null || originalBlocks === void 0 ? void 0 : originalBlocks.current, blocks);
|
|
48
48
|
const shouldDirectInsert = useMemo(() => blocks.every(_ref2 => {
|
|
49
49
|
let {
|
|
50
50
|
name
|
|
@@ -54,7 +54,6 @@ export default function UnsavedInnerBlocks(_ref) {
|
|
|
54
54
|
// avoiding the side-effects of this component for block previews.
|
|
55
55
|
|
|
56
56
|
const isDisabled = useContext(Disabled.Context);
|
|
57
|
-
const savingLock = useRef(false);
|
|
58
57
|
const innerBlocksProps = useInnerBlocksProps({
|
|
59
58
|
className: 'wp-block-navigation__container'
|
|
60
59
|
}, {
|
|
@@ -86,10 +85,7 @@ export default function UnsavedInnerBlocks(_ref) {
|
|
|
86
85
|
const {
|
|
87
86
|
hasResolvedNavigationMenus,
|
|
88
87
|
navigationMenus
|
|
89
|
-
} = useNavigationMenu();
|
|
90
|
-
const {
|
|
91
|
-
create: createNavigationMenu
|
|
92
|
-
} = useCreateNavigationMenu(clientId); // Automatically save the uncontrolled blocks.
|
|
88
|
+
} = useNavigationMenu(); // Automatically save the uncontrolled blocks.
|
|
93
89
|
|
|
94
90
|
useEffect(() => {
|
|
95
91
|
// The block will be disabled when used in a BlockPreview.
|
|
@@ -104,19 +100,13 @@ export default function UnsavedInnerBlocks(_ref) {
|
|
|
104
100
|
//
|
|
105
101
|
// And finally only create the menu when the block is selected,
|
|
106
102
|
// which is an indication they want to start editing.
|
|
107
|
-
if (isDisabled ||
|
|
103
|
+
if (isDisabled || isSaving || !hasResolvedDraftNavigationMenus || !hasResolvedNavigationMenus || !hasSelection || !innerBlocksAreDirty) {
|
|
108
104
|
return;
|
|
109
105
|
}
|
|
110
106
|
|
|
111
|
-
|
|
112
|
-
createNavigationMenu(null, blocks).then(menu => {
|
|
113
|
-
onSave(menu);
|
|
114
|
-
savingLock.current = false;
|
|
115
|
-
});
|
|
107
|
+
createNavigationMenu(null, blocks);
|
|
116
108
|
}, [isDisabled, isSaving, hasResolvedDraftNavigationMenus, hasResolvedNavigationMenus, draftNavigationMenus, navigationMenus, hasSelection, createNavigationMenu, blocks]);
|
|
117
109
|
const Wrapper = isSaving ? Disabled : 'div';
|
|
118
|
-
return createElement(
|
|
119
|
-
className: 'wp-block-navigation__uncontrolled-inner-blocks-loading-indicator'
|
|
120
|
-
}) : createElement(Wrapper, innerBlocksProps));
|
|
110
|
+
return createElement(Wrapper, innerBlocksProps);
|
|
121
111
|
}
|
|
122
112
|
//# sourceMappingURL=unsaved-inner-blocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/unsaved-inner-blocks.js"],"names":["useInnerBlocksProps","Disabled","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/unsaved-inner-blocks.js"],"names":["useInnerBlocksProps","Disabled","store","coreStore","useSelect","useContext","useEffect","useRef","useMemo","useNavigationMenu","areBlocksDirty","EMPTY_OBJECT","DRAFT_MENU_PARAMS","status","per_page","DEFAULT_BLOCK","name","ALLOWED_BLOCKS","UnsavedInnerBlocks","blocks","createNavigationMenu","hasSelection","originalBlocks","current","innerBlocksAreDirty","shouldDirectInsert","every","isDisabled","Context","innerBlocksProps","className","renderAppender","undefined","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","isSaving","draftNavigationMenus","hasResolvedDraftNavigationMenus","select","getEntityRecords","hasFinishedResolution","isSavingEntityRecord","hasResolvedNavigationMenus","navigationMenus","Wrapper"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,mBAAT,QAAoC,yBAApC;AACA,SAASC,QAAT,QAAyB,uBAAzB;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,UAAT,EAAqBC,SAArB,EAAgCC,MAAhC,EAAwCC,OAAxC,QAAuD,oBAAvD;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AACA,SAASC,cAAT,QAA+B,oBAA/B;AAEA,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMC,iBAAiB,GAAG,CACzB,UADyB,EAEzB,eAFyB,EAGzB;AAAEC,EAAAA,MAAM,EAAE,OAAV;AAAmBC,EAAAA,QAAQ,EAAE,CAAC;AAA9B,CAHyB,CAA1B;AAMA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,IAAI,EAAE;AADe,CAAtB;AAIA,MAAMC,cAAc,GAAG,CACtB,sBADsB,EAEtB,aAFsB,EAGtB,mBAHsB,EAItB,gBAJsB,EAKtB,aALsB,EAMtB,gBANsB,EAOtB,iBAPsB,EAQtB,gBARsB,EAStB,yBATsB,CAAvB;AAYA,eAAe,SAASC,kBAAT,OAKX;AAAA,MALwC;AAC3CC,IAAAA,MAD2C;AAE3CC,IAAAA,oBAF2C;AAI3CC,IAAAA;AAJ2C,GAKxC;AACH,QAAMC,cAAc,GAAGf,MAAM,EAA7B;AAEAD,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA;AACA,QAAK,EAAEgB,cAAF,aAAEA,cAAF,eAAEA,cAAc,CAAEC,OAAlB,CAAL,EAAiC;AAChCD,MAAAA,cAAc,CAACC,OAAf,GAAyBJ,MAAzB;AACA;AACD,GANQ,EAMN,CAAEA,MAAF,CANM,CAAT,CAHG,CAWH;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,QAAMK,mBAAmB,GAAGd,cAAc,CACzCY,cADyC,aACzCA,cADyC,uBACzCA,cAAc,CAAEC,OADyB,EAEzCJ,MAFyC,CAA1C;AAKA,QAAMM,kBAAkB,GAAGjB,OAAO,CACjC,MACCW,MAAM,CAACO,KAAP,CACC;AAAA,QAAE;AAAEV,MAAAA;AAAF,KAAF;AAAA,WACCA,IAAI,KAAK,sBAAT,IACAA,IAAI,KAAK,yBADT,IAEAA,IAAI,KAAK,gBAHV;AAAA,GADD,CAFgC,EAQjC,CAAEG,MAAF,CARiC,CAAlC,CAvBG,CAkCH;AACA;;AACA,QAAMQ,UAAU,GAAGtB,UAAU,CAAEJ,QAAQ,CAAC2B,OAAX,CAA7B;AAEA,QAAMC,gBAAgB,GAAG7B,mBAAmB,CAC3C;AACC8B,IAAAA,SAAS,EAAE;AADZ,GAD2C,EAI3C;AACCC,IAAAA,cAAc,EAAEV,YAAY,GAAGW,SAAH,GAAe,KAD5C;AAECC,IAAAA,aAAa,EAAEhB,cAFhB;AAGCiB,IAAAA,0BAA0B,EAAEnB,aAH7B;AAICoB,IAAAA,0BAA0B,EAAEV;AAJ7B,GAJ2C,CAA5C;AAYA,QAAM;AAAEW,IAAAA,QAAF;AAAYC,IAAAA,oBAAZ;AAAkCC,IAAAA;AAAlC,MACLlC,SAAS,CACNmC,MAAF,IAAc;AACb,QAAKZ,UAAL,EAAkB;AACjB,aAAOhB,YAAP;AACA;;AAED,UAAM;AACL6B,MAAAA,gBADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAEpC,SAAF,CAJV;AAMA,WAAO;AACNiC,MAAAA,QAAQ,EAAEM,oBAAoB,CAC7B,UAD6B,EAE7B,eAF6B,CADxB;AAKNL,MAAAA,oBAAoB,EAAEG,gBAAgB,CACrC,GAAG5B,iBADkC,CALhC;AAQN0B,MAAAA,+BAA+B,EAAEG,qBAAqB,CACrD,kBADqD,EAErD7B,iBAFqD;AARhD,KAAP;AAaA,GAzBO,EA0BR,CAAEe,UAAF,CA1BQ,CADV;AA8BA,QAAM;AAAEgB,IAAAA,0BAAF;AAA8BC,IAAAA;AAA9B,MAAkDnC,iBAAiB,EAAzE,CAhFG,CAkFH;;AACAH,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QACCqB,UAAU,IACVS,QADA,IAEA,CAAEE,+BAFF,IAGA,CAAEK,0BAHF,IAIA,CAAEtB,YAJF,IAKA,CAAEG,mBANH,EAOE;AACD;AACA;;AAEDJ,IAAAA,oBAAoB,CAAE,IAAF,EAAQD,MAAR,CAApB;AACA,GAzBQ,EAyBN,CACFQ,UADE,EAEFS,QAFE,EAGFE,+BAHE,EAIFK,0BAJE,EAKFN,oBALE,EAMFO,eANE,EAOFvB,YAPE,EAQFD,oBARE,EASFD,MATE,CAzBM,CAAT;AAqCA,QAAM0B,OAAO,GAAGT,QAAQ,GAAGnC,QAAH,GAAc,KAAtC;AAEA,SAAO,cAAC,OAAD,EAAc4B,gBAAd,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps } from '@wordpress/block-editor';\nimport { Disabled } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useRef, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport { areBlocksDirty } from './are-blocks-dirty';\n\nconst EMPTY_OBJECT = {};\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nexport default function UnsavedInnerBlocks( {\n\tblocks,\n\tcreateNavigationMenu,\n\n\thasSelection,\n} ) {\n\tconst originalBlocks = useRef();\n\n\tuseEffect( () => {\n\t\t// Initially store the uncontrolled inner blocks for\n\t\t// dirty state comparison.\n\t\tif ( ! originalBlocks?.current ) {\n\t\t\toriginalBlocks.current = blocks;\n\t\t}\n\t}, [ blocks ] );\n\n\t// If the current inner blocks are different from the original inner blocks\n\t// from the post content then the user has made changes to the inner blocks.\n\t// At this point the inner blocks can be considered \"dirty\".\n\t// Note: referential equality is not sufficient for comparison as the inner blocks\n\t// of the page list are controlled and may be updated async due to syncing with\n\t// entity records. As a result we need to perform a deep equality check skipping\n\t// the page list's inner blocks.\n\tconst innerBlocksAreDirty = areBlocksDirty(\n\t\toriginalBlocks?.current,\n\t\tblocks\n\t);\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu' ||\n\t\t\t\t\tname === 'core/page-list'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// The block will be disabled in a block preview, use this as a way of\n\t// avoiding the side-effects of this component for block previews.\n\tconst isDisabled = useContext( Disabled.Context );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-navigation__container',\n\t\t},\n\t\t{\n\t\t\trenderAppender: hasSelection ? undefined : false,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t}\n\t);\n\n\tconst { isSaving, draftNavigationMenus, hasResolvedDraftNavigationMenus } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( isDisabled ) {\n\t\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t\t}\n\n\t\t\t\tconst {\n\t\t\t\t\tgetEntityRecords,\n\t\t\t\t\thasFinishedResolution,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\n\t\t\t\treturn {\n\t\t\t\t\tisSaving: isSavingEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_navigation'\n\t\t\t\t\t),\n\t\t\t\t\tdraftNavigationMenus: getEntityRecords(\n\t\t\t\t\t\t...DRAFT_MENU_PARAMS\n\t\t\t\t\t),\n\t\t\t\t\thasResolvedDraftNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\tDRAFT_MENU_PARAMS\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ isDisabled ]\n\t\t);\n\n\tconst { hasResolvedNavigationMenus, navigationMenus } = useNavigationMenu();\n\n\t// Automatically save the uncontrolled blocks.\n\tuseEffect( () => {\n\t\t// The block will be disabled when used in a BlockPreview.\n\t\t// In this case avoid automatic creation of a wp_navigation post.\n\t\t// Otherwise the user will be spammed with lots of menus!\n\t\t//\n\t\t// Also ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\t//\n\t\t// Don't try saving when another save is already\n\t\t// in progress.\n\t\t//\n\t\t// And finally only create the menu when the block is selected,\n\t\t// which is an indication they want to start editing.\n\t\tif (\n\t\t\tisDisabled ||\n\t\t\tisSaving ||\n\t\t\t! hasResolvedDraftNavigationMenus ||\n\t\t\t! hasResolvedNavigationMenus ||\n\t\t\t! hasSelection ||\n\t\t\t! innerBlocksAreDirty\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tcreateNavigationMenu( null, blocks );\n\t}, [\n\t\tisDisabled,\n\t\tisSaving,\n\t\thasResolvedDraftNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tdraftNavigationMenus,\n\t\tnavigationMenus,\n\t\thasSelection,\n\t\tcreateNavigationMenu,\n\t\tblocks,\n\t] );\n\n\tconst Wrapper = isSaving ? Disabled : 'div';\n\n\treturn <Wrapper { ...innerBlocksProps } />;\n}\n"]}
|
|
@@ -22,6 +22,10 @@ function navigationToggleModal(modal) {
|
|
|
22
22
|
htmlElement.classList.toggle('has-modal-open');
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
function isLinkToAnchorOnCurrentPage(node) {
|
|
26
|
+
return node.hash && node.protocol === window.location.protocol && node.host === window.location.host && node.pathname === window.location.pathname && node.search === window.location.search;
|
|
27
|
+
}
|
|
28
|
+
|
|
25
29
|
window.addEventListener('load', () => {
|
|
26
30
|
MicroModal.init({
|
|
27
31
|
onShow: navigationToggleModal,
|
|
@@ -31,10 +35,10 @@ window.addEventListener('load', () => {
|
|
|
31
35
|
|
|
32
36
|
const navigationLinks = document.querySelectorAll('.wp-block-navigation-item__content');
|
|
33
37
|
navigationLinks.forEach(function (link) {
|
|
34
|
-
var _link$
|
|
38
|
+
var _link$attributes;
|
|
35
39
|
|
|
36
40
|
// Ignore non-anchor links and anchor links which open on a new tab.
|
|
37
|
-
if (!(
|
|
41
|
+
if (!isLinkToAnchorOnCurrentPage(link) || ((_link$attributes = link.attributes) === null || _link$attributes === void 0 ? void 0 : _link$attributes.target) === '_blank') {
|
|
38
42
|
return;
|
|
39
43
|
} // Find the specific parent modal for this link
|
|
40
44
|
// since .close() won't work without an ID if there are
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/view-modal.js"],"names":["MicroModal","navigationToggleModal","modal","dialogContainer","querySelector","isHidden","getAttribute","classList","toggle","toggleAttribute","removeAttribute","setAttribute","htmlElement","document","documentElement","window","addEventListener","init","onShow","onClose","openClass","navigationLinks","querySelectorAll","forEach","link","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/view-modal.js"],"names":["MicroModal","navigationToggleModal","modal","dialogContainer","querySelector","isHidden","getAttribute","classList","toggle","toggleAttribute","removeAttribute","setAttribute","htmlElement","document","documentElement","isLinkToAnchorOnCurrentPage","node","hash","protocol","window","location","host","pathname","search","addEventListener","init","onShow","onClose","openClass","navigationLinks","querySelectorAll","forEach","link","attributes","target","closest","modalId","contains","close"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB,C,CAEA;;AACA,SAASC,qBAAT,CAAgCC,KAAhC,EAAwC;AACvC,QAAMC,eAAe,GAAGD,KAAK,CAACE,aAAN,CACtB,yCADsB,CAAxB;AAIA,QAAMC,QAAQ,GAAG,WAAWH,KAAK,CAACI,YAAN,CAAoB,aAApB,CAA5B;AAEAJ,EAAAA,KAAK,CAACK,SAAN,CAAgBC,MAAhB,CAAwB,gBAAxB,EAA0C,CAAEH,QAA5C;AACAF,EAAAA,eAAe,CAACM,eAAhB,CAAiC,YAAjC,EAA+C,CAAEJ,QAAjD;;AAEA,MAAKA,QAAL,EAAgB;AACfF,IAAAA,eAAe,CAACO,eAAhB,CAAiC,MAAjC;AACAP,IAAAA,eAAe,CAACO,eAAhB,CAAiC,YAAjC;AACA,GAHD,MAGO;AACNP,IAAAA,eAAe,CAACQ,YAAhB,CAA8B,MAA9B,EAAsC,QAAtC;AACAR,IAAAA,eAAe,CAACQ,YAAhB,CAA8B,YAA9B,EAA4C,MAA5C;AACA,GAhBsC,CAkBvC;;;AACA,QAAMC,WAAW,GAAGC,QAAQ,CAACC,eAA7B;AACAF,EAAAA,WAAW,CAACL,SAAZ,CAAsBC,MAAtB,CAA8B,gBAA9B;AACA;;AAED,SAASO,2BAAT,CAAsCC,IAAtC,EAA6C;AAC5C,SACCA,IAAI,CAACC,IAAL,IACAD,IAAI,CAACE,QAAL,KAAkBC,MAAM,CAACC,QAAP,CAAgBF,QADlC,IAEAF,IAAI,CAACK,IAAL,KAAcF,MAAM,CAACC,QAAP,CAAgBC,IAF9B,IAGAL,IAAI,CAACM,QAAL,KAAkBH,MAAM,CAACC,QAAP,CAAgBE,QAHlC,IAIAN,IAAI,CAACO,MAAL,KAAgBJ,MAAM,CAACC,QAAP,CAAgBG,MALjC;AAOA;;AAEDJ,MAAM,CAACK,gBAAP,CAAyB,MAAzB,EAAiC,MAAM;AACtCxB,EAAAA,UAAU,CAACyB,IAAX,CAAiB;AAChBC,IAAAA,MAAM,EAAEzB,qBADQ;AAEhB0B,IAAAA,OAAO,EAAE1B,qBAFO;AAGhB2B,IAAAA,SAAS,EAAE;AAHK,GAAjB,EADsC,CAOtC;;AACA,QAAMC,eAAe,GAAGhB,QAAQ,CAACiB,gBAAT,CACvB,oCADuB,CAAxB;AAIAD,EAAAA,eAAe,CAACE,OAAhB,CAAyB,UAAWC,IAAX,EAAkB;AAAA;;AAC1C;AACA,QACC,CAAEjB,2BAA2B,CAAEiB,IAAF,CAA7B,IACA,qBAAAA,IAAI,CAACC,UAAL,sEAAiBC,MAAjB,MAA4B,QAF7B,EAGE;AACD;AACA,KAPyC,CAS1C;AACA;AACA;;;AACA,UAAMhC,KAAK,GAAG8B,IAAI,CAACG,OAAL,CACb,4CADa,CAAd;AAGA,UAAMC,OAAO,GAAGlC,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEI,YAAP,CAAqB,IAArB,CAAhB;AAEA0B,IAAAA,IAAI,CAACR,gBAAL,CAAuB,OAAvB,EAAgC,MAAM;AACrC;AACA;AACA;AACA,UAAKY,OAAO,IAAIlC,KAAK,CAACK,SAAN,CAAgB8B,QAAhB,CAA0B,gBAA1B,CAAhB,EAA+D;AAC9DrC,QAAAA,UAAU,CAACsC,KAAX,CAAkBF,OAAlB;AACA;AACD,KAPD;AAQA,GAzBD;AA0BA,CAtCD","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst dialogContainer = modal.querySelector(\n\t\t`.wp-block-navigation__responsive-dialog`\n\t);\n\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\tdialogContainer.toggleAttribute( 'aria-modal', ! isHidden );\n\n\tif ( isHidden ) {\n\t\tdialogContainer.removeAttribute( 'role' );\n\t\tdialogContainer.removeAttribute( 'aria-modal' );\n\t} else {\n\t\tdialogContainer.setAttribute( 'role', 'dialog' );\n\t\tdialogContainer.setAttribute( 'aria-modal', 'true' );\n\t}\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\nfunction isLinkToAnchorOnCurrentPage( node ) {\n\treturn (\n\t\tnode.hash &&\n\t\tnode.protocol === window.location.protocol &&\n\t\tnode.host === window.location.host &&\n\t\tnode.pathname === window.location.pathname &&\n\t\tnode.search === window.location.search\n\t);\n}\n\nwindow.addEventListener( 'load', () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n\n\t// Close modal automatically on clicking anchor links inside modal.\n\tconst navigationLinks = document.querySelectorAll(\n\t\t'.wp-block-navigation-item__content'\n\t);\n\n\tnavigationLinks.forEach( function ( link ) {\n\t\t// Ignore non-anchor links and anchor links which open on a new tab.\n\t\tif (\n\t\t\t! isLinkToAnchorOnCurrentPage( link ) ||\n\t\t\tlink.attributes?.target === '_blank'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the specific parent modal for this link\n\t\t// since .close() won't work without an ID if there are\n\t\t// multiple navigation menus in a post/page.\n\t\tconst modal = link.closest(\n\t\t\t'.wp-block-navigation__responsive-container'\n\t\t);\n\t\tconst modalId = modal?.getAttribute( 'id' );\n\n\t\tlink.addEventListener( 'click', () => {\n\t\t\t// check if modal exists and is open before trying to close it\n\t\t\t// otherwise Micromodal will toggle the `has-modal-open` class\n\t\t\t// on the html tag which prevents scrolling\n\t\t\tif ( modalId && modal.classList.contains( 'has-modal-open' ) ) {\n\t\t\t\tMicroModal.close( modalId );\n\t\t\t}\n\t\t} );\n\t} );\n} );\n"]}
|
|
@@ -4,24 +4,22 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
* External dependencies
|
|
5
5
|
*/
|
|
6
6
|
import classnames from 'classnames';
|
|
7
|
-
import escapeHtml from 'escape-html';
|
|
8
7
|
import { unescape } from 'lodash';
|
|
9
8
|
/**
|
|
10
9
|
* WordPress dependencies
|
|
11
10
|
*/
|
|
12
11
|
|
|
13
|
-
import { createBlock
|
|
12
|
+
import { createBlock } from '@wordpress/blocks';
|
|
14
13
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
15
|
-
import {
|
|
14
|
+
import { PanelBody, TextControl, TextareaControl, ToolbarButton, Tooltip, ToolbarGroup, KeyboardShortcuts } from '@wordpress/components';
|
|
16
15
|
import { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';
|
|
17
|
-
import { __
|
|
18
|
-
import { BlockControls,
|
|
19
|
-
import { isURL, prependHTTP
|
|
20
|
-
import { Fragment, useState, useEffect, useRef
|
|
21
|
-
import { placeCaretAtHorizontalEdge } from '@wordpress/dom';
|
|
16
|
+
import { __ } from '@wordpress/i18n';
|
|
17
|
+
import { BlockControls, InspectorControls, RichText, useBlockProps, store as blockEditorStore, getColorClassName, useInnerBlocksProps } from '@wordpress/block-editor';
|
|
18
|
+
import { isURL, prependHTTP } from '@wordpress/url';
|
|
19
|
+
import { Fragment, useState, useEffect, useRef } from '@wordpress/element';
|
|
20
|
+
import { placeCaretAtHorizontalEdge, __unstableStripHTML as stripHTML } from '@wordpress/dom';
|
|
22
21
|
import { link as linkIcon, addSubmenu } from '@wordpress/icons';
|
|
23
22
|
import { store as coreStore, useResourcePermissions } from '@wordpress/core-data';
|
|
24
|
-
import { decodeEntities } from '@wordpress/html-entities';
|
|
25
23
|
import { useMergeRefs } from '@wordpress/compose';
|
|
26
24
|
/**
|
|
27
25
|
* Internal dependencies
|
|
@@ -93,6 +91,8 @@ const {
|
|
|
93
91
|
editorStyle: "wp-block-navigation-link-editor",
|
|
94
92
|
style: "wp-block-navigation-link"
|
|
95
93
|
};
|
|
94
|
+
import { LinkUI } from './link-ui';
|
|
95
|
+
import { updateAttributes } from './update-attributes';
|
|
96
96
|
/**
|
|
97
97
|
* A React hook to determine if it's dragging within the target element.
|
|
98
98
|
*
|
|
@@ -143,60 +143,6 @@ const useIsDraggingWithin = elementRef => {
|
|
|
143
143
|
}, []);
|
|
144
144
|
return isDraggingWithin;
|
|
145
145
|
};
|
|
146
|
-
/**
|
|
147
|
-
* Given the Link block's type attribute, return the query params to give to
|
|
148
|
-
* /wp/v2/search.
|
|
149
|
-
*
|
|
150
|
-
* @param {string} type Link block's type attribute.
|
|
151
|
-
* @param {string} kind Link block's entity of kind (post-type|taxonomy)
|
|
152
|
-
* @return {{ type?: string, subtype?: string }} Search query params.
|
|
153
|
-
*/
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
function getSuggestionsQuery(type, kind) {
|
|
157
|
-
switch (type) {
|
|
158
|
-
case 'post':
|
|
159
|
-
case 'page':
|
|
160
|
-
return {
|
|
161
|
-
type: 'post',
|
|
162
|
-
subtype: type
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
case 'category':
|
|
166
|
-
return {
|
|
167
|
-
type: 'term',
|
|
168
|
-
subtype: 'category'
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
case 'tag':
|
|
172
|
-
return {
|
|
173
|
-
type: 'term',
|
|
174
|
-
subtype: 'post_tag'
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
case 'post_format':
|
|
178
|
-
return {
|
|
179
|
-
type: 'post-format'
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
default:
|
|
183
|
-
if (kind === 'taxonomy') {
|
|
184
|
-
return {
|
|
185
|
-
type: 'term',
|
|
186
|
-
subtype: type
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
if (kind === 'post-type') {
|
|
191
|
-
return {
|
|
192
|
-
type: 'post',
|
|
193
|
-
subtype: type
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
return {};
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
146
|
/**
|
|
201
147
|
* Determine the colors for a menu.
|
|
202
148
|
*
|
|
@@ -254,98 +200,6 @@ function getColors(context, isSubMenu) {
|
|
|
254
200
|
|
|
255
201
|
return colors;
|
|
256
202
|
}
|
|
257
|
-
/**
|
|
258
|
-
* @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind
|
|
259
|
-
*/
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* Navigation Link Block Attributes
|
|
263
|
-
*
|
|
264
|
-
* @typedef {Object} WPNavigationLinkBlockAttributes
|
|
265
|
-
*
|
|
266
|
-
* @property {string} [label] Link text.
|
|
267
|
-
* @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.
|
|
268
|
-
* @property {string} [type] The type such as post, page, tag, category and other custom types.
|
|
269
|
-
* @property {string} [rel] The relationship of the linked URL.
|
|
270
|
-
* @property {number} [id] A post or term id.
|
|
271
|
-
* @property {boolean} [opensInNewTab] Sets link target to _blank when true.
|
|
272
|
-
* @property {string} [url] Link href.
|
|
273
|
-
* @property {string} [title] Link title attribute.
|
|
274
|
-
*/
|
|
275
|
-
|
|
276
|
-
/**
|
|
277
|
-
* Link Control onChange handler that updates block attributes when a setting is changed.
|
|
278
|
-
*
|
|
279
|
-
* @param {Object} updatedValue New block attributes to update.
|
|
280
|
-
* @param {Function} setAttributes Block attribute update function.
|
|
281
|
-
* @param {WPNavigationLinkBlockAttributes} blockAttributes Current block attributes.
|
|
282
|
-
*
|
|
283
|
-
*/
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
export const updateNavigationLinkBlockAttributes = function () {
|
|
287
|
-
let updatedValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
288
|
-
let setAttributes = arguments.length > 1 ? arguments[1] : undefined;
|
|
289
|
-
let blockAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
290
|
-
const {
|
|
291
|
-
label: originalLabel = '',
|
|
292
|
-
kind: originalKind = '',
|
|
293
|
-
type: originalType = ''
|
|
294
|
-
} = blockAttributes;
|
|
295
|
-
const {
|
|
296
|
-
title: newLabel = '',
|
|
297
|
-
// the title of any provided Post.
|
|
298
|
-
url: newUrl = '',
|
|
299
|
-
opensInNewTab,
|
|
300
|
-
id,
|
|
301
|
-
kind: newKind = originalKind,
|
|
302
|
-
type: newType = originalType
|
|
303
|
-
} = updatedValue;
|
|
304
|
-
const newLabelWithoutHttp = newLabel.replace(/http(s?):\/\//gi, '');
|
|
305
|
-
const newUrlWithoutHttp = newUrl.replace(/http(s?):\/\//gi, '');
|
|
306
|
-
const useNewLabel = newLabel && newLabel !== originalLabel && // LinkControl without the title field relies
|
|
307
|
-
// on the check below. Specifically, it assumes that
|
|
308
|
-
// the URL is the same as a title.
|
|
309
|
-
// This logic a) looks suspicious and b) should really
|
|
310
|
-
// live in the LinkControl and not here. It's a great
|
|
311
|
-
// candidate for future refactoring.
|
|
312
|
-
newLabelWithoutHttp !== newUrlWithoutHttp; // Unfortunately this causes the escaping model to be inverted.
|
|
313
|
-
// The escaped content is stored in the block attributes (and ultimately in the database),
|
|
314
|
-
// and then the raw data is "recovered" when outputting into the DOM.
|
|
315
|
-
// It would be preferable to store the **raw** data in the block attributes and escape it in JS.
|
|
316
|
-
// Why? Because there isn't one way to escape data. Depending on the context, you need to do
|
|
317
|
-
// different transforms. It doesn't make sense to me to choose one of them for the purposes of storage.
|
|
318
|
-
// See also:
|
|
319
|
-
// - https://github.com/WordPress/gutenberg/pull/41063
|
|
320
|
-
// - https://github.com/WordPress/gutenberg/pull/18617.
|
|
321
|
-
|
|
322
|
-
const label = useNewLabel ? escapeHtml(newLabel) : originalLabel || escapeHtml(newUrlWithoutHttp); // In https://github.com/WordPress/gutenberg/pull/24670 we decided to use "tag" in favor of "post_tag"
|
|
323
|
-
|
|
324
|
-
const type = newType === 'post_tag' ? 'tag' : newType.replace('-', '_');
|
|
325
|
-
const isBuiltInType = ['post', 'page', 'tag', 'category'].indexOf(type) > -1;
|
|
326
|
-
const isCustomLink = !newKind && !isBuiltInType || newKind === 'custom';
|
|
327
|
-
const kind = isCustomLink ? 'custom' : newKind;
|
|
328
|
-
setAttributes({ // Passed `url` may already be encoded. To prevent double encoding, decodeURI is executed to revert to the original string.
|
|
329
|
-
...(newUrl && {
|
|
330
|
-
url: encodeURI(safeDecodeURI(newUrl))
|
|
331
|
-
}),
|
|
332
|
-
...(label && {
|
|
333
|
-
label
|
|
334
|
-
}),
|
|
335
|
-
...(undefined !== opensInNewTab && {
|
|
336
|
-
opensInNewTab
|
|
337
|
-
}),
|
|
338
|
-
...(id && Number.isInteger(id) && {
|
|
339
|
-
id
|
|
340
|
-
}),
|
|
341
|
-
...(kind && {
|
|
342
|
-
kind
|
|
343
|
-
}),
|
|
344
|
-
...(type && type !== 'URL' && {
|
|
345
|
-
type
|
|
346
|
-
})
|
|
347
|
-
});
|
|
348
|
-
};
|
|
349
203
|
|
|
350
204
|
const useIsInvalidLink = (kind, type, id) => {
|
|
351
205
|
const isPostType = kind === 'post-type' || type === 'post' || type === 'page';
|
|
@@ -406,74 +260,8 @@ function getMissingText(type) {
|
|
|
406
260
|
|
|
407
261
|
return missingText;
|
|
408
262
|
}
|
|
409
|
-
/**
|
|
410
|
-
* Removes HTML from a given string.
|
|
411
|
-
* Note the does not provide XSS protection or otherwise attempt
|
|
412
|
-
* to filter strings with malicious intent.
|
|
413
|
-
*
|
|
414
|
-
* See also: https://github.com/WordPress/gutenberg/pull/35539
|
|
415
|
-
*
|
|
416
|
-
* @param {string} html the string from which HTML should be removed.
|
|
417
|
-
* @return {string} the "cleaned" string.
|
|
418
|
-
*/
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
function navStripHTML(html) {
|
|
422
|
-
const doc = document.implementation.createHTMLDocument('');
|
|
423
|
-
doc.body.innerHTML = html;
|
|
424
|
-
return doc.body.textContent || '';
|
|
425
|
-
}
|
|
426
|
-
/**
|
|
427
|
-
* Add transforms to Link Control
|
|
428
|
-
*/
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
function LinkControlTransforms(_ref) {
|
|
432
|
-
let {
|
|
433
|
-
clientId,
|
|
434
|
-
replace
|
|
435
|
-
} = _ref;
|
|
436
|
-
const {
|
|
437
|
-
getBlock,
|
|
438
|
-
blockTransforms
|
|
439
|
-
} = useSelect(select => {
|
|
440
|
-
const {
|
|
441
|
-
getBlock: _getBlock,
|
|
442
|
-
getBlockRootClientId,
|
|
443
|
-
getBlockTransformItems
|
|
444
|
-
} = select(blockEditorStore);
|
|
445
|
-
return {
|
|
446
|
-
getBlock: _getBlock,
|
|
447
|
-
blockTransforms: getBlockTransformItems(_getBlock(clientId), getBlockRootClientId(clientId))
|
|
448
|
-
};
|
|
449
|
-
}, [clientId]);
|
|
450
|
-
const featuredBlocks = ['core/site-logo', 'core/social-links', 'core/search'];
|
|
451
|
-
const transforms = blockTransforms.filter(item => {
|
|
452
|
-
return featuredBlocks.includes(item.name);
|
|
453
|
-
});
|
|
454
|
-
|
|
455
|
-
if (!(transforms !== null && transforms !== void 0 && transforms.length)) {
|
|
456
|
-
return null;
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
return createElement("div", {
|
|
460
|
-
className: "link-control-transform"
|
|
461
|
-
}, createElement("h3", {
|
|
462
|
-
className: "link-control-transform__subheading"
|
|
463
|
-
}, __('Transform')), createElement("div", {
|
|
464
|
-
className: "link-control-transform__items"
|
|
465
|
-
}, transforms.map((item, index) => {
|
|
466
|
-
return createElement(Button, {
|
|
467
|
-
key: `transform-${index}`,
|
|
468
|
-
onClick: () => replace(clientId, switchToBlockType(getBlock(clientId), item.name)),
|
|
469
|
-
className: "link-control-transform__item"
|
|
470
|
-
}, createElement(BlockIcon, {
|
|
471
|
-
icon: item.icon
|
|
472
|
-
}), item.title);
|
|
473
|
-
})));
|
|
474
|
-
}
|
|
475
263
|
|
|
476
|
-
export default function NavigationLinkEdit(
|
|
264
|
+
export default function NavigationLinkEdit(_ref) {
|
|
477
265
|
let {
|
|
478
266
|
attributes,
|
|
479
267
|
isSelected,
|
|
@@ -483,12 +271,11 @@ export default function NavigationLinkEdit(_ref2) {
|
|
|
483
271
|
onReplace,
|
|
484
272
|
context,
|
|
485
273
|
clientId
|
|
486
|
-
} =
|
|
274
|
+
} = _ref;
|
|
487
275
|
const {
|
|
488
276
|
id,
|
|
489
277
|
label,
|
|
490
278
|
type,
|
|
491
|
-
opensInNewTab,
|
|
492
279
|
url,
|
|
493
280
|
description,
|
|
494
281
|
rel,
|
|
@@ -499,15 +286,6 @@ export default function NavigationLinkEdit(_ref2) {
|
|
|
499
286
|
const {
|
|
500
287
|
maxNestingLevel
|
|
501
288
|
} = context;
|
|
502
|
-
const link = {
|
|
503
|
-
url,
|
|
504
|
-
opensInNewTab,
|
|
505
|
-
title: label && navStripHTML(label) // don't allow HTML to display inside the <LinkControl>
|
|
506
|
-
|
|
507
|
-
};
|
|
508
|
-
const {
|
|
509
|
-
saveEntityRecord
|
|
510
|
-
} = useDispatch(coreStore);
|
|
511
289
|
const {
|
|
512
290
|
replaceBlock,
|
|
513
291
|
__unstableMarkNextChangeAsNotPersistent
|
|
@@ -563,7 +341,7 @@ export default function NavigationLinkEdit(_ref2) {
|
|
|
563
341
|
*/
|
|
564
342
|
|
|
565
343
|
function transformToSubmenu() {
|
|
566
|
-
const newSubmenu = createBlock('core/navigation-submenu', attributes, innerBlocks);
|
|
344
|
+
const newSubmenu = createBlock('core/navigation-submenu', attributes, innerBlocks.length > 0 ? innerBlocks : [createBlock('core/navigation-link')]);
|
|
567
345
|
replaceBlock(clientId, newSubmenu);
|
|
568
346
|
}
|
|
569
347
|
|
|
@@ -574,13 +352,14 @@ export default function NavigationLinkEdit(_ref2) {
|
|
|
574
352
|
// with the autofocus behavior of the BlockListBlock component.
|
|
575
353
|
if (!url) {
|
|
576
354
|
setIsLinkOpen(true);
|
|
577
|
-
}
|
|
578
|
-
|
|
579
|
-
|
|
355
|
+
}
|
|
356
|
+
}, [url]);
|
|
357
|
+
useEffect(() => {
|
|
358
|
+
// If block has inner blocks, transform to Submenu.
|
|
580
359
|
if (hasChildren) {
|
|
581
360
|
transformToSubmenu();
|
|
582
361
|
}
|
|
583
|
-
}, []);
|
|
362
|
+
}, [hasChildren]);
|
|
584
363
|
/**
|
|
585
364
|
* The hook shouldn't be necessary but due to a focus loss happening
|
|
586
365
|
* when selecting a suggestion in the link popover, we force close on block unselection.
|
|
@@ -649,31 +428,6 @@ export default function NavigationLinkEdit(_ref2) {
|
|
|
649
428
|
userCanCreate = postsPermissions.canCreate;
|
|
650
429
|
}
|
|
651
430
|
|
|
652
|
-
async function handleCreate(pageTitle) {
|
|
653
|
-
const postType = type || 'page';
|
|
654
|
-
const page = await saveEntityRecord('postType', postType, {
|
|
655
|
-
title: pageTitle,
|
|
656
|
-
status: 'draft'
|
|
657
|
-
});
|
|
658
|
-
return {
|
|
659
|
-
id: page.id,
|
|
660
|
-
type: postType,
|
|
661
|
-
// Make `title` property consistent with that in `fetchLinkSuggestions` where the `rendered` title (containing HTML entities)
|
|
662
|
-
// is also being decoded. By being consistent in both locations we avoid having to branch in the rendering output code.
|
|
663
|
-
// Ideally in the future we will update both APIs to utilise the "raw" form of the title which is better suited to edit contexts.
|
|
664
|
-
// e.g.
|
|
665
|
-
// - title.raw = "Yes & No"
|
|
666
|
-
// - title.rendered = "Yes & No"
|
|
667
|
-
// - decodeEntities( title.rendered ) = "Yes & No"
|
|
668
|
-
// See:
|
|
669
|
-
// - https://github.com/WordPress/gutenberg/pull/41063
|
|
670
|
-
// - https://github.com/WordPress/gutenberg/blob/a1e1fdc0e6278457e9f4fc0b31ac6d2095f5450b/packages/core-data/src/fetch/__experimental-fetch-link-suggestions.js#L212-L218
|
|
671
|
-
title: decodeEntities(page.title.rendered),
|
|
672
|
-
url: page.link,
|
|
673
|
-
kind: 'post-type'
|
|
674
|
-
};
|
|
675
|
-
}
|
|
676
|
-
|
|
677
431
|
const {
|
|
678
432
|
textColor,
|
|
679
433
|
customTextColor,
|
|
@@ -705,6 +459,16 @@ export default function NavigationLinkEdit(_ref2) {
|
|
|
705
459
|
},
|
|
706
460
|
onKeyDown
|
|
707
461
|
});
|
|
462
|
+
const ALLOWED_BLOCKS = ['core/navigation-link', 'core/navigation-submenu', 'core/page-list'];
|
|
463
|
+
const DEFAULT_BLOCK = {
|
|
464
|
+
name: 'core/navigation-link'
|
|
465
|
+
};
|
|
466
|
+
const innerBlocksProps = useInnerBlocksProps(blockProps, {
|
|
467
|
+
allowedBlocks: ALLOWED_BLOCKS,
|
|
468
|
+
__experimentalDefaultBlock: DEFAULT_BLOCK,
|
|
469
|
+
__experimentalDirectInsert: true,
|
|
470
|
+
renderAppender: false
|
|
471
|
+
});
|
|
708
472
|
|
|
709
473
|
if (!url || isInvalid || isDraft) {
|
|
710
474
|
blockProps.onClick = () => setIsLinkOpen(true);
|
|
@@ -731,7 +495,25 @@ export default function NavigationLinkEdit(_ref2) {
|
|
|
731
495
|
onClick: transformToSubmenu
|
|
732
496
|
}))), createElement(InspectorControls, null, createElement(PanelBody, {
|
|
733
497
|
title: __('Link settings')
|
|
734
|
-
}, createElement(
|
|
498
|
+
}, createElement(TextControl, {
|
|
499
|
+
value: label ? stripHTML(label) : '',
|
|
500
|
+
onChange: labelValue => {
|
|
501
|
+
setAttributes({
|
|
502
|
+
label: labelValue
|
|
503
|
+
});
|
|
504
|
+
},
|
|
505
|
+
label: __('Label'),
|
|
506
|
+
autoComplete: "off"
|
|
507
|
+
}), createElement(TextControl, {
|
|
508
|
+
value: url || '',
|
|
509
|
+
onChange: urlValue => {
|
|
510
|
+
setAttributes({
|
|
511
|
+
url: urlValue
|
|
512
|
+
});
|
|
513
|
+
},
|
|
514
|
+
label: __('URL'),
|
|
515
|
+
autoComplete: "off"
|
|
516
|
+
}), createElement(TextareaControl, {
|
|
735
517
|
value: description || '',
|
|
736
518
|
onChange: descriptionValue => {
|
|
737
519
|
setAttributes({
|
|
@@ -804,46 +586,20 @@ export default function NavigationLinkEdit(_ref2) {
|
|
|
804
586
|
// Ideally they would be stored in a raw, unescaped form.
|
|
805
587
|
// Unescape is used here to "recover" the escaped characters
|
|
806
588
|
// so they display without encoding.
|
|
807
|
-
// See `
|
|
589
|
+
// See `updateAttributes` for more details.
|
|
808
590
|
`${unescape(label)} ${placeholderText}`.trim()), createElement("span", {
|
|
809
591
|
className: "wp-block-navigation-link__missing_text-tooltip"
|
|
810
|
-
}, tooltipText))))), isLinkOpen && createElement(
|
|
811
|
-
|
|
592
|
+
}, tooltipText))))), isLinkOpen && createElement(LinkUI, {
|
|
593
|
+
className: "wp-block-navigation-link__inline-link-input",
|
|
594
|
+
clientId: clientId,
|
|
595
|
+
link: attributes,
|
|
812
596
|
onClose: () => setIsLinkOpen(false),
|
|
813
597
|
anchor: popoverAnchor,
|
|
814
|
-
|
|
815
|
-
}, createElement(LinkControl, {
|
|
816
|
-
hasTextControl: true,
|
|
817
|
-
hasRichPreviews: true,
|
|
818
|
-
className: "wp-block-navigation-link__inline-link-input",
|
|
819
|
-
value: link,
|
|
820
|
-
showInitialSuggestions: true,
|
|
821
|
-
withCreateSuggestion: userCanCreate,
|
|
822
|
-
createSuggestion: handleCreate,
|
|
823
|
-
createSuggestionButtonText: searchTerm => {
|
|
824
|
-
let format;
|
|
825
|
-
|
|
826
|
-
if (type === 'post') {
|
|
827
|
-
/* translators: %s: search term. */
|
|
828
|
-
format = __('Create draft post: <mark>%s</mark>');
|
|
829
|
-
} else {
|
|
830
|
-
/* translators: %s: search term. */
|
|
831
|
-
format = __('Create draft page: <mark>%s</mark>');
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
return createInterpolateElement(sprintf(format, searchTerm), {
|
|
835
|
-
mark: createElement("mark", null)
|
|
836
|
-
});
|
|
837
|
-
},
|
|
838
|
-
noDirectEntry: !!type,
|
|
839
|
-
noURLSuggestion: !!type,
|
|
840
|
-
suggestionsQuery: getSuggestionsQuery(type, kind),
|
|
841
|
-
onChange: updatedValue => updateNavigationLinkBlockAttributes(updatedValue, setAttributes, attributes),
|
|
598
|
+
hasCreateSuggestion: userCanCreate,
|
|
842
599
|
onRemove: removeLink,
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
})))));
|
|
600
|
+
onChange: updatedValue => {
|
|
601
|
+
updateAttributes(updatedValue, setAttributes, attributes);
|
|
602
|
+
}
|
|
603
|
+
})), createElement("div", innerBlocksProps)));
|
|
848
604
|
}
|
|
849
605
|
//# sourceMappingURL=edit.js.map
|