@wordpress/block-library 7.15.1-next.4d3b314fd5.0 → 7.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/build/archives/edit.js +1 -0
- package/build/archives/edit.js.map +1 -1
- package/build/code/utils.js +3 -3
- package/build/code/utils.js.map +1 -1
- package/build/comment-template/edit.js +40 -32
- package/build/comment-template/edit.js.map +1 -1
- package/build/comments/edit/placeholder.js +1 -4
- package/build/comments/edit/placeholder.js.map +1 -1
- package/build/comments/index.js +5 -1
- package/build/comments/index.js.map +1 -1
- package/build/comments-title/edit.js +18 -1
- package/build/comments-title/edit.js.map +1 -1
- package/build/cover/edit/index.js +2 -2
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/use-cover-is-dark.js +8 -7
- package/build/cover/edit/use-cover-is-dark.js.map +1 -1
- package/build/embed/variations.js +1 -1
- package/build/embed/variations.js.map +1 -1
- package/build/gallery/transforms.js +3 -3
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/v1/edit.js +1 -1
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/edit.js +1 -1
- package/build/group/edit.js.map +1 -1
- package/build/image/image.js +34 -10
- package/build/image/image.js.map +1 -1
- package/build/image/transforms.js +1 -7
- package/build/image/transforms.js.map +1 -1
- package/build/list/transforms.js +9 -1
- package/build/list/transforms.js.map +1 -1
- package/build/list-item/edit.js +3 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js +3 -2
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +19 -22
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +19 -3
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/index.js +14 -1
- package/build/list-item/index.js.map +1 -1
- package/build/list-item/utils.js +14 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/navigation/edit/index.js +46 -33
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +3 -5
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +25 -8
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/index.js +4 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation-link/edit.js +1 -1
- package/build/navigation-link/edit.js.map +1 -1
- package/build/page-list/index.js +1 -5
- package/build/page-list/index.js.map +1 -1
- package/build/paragraph/deprecated.js +49 -10
- package/build/paragraph/deprecated.js.map +1 -1
- package/build/paragraph/edit.js +22 -14
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/save.js +3 -1
- package/build/paragraph/save.js.map +1 -1
- package/build/pattern/edit.js +11 -4
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +20 -2
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author/index.js +8 -0
- package/build/post-author/index.js.map +1 -1
- package/build/post-comments-form/form.js +1 -2
- package/build/post-comments-form/form.js.map +1 -1
- package/build/post-featured-image/index.js +1 -1
- package/build/post-featured-image/overlay.js +2 -2
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-terms/index.js +4 -0
- package/build/post-terms/index.js.map +1 -1
- package/build/query/edit/inspector-controls/author-control.js +2 -1
- package/build/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +3 -3
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/parent-control.js +2 -1
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +79 -103
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/utils.js +1 -1
- package/build/query/utils.js.map +1 -1
- package/build/quote/index.js +0 -1
- package/build/quote/index.js.map +1 -1
- package/build/search/edit.js +2 -1
- package/build/search/edit.js.map +1 -1
- package/build/site-logo/edit.js +6 -9
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-title/index.js +2 -1
- package/build/site-title/index.js.map +1 -1
- package/build/table/state.js +1 -1
- package/build/table/state.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -4
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/tag-cloud/index.js +8 -0
- package/build/tag-cloud/index.js.map +1 -1
- package/build/template-part/index.js +2 -2
- package/build/template-part/index.js.map +1 -1
- package/build/video/edit.js +13 -1
- package/build/video/edit.js.map +1 -1
- package/build-module/archives/edit.js +1 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/code/utils.js +3 -3
- package/build-module/code/utils.js.map +1 -1
- package/build-module/comment-template/edit.js +38 -30
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comments/edit/placeholder.js +1 -3
- package/build-module/comments/edit/placeholder.js.map +1 -1
- package/build-module/comments/index.js +5 -1
- package/build-module/comments/index.js.map +1 -1
- package/build-module/comments-title/edit.js +18 -2
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -2
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/use-cover-is-dark.js +7 -7
- package/build-module/cover/edit/use-cover-is-dark.js.map +1 -1
- package/build-module/embed/variations.js +1 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/gallery/transforms.js +4 -4
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/v1/edit.js +2 -2
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/edit.js +1 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/image/image.js +35 -11
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/transforms.js +1 -6
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/list/transforms.js +9 -1
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list-item/edit.js +3 -2
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js +3 -2
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +19 -21
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +19 -3
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/index.js +14 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/list-item/utils.js +14 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/navigation/edit/index.js +46 -33
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +3 -5
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +25 -8
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/index.js +4 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation-link/edit.js +1 -1
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/page-list/index.js +1 -5
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/paragraph/deprecated.js +49 -11
- package/build-module/paragraph/deprecated.js.map +1 -1
- package/build-module/paragraph/edit.js +22 -13
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/save.js +2 -1
- package/build-module/paragraph/save.js.map +1 -1
- package/build-module/pattern/edit.js +10 -3
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +21 -2
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author/index.js +8 -0
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-comments-form/form.js +2 -3
- package/build-module/post-comments-form/form.js.map +1 -1
- package/build-module/post-featured-image/index.js +1 -1
- package/build-module/post-featured-image/overlay.js +2 -2
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-terms/index.js +4 -0
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js +2 -1
- package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +5 -5
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.js +2 -1
- package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +81 -101
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/utils.js +1 -1
- package/build-module/query/utils.js.map +1 -1
- package/build-module/quote/index.js +0 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/search/edit.js +3 -2
- package/build-module/search/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +6 -9
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-title/index.js +2 -1
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/table/state.js +2 -2
- package/build-module/table/state.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -3
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -1
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/tag-cloud/index.js +8 -0
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-module/template-part/index.js +2 -2
- package/build-module/template-part/index.js.map +1 -1
- package/build-module/video/edit.js +15 -3
- package/build-module/video/edit.js.map +1 -1
- package/build-style/archives/style-rtl.css +4 -0
- package/build-style/archives/style.css +4 -0
- package/build-style/code/style-rtl.css +3 -0
- package/build-style/code/style.css +3 -0
- package/build-style/comments/editor-rtl.css +1 -0
- package/build-style/comments/editor.css +1 -0
- package/build-style/comments/style-rtl.css +1 -0
- package/build-style/comments/style.css +1 -0
- package/build-style/cover/editor-rtl.css +4 -0
- package/build-style/cover/editor.css +4 -0
- package/build-style/editor-rtl.css +78 -46
- package/build-style/editor.css +78 -46
- package/build-style/group/editor-rtl.css +1 -0
- package/build-style/group/editor.css +1 -0
- package/build-style/image/editor-rtl.css +1 -1
- package/build-style/image/editor.css +1 -1
- package/build-style/navigation/editor-rtl.css +5 -0
- package/build-style/navigation/editor.css +5 -0
- package/build-style/navigation/style-rtl.css +3 -0
- package/build-style/navigation/style.css +3 -0
- package/build-style/paragraph/editor-rtl.css +0 -16
- package/build-style/paragraph/editor.css +0 -16
- package/build-style/paragraph/style-rtl.css +5 -0
- package/build-style/paragraph/style.css +5 -0
- package/build-style/post-featured-image/editor-rtl.css +39 -29
- package/build-style/post-featured-image/editor.css +39 -29
- package/build-style/post-terms/style-rtl.css +4 -1
- package/build-style/post-terms/style.css +4 -1
- package/build-style/site-logo/editor-rtl.css +1 -0
- package/build-style/site-logo/editor.css +1 -0
- package/build-style/site-title/editor-rtl.css +4 -0
- package/build-style/site-title/editor.css +4 -0
- package/build-style/site-title/style-rtl.css +79 -0
- package/build-style/site-title/style.css +79 -0
- package/build-style/style-rtl.css +27 -1
- package/build-style/style.css +27 -1
- package/build-style/tag-cloud/style-rtl.css +3 -0
- package/build-style/tag-cloud/style.css +3 -0
- package/build-style/video/editor-rtl.css +22 -0
- package/build-style/video/editor.css +22 -0
- package/package.json +28 -28
- package/src/archives/edit.js +1 -0
- package/src/archives/style.scss +5 -0
- package/src/avatar/index.php +1 -1
- package/src/categories/index.php +1 -1
- package/src/code/style.scss +12 -7
- package/src/code/test/__snapshots__/edit.native.js.snap +13 -0
- package/src/code/test/edit.native.js +46 -32
- package/src/code/utils.js +3 -3
- package/src/comment-author-name/index.php +1 -1
- package/src/comment-reply-link/index.php +1 -1
- package/src/comment-template/edit.js +47 -34
- package/src/comment-template/index.php +2 -3
- package/src/comments/block.json +5 -1
- package/src/comments/edit/placeholder.js +1 -7
- package/src/comments/style.scss +2 -0
- package/src/comments-title/edit.js +24 -1
- package/src/cover/edit/index.js +2 -7
- package/src/cover/edit/use-cover-is-dark.js +11 -11
- package/src/cover/editor.scss +7 -0
- package/src/cover/index.php +1 -1
- package/src/embed/variations.js +1 -1
- package/src/gallery/transforms.js +8 -5
- package/src/gallery/v1/edit.js +2 -2
- package/src/group/edit.js +1 -1
- package/src/group/editor.scss +1 -0
- package/src/image/editor.scss +4 -1
- package/src/image/image.js +59 -29
- package/src/image/transforms.js +1 -7
- package/src/latest-posts/index.php +1 -1
- package/src/list/test/edit.native.js +102 -3
- package/src/list/transforms.js +11 -0
- package/src/list-item/block.json +14 -1
- package/src/list-item/edit.js +2 -1
- package/src/list-item/edit.native.js +2 -1
- package/src/list-item/hooks/use-merge.js +4 -23
- package/src/list-item/hooks/use-outdent-list-item.js +6 -2
- package/src/navigation/block.json +4 -1
- package/src/navigation/edit/index.js +60 -32
- package/src/navigation/edit/inner-blocks.js +2 -5
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +32 -5
- package/src/navigation/edit/use-create-navigation-menu.js +2 -5
- package/src/navigation/editor.scss +7 -0
- package/src/navigation/index.php +103 -6
- package/src/navigation/style.scss +8 -0
- package/src/navigation-link/edit.js +1 -1
- package/src/navigation-link/index.php +8 -1
- package/src/navigation-submenu/index.php +8 -1
- package/src/page-list/block.json +1 -5
- package/src/page-list/index.php +10 -8
- package/src/paragraph/deprecated.js +36 -0
- package/src/paragraph/edit.js +24 -22
- package/src/paragraph/editor.scss +0 -20
- package/src/paragraph/save.js +5 -1
- package/src/paragraph/style.scss +5 -0
- package/src/pattern/edit.js +10 -3
- package/src/post-author/block.json +8 -0
- package/src/post-author/edit.js +29 -3
- package/src/post-author/index.php +7 -1
- package/src/post-comments-form/form.js +2 -3
- package/src/post-featured-image/block.json +1 -1
- package/src/post-featured-image/editor.scss +79 -72
- package/src/post-featured-image/index.php +18 -24
- package/src/post-featured-image/overlay.js +17 -14
- package/src/post-terms/block.json +4 -0
- package/src/post-terms/style.scss +7 -2
- package/src/query/edit/inspector-controls/author-control.js +1 -0
- package/src/query/edit/inspector-controls/index.js +5 -7
- package/src/query/edit/inspector-controls/parent-control.js +1 -0
- package/src/query/edit/inspector-controls/taxonomy-controls.js +82 -86
- package/src/query/utils.js +1 -1
- package/src/quote/block.json +0 -1
- package/src/rss/index.php +3 -3
- package/src/search/edit.js +6 -1
- package/src/search/index.php +21 -13
- package/src/site-logo/edit.js +10 -8
- package/src/site-logo/editor.scss +1 -0
- package/src/site-title/block.json +2 -1
- package/src/site-title/editor.scss +6 -0
- package/src/site-title/style.scss +5 -0
- package/src/style.scss +1 -0
- package/src/table/state.js +2 -2
- package/src/table-of-contents/edit.js +1 -3
- package/src/tag-cloud/block.json +8 -0
- package/src/tag-cloud/edit.js +1 -1
- package/src/tag-cloud/style.scss +3 -0
- package/src/template-part/index.js +2 -2
- package/src/template-part/index.php +4 -0
- package/src/video/edit.js +19 -0
- package/src/video/editor.scss +37 -0
- package/build/navigation-submenu/view.js +0 -56
- package/build/navigation-submenu/view.js.map +0 -1
- package/build/paragraph/drop-zone.js +0 -99
- package/build/paragraph/drop-zone.js.map +0 -1
- package/build-module/navigation-submenu/view.js +0 -54
- package/build-module/navigation-submenu/view.js.map +0 -1
- package/build-module/paragraph/drop-zone.js +0 -88
- package/build-module/paragraph/drop-zone.js.map +0 -1
- package/src/navigation-submenu/view.js +0 -67
- package/src/paragraph/drop-zone.js +0 -105
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const closeSubmenus = element => {
|
|
4
|
-
element.querySelectorAll('[aria-expanded="true"]').forEach(toggle => {
|
|
5
|
-
toggle.setAttribute('aria-expanded', 'false');
|
|
6
|
-
});
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
const toggleSubmenuOnClick = event => {
|
|
10
|
-
const buttonToggle = event.target.closest('[aria-expanded]');
|
|
11
|
-
const isSubmenuOpen = buttonToggle.getAttribute('aria-expanded');
|
|
12
|
-
|
|
13
|
-
if (isSubmenuOpen === 'true') {
|
|
14
|
-
closeSubmenus(buttonToggle.closest('.wp-block-navigation-submenu'));
|
|
15
|
-
} else {
|
|
16
|
-
// Close all sibling submenus.
|
|
17
|
-
const parentElement = buttonToggle.closest('.wp-block-navigation-submenu');
|
|
18
|
-
const parentList = buttonToggle.closest('.wp-block-navigation__submenu-container') || buttonToggle.closest('.wp-block-navigation__container');
|
|
19
|
-
Array.from(parentList.children).forEach(child => {
|
|
20
|
-
if (child !== parentElement) {
|
|
21
|
-
closeSubmenus(child);
|
|
22
|
-
}
|
|
23
|
-
}); // Open submenu.
|
|
24
|
-
|
|
25
|
-
buttonToggle.setAttribute('aria-expanded', 'true');
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const submenuButtons = document.querySelectorAll('.wp-block-navigation-submenu__toggle');
|
|
30
|
-
submenuButtons.forEach(button => {
|
|
31
|
-
button.addEventListener('click', toggleSubmenuOnClick);
|
|
32
|
-
}); // Close on click outside.
|
|
33
|
-
|
|
34
|
-
document.addEventListener('click', function (event) {
|
|
35
|
-
const navigationBlocks = document.querySelectorAll('.wp-block-navigation');
|
|
36
|
-
navigationBlocks.forEach(block => {
|
|
37
|
-
if (!block.contains(event.target)) {
|
|
38
|
-
closeSubmenus(block);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}); // Close on focus outside or escape key.
|
|
42
|
-
|
|
43
|
-
document.addEventListener('keyup', function (event) {
|
|
44
|
-
const submenuBlocks = document.querySelectorAll('.wp-block-navigation-submenu');
|
|
45
|
-
submenuBlocks.forEach(block => {
|
|
46
|
-
if (!block.contains(event.target)) {
|
|
47
|
-
closeSubmenus(block);
|
|
48
|
-
} else if (event.key === 'Escape') {
|
|
49
|
-
const toggle = block.querySelector('[aria-expanded="true"]');
|
|
50
|
-
closeSubmenus(block); // Focus the submenu trigger so focus does not get trapped in the closed submenu.
|
|
51
|
-
|
|
52
|
-
toggle === null || toggle === void 0 ? void 0 : toggle.focus();
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=view.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation-submenu/view.js"],"names":["closeSubmenus","element","querySelectorAll","forEach","toggle","setAttribute","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","getAttribute","parentElement","parentList","Array","from","children","child","submenuButtons","document","button","addEventListener","navigationBlocks","block","contains","submenuBlocks","key","querySelector","focus"],"mappings":";;AAAA,MAAMA,aAAa,GAAKC,OAAF,IAAe;AACpCA,EAAAA,OAAO,CACLC,gBADF,CACoB,wBADpB,EAEEC,OAFF,CAEaC,MAAF,IAAc;AACvBA,IAAAA,MAAM,CAACC,YAAP,CAAqB,eAArB,EAAsC,OAAtC;AACA,GAJF;AAKA,CAND;;AAQA,MAAMC,oBAAoB,GAAKC,KAAF,IAAa;AACzC,QAAMC,YAAY,GAAGD,KAAK,CAACE,MAAN,CAAaC,OAAb,CAAsB,iBAAtB,CAArB;AACA,QAAMC,aAAa,GAAGH,YAAY,CAACI,YAAb,CAA2B,eAA3B,CAAtB;;AAEA,MAAKD,aAAa,KAAK,MAAvB,EAAgC;AAC/BX,IAAAA,aAAa,CAAEQ,YAAY,CAACE,OAAb,CAAsB,8BAAtB,CAAF,CAAb;AACA,GAFD,MAEO;AACN;AACA,UAAMG,aAAa,GAAGL,YAAY,CAACE,OAAb,CACrB,8BADqB,CAAtB;AAGA,UAAMI,UAAU,GACfN,YAAY,CAACE,OAAb,CAAsB,yCAAtB,KACAF,YAAY,CAACE,OAAb,CAAsB,iCAAtB,CAFD;AAGAK,IAAAA,KAAK,CAACC,IAAN,CAAYF,UAAU,CAACG,QAAvB,EAAkCd,OAAlC,CAA6Ce,KAAF,IAAa;AACvD,UAAKA,KAAK,KAAKL,aAAf,EAA+B;AAC9Bb,QAAAA,aAAa,CAAEkB,KAAF,CAAb;AACA;AACD,KAJD,EARM,CAaN;;AACAV,IAAAA,YAAY,CAACH,YAAb,CAA2B,eAA3B,EAA4C,MAA5C;AACA;AACD,CAtBD;;AAwBA,MAAMc,cAAc,GAAGC,QAAQ,CAAClB,gBAAT,CACtB,sCADsB,CAAvB;AAIAiB,cAAc,CAAChB,OAAf,CAA0BkB,MAAF,IAAc;AACrCA,EAAAA,MAAM,CAACC,gBAAP,CAAyB,OAAzB,EAAkChB,oBAAlC;AACA,CAFD,E,CAIA;;AACAc,QAAQ,CAACE,gBAAT,CAA2B,OAA3B,EAAoC,UAAWf,KAAX,EAAmB;AACtD,QAAMgB,gBAAgB,GAAGH,QAAQ,CAAClB,gBAAT,CACxB,sBADwB,CAAzB;AAGAqB,EAAAA,gBAAgB,CAACpB,OAAjB,CAA4BqB,KAAF,IAAa;AACtC,QAAK,CAAEA,KAAK,CAACC,QAAN,CAAgBlB,KAAK,CAACE,MAAtB,CAAP,EAAwC;AACvCT,MAAAA,aAAa,CAAEwB,KAAF,CAAb;AACA;AACD,GAJD;AAKA,CATD,E,CAUA;;AACAJ,QAAQ,CAACE,gBAAT,CAA2B,OAA3B,EAAoC,UAAWf,KAAX,EAAmB;AACtD,QAAMmB,aAAa,GAAGN,QAAQ,CAAClB,gBAAT,CACrB,8BADqB,CAAtB;AAGAwB,EAAAA,aAAa,CAACvB,OAAd,CAAyBqB,KAAF,IAAa;AACnC,QAAK,CAAEA,KAAK,CAACC,QAAN,CAAgBlB,KAAK,CAACE,MAAtB,CAAP,EAAwC;AACvCT,MAAAA,aAAa,CAAEwB,KAAF,CAAb;AACA,KAFD,MAEO,IAAKjB,KAAK,CAACoB,GAAN,KAAc,QAAnB,EAA8B;AACpC,YAAMvB,MAAM,GAAGoB,KAAK,CAACI,aAAN,CAAqB,wBAArB,CAAf;AACA5B,MAAAA,aAAa,CAAEwB,KAAF,CAAb,CAFoC,CAGpC;;AACApB,MAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEyB,KAAR;AACA;AACD,GATD;AAUA,CAdD","sourcesContent":["const closeSubmenus = ( element ) => {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( ( toggle ) => {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n};\n\nconst toggleSubmenuOnClick = ( event ) => {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-submenu' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-submenu'\n\t\t);\n\t\tconst parentList =\n\t\t\tbuttonToggle.closest( '.wp-block-navigation__submenu-container' ) ||\n\t\t\tbuttonToggle.closest( '.wp-block-navigation__container' );\n\t\tArray.from( parentList.children ).forEach( ( child ) => {\n\t\t\tif ( child !== parentElement ) {\n\t\t\t\tcloseSubmenus( child );\n\t\t\t}\n\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n};\n\nconst submenuButtons = document.querySelectorAll(\n\t'.wp-block-navigation-submenu__toggle'\n);\n\nsubmenuButtons.forEach( ( button ) => {\n\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n} );\n\n// Close on click outside.\ndocument.addEventListener( 'click', function ( event ) {\n\tconst navigationBlocks = document.querySelectorAll(\n\t\t'.wp-block-navigation'\n\t);\n\tnavigationBlocks.forEach( ( block ) => {\n\t\tif ( ! block.contains( event.target ) ) {\n\t\t\tcloseSubmenus( block );\n\t\t}\n\t} );\n} );\n// Close on focus outside or escape key.\ndocument.addEventListener( 'keyup', function ( event ) {\n\tconst submenuBlocks = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu'\n\t);\n\tsubmenuBlocks.forEach( ( block ) => {\n\t\tif ( ! block.contains( event.target ) ) {\n\t\t\tcloseSubmenus( block );\n\t\t} else if ( event.key === 'Escape' ) {\n\t\t\tconst toggle = block.querySelector( '[aria-expanded=\"true\"]' );\n\t\t\tcloseSubmenus( block );\n\t\t\t// Focus the submenu trigger so focus does not get trapped in the closed submenu.\n\t\t\ttoggle?.focus();\n\t\t}\n\t} );\n} );\n"]}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = DropZone;
|
|
7
|
-
|
|
8
|
-
var _element = require("@wordpress/element");
|
|
9
|
-
|
|
10
|
-
var _data = require("@wordpress/data");
|
|
11
|
-
|
|
12
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
13
|
-
|
|
14
|
-
var _compose = require("@wordpress/compose");
|
|
15
|
-
|
|
16
|
-
var _components = require("@wordpress/components");
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* WordPress dependencies
|
|
20
|
-
*/
|
|
21
|
-
const animateVariants = {
|
|
22
|
-
hide: {
|
|
23
|
-
opacity: 0,
|
|
24
|
-
scaleY: 0.75
|
|
25
|
-
},
|
|
26
|
-
show: {
|
|
27
|
-
opacity: 1,
|
|
28
|
-
scaleY: 1
|
|
29
|
-
},
|
|
30
|
-
exit: {
|
|
31
|
-
opacity: 0,
|
|
32
|
-
scaleY: 0.9
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
function DropZone(_ref) {
|
|
37
|
-
let {
|
|
38
|
-
paragraphElement,
|
|
39
|
-
clientId
|
|
40
|
-
} = _ref;
|
|
41
|
-
const {
|
|
42
|
-
rootClientId,
|
|
43
|
-
blockIndex
|
|
44
|
-
} = (0, _data.useSelect)(select => {
|
|
45
|
-
const selectors = select(_blockEditor.store);
|
|
46
|
-
return {
|
|
47
|
-
rootClientId: selectors.getBlockRootClientId(clientId),
|
|
48
|
-
blockIndex: selectors.getBlockIndex(clientId)
|
|
49
|
-
};
|
|
50
|
-
}, [clientId]);
|
|
51
|
-
const onBlockDrop = (0, _blockEditor.__experimentalUseOnBlockDrop)(rootClientId, blockIndex, {
|
|
52
|
-
action: 'replace'
|
|
53
|
-
});
|
|
54
|
-
const [isDragging, setIsDragging] = (0, _element.useState)(false);
|
|
55
|
-
const [isVisible, setIsVisible] = (0, _element.useState)(false);
|
|
56
|
-
const popoverRef = (0, _compose.__experimentalUseDropZone)({
|
|
57
|
-
onDragStart: () => {
|
|
58
|
-
setIsDragging(true);
|
|
59
|
-
},
|
|
60
|
-
onDragEnd: () => {
|
|
61
|
-
setIsDragging(false);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
const dropZoneRef = (0, _compose.__experimentalUseDropZone)({
|
|
65
|
-
onDrop: onBlockDrop,
|
|
66
|
-
onDragEnter: () => {
|
|
67
|
-
setIsVisible(true);
|
|
68
|
-
},
|
|
69
|
-
onDragLeave: () => {
|
|
70
|
-
setIsVisible(false);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
const reducedMotion = (0, _compose.useReducedMotion)();
|
|
74
|
-
return (0, _element.createElement)(_components.Popover, {
|
|
75
|
-
anchor: paragraphElement,
|
|
76
|
-
animate: false,
|
|
77
|
-
placement: "top-start",
|
|
78
|
-
focusOnMount: false,
|
|
79
|
-
flip: false,
|
|
80
|
-
resize: false,
|
|
81
|
-
className: "wp-block-paragraph__drop-zone",
|
|
82
|
-
ref: popoverRef
|
|
83
|
-
}, isDragging ? (0, _element.createElement)("div", {
|
|
84
|
-
className: "wp-block-paragraph__drop-zone-backdrop",
|
|
85
|
-
ref: dropZoneRef,
|
|
86
|
-
style: {
|
|
87
|
-
width: paragraphElement === null || paragraphElement === void 0 ? void 0 : paragraphElement.offsetWidth,
|
|
88
|
-
height: paragraphElement === null || paragraphElement === void 0 ? void 0 : paragraphElement.offsetHeight
|
|
89
|
-
}
|
|
90
|
-
}, (0, _element.createElement)(_components.__unstableAnimatePresence, null, isVisible ? (0, _element.createElement)(_components.__unstableMotion.div, {
|
|
91
|
-
key: "drop-zone-foreground",
|
|
92
|
-
"data-testid": "empty-paragraph-drop-zone",
|
|
93
|
-
initial: reducedMotion ? animateVariants.show : animateVariants.hide,
|
|
94
|
-
animate: animateVariants.show,
|
|
95
|
-
exit: reducedMotion ? animateVariants.show : animateVariants.exit,
|
|
96
|
-
className: "wp-block-paragraph__drop-zone-foreground"
|
|
97
|
-
}) : null)) : null);
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=drop-zone.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/paragraph/drop-zone.js"],"names":["animateVariants","hide","opacity","scaleY","show","exit","DropZone","paragraphElement","clientId","rootClientId","blockIndex","select","selectors","blockEditorStore","getBlockRootClientId","getBlockIndex","onBlockDrop","action","isDragging","setIsDragging","isVisible","setIsVisible","popoverRef","onDragStart","onDragEnd","dropZoneRef","onDrop","onDragEnter","onDragLeave","reducedMotion","width","offsetWidth","height","offsetHeight"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__experimentalUseOnBlockDrop as useOnBlockDrop,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalUseDropZone as useDropZone,\n\tuseReducedMotion,\n} from '@wordpress/compose';\nimport {\n\tPopover,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\n\nconst animateVariants = {\n\thide: { opacity: 0, scaleY: 0.75 },\n\tshow: { opacity: 1, scaleY: 1 },\n\texit: { opacity: 0, scaleY: 0.9 },\n};\n\nexport default function DropZone( { paragraphElement, clientId } ) {\n\tconst { rootClientId, blockIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst selectors = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\trootClientId: selectors.getBlockRootClientId( clientId ),\n\t\t\t\tblockIndex: selectors.getBlockIndex( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst onBlockDrop = useOnBlockDrop( rootClientId, blockIndex, {\n\t\taction: 'replace',\n\t} );\n\tconst [ isDragging, setIsDragging ] = useState( false );\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\tconst popoverRef = useDropZone( {\n\t\tonDragStart: () => {\n\t\t\tsetIsDragging( true );\n\t\t},\n\t\tonDragEnd: () => {\n\t\t\tsetIsDragging( false );\n\t\t},\n\t} );\n\tconst dropZoneRef = useDropZone( {\n\t\tonDrop: onBlockDrop,\n\t\tonDragEnter: () => {\n\t\t\tsetIsVisible( true );\n\t\t},\n\t\tonDragLeave: () => {\n\t\t\tsetIsVisible( false );\n\t\t},\n\t} );\n\tconst reducedMotion = useReducedMotion();\n\n\treturn (\n\t\t<Popover\n\t\t\tanchor={ paragraphElement }\n\t\t\tanimate={ false }\n\t\t\tplacement=\"top-start\"\n\t\t\tfocusOnMount={ false }\n\t\t\tflip={ false }\n\t\t\tresize={ false }\n\t\t\tclassName=\"wp-block-paragraph__drop-zone\"\n\t\t\tref={ popoverRef }\n\t\t>\n\t\t\t{ isDragging ? (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"wp-block-paragraph__drop-zone-backdrop\"\n\t\t\t\t\tref={ dropZoneRef }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: paragraphElement?.offsetWidth,\n\t\t\t\t\t\theight: paragraphElement?.offsetHeight,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t{ isVisible ? (\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tkey=\"drop-zone-foreground\"\n\t\t\t\t\t\t\t\tdata-testid=\"empty-paragraph-drop-zone\"\n\t\t\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\t\t\treducedMotion\n\t\t\t\t\t\t\t\t\t\t? animateVariants.show\n\t\t\t\t\t\t\t\t\t\t: animateVariants.hide\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tanimate={ animateVariants.show }\n\t\t\t\t\t\t\t\texit={\n\t\t\t\t\t\t\t\t\treducedMotion\n\t\t\t\t\t\t\t\t\t\t? animateVariants.show\n\t\t\t\t\t\t\t\t\t\t: animateVariants.exit\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"wp-block-paragraph__drop-zone-foreground\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</div>\n\t\t\t) : null }\n\t\t</Popover>\n\t);\n}\n"]}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
const closeSubmenus = element => {
|
|
2
|
-
element.querySelectorAll('[aria-expanded="true"]').forEach(toggle => {
|
|
3
|
-
toggle.setAttribute('aria-expanded', 'false');
|
|
4
|
-
});
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
const toggleSubmenuOnClick = event => {
|
|
8
|
-
const buttonToggle = event.target.closest('[aria-expanded]');
|
|
9
|
-
const isSubmenuOpen = buttonToggle.getAttribute('aria-expanded');
|
|
10
|
-
|
|
11
|
-
if (isSubmenuOpen === 'true') {
|
|
12
|
-
closeSubmenus(buttonToggle.closest('.wp-block-navigation-submenu'));
|
|
13
|
-
} else {
|
|
14
|
-
// Close all sibling submenus.
|
|
15
|
-
const parentElement = buttonToggle.closest('.wp-block-navigation-submenu');
|
|
16
|
-
const parentList = buttonToggle.closest('.wp-block-navigation__submenu-container') || buttonToggle.closest('.wp-block-navigation__container');
|
|
17
|
-
Array.from(parentList.children).forEach(child => {
|
|
18
|
-
if (child !== parentElement) {
|
|
19
|
-
closeSubmenus(child);
|
|
20
|
-
}
|
|
21
|
-
}); // Open submenu.
|
|
22
|
-
|
|
23
|
-
buttonToggle.setAttribute('aria-expanded', 'true');
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const submenuButtons = document.querySelectorAll('.wp-block-navigation-submenu__toggle');
|
|
28
|
-
submenuButtons.forEach(button => {
|
|
29
|
-
button.addEventListener('click', toggleSubmenuOnClick);
|
|
30
|
-
}); // Close on click outside.
|
|
31
|
-
|
|
32
|
-
document.addEventListener('click', function (event) {
|
|
33
|
-
const navigationBlocks = document.querySelectorAll('.wp-block-navigation');
|
|
34
|
-
navigationBlocks.forEach(block => {
|
|
35
|
-
if (!block.contains(event.target)) {
|
|
36
|
-
closeSubmenus(block);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}); // Close on focus outside or escape key.
|
|
40
|
-
|
|
41
|
-
document.addEventListener('keyup', function (event) {
|
|
42
|
-
const submenuBlocks = document.querySelectorAll('.wp-block-navigation-submenu');
|
|
43
|
-
submenuBlocks.forEach(block => {
|
|
44
|
-
if (!block.contains(event.target)) {
|
|
45
|
-
closeSubmenus(block);
|
|
46
|
-
} else if (event.key === 'Escape') {
|
|
47
|
-
const toggle = block.querySelector('[aria-expanded="true"]');
|
|
48
|
-
closeSubmenus(block); // Focus the submenu trigger so focus does not get trapped in the closed submenu.
|
|
49
|
-
|
|
50
|
-
toggle === null || toggle === void 0 ? void 0 : toggle.focus();
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
//# sourceMappingURL=view.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation-submenu/view.js"],"names":["closeSubmenus","element","querySelectorAll","forEach","toggle","setAttribute","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","getAttribute","parentElement","parentList","Array","from","children","child","submenuButtons","document","button","addEventListener","navigationBlocks","block","contains","submenuBlocks","key","querySelector","focus"],"mappings":"AAAA,MAAMA,aAAa,GAAKC,OAAF,IAAe;AACpCA,EAAAA,OAAO,CACLC,gBADF,CACoB,wBADpB,EAEEC,OAFF,CAEaC,MAAF,IAAc;AACvBA,IAAAA,MAAM,CAACC,YAAP,CAAqB,eAArB,EAAsC,OAAtC;AACA,GAJF;AAKA,CAND;;AAQA,MAAMC,oBAAoB,GAAKC,KAAF,IAAa;AACzC,QAAMC,YAAY,GAAGD,KAAK,CAACE,MAAN,CAAaC,OAAb,CAAsB,iBAAtB,CAArB;AACA,QAAMC,aAAa,GAAGH,YAAY,CAACI,YAAb,CAA2B,eAA3B,CAAtB;;AAEA,MAAKD,aAAa,KAAK,MAAvB,EAAgC;AAC/BX,IAAAA,aAAa,CAAEQ,YAAY,CAACE,OAAb,CAAsB,8BAAtB,CAAF,CAAb;AACA,GAFD,MAEO;AACN;AACA,UAAMG,aAAa,GAAGL,YAAY,CAACE,OAAb,CACrB,8BADqB,CAAtB;AAGA,UAAMI,UAAU,GACfN,YAAY,CAACE,OAAb,CAAsB,yCAAtB,KACAF,YAAY,CAACE,OAAb,CAAsB,iCAAtB,CAFD;AAGAK,IAAAA,KAAK,CAACC,IAAN,CAAYF,UAAU,CAACG,QAAvB,EAAkCd,OAAlC,CAA6Ce,KAAF,IAAa;AACvD,UAAKA,KAAK,KAAKL,aAAf,EAA+B;AAC9Bb,QAAAA,aAAa,CAAEkB,KAAF,CAAb;AACA;AACD,KAJD,EARM,CAaN;;AACAV,IAAAA,YAAY,CAACH,YAAb,CAA2B,eAA3B,EAA4C,MAA5C;AACA;AACD,CAtBD;;AAwBA,MAAMc,cAAc,GAAGC,QAAQ,CAAClB,gBAAT,CACtB,sCADsB,CAAvB;AAIAiB,cAAc,CAAChB,OAAf,CAA0BkB,MAAF,IAAc;AACrCA,EAAAA,MAAM,CAACC,gBAAP,CAAyB,OAAzB,EAAkChB,oBAAlC;AACA,CAFD,E,CAIA;;AACAc,QAAQ,CAACE,gBAAT,CAA2B,OAA3B,EAAoC,UAAWf,KAAX,EAAmB;AACtD,QAAMgB,gBAAgB,GAAGH,QAAQ,CAAClB,gBAAT,CACxB,sBADwB,CAAzB;AAGAqB,EAAAA,gBAAgB,CAACpB,OAAjB,CAA4BqB,KAAF,IAAa;AACtC,QAAK,CAAEA,KAAK,CAACC,QAAN,CAAgBlB,KAAK,CAACE,MAAtB,CAAP,EAAwC;AACvCT,MAAAA,aAAa,CAAEwB,KAAF,CAAb;AACA;AACD,GAJD;AAKA,CATD,E,CAUA;;AACAJ,QAAQ,CAACE,gBAAT,CAA2B,OAA3B,EAAoC,UAAWf,KAAX,EAAmB;AACtD,QAAMmB,aAAa,GAAGN,QAAQ,CAAClB,gBAAT,CACrB,8BADqB,CAAtB;AAGAwB,EAAAA,aAAa,CAACvB,OAAd,CAAyBqB,KAAF,IAAa;AACnC,QAAK,CAAEA,KAAK,CAACC,QAAN,CAAgBlB,KAAK,CAACE,MAAtB,CAAP,EAAwC;AACvCT,MAAAA,aAAa,CAAEwB,KAAF,CAAb;AACA,KAFD,MAEO,IAAKjB,KAAK,CAACoB,GAAN,KAAc,QAAnB,EAA8B;AACpC,YAAMvB,MAAM,GAAGoB,KAAK,CAACI,aAAN,CAAqB,wBAArB,CAAf;AACA5B,MAAAA,aAAa,CAAEwB,KAAF,CAAb,CAFoC,CAGpC;;AACApB,MAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEyB,KAAR;AACA;AACD,GATD;AAUA,CAdD","sourcesContent":["const closeSubmenus = ( element ) => {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( ( toggle ) => {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n};\n\nconst toggleSubmenuOnClick = ( event ) => {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-submenu' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-submenu'\n\t\t);\n\t\tconst parentList =\n\t\t\tbuttonToggle.closest( '.wp-block-navigation__submenu-container' ) ||\n\t\t\tbuttonToggle.closest( '.wp-block-navigation__container' );\n\t\tArray.from( parentList.children ).forEach( ( child ) => {\n\t\t\tif ( child !== parentElement ) {\n\t\t\t\tcloseSubmenus( child );\n\t\t\t}\n\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n};\n\nconst submenuButtons = document.querySelectorAll(\n\t'.wp-block-navigation-submenu__toggle'\n);\n\nsubmenuButtons.forEach( ( button ) => {\n\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n} );\n\n// Close on click outside.\ndocument.addEventListener( 'click', function ( event ) {\n\tconst navigationBlocks = document.querySelectorAll(\n\t\t'.wp-block-navigation'\n\t);\n\tnavigationBlocks.forEach( ( block ) => {\n\t\tif ( ! block.contains( event.target ) ) {\n\t\t\tcloseSubmenus( block );\n\t\t}\n\t} );\n} );\n// Close on focus outside or escape key.\ndocument.addEventListener( 'keyup', function ( event ) {\n\tconst submenuBlocks = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu'\n\t);\n\tsubmenuBlocks.forEach( ( block ) => {\n\t\tif ( ! block.contains( event.target ) ) {\n\t\t\tcloseSubmenus( block );\n\t\t} else if ( event.key === 'Escape' ) {\n\t\t\tconst toggle = block.querySelector( '[aria-expanded=\"true\"]' );\n\t\t\tcloseSubmenus( block );\n\t\t\t// Focus the submenu trigger so focus does not get trapped in the closed submenu.\n\t\t\ttoggle?.focus();\n\t\t}\n\t} );\n} );\n"]}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { createElement } from "@wordpress/element";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* WordPress dependencies
|
|
5
|
-
*/
|
|
6
|
-
import { useState } from '@wordpress/element';
|
|
7
|
-
import { useSelect } from '@wordpress/data';
|
|
8
|
-
import { __experimentalUseOnBlockDrop as useOnBlockDrop, store as blockEditorStore } from '@wordpress/block-editor';
|
|
9
|
-
import { __experimentalUseDropZone as useDropZone, useReducedMotion } from '@wordpress/compose';
|
|
10
|
-
import { Popover, __unstableMotion as motion, __unstableAnimatePresence as AnimatePresence } from '@wordpress/components';
|
|
11
|
-
const animateVariants = {
|
|
12
|
-
hide: {
|
|
13
|
-
opacity: 0,
|
|
14
|
-
scaleY: 0.75
|
|
15
|
-
},
|
|
16
|
-
show: {
|
|
17
|
-
opacity: 1,
|
|
18
|
-
scaleY: 1
|
|
19
|
-
},
|
|
20
|
-
exit: {
|
|
21
|
-
opacity: 0,
|
|
22
|
-
scaleY: 0.9
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
export default function DropZone(_ref) {
|
|
26
|
-
let {
|
|
27
|
-
paragraphElement,
|
|
28
|
-
clientId
|
|
29
|
-
} = _ref;
|
|
30
|
-
const {
|
|
31
|
-
rootClientId,
|
|
32
|
-
blockIndex
|
|
33
|
-
} = useSelect(select => {
|
|
34
|
-
const selectors = select(blockEditorStore);
|
|
35
|
-
return {
|
|
36
|
-
rootClientId: selectors.getBlockRootClientId(clientId),
|
|
37
|
-
blockIndex: selectors.getBlockIndex(clientId)
|
|
38
|
-
};
|
|
39
|
-
}, [clientId]);
|
|
40
|
-
const onBlockDrop = useOnBlockDrop(rootClientId, blockIndex, {
|
|
41
|
-
action: 'replace'
|
|
42
|
-
});
|
|
43
|
-
const [isDragging, setIsDragging] = useState(false);
|
|
44
|
-
const [isVisible, setIsVisible] = useState(false);
|
|
45
|
-
const popoverRef = useDropZone({
|
|
46
|
-
onDragStart: () => {
|
|
47
|
-
setIsDragging(true);
|
|
48
|
-
},
|
|
49
|
-
onDragEnd: () => {
|
|
50
|
-
setIsDragging(false);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
const dropZoneRef = useDropZone({
|
|
54
|
-
onDrop: onBlockDrop,
|
|
55
|
-
onDragEnter: () => {
|
|
56
|
-
setIsVisible(true);
|
|
57
|
-
},
|
|
58
|
-
onDragLeave: () => {
|
|
59
|
-
setIsVisible(false);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
const reducedMotion = useReducedMotion();
|
|
63
|
-
return createElement(Popover, {
|
|
64
|
-
anchor: paragraphElement,
|
|
65
|
-
animate: false,
|
|
66
|
-
placement: "top-start",
|
|
67
|
-
focusOnMount: false,
|
|
68
|
-
flip: false,
|
|
69
|
-
resize: false,
|
|
70
|
-
className: "wp-block-paragraph__drop-zone",
|
|
71
|
-
ref: popoverRef
|
|
72
|
-
}, isDragging ? createElement("div", {
|
|
73
|
-
className: "wp-block-paragraph__drop-zone-backdrop",
|
|
74
|
-
ref: dropZoneRef,
|
|
75
|
-
style: {
|
|
76
|
-
width: paragraphElement === null || paragraphElement === void 0 ? void 0 : paragraphElement.offsetWidth,
|
|
77
|
-
height: paragraphElement === null || paragraphElement === void 0 ? void 0 : paragraphElement.offsetHeight
|
|
78
|
-
}
|
|
79
|
-
}, createElement(AnimatePresence, null, isVisible ? createElement(motion.div, {
|
|
80
|
-
key: "drop-zone-foreground",
|
|
81
|
-
"data-testid": "empty-paragraph-drop-zone",
|
|
82
|
-
initial: reducedMotion ? animateVariants.show : animateVariants.hide,
|
|
83
|
-
animate: animateVariants.show,
|
|
84
|
-
exit: reducedMotion ? animateVariants.show : animateVariants.exit,
|
|
85
|
-
className: "wp-block-paragraph__drop-zone-foreground"
|
|
86
|
-
}) : null)) : null);
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=drop-zone.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/paragraph/drop-zone.js"],"names":["useState","useSelect","__experimentalUseOnBlockDrop","useOnBlockDrop","store","blockEditorStore","__experimentalUseDropZone","useDropZone","useReducedMotion","Popover","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","animateVariants","hide","opacity","scaleY","show","exit","DropZone","paragraphElement","clientId","rootClientId","blockIndex","select","selectors","getBlockRootClientId","getBlockIndex","onBlockDrop","action","isDragging","setIsDragging","isVisible","setIsVisible","popoverRef","onDragStart","onDragEnd","dropZoneRef","onDrop","onDragEnter","onDragLeave","reducedMotion","width","offsetWidth","height","offsetHeight"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__experimentalUseOnBlockDrop as useOnBlockDrop,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalUseDropZone as useDropZone,\n\tuseReducedMotion,\n} from '@wordpress/compose';\nimport {\n\tPopover,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\n\nconst animateVariants = {\n\thide: { opacity: 0, scaleY: 0.75 },\n\tshow: { opacity: 1, scaleY: 1 },\n\texit: { opacity: 0, scaleY: 0.9 },\n};\n\nexport default function DropZone( { paragraphElement, clientId } ) {\n\tconst { rootClientId, blockIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst selectors = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\trootClientId: selectors.getBlockRootClientId( clientId ),\n\t\t\t\tblockIndex: selectors.getBlockIndex( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst onBlockDrop = useOnBlockDrop( rootClientId, blockIndex, {\n\t\taction: 'replace',\n\t} );\n\tconst [ isDragging, setIsDragging ] = useState( false );\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\tconst popoverRef = useDropZone( {\n\t\tonDragStart: () => {\n\t\t\tsetIsDragging( true );\n\t\t},\n\t\tonDragEnd: () => {\n\t\t\tsetIsDragging( false );\n\t\t},\n\t} );\n\tconst dropZoneRef = useDropZone( {\n\t\tonDrop: onBlockDrop,\n\t\tonDragEnter: () => {\n\t\t\tsetIsVisible( true );\n\t\t},\n\t\tonDragLeave: () => {\n\t\t\tsetIsVisible( false );\n\t\t},\n\t} );\n\tconst reducedMotion = useReducedMotion();\n\n\treturn (\n\t\t<Popover\n\t\t\tanchor={ paragraphElement }\n\t\t\tanimate={ false }\n\t\t\tplacement=\"top-start\"\n\t\t\tfocusOnMount={ false }\n\t\t\tflip={ false }\n\t\t\tresize={ false }\n\t\t\tclassName=\"wp-block-paragraph__drop-zone\"\n\t\t\tref={ popoverRef }\n\t\t>\n\t\t\t{ isDragging ? (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"wp-block-paragraph__drop-zone-backdrop\"\n\t\t\t\t\tref={ dropZoneRef }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: paragraphElement?.offsetWidth,\n\t\t\t\t\t\theight: paragraphElement?.offsetHeight,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t{ isVisible ? (\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tkey=\"drop-zone-foreground\"\n\t\t\t\t\t\t\t\tdata-testid=\"empty-paragraph-drop-zone\"\n\t\t\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\t\t\treducedMotion\n\t\t\t\t\t\t\t\t\t\t? animateVariants.show\n\t\t\t\t\t\t\t\t\t\t: animateVariants.hide\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tanimate={ animateVariants.show }\n\t\t\t\t\t\t\t\texit={\n\t\t\t\t\t\t\t\t\treducedMotion\n\t\t\t\t\t\t\t\t\t\t? animateVariants.show\n\t\t\t\t\t\t\t\t\t\t: animateVariants.exit\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"wp-block-paragraph__drop-zone-foreground\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</div>\n\t\t\t) : null }\n\t\t</Popover>\n\t);\n}\n"]}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
const closeSubmenus = ( element ) => {
|
|
2
|
-
element
|
|
3
|
-
.querySelectorAll( '[aria-expanded="true"]' )
|
|
4
|
-
.forEach( ( toggle ) => {
|
|
5
|
-
toggle.setAttribute( 'aria-expanded', 'false' );
|
|
6
|
-
} );
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
const toggleSubmenuOnClick = ( event ) => {
|
|
10
|
-
const buttonToggle = event.target.closest( '[aria-expanded]' );
|
|
11
|
-
const isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );
|
|
12
|
-
|
|
13
|
-
if ( isSubmenuOpen === 'true' ) {
|
|
14
|
-
closeSubmenus( buttonToggle.closest( '.wp-block-navigation-submenu' ) );
|
|
15
|
-
} else {
|
|
16
|
-
// Close all sibling submenus.
|
|
17
|
-
const parentElement = buttonToggle.closest(
|
|
18
|
-
'.wp-block-navigation-submenu'
|
|
19
|
-
);
|
|
20
|
-
const parentList =
|
|
21
|
-
buttonToggle.closest( '.wp-block-navigation__submenu-container' ) ||
|
|
22
|
-
buttonToggle.closest( '.wp-block-navigation__container' );
|
|
23
|
-
Array.from( parentList.children ).forEach( ( child ) => {
|
|
24
|
-
if ( child !== parentElement ) {
|
|
25
|
-
closeSubmenus( child );
|
|
26
|
-
}
|
|
27
|
-
} );
|
|
28
|
-
// Open submenu.
|
|
29
|
-
buttonToggle.setAttribute( 'aria-expanded', 'true' );
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const submenuButtons = document.querySelectorAll(
|
|
34
|
-
'.wp-block-navigation-submenu__toggle'
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
submenuButtons.forEach( ( button ) => {
|
|
38
|
-
button.addEventListener( 'click', toggleSubmenuOnClick );
|
|
39
|
-
} );
|
|
40
|
-
|
|
41
|
-
// Close on click outside.
|
|
42
|
-
document.addEventListener( 'click', function ( event ) {
|
|
43
|
-
const navigationBlocks = document.querySelectorAll(
|
|
44
|
-
'.wp-block-navigation'
|
|
45
|
-
);
|
|
46
|
-
navigationBlocks.forEach( ( block ) => {
|
|
47
|
-
if ( ! block.contains( event.target ) ) {
|
|
48
|
-
closeSubmenus( block );
|
|
49
|
-
}
|
|
50
|
-
} );
|
|
51
|
-
} );
|
|
52
|
-
// Close on focus outside or escape key.
|
|
53
|
-
document.addEventListener( 'keyup', function ( event ) {
|
|
54
|
-
const submenuBlocks = document.querySelectorAll(
|
|
55
|
-
'.wp-block-navigation-submenu'
|
|
56
|
-
);
|
|
57
|
-
submenuBlocks.forEach( ( block ) => {
|
|
58
|
-
if ( ! block.contains( event.target ) ) {
|
|
59
|
-
closeSubmenus( block );
|
|
60
|
-
} else if ( event.key === 'Escape' ) {
|
|
61
|
-
const toggle = block.querySelector( '[aria-expanded="true"]' );
|
|
62
|
-
closeSubmenus( block );
|
|
63
|
-
// Focus the submenu trigger so focus does not get trapped in the closed submenu.
|
|
64
|
-
toggle?.focus();
|
|
65
|
-
}
|
|
66
|
-
} );
|
|
67
|
-
} );
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { useState } from '@wordpress/element';
|
|
5
|
-
import { useSelect } from '@wordpress/data';
|
|
6
|
-
import {
|
|
7
|
-
__experimentalUseOnBlockDrop as useOnBlockDrop,
|
|
8
|
-
store as blockEditorStore,
|
|
9
|
-
} from '@wordpress/block-editor';
|
|
10
|
-
import {
|
|
11
|
-
__experimentalUseDropZone as useDropZone,
|
|
12
|
-
useReducedMotion,
|
|
13
|
-
} from '@wordpress/compose';
|
|
14
|
-
import {
|
|
15
|
-
Popover,
|
|
16
|
-
__unstableMotion as motion,
|
|
17
|
-
__unstableAnimatePresence as AnimatePresence,
|
|
18
|
-
} from '@wordpress/components';
|
|
19
|
-
|
|
20
|
-
const animateVariants = {
|
|
21
|
-
hide: { opacity: 0, scaleY: 0.75 },
|
|
22
|
-
show: { opacity: 1, scaleY: 1 },
|
|
23
|
-
exit: { opacity: 0, scaleY: 0.9 },
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export default function DropZone( { paragraphElement, clientId } ) {
|
|
27
|
-
const { rootClientId, blockIndex } = useSelect(
|
|
28
|
-
( select ) => {
|
|
29
|
-
const selectors = select( blockEditorStore );
|
|
30
|
-
return {
|
|
31
|
-
rootClientId: selectors.getBlockRootClientId( clientId ),
|
|
32
|
-
blockIndex: selectors.getBlockIndex( clientId ),
|
|
33
|
-
};
|
|
34
|
-
},
|
|
35
|
-
[ clientId ]
|
|
36
|
-
);
|
|
37
|
-
const onBlockDrop = useOnBlockDrop( rootClientId, blockIndex, {
|
|
38
|
-
action: 'replace',
|
|
39
|
-
} );
|
|
40
|
-
const [ isDragging, setIsDragging ] = useState( false );
|
|
41
|
-
const [ isVisible, setIsVisible ] = useState( false );
|
|
42
|
-
const popoverRef = useDropZone( {
|
|
43
|
-
onDragStart: () => {
|
|
44
|
-
setIsDragging( true );
|
|
45
|
-
},
|
|
46
|
-
onDragEnd: () => {
|
|
47
|
-
setIsDragging( false );
|
|
48
|
-
},
|
|
49
|
-
} );
|
|
50
|
-
const dropZoneRef = useDropZone( {
|
|
51
|
-
onDrop: onBlockDrop,
|
|
52
|
-
onDragEnter: () => {
|
|
53
|
-
setIsVisible( true );
|
|
54
|
-
},
|
|
55
|
-
onDragLeave: () => {
|
|
56
|
-
setIsVisible( false );
|
|
57
|
-
},
|
|
58
|
-
} );
|
|
59
|
-
const reducedMotion = useReducedMotion();
|
|
60
|
-
|
|
61
|
-
return (
|
|
62
|
-
<Popover
|
|
63
|
-
anchor={ paragraphElement }
|
|
64
|
-
animate={ false }
|
|
65
|
-
placement="top-start"
|
|
66
|
-
focusOnMount={ false }
|
|
67
|
-
flip={ false }
|
|
68
|
-
resize={ false }
|
|
69
|
-
className="wp-block-paragraph__drop-zone"
|
|
70
|
-
ref={ popoverRef }
|
|
71
|
-
>
|
|
72
|
-
{ isDragging ? (
|
|
73
|
-
<div
|
|
74
|
-
className="wp-block-paragraph__drop-zone-backdrop"
|
|
75
|
-
ref={ dropZoneRef }
|
|
76
|
-
style={ {
|
|
77
|
-
width: paragraphElement?.offsetWidth,
|
|
78
|
-
height: paragraphElement?.offsetHeight,
|
|
79
|
-
} }
|
|
80
|
-
>
|
|
81
|
-
<AnimatePresence>
|
|
82
|
-
{ isVisible ? (
|
|
83
|
-
<motion.div
|
|
84
|
-
key="drop-zone-foreground"
|
|
85
|
-
data-testid="empty-paragraph-drop-zone"
|
|
86
|
-
initial={
|
|
87
|
-
reducedMotion
|
|
88
|
-
? animateVariants.show
|
|
89
|
-
: animateVariants.hide
|
|
90
|
-
}
|
|
91
|
-
animate={ animateVariants.show }
|
|
92
|
-
exit={
|
|
93
|
-
reducedMotion
|
|
94
|
-
? animateVariants.show
|
|
95
|
-
: animateVariants.exit
|
|
96
|
-
}
|
|
97
|
-
className="wp-block-paragraph__drop-zone-foreground"
|
|
98
|
-
/>
|
|
99
|
-
) : null }
|
|
100
|
-
</AnimatePresence>
|
|
101
|
-
</div>
|
|
102
|
-
) : null }
|
|
103
|
-
</Popover>
|
|
104
|
-
);
|
|
105
|
-
}
|