@wordpress/block-library 8.9.0 → 8.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/block/edit.native.js +17 -10
- package/build/block/edit.native.js.map +1 -1
- package/build/code/index.js +1 -0
- package/build/code/index.js.map +1 -1
- package/build/column/index.js +1 -1
- package/build/columns/transforms.js +1 -5
- package/build/columns/transforms.js.map +1 -1
- package/build/comment-author-name/edit.js +1 -1
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-edit-link/edit.js +1 -1
- package/build/comment-edit-link/edit.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/resizable-cover-popover.js +3 -3
- package/build/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build/cover/index.js +1 -1
- package/build/cover/variations.js +1 -1
- package/build/cover/variations.js.map +1 -1
- package/build/details/edit.js +19 -5
- package/build/details/edit.js.map +1 -1
- package/build/details/index.js +14 -10
- package/build/details/index.js.map +1 -1
- package/build/details/save.js +4 -1
- package/build/details/save.js.map +1 -1
- package/build/embed/variations.js +2 -2
- package/build/embed/variations.js.map +1 -1
- package/build/file/interactivity.js +19 -0
- package/build/file/interactivity.js.map +1 -0
- package/build/file/{utils.js → utils/index.js} +1 -1
- package/build/file/utils/index.js.map +1 -0
- package/build/file/view.js +1 -1
- package/build/file/view.js.map +1 -1
- package/build/freeform/modal.js +20 -17
- package/build/freeform/modal.js.map +1 -1
- package/build/gallery/edit.js +2 -8
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/v1/edit.js +1 -7
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery-image.native.js +1 -3
- package/build/gallery/v1/gallery-image.native.js.map +1 -1
- package/build/group/transforms.js +0 -5
- package/build/group/transforms.js.map +1 -1
- package/build/image/deprecated.js +2 -4
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.js +13 -11
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +7 -12
- 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/interactivity.js +102 -0
- package/build/image/interactivity.js.map +1 -0
- package/build/image/save.js +2 -4
- package/build/image/save.js.map +1 -1
- package/build/image/utils.js +10 -18
- package/build/image/utils.js.map +1 -1
- package/build/index.js +0 -6
- package/build/index.js.map +1 -1
- package/build/index.native.js +1 -1
- package/build/index.native.js.map +1 -1
- package/build/latest-posts/edit.native.js +1 -3
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/list/edit.js +1 -1
- package/build/list/edit.js.map +1 -1
- package/build/list-item/edit.native.js +1 -1
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/transforms.js +4 -1
- package/build/list-item/transforms.js.map +1 -1
- package/build/list-item/utils.js +5 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/loginout/index.js +11 -1
- package/build/loginout/index.js.map +1 -1
- package/build/media-text/deprecated.js +4 -6
- package/build/media-text/deprecated.js.map +1 -1
- package/build/media-text/edit.js +13 -11
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/media-container.js +3 -3
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/save.js +1 -3
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/constants.js +15 -0
- package/build/navigation/constants.js.map +1 -0
- package/build/navigation/edit/index.js +16 -26
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +5 -7
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/leaf-more-menu.js +148 -0
- package/build/navigation/edit/leaf-more-menu.js.map +1 -0
- package/build/navigation/edit/menu-inspector-controls.js +53 -8
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +6 -6
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +12 -25
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/interactivity.js +157 -0
- package/build/navigation/interactivity.js.map +1 -0
- package/build/navigation-link/edit.js +7 -5
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +5 -5
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +7 -5
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/paragraph/index.js +5 -1
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +5 -1
- package/build/paragraph/transforms.js.map +1 -1
- package/build/pattern/edit.js +42 -8
- package/build/pattern/edit.js.map +1 -1
- package/build/pattern/index.js +12 -5
- package/build/pattern/index.js.map +1 -1
- package/build/pattern/v1/edit.js +57 -0
- package/build/pattern/v1/edit.js.map +1 -0
- package/build/post-author-name/edit.js +1 -1
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +1 -2
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/overlay.js +5 -0
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-title/edit.js +24 -7
- package/build/post-title/edit.js.map +1 -1
- package/build/preformatted/edit.native.js +3 -2
- package/build/preformatted/edit.native.js.map +1 -1
- package/build/quote/transforms.js +23 -37
- package/build/quote/transforms.js.map +1 -1
- package/build/read-more/edit.js +1 -1
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +9 -1
- package/build/search/edit.js.map +1 -1
- package/build/site-title/edit/index.js +1 -1
- package/build/site-title/edit/index.js.map +1 -1
- package/build/social-link/edit.js +21 -4
- package/build/social-link/edit.js.map +1 -1
- package/build/social-links/edit.js +2 -2
- package/build/social-links/edit.js.map +1 -1
- package/build/template-part/edit/index.js +1 -7
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +2 -2
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/utils/interactivity/constants.js +9 -0
- package/build/utils/interactivity/constants.js.map +1 -0
- package/build/utils/interactivity/directives.js +236 -0
- package/build/utils/interactivity/directives.js.map +1 -0
- package/build/utils/interactivity/hooks.js +176 -0
- package/build/utils/interactivity/hooks.js.map +1 -0
- package/build/utils/interactivity/hydration.js +34 -0
- package/build/utils/interactivity/hydration.js.map +1 -0
- package/build/utils/interactivity/index.js +34 -0
- package/build/utils/interactivity/index.js.map +1 -0
- package/build/utils/interactivity/portals.js +108 -0
- package/build/utils/interactivity/portals.js.map +1 -0
- package/build/utils/interactivity/store.js +67 -0
- package/build/utils/interactivity/store.js.map +1 -0
- package/build/utils/interactivity/utils.js +87 -0
- package/build/utils/interactivity/utils.js.map +1 -0
- package/build/utils/interactivity/vdom.js +109 -0
- package/build/utils/interactivity/vdom.js.map +1 -0
- package/build-module/block/edit.native.js +7 -1
- package/build-module/block/edit.native.js.map +1 -1
- package/build-module/code/index.js +1 -0
- package/build-module/code/index.js.map +1 -1
- package/build-module/column/index.js +1 -1
- package/build-module/columns/transforms.js +1 -5
- package/build-module/columns/transforms.js.map +1 -1
- package/build-module/comment-author-name/edit.js +1 -1
- package/build-module/comment-author-name/edit.js.map +1 -1
- package/build-module/comment-edit-link/edit.js +1 -1
- package/build-module/comment-edit-link/edit.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/resizable-cover-popover.js +3 -3
- package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build-module/cover/index.js +1 -1
- package/build-module/cover/variations.js +1 -1
- package/build-module/cover/variations.js.map +1 -1
- package/build-module/details/edit.js +20 -6
- package/build-module/details/edit.js.map +1 -1
- package/build-module/details/index.js +14 -10
- package/build-module/details/index.js.map +1 -1
- package/build-module/details/save.js +5 -2
- package/build-module/details/save.js.map +1 -1
- package/build-module/embed/variations.js +2 -2
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/file/interactivity.js +15 -0
- package/build-module/file/interactivity.js.map +1 -0
- package/build-module/file/{utils.js → utils/index.js} +1 -1
- package/build-module/file/utils/index.js.map +1 -0
- package/build-module/file/view.js +1 -1
- package/build-module/file/view.js.map +1 -1
- package/build-module/freeform/modal.js +19 -18
- package/build-module/freeform/modal.js.map +1 -1
- package/build-module/gallery/edit.js +2 -8
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/v1/edit.js +1 -6
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery-image.native.js +1 -2
- package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
- package/build-module/group/transforms.js +0 -5
- package/build-module/group/transforms.js.map +1 -1
- package/build-module/image/deprecated.js +2 -3
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.js +12 -11
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +7 -11
- 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/interactivity.js +99 -0
- package/build-module/image/interactivity.js.map +1 -0
- package/build-module/image/save.js +2 -3
- package/build-module/image/save.js.map +1 -1
- package/build-module/image/utils.js +10 -17
- package/build-module/image/utils.js.map +1 -1
- package/build-module/index.js +0 -4
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +1 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +1 -2
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/list/edit.js +1 -1
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js +1 -1
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/transforms.js +5 -2
- package/build-module/list-item/transforms.js.map +1 -1
- package/build-module/list-item/utils.js +5 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/loginout/index.js +11 -1
- package/build-module/loginout/index.js.map +1 -1
- package/build-module/media-text/deprecated.js +4 -5
- package/build-module/media-text/deprecated.js.map +1 -1
- package/build-module/media-text/edit.js +13 -12
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/media-container.js +3 -3
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/save.js +1 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/constants.js +6 -0
- package/build-module/navigation/constants.js.map +1 -0
- package/build-module/navigation/edit/index.js +18 -27
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +2 -4
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/leaf-more-menu.js +132 -0
- package/build-module/navigation/edit/leaf-more-menu.js.map +1 -0
- package/build-module/navigation/edit/menu-inspector-controls.js +52 -9
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +7 -7
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +9 -20
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/interactivity.js +154 -0
- package/build-module/navigation/interactivity.js.map +1 -0
- package/build-module/navigation-link/edit.js +7 -5
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +4 -4
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +7 -5
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/paragraph/index.js +5 -1
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +5 -1
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/pattern/edit.js +42 -9
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/pattern/index.js +12 -3
- package/build-module/pattern/index.js.map +1 -1
- package/build-module/pattern/v1/edit.js +48 -0
- package/build-module/pattern/v1/edit.js.map +1 -0
- package/build-module/post-author-name/edit.js +1 -1
- package/build-module/post-author-name/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +1 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +5 -0
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-title/edit.js +23 -7
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/preformatted/edit.native.js +3 -2
- package/build-module/preformatted/edit.native.js.map +1 -1
- package/build-module/quote/transforms.js +23 -37
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/read-more/edit.js +1 -1
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +9 -1
- package/build-module/search/edit.js.map +1 -1
- package/build-module/site-title/edit/index.js +1 -1
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/social-link/edit.js +20 -5
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-links/edit.js +2 -2
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -6
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +1 -1
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/utils/interactivity/constants.js +2 -0
- package/build-module/utils/interactivity/constants.js.map +1 -0
- package/build-module/utils/interactivity/directives.js +220 -0
- package/build-module/utils/interactivity/directives.js.map +1 -0
- package/build-module/utils/interactivity/hooks.js +162 -0
- package/build-module/utils/interactivity/hooks.js.map +1 -0
- package/build-module/utils/interactivity/hydration.js +21 -0
- package/build-module/utils/interactivity/hydration.js.map +1 -0
- package/build-module/utils/interactivity/index.js +17 -0
- package/build-module/utils/interactivity/index.js.map +1 -0
- package/build-module/utils/interactivity/portals.js +100 -0
- package/build-module/utils/interactivity/portals.js.map +1 -0
- package/build-module/utils/interactivity/store.js +56 -0
- package/build-module/utils/interactivity/store.js.map +1 -0
- package/build-module/utils/interactivity/utils.js +75 -0
- package/build-module/utils/interactivity/utils.js.map +1 -0
- package/build-module/utils/interactivity/vdom.js +97 -0
- package/build-module/utils/interactivity/vdom.js.map +1 -0
- package/build-style/common-rtl.css +1 -1
- package/build-style/common.css +1 -1
- package/build-style/cover/style-rtl.css +3 -2
- package/build-style/cover/style.css +3 -2
- package/build-style/{details-summary → details}/editor-rtl.css +1 -1
- package/build-style/{details-summary → details}/editor.css +1 -1
- package/build-style/details/style-rtl.css +14 -0
- package/build-style/details/style.css +14 -0
- package/build-style/editor-rtl.css +71 -5
- package/build-style/editor.css +71 -5
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/freeform/editor-rtl.css +29 -0
- package/build-style/freeform/editor.css +29 -0
- package/build-style/gallery/editor-rtl.css +0 -4
- package/build-style/gallery/editor.css +0 -4
- package/build-style/gallery/style-rtl.css +2 -4
- package/build-style/gallery/style.css +2 -4
- package/build-style/image/style-rtl.css +98 -0
- package/build-style/image/style.css +98 -0
- package/build-style/navigation/editor-rtl.css +36 -0
- package/build-style/navigation/editor.css +36 -0
- package/build-style/post-comments-form/style-rtl.css +1 -1
- package/build-style/post-comments-form/style.css +1 -1
- package/build-style/search/editor-rtl.css +1 -0
- package/build-style/search/editor.css +1 -0
- package/build-style/site-logo/editor-rtl.css +1 -0
- package/build-style/site-logo/editor.css +1 -0
- package/build-style/style-rtl.css +116 -10
- package/build-style/style.css +116 -10
- package/build-style/video/style-rtl.css +1 -2
- package/build-style/video/style.css +1 -2
- package/package.json +37 -33
- package/src/block/edit.native.js +18 -4
- package/src/buttons/test/edit.native.js +0 -9
- package/src/code/block.json +1 -0
- package/src/column/block.json +1 -1
- package/src/columns/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/columns/test/transforms.native.js +3 -5
- package/src/columns/transforms.js +2 -8
- package/src/comment-author-name/edit.js +1 -1
- package/src/comment-edit-link/edit.js +1 -1
- package/src/comment-template/index.php +8 -7
- package/src/comments/index.php +1 -6
- package/src/cover/block.json +1 -1
- package/src/cover/edit/inspector-controls.js +56 -54
- package/src/cover/edit/resizable-cover-popover.js +2 -1
- package/src/cover/style.scss +5 -0
- package/src/cover/test/edit.js +56 -2
- package/src/cover/variations.js +1 -3
- package/src/details/block.json +8 -6
- package/src/details/edit.js +27 -5
- package/src/details/editor.scss +3 -0
- package/src/details/index.js +10 -5
- package/src/details/save.js +5 -1
- package/src/details/style.scss +16 -0
- package/src/editor.scss +1 -1
- package/src/embed/variations.js +2 -2
- package/src/file/editor.scss +4 -0
- package/src/file/interactivity.js +15 -0
- package/src/file/view.js +4 -1
- package/src/freeform/editor.scss +45 -0
- package/src/freeform/modal.js +22 -19
- package/src/gallery/edit.js +5 -8
- package/src/gallery/editor.scss +0 -6
- package/src/gallery/test/index.native.js +48 -3
- package/src/gallery/v1/edit.js +1 -6
- package/src/gallery/v1/gallery-image.native.js +1 -2
- package/src/group/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/group/test/transforms.native.js +3 -5
- package/src/group/transforms.js +0 -7
- package/src/image/block.json +3 -0
- package/src/image/deprecated.js +2 -3
- package/src/image/edit.js +18 -18
- package/src/image/image.js +8 -11
- package/src/image/index.php +75 -2
- package/src/image/interactivity.js +113 -0
- package/src/image/save.js +4 -3
- package/src/image/style.scss +113 -0
- package/src/image/test/edit.native.js +38 -16
- package/src/image/utils.js +11 -18
- package/src/index.js +0 -4
- package/src/index.native.js +1 -0
- package/src/latest-posts/edit.native.js +1 -4
- package/src/list/edit.js +1 -1
- package/src/list/test/edit.native.js +80 -1
- package/src/list-item/edit.native.js +1 -1
- package/src/list-item/transforms.js +4 -2
- package/src/loginout/block.json +11 -1
- package/src/media-text/deprecated.js +4 -5
- package/src/media-text/edit.js +12 -10
- package/src/media-text/media-container.js +3 -3
- package/src/media-text/save.js +1 -2
- package/src/navigation/constants.js +21 -0
- package/src/navigation/edit/index.js +71 -83
- package/src/navigation/edit/inner-blocks.js +6 -16
- package/src/navigation/edit/leaf-more-menu.js +170 -0
- package/src/navigation/edit/menu-inspector-controls.js +78 -10
- package/src/navigation/edit/navigation-menu-delete-control.js +29 -29
- package/src/navigation/edit/unsaved-inner-blocks.js +12 -40
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
- package/src/navigation/editor.scss +10 -0
- package/src/navigation/index.php +213 -204
- package/src/navigation/interactivity.js +151 -0
- package/src/navigation-link/edit.js +9 -3
- package/src/navigation-link/update-attributes.js +2 -2
- package/src/navigation-submenu/edit.js +9 -3
- package/src/paragraph/block.json +5 -1
- package/src/pattern/block.json +4 -0
- package/src/pattern/edit.js +53 -16
- package/src/pattern/index.js +5 -4
- package/src/pattern/index.php +14 -1
- package/src/pattern/v1/edit.js +57 -0
- package/src/post-author-name/edit.js +1 -1
- package/src/post-comments-form/style.scss +3 -1
- package/src/post-featured-image/edit.js +1 -1
- package/src/post-featured-image/index.php +1 -1
- package/src/post-featured-image/overlay.js +4 -0
- package/src/post-terms/index.php +2 -2
- package/src/post-title/edit.js +57 -44
- package/src/preformatted/edit.native.js +1 -3
- package/src/quote/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/quote/test/transforms.native.js +3 -5
- package/src/quote/transforms.js +9 -19
- package/src/read-more/edit.js +1 -1
- package/src/search/edit.js +9 -4
- package/src/search/editor.scss +1 -0
- package/src/site-logo/editor.scss +2 -1
- package/src/site-title/edit/index.js +1 -1
- package/src/social-link/edit.js +51 -26
- package/src/social-links/edit.js +33 -31
- package/src/style.scss +0 -1
- package/src/template-part/edit/index.js +4 -6
- package/src/template-part/edit/utils/hooks.js +1 -1
- package/src/template-part/index.php +22 -7
- package/src/utils/interactivity/constants.js +1 -0
- package/src/utils/interactivity/directives.js +200 -0
- package/src/utils/interactivity/hooks.js +145 -0
- package/src/utils/interactivity/hydration.js +22 -0
- package/src/utils/interactivity/index.js +17 -0
- package/src/utils/interactivity/portals.js +98 -0
- package/src/utils/interactivity/store.js +45 -0
- package/src/utils/interactivity/utils.js +66 -0
- package/src/utils/interactivity/vdom.js +94 -0
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/details-content/edit.js +0 -34
- package/build/details-content/edit.js.map +0 -1
- package/build/details-content/index.js +0 -94
- package/build/details-content/index.js.map +0 -1
- package/build/details-content/save.js +0 -20
- package/build/details-content/save.js.map +0 -1
- package/build/details-summary/edit.js +0 -42
- package/build/details-summary/edit.js.map +0 -1
- package/build/details-summary/index.js +0 -97
- package/build/details-summary/index.js.map +0 -1
- package/build/details-summary/save.js +0 -24
- package/build/details-summary/save.js.map +0 -1
- package/build/file/utils.js.map +0 -1
- package/build-module/details-content/edit.js +0 -23
- package/build-module/details-content/edit.js.map +0 -1
- package/build-module/details-content/index.js +0 -76
- package/build-module/details-content/index.js.map +0 -1
- package/build-module/details-content/save.js +0 -11
- package/build-module/details-content/save.js.map +0 -1
- package/build-module/details-summary/edit.js +0 -30
- package/build-module/details-summary/edit.js.map +0 -1
- package/build-module/details-summary/index.js +0 -79
- package/build-module/details-summary/index.js.map +0 -1
- package/build-module/details-summary/save.js +0 -16
- package/build-module/details-summary/save.js.map +0 -1
- package/build-module/file/utils.js.map +0 -1
- package/build-style/details-summary/style-rtl.css +0 -91
- package/build-style/details-summary/style.css +0 -91
- package/src/details-content/block.json +0 -50
- package/src/details-content/edit.js +0 -29
- package/src/details-content/index.js +0 -23
- package/src/details-content/save.js +0 -12
- package/src/details-summary/block.json +0 -53
- package/src/details-summary/edit.js +0 -27
- package/src/details-summary/editor.scss +0 -3
- package/src/details-summary/index.js +0 -23
- package/src/details-summary/save.js +0 -13
- package/src/details-summary/style.scss +0 -3
- /package/src/file/{utils.js → utils/index.js} +0 -0
|
@@ -70,6 +70,7 @@ describe( 'List block', () => {
|
|
|
70
70
|
// Select List block
|
|
71
71
|
const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
|
|
72
72
|
fireEvent.press( listBlock );
|
|
73
|
+
await triggerBlockListLayout( listBlock );
|
|
73
74
|
|
|
74
75
|
// Select List Item block
|
|
75
76
|
const [ listItemBlock ] = screen.getAllByLabelText(
|
|
@@ -117,14 +118,15 @@ describe( 'List block', () => {
|
|
|
117
118
|
|
|
118
119
|
// Select List block
|
|
119
120
|
const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
|
|
120
|
-
|
|
121
121
|
fireEvent.press( listBlock );
|
|
122
|
+
await triggerBlockListLayout( listBlock );
|
|
122
123
|
|
|
123
124
|
// Select List Item block
|
|
124
125
|
const [ firstNestedLevelBlock ] = within( listBlock ).getAllByLabelText(
|
|
125
126
|
/List item Block\. Row 2/
|
|
126
127
|
);
|
|
127
128
|
fireEvent.press( firstNestedLevelBlock );
|
|
129
|
+
await triggerBlockListLayout( firstNestedLevelBlock );
|
|
128
130
|
|
|
129
131
|
// Select second level list
|
|
130
132
|
const [ secondNestedLevelBlock ] = within(
|
|
@@ -152,6 +154,7 @@ describe( 'List block', () => {
|
|
|
152
154
|
// Select List block
|
|
153
155
|
const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
|
|
154
156
|
fireEvent.press( listBlock );
|
|
157
|
+
await triggerBlockListLayout( listBlock );
|
|
155
158
|
|
|
156
159
|
// Select Secont List Item block
|
|
157
160
|
const [ listItemBlock ] = screen.getAllByLabelText(
|
|
@@ -163,6 +166,12 @@ describe( 'List block', () => {
|
|
|
163
166
|
const indentButton = screen.getByLabelText( 'Indent' );
|
|
164
167
|
fireEvent.press( indentButton );
|
|
165
168
|
|
|
169
|
+
// Await recently indented list item layout
|
|
170
|
+
const [ listItemBlock1 ] = screen.getAllByLabelText(
|
|
171
|
+
/List item Block\. Row 1/
|
|
172
|
+
);
|
|
173
|
+
await triggerBlockListLayout( listItemBlock1 );
|
|
174
|
+
|
|
166
175
|
expect( getEditorHtml() ).toMatchSnapshot();
|
|
167
176
|
} );
|
|
168
177
|
|
|
@@ -184,17 +193,21 @@ describe( 'List block', () => {
|
|
|
184
193
|
// Select List block
|
|
185
194
|
const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
|
|
186
195
|
fireEvent.press( listBlock );
|
|
196
|
+
await triggerBlockListLayout( listBlock );
|
|
187
197
|
|
|
188
198
|
// Select List Item block
|
|
189
199
|
const [ firstNestedLevelBlock ] = within( listBlock ).getAllByLabelText(
|
|
190
200
|
/List item Block\. Row 1/
|
|
191
201
|
);
|
|
192
202
|
fireEvent.press( firstNestedLevelBlock );
|
|
203
|
+
await triggerBlockListLayout( firstNestedLevelBlock );
|
|
193
204
|
|
|
194
205
|
// Select Inner block List
|
|
195
206
|
const [ innerBlockList ] = within(
|
|
196
207
|
firstNestedLevelBlock
|
|
197
208
|
).getAllByLabelText( /List Block\. Row 1/ );
|
|
209
|
+
fireEvent.press( innerBlockList );
|
|
210
|
+
await triggerBlockListLayout( innerBlockList );
|
|
198
211
|
|
|
199
212
|
// Select nested List Item block
|
|
200
213
|
const [ listItemBlock ] = within( innerBlockList ).getAllByLabelText(
|
|
@@ -336,6 +349,7 @@ describe( 'List block', () => {
|
|
|
336
349
|
// Select List block
|
|
337
350
|
const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 2/ );
|
|
338
351
|
fireEvent.press( listBlock );
|
|
352
|
+
await triggerBlockListLayout( listBlock );
|
|
339
353
|
|
|
340
354
|
// Select List Item block
|
|
341
355
|
const [ listItemBlock ] = within( listBlock ).getAllByLabelText(
|
|
@@ -384,6 +398,7 @@ describe( 'List block', () => {
|
|
|
384
398
|
// Select List block
|
|
385
399
|
const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 2/ );
|
|
386
400
|
fireEvent.press( listBlock );
|
|
401
|
+
await triggerBlockListLayout( listBlock );
|
|
387
402
|
|
|
388
403
|
// Select List Item block
|
|
389
404
|
const [ listItemBlock ] = within( listBlock ).getAllByLabelText(
|
|
@@ -418,4 +433,68 @@ describe( 'List block', () => {
|
|
|
418
433
|
<!-- /wp:list -->"
|
|
419
434
|
` );
|
|
420
435
|
} );
|
|
436
|
+
|
|
437
|
+
it( 'merges first item into its own paragraph block and keeps its nested items', async () => {
|
|
438
|
+
const initialHtml = `<!-- wp:paragraph -->
|
|
439
|
+
<p>A quick brown fox.</p>
|
|
440
|
+
<!-- /wp:paragraph -->
|
|
441
|
+
<!-- wp:list -->
|
|
442
|
+
<ul><!-- wp:list-item -->
|
|
443
|
+
<li>One<!-- wp:list -->
|
|
444
|
+
<ul><!-- wp:list-item -->
|
|
445
|
+
<li>Two</li>
|
|
446
|
+
<!-- /wp:list-item -->
|
|
447
|
+
<!-- wp:list-item -->
|
|
448
|
+
<li>Three</li>
|
|
449
|
+
<!-- /wp:list-item --></ul>
|
|
450
|
+
<!-- /wp:list --></li>
|
|
451
|
+
<!-- /wp:list-item --></ul>
|
|
452
|
+
<!-- /wp:list -->`;
|
|
453
|
+
|
|
454
|
+
const screen = await initializeEditor( {
|
|
455
|
+
initialHtml,
|
|
456
|
+
} );
|
|
457
|
+
|
|
458
|
+
// Select List block
|
|
459
|
+
const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 2/ );
|
|
460
|
+
fireEvent.press( listBlock );
|
|
461
|
+
await triggerBlockListLayout( listBlock );
|
|
462
|
+
|
|
463
|
+
// Select List Item block
|
|
464
|
+
const [ listItemBlock ] = within( listBlock ).getAllByLabelText(
|
|
465
|
+
/List item Block\. Row 1/
|
|
466
|
+
);
|
|
467
|
+
fireEvent.press( listItemBlock );
|
|
468
|
+
|
|
469
|
+
// With cursor positioned at the beginning of the first List Item, press
|
|
470
|
+
// backward delete
|
|
471
|
+
const listItemField =
|
|
472
|
+
within( listItemBlock ).getByLabelText( /Text input. .*One.*/ );
|
|
473
|
+
selectRangeInRichText( listItemField, 0 );
|
|
474
|
+
fireEvent( listItemField, 'onKeyDown', {
|
|
475
|
+
nativeEvent: {},
|
|
476
|
+
preventDefault() {},
|
|
477
|
+
keyCode: BACKSPACE,
|
|
478
|
+
} );
|
|
479
|
+
|
|
480
|
+
expect( getEditorHtml() ).toMatchInlineSnapshot( `
|
|
481
|
+
"<!-- wp:paragraph -->
|
|
482
|
+
<p>A quick brown fox.</p>
|
|
483
|
+
<!-- /wp:paragraph -->
|
|
484
|
+
|
|
485
|
+
<!-- wp:paragraph -->
|
|
486
|
+
<p>One</p>
|
|
487
|
+
<!-- /wp:paragraph -->
|
|
488
|
+
|
|
489
|
+
<!-- wp:list -->
|
|
490
|
+
<ul><!-- wp:list-item -->
|
|
491
|
+
<li>Two</li>
|
|
492
|
+
<!-- /wp:list-item -->
|
|
493
|
+
|
|
494
|
+
<!-- wp:list-item -->
|
|
495
|
+
<li>Three</li>
|
|
496
|
+
<!-- /wp:list-item --></ul>
|
|
497
|
+
<!-- /wp:list -->"
|
|
498
|
+
` );
|
|
499
|
+
} );
|
|
421
500
|
} );
|
|
@@ -91,7 +91,7 @@ export default function ListItemEdit( {
|
|
|
91
91
|
|
|
92
92
|
const innerBlocksProps = useInnerBlocksProps( blockProps, {
|
|
93
93
|
allowedBlocks: [ 'core/list' ],
|
|
94
|
-
|
|
94
|
+
renderAppender: false,
|
|
95
95
|
} );
|
|
96
96
|
|
|
97
97
|
// Set default placeholder text color from light/dark scheme or base colors
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { createBlock } from '@wordpress/blocks';
|
|
4
|
+
import { createBlock, cloneBlock } from '@wordpress/blocks';
|
|
5
5
|
|
|
6
6
|
const transforms = {
|
|
7
7
|
to: [
|
|
8
8
|
{
|
|
9
9
|
type: 'block',
|
|
10
10
|
blocks: [ 'core/paragraph' ],
|
|
11
|
-
transform: ( attributes ) =>
|
|
11
|
+
transform: ( attributes, innerBlocks = [] ) => [
|
|
12
12
|
createBlock( 'core/paragraph', attributes ),
|
|
13
|
+
...innerBlocks.map( ( block ) => cloneBlock( block ) ),
|
|
14
|
+
],
|
|
13
15
|
},
|
|
14
16
|
],
|
|
15
17
|
};
|
package/src/loginout/block.json
CHANGED
|
@@ -21,7 +21,17 @@
|
|
|
21
21
|
"anchor": true,
|
|
22
22
|
"className": true,
|
|
23
23
|
"typography": {
|
|
24
|
-
"fontSize":
|
|
24
|
+
"fontSize": true,
|
|
25
|
+
"lineHeight": true,
|
|
26
|
+
"__experimentalFontFamily": true,
|
|
27
|
+
"__experimentalFontWeight": true,
|
|
28
|
+
"__experimentalFontStyle": true,
|
|
29
|
+
"__experimentalTextTransform": true,
|
|
30
|
+
"__experimentalTextDecoration": true,
|
|
31
|
+
"__experimentalLetterSpacing": true,
|
|
32
|
+
"__experimentalDefaultControls": {
|
|
33
|
+
"fontSize": true
|
|
34
|
+
}
|
|
25
35
|
}
|
|
26
36
|
}
|
|
27
37
|
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
import { isEmpty } from 'lodash';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* WordPress dependencies
|
|
@@ -258,7 +257,7 @@ const v6 = {
|
|
|
258
257
|
} = attributes;
|
|
259
258
|
const mediaSizeSlug =
|
|
260
259
|
attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
|
|
261
|
-
const newRel =
|
|
260
|
+
const newRel = ! rel ? undefined : rel;
|
|
262
261
|
|
|
263
262
|
const imageClasses = classnames( {
|
|
264
263
|
[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',
|
|
@@ -387,7 +386,7 @@ const v5 = {
|
|
|
387
386
|
} = attributes;
|
|
388
387
|
const mediaSizeSlug =
|
|
389
388
|
attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
|
|
390
|
-
const newRel =
|
|
389
|
+
const newRel = ! rel ? undefined : rel;
|
|
391
390
|
|
|
392
391
|
const imageClasses = classnames( {
|
|
393
392
|
[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',
|
|
@@ -501,7 +500,7 @@ const v4 = {
|
|
|
501
500
|
} = attributes;
|
|
502
501
|
const mediaSizeSlug =
|
|
503
502
|
attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
|
|
504
|
-
const newRel =
|
|
503
|
+
const newRel = ! rel ? undefined : rel;
|
|
505
504
|
|
|
506
505
|
const imageClasses = classnames( {
|
|
507
506
|
[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',
|
|
@@ -646,7 +645,7 @@ const v3 = {
|
|
|
646
645
|
linkTarget,
|
|
647
646
|
rel,
|
|
648
647
|
} = attributes;
|
|
649
|
-
const newRel =
|
|
648
|
+
const newRel = ! rel ? undefined : rel;
|
|
650
649
|
|
|
651
650
|
let image = (
|
|
652
651
|
<img
|
package/src/media-text/edit.js
CHANGED
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
__experimentalImageURLInputUI as ImageURLInputUI,
|
|
19
19
|
__experimentalImageSizeControl as ImageSizeControl,
|
|
20
20
|
store as blockEditorStore,
|
|
21
|
+
privateApis as blockEditorPrivateApis,
|
|
21
22
|
} from '@wordpress/block-editor';
|
|
22
23
|
import {
|
|
23
24
|
PanelBody,
|
|
@@ -43,6 +44,9 @@ import {
|
|
|
43
44
|
LINK_DESTINATION_ATTACHMENT,
|
|
44
45
|
TEMPLATE,
|
|
45
46
|
} from './constants';
|
|
47
|
+
import { unlock } from '../private-apis';
|
|
48
|
+
|
|
49
|
+
const { useBlockEditingMode } = unlock( blockEditorPrivateApis );
|
|
46
50
|
|
|
47
51
|
// this limits the resize to a safe zone to avoid making broken layouts
|
|
48
52
|
const applyWidthConstraints = ( width ) =>
|
|
@@ -126,7 +130,7 @@ function attributesFromMedia( {
|
|
|
126
130
|
};
|
|
127
131
|
}
|
|
128
132
|
|
|
129
|
-
function MediaTextEdit( { attributes, isSelected, setAttributes
|
|
133
|
+
function MediaTextEdit( { attributes, isSelected, setAttributes } ) {
|
|
130
134
|
const {
|
|
131
135
|
focalPoint,
|
|
132
136
|
href,
|
|
@@ -147,13 +151,10 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
|
|
|
147
151
|
} = attributes;
|
|
148
152
|
const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
|
|
149
153
|
|
|
150
|
-
const { imageSizes, image
|
|
154
|
+
const { imageSizes, image } = useSelect(
|
|
151
155
|
( select ) => {
|
|
152
|
-
const {
|
|
153
|
-
select( blockEditorStore );
|
|
156
|
+
const { getSettings } = select( blockEditorStore );
|
|
154
157
|
return {
|
|
155
|
-
isContentLocked:
|
|
156
|
-
!! __unstableGetContentLockingParent( clientId ),
|
|
157
158
|
image:
|
|
158
159
|
mediaId && isSelected
|
|
159
160
|
? select( coreStore ).getMedia( mediaId, {
|
|
@@ -163,8 +164,7 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
|
|
|
163
164
|
imageSizes: getSettings()?.imageSizes,
|
|
164
165
|
};
|
|
165
166
|
},
|
|
166
|
-
|
|
167
|
-
[ isSelected, mediaId, clientId ]
|
|
167
|
+
[ isSelected, mediaId ]
|
|
168
168
|
);
|
|
169
169
|
|
|
170
170
|
const refMediaContainer = useRef();
|
|
@@ -319,11 +319,13 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
|
|
|
319
319
|
{ template: TEMPLATE, allowedBlocks }
|
|
320
320
|
);
|
|
321
321
|
|
|
322
|
+
const blockEditingMode = useBlockEditingMode();
|
|
323
|
+
|
|
322
324
|
return (
|
|
323
325
|
<>
|
|
324
326
|
<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>
|
|
325
327
|
<BlockControls group="block">
|
|
326
|
-
{
|
|
328
|
+
{ blockEditingMode === 'default' && (
|
|
327
329
|
<>
|
|
328
330
|
<BlockVerticalAlignmentControl
|
|
329
331
|
onChange={ onVerticalAlignmentChange }
|
|
@@ -370,6 +372,7 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
|
|
|
370
372
|
onWidthChange={ onWidthChange }
|
|
371
373
|
commitWidthChange={ commitWidthChange }
|
|
372
374
|
ref={ refMediaContainer }
|
|
375
|
+
enableResize={ blockEditingMode === 'default' }
|
|
373
376
|
{ ...{
|
|
374
377
|
focalPoint,
|
|
375
378
|
imageFill,
|
|
@@ -381,7 +384,6 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
|
|
|
381
384
|
mediaType,
|
|
382
385
|
mediaUrl,
|
|
383
386
|
mediaWidth,
|
|
384
|
-
isContentLocked,
|
|
385
387
|
} }
|
|
386
388
|
/>
|
|
387
389
|
{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }
|
|
@@ -109,7 +109,7 @@ function MediaContainer( props, ref ) {
|
|
|
109
109
|
mediaWidth,
|
|
110
110
|
onSelectMedia,
|
|
111
111
|
onWidthChange,
|
|
112
|
-
|
|
112
|
+
enableResize,
|
|
113
113
|
} = props;
|
|
114
114
|
|
|
115
115
|
const isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );
|
|
@@ -128,8 +128,8 @@ function MediaContainer( props, ref ) {
|
|
|
128
128
|
commitWidthChange( parseInt( elt.style.width ) );
|
|
129
129
|
};
|
|
130
130
|
const enablePositions = {
|
|
131
|
-
right:
|
|
132
|
-
left:
|
|
131
|
+
right: enableResize && mediaPosition === 'left',
|
|
132
|
+
left: enableResize && mediaPosition === 'right',
|
|
133
133
|
};
|
|
134
134
|
|
|
135
135
|
const backgroundStyles =
|
package/src/media-text/save.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
import { isEmpty } from 'lodash';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* WordPress dependencies
|
|
@@ -36,7 +35,7 @@ export default function save( { attributes } ) {
|
|
|
36
35
|
rel,
|
|
37
36
|
} = attributes;
|
|
38
37
|
const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
|
|
39
|
-
const newRel =
|
|
38
|
+
const newRel = ! rel ? undefined : rel;
|
|
40
39
|
|
|
41
40
|
const imageClasses = classnames( {
|
|
42
41
|
[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const DEFAULT_BLOCK = {
|
|
2
|
+
name: 'core/navigation-link',
|
|
3
|
+
};
|
|
4
|
+
|
|
5
|
+
export const ALLOWED_BLOCKS = [
|
|
6
|
+
'core/navigation-link',
|
|
7
|
+
'core/search',
|
|
8
|
+
'core/social-links',
|
|
9
|
+
'core/page-list',
|
|
10
|
+
'core/spacer',
|
|
11
|
+
'core/home-link',
|
|
12
|
+
'core/site-title',
|
|
13
|
+
'core/site-logo',
|
|
14
|
+
'core/navigation-submenu',
|
|
15
|
+
'core/loginout',
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
export const PRIORITIZED_INSERTER_BLOCKS = [
|
|
19
|
+
'core/navigation-link/page',
|
|
20
|
+
'core/navigation-link',
|
|
21
|
+
];
|
|
@@ -27,9 +27,9 @@ import {
|
|
|
27
27
|
__experimentalUseBlockOverlayActive as useBlockOverlayActive,
|
|
28
28
|
__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,
|
|
29
29
|
} from '@wordpress/block-editor';
|
|
30
|
-
import { EntityProvider } from '@wordpress/core-data';
|
|
30
|
+
import { EntityProvider, store as coreStore } from '@wordpress/core-data';
|
|
31
31
|
|
|
32
|
-
import { useDispatch } from '@wordpress/data';
|
|
32
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
33
33
|
import {
|
|
34
34
|
PanelBody,
|
|
35
35
|
ToggleControl,
|
|
@@ -41,7 +41,6 @@ import {
|
|
|
41
41
|
import { __, sprintf } from '@wordpress/i18n';
|
|
42
42
|
import { speak } from '@wordpress/a11y';
|
|
43
43
|
import { close, Icon } from '@wordpress/icons';
|
|
44
|
-
import apiFetch from '@wordpress/api-fetch';
|
|
45
44
|
|
|
46
45
|
/**
|
|
47
46
|
* Internal dependencies
|
|
@@ -87,7 +86,6 @@ function Navigation( {
|
|
|
87
86
|
// These props are used by the navigation editor to override specific
|
|
88
87
|
// navigation block settings.
|
|
89
88
|
hasSubmenuIndicatorSetting = true,
|
|
90
|
-
hasColorSettings = true,
|
|
91
89
|
customPlaceholder: CustomPlaceholder = null,
|
|
92
90
|
} ) {
|
|
93
91
|
const {
|
|
@@ -220,42 +218,34 @@ function Navigation( {
|
|
|
220
218
|
// that automatically saves the menu as an entity when changes are made to the inner blocks.
|
|
221
219
|
const hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;
|
|
222
220
|
|
|
221
|
+
const { getNavigationFallbackId } = useSelect( coreStore );
|
|
222
|
+
|
|
223
|
+
const navigationFallbackId = ! ( ref || hasUnsavedBlocks )
|
|
224
|
+
? getNavigationFallbackId()
|
|
225
|
+
: null;
|
|
226
|
+
|
|
223
227
|
useEffect( () => {
|
|
224
228
|
// If:
|
|
225
229
|
// - there is an existing menu, OR
|
|
226
230
|
// - there are existing (uncontrolled) inner blocks
|
|
227
231
|
// ...then don't request a fallback menu.
|
|
228
|
-
if ( ref || hasUnsavedBlocks ) {
|
|
232
|
+
if ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {
|
|
229
233
|
return;
|
|
230
234
|
}
|
|
231
235
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* This fallback displays (both in editor and on front)
|
|
243
|
-
* The fallback should not request a save (entity dirty state)
|
|
244
|
-
* nor to be undoable, hence why it is marked as non persistent
|
|
245
|
-
*/
|
|
246
|
-
__unstableMarkNextChangeAsNotPersistent();
|
|
247
|
-
setRef( fallbackNavigationMenu.id );
|
|
248
|
-
} )
|
|
249
|
-
.catch( () => {
|
|
250
|
-
showNavigationMenuStatusNotice(
|
|
251
|
-
__( 'Unable to fetch a fallback Navigation Menu.' )
|
|
252
|
-
);
|
|
253
|
-
} );
|
|
236
|
+
/**
|
|
237
|
+
* This fallback displays (both in editor and on front)
|
|
238
|
+
* The fallback should not request a save (entity dirty state)
|
|
239
|
+
* nor to be undoable, hence why it is marked as non persistent
|
|
240
|
+
*/
|
|
241
|
+
|
|
242
|
+
__unstableMarkNextChangeAsNotPersistent();
|
|
243
|
+
setRef( navigationFallbackId );
|
|
254
244
|
}, [
|
|
255
245
|
ref,
|
|
256
|
-
hasUnsavedBlocks,
|
|
257
246
|
setRef,
|
|
258
|
-
|
|
247
|
+
hasUnsavedBlocks,
|
|
248
|
+
navigationFallbackId,
|
|
259
249
|
__unstableMarkNextChangeAsNotPersistent,
|
|
260
250
|
] );
|
|
261
251
|
|
|
@@ -588,60 +578,58 @@ function Navigation( {
|
|
|
588
578
|
</PanelBody>
|
|
589
579
|
) }
|
|
590
580
|
</InspectorControls>
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
) }
|
|
644
|
-
</InspectorControls>
|
|
581
|
+
{ colorGradientSettings.hasColorsOrGradients && (
|
|
582
|
+
<InspectorControls group="color">
|
|
583
|
+
<ColorGradientSettingsDropdown
|
|
584
|
+
__experimentalIsRenderedInSidebar
|
|
585
|
+
settings={ [
|
|
586
|
+
{
|
|
587
|
+
colorValue: textColor.color,
|
|
588
|
+
label: __( 'Text' ),
|
|
589
|
+
onColorChange: setTextColor,
|
|
590
|
+
resetAllFilter: () => setTextColor(),
|
|
591
|
+
},
|
|
592
|
+
{
|
|
593
|
+
colorValue: backgroundColor.color,
|
|
594
|
+
label: __( 'Background' ),
|
|
595
|
+
onColorChange: setBackgroundColor,
|
|
596
|
+
resetAllFilter: () => setBackgroundColor(),
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
colorValue: overlayTextColor.color,
|
|
600
|
+
label: __( 'Submenu & overlay text' ),
|
|
601
|
+
onColorChange: setOverlayTextColor,
|
|
602
|
+
resetAllFilter: () => setOverlayTextColor(),
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
colorValue: overlayBackgroundColor.color,
|
|
606
|
+
label: __( 'Submenu & overlay background' ),
|
|
607
|
+
onColorChange: setOverlayBackgroundColor,
|
|
608
|
+
resetAllFilter: () =>
|
|
609
|
+
setOverlayBackgroundColor(),
|
|
610
|
+
},
|
|
611
|
+
] }
|
|
612
|
+
panelId={ clientId }
|
|
613
|
+
{ ...colorGradientSettings }
|
|
614
|
+
gradients={ [] }
|
|
615
|
+
disableCustomGradients={ true }
|
|
616
|
+
/>
|
|
617
|
+
{ enableContrastChecking && (
|
|
618
|
+
<>
|
|
619
|
+
<ContrastChecker
|
|
620
|
+
backgroundColor={ detectedBackgroundColor }
|
|
621
|
+
textColor={ detectedColor }
|
|
622
|
+
/>
|
|
623
|
+
<ContrastChecker
|
|
624
|
+
backgroundColor={
|
|
625
|
+
detectedOverlayBackgroundColor
|
|
626
|
+
}
|
|
627
|
+
textColor={ detectedOverlayColor }
|
|
628
|
+
/>
|
|
629
|
+
</>
|
|
630
|
+
) }
|
|
631
|
+
</InspectorControls>
|
|
632
|
+
) }
|
|
645
633
|
</>
|
|
646
634
|
);
|
|
647
635
|
|
|
@@ -14,22 +14,11 @@ import { useMemo } from '@wordpress/element';
|
|
|
14
14
|
* Internal dependencies
|
|
15
15
|
*/
|
|
16
16
|
import PlaceholderPreview from './placeholder/placeholder-preview';
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
'core/page-list',
|
|
23
|
-
'core/spacer',
|
|
24
|
-
'core/home-link',
|
|
25
|
-
'core/site-title',
|
|
26
|
-
'core/site-logo',
|
|
27
|
-
'core/navigation-submenu',
|
|
28
|
-
];
|
|
29
|
-
|
|
30
|
-
const DEFAULT_BLOCK = {
|
|
31
|
-
name: 'core/navigation-link',
|
|
32
|
-
};
|
|
17
|
+
import {
|
|
18
|
+
DEFAULT_BLOCK,
|
|
19
|
+
ALLOWED_BLOCKS,
|
|
20
|
+
PRIORITIZED_INSERTER_BLOCKS,
|
|
21
|
+
} from '../constants';
|
|
33
22
|
|
|
34
23
|
export default function NavigationInnerBlocks( {
|
|
35
24
|
clientId,
|
|
@@ -108,6 +97,7 @@ export default function NavigationInnerBlocks( {
|
|
|
108
97
|
onInput,
|
|
109
98
|
onChange,
|
|
110
99
|
allowedBlocks: ALLOWED_BLOCKS,
|
|
100
|
+
prioritizedInserterBlocks: PRIORITIZED_INSERTER_BLOCKS,
|
|
111
101
|
__experimentalDefaultBlock: DEFAULT_BLOCK,
|
|
112
102
|
__experimentalDirectInsert: shouldDirectInsert,
|
|
113
103
|
orientation,
|