@wordpress/block-library 8.18.1-next.5a1d1283.0 → 8.19.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 +2 -0
- package/README.md +1 -1
- package/build/block/edit.js +53 -2
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +7 -4
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +11 -2
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +10 -4
- package/build/button/save.js.map +1 -1
- package/build/buttons/edit.js +12 -3
- package/build/buttons/edit.js.map +1 -1
- package/build/code/edit.js +8 -2
- package/build/code/edit.js.map +1 -1
- package/build/code/index.js +7 -1
- package/build/code/index.js.map +1 -1
- package/build/column/index.js +1 -0
- package/build/column/index.js.map +1 -1
- package/build/columns/index.js +2 -0
- package/build/columns/index.js.map +1 -1
- package/build/file/edit.native.js +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/index.js +2 -1
- package/build/file/index.js.map +1 -1
- package/build/file/utils/index.js +1 -15
- package/build/file/utils/index.js.map +1 -1
- package/build/file/view.js +14 -1
- package/build/file/view.js.map +1 -1
- package/build/footnotes/edit.js +12 -2
- package/build/footnotes/edit.js.map +1 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/group/edit.js +0 -1
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +4 -0
- package/build/group/index.js.map +1 -1
- package/build/heading/edit.js +0 -1
- package/build/heading/edit.js.map +1 -1
- package/build/heading/index.js +2 -0
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +3 -6
- package/build/heading/transforms.js.map +1 -1
- package/build/image/deprecated.js +191 -7
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.js +27 -12
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +75 -40
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +7 -4
- package/build/image/index.js.map +1 -1
- package/build/image/{view-interactivity.js → view.js} +1 -1
- package/build/image/view.js.map +1 -0
- package/build/list/deprecated.js +93 -1
- package/build/list/deprecated.js.map +1 -1
- package/build/list/edit.js +10 -10
- package/build/list/edit.js.map +1 -1
- package/build/list/ordered-list-settings.js +10 -10
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list/save.js +4 -2
- package/build/list/save.js.map +1 -1
- package/build/list/utils.js +21 -2
- package/build/list/utils.js.map +1 -1
- package/build/navigation/constants.js +1 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/index.js +4 -2
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/view.js +168 -82
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +3 -9
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/transforms.js +24 -0
- package/build/navigation-link/transforms.js.map +1 -1
- package/build/page-list/edit.js +2 -1
- package/build/page-list/edit.js.map +1 -1
- package/build/post-comments-form/edit.js +10 -2
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-comments-form/form.js +5 -3
- package/build/post-comments-form/form.js.map +1 -1
- package/build/post-content/edit.js +8 -7
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +3 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-featured-image/overlay.js +2 -1
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/preformatted/edit.js +4 -1
- package/build/preformatted/edit.js.map +1 -1
- package/build/preformatted/index.js +1 -1
- package/build/preformatted/index.js.map +1 -1
- package/build/pullquote/deprecated.js +6 -7
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/query/edit/enhanced-pagination-modal.js +56 -0
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -0
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +42 -0
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -0
- package/build/query/edit/inspector-controls/index.js +8 -25
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/query-content.js +8 -2
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/utils.js +19 -0
- package/build/query/utils.js.map +1 -1
- package/build/query/view.js +4 -5
- package/build/query/view.js.map +1 -1
- package/build/search/index.js +1 -0
- package/build/search/index.js.map +1 -1
- package/build/search/view.js +81 -150
- package/build/search/view.js.map +1 -1
- package/build/social-link/edit.native.js +3 -1
- package/build/social-link/edit.native.js.map +1 -1
- package/build/table/edit.js +7 -7
- package/build/table/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +2 -130
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/hooks.js +145 -0
- package/build/table-of-contents/hooks.js.map +1 -0
- package/build/table-of-contents/index.js +2 -1
- package/build/table-of-contents/index.js.map +1 -1
- package/build/verse/edit.js +4 -1
- package/build/verse/edit.js.map +1 -1
- package/build/verse/index.js +1 -1
- package/build/verse/index.js.map +1 -1
- package/build-module/block/edit.js +54 -3
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +7 -4
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +11 -2
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +10 -4
- package/build-module/button/save.js.map +1 -1
- package/build-module/buttons/edit.js +12 -3
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/code/edit.js +8 -2
- package/build-module/code/edit.js.map +1 -1
- package/build-module/code/index.js +7 -1
- package/build-module/code/index.js.map +1 -1
- package/build-module/column/index.js +1 -0
- package/build-module/column/index.js.map +1 -1
- package/build-module/columns/index.js +2 -0
- package/build-module/columns/index.js.map +1 -1
- package/build-module/file/edit.native.js +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/index.js +2 -1
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/utils/index.js +0 -13
- package/build-module/file/utils/index.js.map +1 -1
- package/build-module/file/view.js +14 -2
- package/build-module/file/view.js.map +1 -1
- package/build-module/footnotes/edit.js +12 -2
- package/build-module/footnotes/edit.js.map +1 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/group/edit.js +0 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +4 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/heading/edit.js +0 -1
- package/build-module/heading/edit.js.map +1 -1
- package/build-module/heading/index.js +2 -0
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +3 -6
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/image/deprecated.js +191 -7
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.js +27 -12
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +77 -42
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +7 -4
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/{view-interactivity.js → view.js} +1 -1
- package/build-module/image/view.js.map +1 -0
- package/build-module/list/deprecated.js +95 -3
- package/build-module/list/deprecated.js.map +1 -1
- package/build-module/list/edit.js +10 -10
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +10 -10
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list/save.js +4 -2
- package/build-module/list/save.js.map +1 -1
- package/build-module/list/utils.js +20 -2
- package/build-module/list/utils.js.map +1 -1
- package/build-module/navigation/constants.js +1 -1
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/index.js +4 -2
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/view.js +168 -83
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +3 -9
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/transforms.js +24 -0
- package/build-module/navigation-link/transforms.js.map +1 -1
- package/build-module/page-list/edit.js +2 -1
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/post-comments-form/edit.js +10 -2
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-comments-form/form.js +5 -3
- package/build-module/post-comments-form/form.js.map +1 -1
- package/build-module/post-content/edit.js +8 -7
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +3 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +2 -1
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/preformatted/edit.js +4 -1
- package/build-module/preformatted/edit.js.map +1 -1
- package/build-module/preformatted/index.js +1 -1
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/pullquote/deprecated.js +6 -7
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js +50 -0
- package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -0
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +35 -0
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -0
- package/build-module/query/edit/inspector-controls/index.js +9 -26
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/query-content.js +8 -2
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/utils.js +17 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query/view.js +4 -5
- package/build-module/query/view.js.map +1 -1
- package/build-module/search/index.js +1 -0
- package/build-module/search/index.js.map +1 -1
- package/build-module/search/view.js +81 -151
- package/build-module/search/view.js.map +1 -1
- package/build-module/social-link/edit.native.js +3 -1
- package/build-module/social-link/edit.native.js.map +1 -1
- package/build-module/table/edit.js +7 -7
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +3 -131
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/hooks.js +137 -0
- package/build-module/table-of-contents/hooks.js.map +1 -0
- package/build-module/table-of-contents/index.js +2 -1
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/verse/edit.js +4 -1
- package/build-module/verse/edit.js.map +1 -1
- package/build-module/verse/index.js +1 -1
- package/build-module/verse/index.js.map +1 -1
- package/build-style/cover/style-rtl.css +9 -0
- package/build-style/cover/style.css +9 -0
- package/build-style/editor-rtl.css +15 -9
- package/build-style/editor.css +15 -9
- package/build-style/file/style-rtl.css +5 -0
- package/build-style/file/style.css +5 -0
- package/build-style/heading/style-rtl.css +13 -0
- package/build-style/heading/style.css +13 -0
- package/build-style/navigation-link/editor-rtl.css +0 -9
- package/build-style/navigation-link/editor.css +0 -9
- package/build-style/paragraph/editor-rtl.css +5 -0
- package/build-style/paragraph/editor.css +5 -0
- package/build-style/paragraph/style-rtl.css +5 -0
- package/build-style/paragraph/style.css +5 -0
- package/build-style/post-navigation-link/style-rtl.css +3 -0
- package/build-style/post-navigation-link/style.css +3 -0
- package/build-style/query/editor-rtl.css +10 -0
- package/build-style/query/editor.css +10 -0
- package/build-style/query/style-rtl.css +1 -1
- package/build-style/query/style.css +1 -1
- package/build-style/reset-rtl.css +27 -27
- package/build-style/reset.css +27 -27
- package/build-style/style-rtl.css +35 -0
- package/build-style/style.css +35 -0
- package/package.json +32 -33
- package/src/audio/test/__snapshots__/edit.native.js.snap +78 -106
- package/src/avatar/index.php +2 -2
- package/src/block/edit.js +58 -2
- package/src/block/test/edit.native.js +2 -3
- package/src/button/block.json +11 -2
- package/src/button/edit.js +27 -11
- package/src/button/save.js +10 -4
- package/src/buttons/edit.js +13 -3
- package/src/buttons/test/edit.native.js +28 -24
- package/src/calendar/index.php +2 -2
- package/src/code/block.json +2 -1
- package/src/code/edit.js +13 -1
- package/src/code/index.js +5 -0
- package/src/column/block.json +1 -0
- package/src/columns/block.json +2 -0
- package/src/comment-template/index.php +1 -1
- package/src/comments-pagination-next/index.php +1 -1
- package/src/comments-pagination-previous/index.php +1 -1
- package/src/cover/style.scss +12 -1
- package/src/cover/test/edit.js +7 -7
- package/src/cover/test/edit.native.js +18 -27
- package/src/embed/test/index.native.js +30 -45
- package/src/file/block.json +2 -1
- package/src/file/edit.native.js +1 -1
- package/src/file/index.php +19 -21
- package/src/file/style.scss +6 -1
- package/src/file/test/__snapshots__/edit.native.js.snap +162 -218
- package/src/file/utils/index.js +0 -15
- package/src/file/view.js +14 -5
- package/src/footnotes/edit.js +13 -1
- package/src/gallery/edit.js +1 -1
- package/src/gallery/index.php +1 -1
- package/src/group/block.json +4 -0
- package/src/group/edit.js +0 -1
- package/src/heading/block.json +2 -0
- package/src/heading/edit.js +0 -1
- package/src/heading/style.scss +4 -0
- package/src/heading/transforms.js +1 -6
- package/src/image/block.json +7 -4
- package/src/image/deprecated.js +210 -7
- package/src/image/edit.js +43 -29
- package/src/image/image.js +86 -43
- package/src/image/index.php +251 -28
- package/src/latest-posts/index.php +1 -1
- package/src/list/deprecated.js +84 -3
- package/src/list/edit.js +6 -3
- package/src/list/ordered-list-settings.js +20 -5
- package/src/list/save.js +10 -1
- package/src/list/test/edit.native.js +2 -4
- package/src/list/utils.js +22 -1
- package/src/navigation/block.json +4 -2
- package/src/navigation/constants.js +1 -0
- package/src/navigation/index.php +85 -123
- package/src/navigation/view.js +192 -96
- package/src/navigation-link/edit.js +21 -36
- package/src/navigation-link/editor.scss +0 -8
- package/src/navigation-link/transforms.js +22 -0
- package/src/page-list/edit.js +2 -1
- package/src/paragraph/editor.scss +5 -0
- package/src/paragraph/style.scss +5 -0
- package/src/pattern/index.php +2 -2
- package/src/post-comments-form/edit.js +10 -0
- package/src/post-comments-form/form.js +7 -1
- package/src/post-content/block.json +3 -0
- package/src/post-content/edit.js +14 -6
- package/src/post-excerpt/index.php +2 -2
- package/src/post-featured-image/index.php +2 -2
- package/src/post-featured-image/overlay.js +1 -0
- package/src/post-navigation-link/index.php +0 -5
- package/src/post-navigation-link/style.scss +4 -0
- package/src/post-template/index.php +1 -1
- package/src/post-terms/index.php +5 -2
- package/src/preformatted/edit.js +5 -0
- package/src/preformatted/index.js +1 -1
- package/src/pullquote/deprecated.js +8 -13
- package/src/query/edit/enhanced-pagination-modal.js +65 -0
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +49 -0
- package/src/query/edit/inspector-controls/index.js +9 -45
- package/src/query/edit/query-content.js +8 -0
- package/src/query/editor.scss +10 -0
- package/src/query/index.php +29 -16
- package/src/query/style.scss +2 -2
- package/src/query/utils.js +22 -0
- package/src/query/view.js +5 -5
- package/src/query-pagination-next/index.php +1 -1
- package/src/query-pagination-previous/index.php +1 -1
- package/src/reset.scss +1 -1
- package/src/search/block.json +1 -0
- package/src/search/index.php +45 -4
- package/src/search/test/__snapshots__/edit.native.js.snap +265 -363
- package/src/search/view.js +70 -169
- package/src/social-link/edit.native.js +1 -1
- package/src/social-link/editor.native.scss +4 -0
- package/src/table/edit.js +21 -19
- package/src/table-of-contents/block.json +2 -1
- package/src/table-of-contents/edit.js +5 -162
- package/src/table-of-contents/hooks.js +156 -0
- package/src/verse/edit.js +5 -0
- package/src/verse/index.js +1 -1
- package/src/verse/test/edit.native.js +2 -3
- package/build/file/view-interactivity.js +0 -22
- package/build/file/view-interactivity.js.map +0 -1
- package/build/image/view-interactivity.js.map +0 -1
- package/build/navigation/view-interactivity.js +0 -172
- package/build/navigation/view-interactivity.js.map +0 -1
- package/build/navigation/view-modal.js +0 -115
- package/build/navigation/view-modal.js.map +0 -1
- package/build-module/file/view-interactivity.js +0 -18
- package/build-module/file/view-interactivity.js.map +0 -1
- package/build-module/image/view-interactivity.js.map +0 -1
- package/build-module/navigation/view-interactivity.js +0 -169
- package/build-module/navigation/view-interactivity.js.map +0 -1
- package/build-module/navigation/view-modal.js +0 -112
- package/build-module/navigation/view-modal.js.map +0 -1
- package/src/file/view-interactivity.js +0 -18
- package/src/navigation/view-interactivity.js +0 -196
- package/src/navigation/view-modal.js +0 -127
- /package/src/image/{view-interactivity.js → view.js} +0 -0
|
@@ -1,156 +1,86 @@
|
|
|
1
|
-
/*eslint-env browser*/
|
|
2
|
-
|
|
3
|
-
/** @type {?HTMLFormElement} */
|
|
4
|
-
let expandedSearchBlock = null;
|
|
5
|
-
const hiddenClass = 'wp-block-search__searchfield-hidden';
|
|
6
|
-
|
|
7
1
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* @param {HTMLElement} element
|
|
2
|
+
* WordPress dependencies
|
|
11
3
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
import { store as wpStore } from '@wordpress/interactivity';
|
|
5
|
+
wpStore({
|
|
6
|
+
selectors: {
|
|
7
|
+
core: {
|
|
8
|
+
search: {
|
|
9
|
+
ariaLabel: ({
|
|
10
|
+
context
|
|
11
|
+
}) => {
|
|
12
|
+
const {
|
|
13
|
+
ariaLabelCollapsed,
|
|
14
|
+
ariaLabelExpanded
|
|
15
|
+
} = context.core.search;
|
|
16
|
+
return context.core.search.isSearchInputVisible ? ariaLabelExpanded : ariaLabelCollapsed;
|
|
17
|
+
},
|
|
18
|
+
ariaControls: ({
|
|
19
|
+
context
|
|
20
|
+
}) => {
|
|
21
|
+
return context.core.search.isSearchInputVisible ? null : context.core.search.inputId;
|
|
22
|
+
},
|
|
23
|
+
type: ({
|
|
24
|
+
context
|
|
25
|
+
}) => {
|
|
26
|
+
return context.core.search.isSearchInputVisible ? 'submit' : 'button';
|
|
27
|
+
},
|
|
28
|
+
tabindex: ({
|
|
29
|
+
context
|
|
30
|
+
}) => {
|
|
31
|
+
return context.core.search.isSearchInputVisible ? '0' : '-1';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
actions: {
|
|
37
|
+
core: {
|
|
38
|
+
search: {
|
|
39
|
+
openSearchInput: ({
|
|
40
|
+
context,
|
|
41
|
+
event,
|
|
42
|
+
ref
|
|
43
|
+
}) => {
|
|
44
|
+
if (!context.core.search.isSearchInputVisible) {
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
context.core.search.isSearchInputVisible = true;
|
|
47
|
+
ref.parentElement.querySelector('input').focus();
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
closeSearchInput: ({
|
|
51
|
+
context
|
|
52
|
+
}) => {
|
|
53
|
+
context.core.search.isSearchInputVisible = false;
|
|
54
|
+
},
|
|
55
|
+
handleSearchKeydown: store => {
|
|
56
|
+
const {
|
|
57
|
+
actions,
|
|
58
|
+
event,
|
|
59
|
+
ref
|
|
60
|
+
} = store;
|
|
61
|
+
// If Escape close the menu.
|
|
62
|
+
if (event?.key === 'Escape') {
|
|
63
|
+
actions.core.search.closeSearchInput(store);
|
|
64
|
+
ref.querySelector('button').focus();
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
handleSearchFocusout: store => {
|
|
68
|
+
const {
|
|
69
|
+
actions,
|
|
70
|
+
event,
|
|
71
|
+
ref
|
|
72
|
+
} = store;
|
|
73
|
+
// If focus is outside search form, and in the document, close menu
|
|
74
|
+
// event.target === The element losing focus
|
|
75
|
+
// event.relatedTarget === The element receiving focus (if any)
|
|
76
|
+
// When focusout is outside the document,
|
|
77
|
+
// `window.document.activeElement` doesn't change.
|
|
78
|
+
if (!ref.contains(event.relatedTarget) && event.target !== window.document.activeElement) {
|
|
79
|
+
actions.core.search.closeSearchInput(store);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
15
84
|
}
|
|
16
|
-
const ariaLabel = element.dataset.toggledAriaLabel;
|
|
17
|
-
element.dataset.toggledAriaLabel = element.ariaLabel;
|
|
18
|
-
element.ariaLabel = ariaLabel;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Gets search input.
|
|
23
|
-
*
|
|
24
|
-
* @param {HTMLFormElement} block Search block.
|
|
25
|
-
* @return {HTMLInputElement} Search input.
|
|
26
|
-
*/
|
|
27
|
-
function getSearchInput(block) {
|
|
28
|
-
return block.querySelector('.wp-block-search__input');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Gets search button.
|
|
33
|
-
*
|
|
34
|
-
* @param {HTMLFormElement} block Search block.
|
|
35
|
-
* @return {HTMLButtonElement} Search button.
|
|
36
|
-
*/
|
|
37
|
-
function getSearchButton(block) {
|
|
38
|
-
return block.querySelector('.wp-block-search__button');
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Handles keydown event to collapse an expanded Search block (when pressing Escape key).
|
|
43
|
-
*
|
|
44
|
-
* @param {KeyboardEvent} event
|
|
45
|
-
*/
|
|
46
|
-
function handleKeydownEvent(event) {
|
|
47
|
-
if (!expandedSearchBlock) {
|
|
48
|
-
// In case the event listener wasn't removed in time.
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
if (event.key === 'Escape') {
|
|
52
|
-
const block = expandedSearchBlock; // This is nullified by collapseExpandedSearchBlock().
|
|
53
|
-
collapseExpandedSearchBlock();
|
|
54
|
-
getSearchButton(block).focus();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Handles keyup event to collapse an expanded Search block (e.g. when tabbing out of expanded Search block).
|
|
60
|
-
*
|
|
61
|
-
* @param {KeyboardEvent} event
|
|
62
|
-
*/
|
|
63
|
-
function handleKeyupEvent(event) {
|
|
64
|
-
if (!expandedSearchBlock) {
|
|
65
|
-
// In case the event listener wasn't removed in time.
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
if (event.target.closest('.wp-block-search') !== expandedSearchBlock) {
|
|
69
|
-
collapseExpandedSearchBlock();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Expands search block.
|
|
75
|
-
*
|
|
76
|
-
* Inverse of what is done in collapseExpandedSearchBlock().
|
|
77
|
-
*
|
|
78
|
-
* @param {HTMLFormElement} block Search block.
|
|
79
|
-
*/
|
|
80
|
-
function expandSearchBlock(block) {
|
|
81
|
-
// Make sure only one is open at a time.
|
|
82
|
-
if (expandedSearchBlock) {
|
|
83
|
-
collapseExpandedSearchBlock();
|
|
84
|
-
}
|
|
85
|
-
const searchField = getSearchInput(block);
|
|
86
|
-
const searchButton = getSearchButton(block);
|
|
87
|
-
searchButton.type = 'submit';
|
|
88
|
-
searchField.ariaHidden = 'false';
|
|
89
|
-
searchField.tabIndex = 0;
|
|
90
|
-
searchButton.ariaExpanded = 'true';
|
|
91
|
-
searchButton.removeAttribute('aria-controls'); // Note: Seemingly not reflected with searchButton.ariaControls.
|
|
92
|
-
toggleAriaLabel(searchButton);
|
|
93
|
-
block.classList.remove(hiddenClass);
|
|
94
|
-
searchField.focus(); // Note that Chrome seems to do this automatically.
|
|
95
|
-
|
|
96
|
-
// The following two must be inverse of what is done in collapseExpandedSearchBlock().
|
|
97
|
-
document.addEventListener('keydown', handleKeydownEvent, {
|
|
98
|
-
passive: true
|
|
99
|
-
});
|
|
100
|
-
document.addEventListener('keyup', handleKeyupEvent, {
|
|
101
|
-
passive: true
|
|
102
|
-
});
|
|
103
|
-
expandedSearchBlock = block;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Collapses the expanded search block.
|
|
108
|
-
*
|
|
109
|
-
* Inverse of what is done in expandSearchBlock().
|
|
110
|
-
*/
|
|
111
|
-
function collapseExpandedSearchBlock() {
|
|
112
|
-
if (!expandedSearchBlock) {
|
|
113
|
-
throw new Error('Expected expandedSearchBlock to be defined.');
|
|
114
|
-
}
|
|
115
|
-
const block = expandedSearchBlock;
|
|
116
|
-
const searchField = getSearchInput(block);
|
|
117
|
-
const searchButton = getSearchButton(block);
|
|
118
|
-
searchButton.type = 'button';
|
|
119
|
-
searchField.ariaHidden = 'true';
|
|
120
|
-
searchField.tabIndex = -1;
|
|
121
|
-
searchButton.ariaExpanded = 'false';
|
|
122
|
-
searchButton.setAttribute('aria-controls', searchField.id); // Note: Seemingly not reflected with searchButton.ariaControls.
|
|
123
|
-
toggleAriaLabel(searchButton);
|
|
124
|
-
block.classList.add(hiddenClass);
|
|
125
|
-
|
|
126
|
-
// The following two must be inverse of what is done in expandSearchBlock().
|
|
127
|
-
document.removeEventListener('keydown', handleKeydownEvent, {
|
|
128
|
-
passive: true
|
|
129
|
-
});
|
|
130
|
-
document.removeEventListener('keyup', handleKeyupEvent, {
|
|
131
|
-
passive: true
|
|
132
|
-
});
|
|
133
|
-
expandedSearchBlock = null;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// Listen for click events anywhere on the document so this script can be loaded asynchronously in the head.
|
|
137
|
-
document.addEventListener('click', event => {
|
|
138
|
-
// Get the ancestor expandable Search block of the clicked element.
|
|
139
|
-
const block = event.target.closest('.wp-block-search__button-behavior-expand');
|
|
140
|
-
|
|
141
|
-
/*
|
|
142
|
-
* If there is already an expanded search block and either the current click was not for a Search block or it was
|
|
143
|
-
* for another block, then collapse the currently-expanded block.
|
|
144
|
-
*/
|
|
145
|
-
if (expandedSearchBlock && block !== expandedSearchBlock) {
|
|
146
|
-
collapseExpandedSearchBlock();
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// If the click was on or inside a collapsed Search block, expand it.
|
|
150
|
-
if (block instanceof HTMLFormElement && block.classList.contains(hiddenClass)) {
|
|
151
|
-
expandSearchBlock(block);
|
|
152
|
-
}
|
|
153
|
-
}, {
|
|
154
|
-
passive: true
|
|
155
85
|
});
|
|
156
86
|
//# sourceMappingURL=view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["store","wpStore","selectors","core","search","ariaLabel","context","ariaLabelCollapsed","ariaLabelExpanded","isSearchInputVisible","ariaControls","inputId","type","tabindex","actions","openSearchInput","event","ref","preventDefault","parentElement","querySelector","focus","closeSearchInput","handleSearchKeydown","key","handleSearchFocusout","contains","relatedTarget","target","window","document","activeElement"],"sources":["@wordpress/block-library/src/search/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as wpStore } from '@wordpress/interactivity';\n\nwpStore( {\n\tselectors: {\n\t\tcore: {\n\t\t\tsearch: {\n\t\t\t\tariaLabel: ( { context } ) => {\n\t\t\t\t\tconst { ariaLabelCollapsed, ariaLabelExpanded } =\n\t\t\t\t\t\tcontext.core.search;\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? ariaLabelExpanded\n\t\t\t\t\t\t: ariaLabelCollapsed;\n\t\t\t\t},\n\t\t\t\tariaControls: ( { context } ) => {\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? null\n\t\t\t\t\t\t: context.core.search.inputId;\n\t\t\t\t},\n\t\t\t\ttype: ( { context } ) => {\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? 'submit'\n\t\t\t\t\t\t: 'button';\n\t\t\t\t},\n\t\t\t\ttabindex: ( { context } ) => {\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t: '-1';\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tactions: {\n\t\tcore: {\n\t\t\tsearch: {\n\t\t\t\topenSearchInput: ( { context, event, ref } ) => {\n\t\t\t\t\tif ( ! context.core.search.isSearchInputVisible ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tcontext.core.search.isSearchInputVisible = true;\n\t\t\t\t\t\tref.parentElement.querySelector( 'input' ).focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcloseSearchInput: ( { context } ) => {\n\t\t\t\t\tcontext.core.search.isSearchInputVisible = false;\n\t\t\t\t},\n\t\t\t\thandleSearchKeydown: ( store ) => {\n\t\t\t\t\tconst { actions, event, ref } = store;\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.core.search.closeSearchInput( store );\n\t\t\t\t\t\tref.querySelector( 'button' ).focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thandleSearchFocusout: ( store ) => {\n\t\t\t\t\tconst { actions, event, ref } = store;\n\t\t\t\t\t// If focus is outside search form, and in the document, close menu\n\t\t\t\t\t// event.target === The element losing focus\n\t\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t\t// When focusout is outside the document,\n\t\t\t\t\t// `window.document.activeElement` doesn't change.\n\t\t\t\t\tif (\n\t\t\t\t\t\t! ref.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement\n\t\t\t\t\t) {\n\t\t\t\t\t\tactions.core.search.closeSearchInput( store );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,OAAO,QAAQ,0BAA0B;AAE3DA,OAAO,CAAE;EACRC,SAAS,EAAE;IACVC,IAAI,EAAE;MACLC,MAAM,EAAE;QACPC,SAAS,EAAEA,CAAE;UAAEC;QAAQ,CAAC,KAAM;UAC7B,MAAM;YAAEC,kBAAkB;YAAEC;UAAkB,CAAC,GAC9CF,OAAO,CAACH,IAAI,CAACC,MAAM;UACpB,OAAOE,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5CD,iBAAiB,GACjBD,kBAAkB;QACtB,CAAC;QACDG,YAAY,EAAEA,CAAE;UAAEJ;QAAQ,CAAC,KAAM;UAChC,OAAOA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5C,IAAI,GACJH,OAAO,CAACH,IAAI,CAACC,MAAM,CAACO,OAAO;QAC/B,CAAC;QACDC,IAAI,EAAEA,CAAE;UAAEN;QAAQ,CAAC,KAAM;UACxB,OAAOA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5C,QAAQ,GACR,QAAQ;QACZ,CAAC;QACDI,QAAQ,EAAEA,CAAE;UAAEP;QAAQ,CAAC,KAAM;UAC5B,OAAOA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5C,GAAG,GACH,IAAI;QACR;MACD;IACD;EACD,CAAC;EACDK,OAAO,EAAE;IACRX,IAAI,EAAE;MACLC,MAAM,EAAE;QACPW,eAAe,EAAEA,CAAE;UAAET,OAAO;UAAEU,KAAK;UAAEC;QAAI,CAAC,KAAM;UAC/C,IAAK,CAAEX,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,EAAG;YACjDO,KAAK,CAACE,cAAc,CAAC,CAAC;YACtBZ,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAAG,IAAI;YAC/CQ,GAAG,CAACE,aAAa,CAACC,aAAa,CAAE,OAAQ,CAAC,CAACC,KAAK,CAAC,CAAC;UACnD;QACD,CAAC;QACDC,gBAAgB,EAAEA,CAAE;UAAEhB;QAAQ,CAAC,KAAM;UACpCA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAAG,KAAK;QACjD,CAAC;QACDc,mBAAmB,EAAIvB,KAAK,IAAM;UACjC,MAAM;YAAEc,OAAO;YAAEE,KAAK;YAAEC;UAAI,CAAC,GAAGjB,KAAK;UACrC;UACA,IAAKgB,KAAK,EAAEQ,GAAG,KAAK,QAAQ,EAAG;YAC9BV,OAAO,CAACX,IAAI,CAACC,MAAM,CAACkB,gBAAgB,CAAEtB,KAAM,CAAC;YAC7CiB,GAAG,CAACG,aAAa,CAAE,QAAS,CAAC,CAACC,KAAK,CAAC,CAAC;UACtC;QACD,CAAC;QACDI,oBAAoB,EAAIzB,KAAK,IAAM;UAClC,MAAM;YAAEc,OAAO;YAAEE,KAAK;YAAEC;UAAI,CAAC,GAAGjB,KAAK;UACrC;UACA;UACA;UACA;UACA;UACA,IACC,CAAEiB,GAAG,CAACS,QAAQ,CAAEV,KAAK,CAACW,aAAc,CAAC,IACrCX,KAAK,CAACY,MAAM,KAAKC,MAAM,CAACC,QAAQ,CAACC,aAAa,EAC7C;YACDjB,OAAO,CAACX,IAAI,CAACC,MAAM,CAACkB,gBAAgB,CAAEtB,KAAM,CAAC;UAC9C;QACD;MACD;IACD;EACD;AACD,CAAE,CAAC"}
|
|
@@ -122,7 +122,9 @@ const SocialLinkEdit = ({
|
|
|
122
122
|
__('%s has URL set'), socialLinkName) : sprintf(
|
|
123
123
|
// translators: %s: social link name e.g: "Instagram".
|
|
124
124
|
__('%s has no URL set'), socialLinkName);
|
|
125
|
-
return createElement(View,
|
|
125
|
+
return createElement(View, {
|
|
126
|
+
style: styles.container
|
|
127
|
+
}, isSelected && createElement(Fragment, null, createElement(BlockControls, null, createElement(ToolbarGroup, null, createElement(ToolbarButton, {
|
|
126
128
|
title: sprintf(
|
|
127
129
|
// translators: %s: social link name e.g: "Instagram".
|
|
128
130
|
__('Add link to %s'), socialLinkName),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Animated","Easing","TouchableWithoutFeedback","BlockControls","store","blockEditorStore","useEffect","useState","useRef","useCallback","ToolbarGroup","ToolbarButton","LinkSettingsNavigation","compose","usePreferredColorSchemeStyle","__","sprintf","link","Icon","withSelect","getIconBySite","getNameBySite","styles","DEFAULT_ACTIVE_ICON_STYLES","backgroundColor","color","DEFAULT_INACTIVE_ICON_STYLES","ANIMATION_DELAY","ANIMATION_DURATION","linkSettingsOptions","url","label","placeholder","autoFocus","linkLabel","footer","SocialLinkEdit","attributes","setAttributes","isSelected","onFocus","name","service","isLinkSheetVisible","setIsLinkSheetVisible","hasUrl","setHasUrl","activeIcon","inactiveIcon","inactiveIconDark","animatedValue","Value","current","IconComponent","socialLinkName","setValue","animateColors","interpolationColors","interpolate","inputRange","outputRange","stroke","sequence","delay","timing","toValue","duration","easing","circle","useNativeDriver","start","onCloseSettingsSheet","onOpenSettingsSheet","onEmptyURL","onIconPress","accessibilityHint","createElement","Fragment","title","icon","onClick","isActive","isVisible","rel","onClose","options","withBottomSheet","onPress","accessibilityRole","accessibilityLabel","style","iconContainer","animated","select","clientId","getBlock","block","substring"],"sources":["@wordpress/block-library/src/social-link/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Animated, Easing, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useRef, useCallback } from '@wordpress/element';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n} from '@wordpress/components';\nimport { compose, usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { link, Icon } from '@wordpress/icons';\nimport { withSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport { getIconBySite, getNameBySite } from './social-list';\nimport styles from './editor.scss';\n\nconst DEFAULT_ACTIVE_ICON_STYLES = {\n\tbackgroundColor: '#f0f0f0',\n\tcolor: '#444',\n};\nconst DEFAULT_INACTIVE_ICON_STYLES = {\n\tbackgroundColor: '#0000003f',\n\tcolor: '#fff',\n};\nconst ANIMATION_DELAY = 300;\nconst ANIMATION_DURATION = 400;\n\nconst linkSettingsOptions = {\n\turl: {\n\t\tlabel: __( 'URL' ),\n\t\tplaceholder: __( 'Add URL' ),\n\t\tautoFocus: true,\n\t},\n\tlinkLabel: {\n\t\tlabel: __( 'Link label' ),\n\t\tplaceholder: __( 'None' ),\n\t},\n\tfooter: {\n\t\tlabel: __( 'Briefly describe the link to help screen reader user' ),\n\t},\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tonFocus,\n\tname,\n} ) => {\n\tconst { url, service = name } = attributes;\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ hasUrl, setHasUrl ] = useState( !! url );\n\tconst activeIcon =\n\t\tstyles[ `wp-social-link-${ service }` ] ||\n\t\tstyles[ `wp-social-link` ] ||\n\t\tDEFAULT_ACTIVE_ICON_STYLES;\n\tconst inactiveIcon =\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.inactiveIcon,\n\t\t\tstyles.inactiveIconDark\n\t\t) || DEFAULT_INACTIVE_ICON_STYLES;\n\n\tconst animatedValue = useRef( new Animated.Value( 0 ) ).current;\n\n\tconst IconComponent = getIconBySite( service )();\n\tconst socialLinkName = getNameBySite( service );\n\n\t// When new social icon is added link sheet is opened automatically.\n\tuseEffect( () => {\n\t\tif ( isSelected && ! url ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! url ) {\n\t\t\tsetHasUrl( false );\n\t\t\tanimatedValue.setValue( 0 );\n\t\t} else if ( url ) {\n\t\t\tanimateColors();\n\t\t}\n\t}, [ url ] );\n\n\tconst interpolationColors = {\n\t\tbackgroundColor: animatedValue.interpolate( {\n\t\t\tinputRange: [ 0, 1 ],\n\t\t\toutputRange: [\n\t\t\t\tinactiveIcon.backgroundColor,\n\t\t\t\tactiveIcon.backgroundColor,\n\t\t\t],\n\t\t} ),\n\t\tcolor: animatedValue.interpolate( {\n\t\t\tinputRange: [ 0, 1 ],\n\t\t\toutputRange: [ inactiveIcon.color, activeIcon.color ],\n\t\t} ),\n\t\tstroke: '',\n\t};\n\n\tconst { backgroundColor, color, stroke } = hasUrl\n\t\t? activeIcon\n\t\t: interpolationColors;\n\n\tfunction animateColors() {\n\t\tAnimated.sequence( [\n\t\t\tAnimated.delay( ANIMATION_DELAY ),\n\t\t\tAnimated.timing( animatedValue, {\n\t\t\t\ttoValue: 1,\n\t\t\t\tduration: ANIMATION_DURATION,\n\t\t\t\teasing: Easing.circle,\n\t\t\t\tuseNativeDriver: false,\n\t\t\t} ),\n\t\t] ).start( () => setHasUrl( true ) );\n\t}\n\n\tconst onCloseSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( false );\n\t}, [] );\n\n\tconst onOpenSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( true );\n\t}, [] );\n\n\tconst onEmptyURL = useCallback( () => {\n\t\tanimatedValue.setValue( 0 );\n\t\tsetHasUrl( false );\n\t}, [ animatedValue ] );\n\n\tfunction onIconPress() {\n\t\tif ( isSelected ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t} else {\n\t\t\tonFocus();\n\t\t}\n\t}\n\n\tconst accessibilityHint = url\n\t\t? sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has URL set' ),\n\t\t\t\tsocialLinkName\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has no URL set' ),\n\t\t\t\tsocialLinkName\n\t\t );\n\n\treturn (\n\t\t<View>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t\t\t\t\t__( 'Add link to %s' ),\n\t\t\t\t\t\t\t\t\tsocialLinkName\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onOpenSettingsSheet }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<LinkSettingsNavigation\n\t\t\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\t\t\turl={ attributes.url }\n\t\t\t\t\t\tlabel={ attributes.label }\n\t\t\t\t\t\trel={ attributes.rel }\n\t\t\t\t\t\tonEmptyURL={ onEmptyURL }\n\t\t\t\t\t\tonClose={ onCloseSettingsSheet }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\toptions={ linkSettingsOptions }\n\t\t\t\t\t\twithBottomSheet\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ onIconPress }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t__( '%s social icon' ),\n\t\t\t\t\tsocialLinkName\n\t\t\t\t) }\n\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [ styles.iconContainer, { backgroundColor } ] }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tanimated\n\t\t\t\t\t\ticon={ IconComponent }\n\t\t\t\t\t\tstyle={ { stroke, color } }\n\t\t\t\t\t/>\n\t\t\t\t</Animated.View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\n\t\tconst block = getBlock( clientId );\n\t\tconst name = block?.name.substring( 17 );\n\n\t\treturn {\n\t\t\tname,\n\t\t};\n\t} ),\n] )( SocialLinkEdit );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["View","Animated","Easing","TouchableWithoutFeedback","BlockControls","store","blockEditorStore","useEffect","useState","useRef","useCallback","ToolbarGroup","ToolbarButton","LinkSettingsNavigation","compose","usePreferredColorSchemeStyle","__","sprintf","link","Icon","withSelect","getIconBySite","getNameBySite","styles","DEFAULT_ACTIVE_ICON_STYLES","backgroundColor","color","DEFAULT_INACTIVE_ICON_STYLES","ANIMATION_DELAY","ANIMATION_DURATION","linkSettingsOptions","url","label","placeholder","autoFocus","linkLabel","footer","SocialLinkEdit","attributes","setAttributes","isSelected","onFocus","name","service","isLinkSheetVisible","setIsLinkSheetVisible","hasUrl","setHasUrl","activeIcon","inactiveIcon","inactiveIconDark","animatedValue","Value","current","IconComponent","socialLinkName","setValue","animateColors","interpolationColors","interpolate","inputRange","outputRange","stroke","sequence","delay","timing","toValue","duration","easing","circle","useNativeDriver","start","onCloseSettingsSheet","onOpenSettingsSheet","onEmptyURL","onIconPress","accessibilityHint","createElement","style","container","Fragment","title","icon","onClick","isActive","isVisible","rel","onClose","options","withBottomSheet","onPress","accessibilityRole","accessibilityLabel","iconContainer","animated","select","clientId","getBlock","block","substring"],"sources":["@wordpress/block-library/src/social-link/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Animated, Easing, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useRef, useCallback } from '@wordpress/element';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n} from '@wordpress/components';\nimport { compose, usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { link, Icon } from '@wordpress/icons';\nimport { withSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport { getIconBySite, getNameBySite } from './social-list';\nimport styles from './editor.scss';\n\nconst DEFAULT_ACTIVE_ICON_STYLES = {\n\tbackgroundColor: '#f0f0f0',\n\tcolor: '#444',\n};\nconst DEFAULT_INACTIVE_ICON_STYLES = {\n\tbackgroundColor: '#0000003f',\n\tcolor: '#fff',\n};\nconst ANIMATION_DELAY = 300;\nconst ANIMATION_DURATION = 400;\n\nconst linkSettingsOptions = {\n\turl: {\n\t\tlabel: __( 'URL' ),\n\t\tplaceholder: __( 'Add URL' ),\n\t\tautoFocus: true,\n\t},\n\tlinkLabel: {\n\t\tlabel: __( 'Link label' ),\n\t\tplaceholder: __( 'None' ),\n\t},\n\tfooter: {\n\t\tlabel: __( 'Briefly describe the link to help screen reader user' ),\n\t},\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tonFocus,\n\tname,\n} ) => {\n\tconst { url, service = name } = attributes;\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ hasUrl, setHasUrl ] = useState( !! url );\n\tconst activeIcon =\n\t\tstyles[ `wp-social-link-${ service }` ] ||\n\t\tstyles[ `wp-social-link` ] ||\n\t\tDEFAULT_ACTIVE_ICON_STYLES;\n\tconst inactiveIcon =\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.inactiveIcon,\n\t\t\tstyles.inactiveIconDark\n\t\t) || DEFAULT_INACTIVE_ICON_STYLES;\n\n\tconst animatedValue = useRef( new Animated.Value( 0 ) ).current;\n\n\tconst IconComponent = getIconBySite( service )();\n\tconst socialLinkName = getNameBySite( service );\n\n\t// When new social icon is added link sheet is opened automatically.\n\tuseEffect( () => {\n\t\tif ( isSelected && ! url ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! url ) {\n\t\t\tsetHasUrl( false );\n\t\t\tanimatedValue.setValue( 0 );\n\t\t} else if ( url ) {\n\t\t\tanimateColors();\n\t\t}\n\t}, [ url ] );\n\n\tconst interpolationColors = {\n\t\tbackgroundColor: animatedValue.interpolate( {\n\t\t\tinputRange: [ 0, 1 ],\n\t\t\toutputRange: [\n\t\t\t\tinactiveIcon.backgroundColor,\n\t\t\t\tactiveIcon.backgroundColor,\n\t\t\t],\n\t\t} ),\n\t\tcolor: animatedValue.interpolate( {\n\t\t\tinputRange: [ 0, 1 ],\n\t\t\toutputRange: [ inactiveIcon.color, activeIcon.color ],\n\t\t} ),\n\t\tstroke: '',\n\t};\n\n\tconst { backgroundColor, color, stroke } = hasUrl\n\t\t? activeIcon\n\t\t: interpolationColors;\n\n\tfunction animateColors() {\n\t\tAnimated.sequence( [\n\t\t\tAnimated.delay( ANIMATION_DELAY ),\n\t\t\tAnimated.timing( animatedValue, {\n\t\t\t\ttoValue: 1,\n\t\t\t\tduration: ANIMATION_DURATION,\n\t\t\t\teasing: Easing.circle,\n\t\t\t\tuseNativeDriver: false,\n\t\t\t} ),\n\t\t] ).start( () => setHasUrl( true ) );\n\t}\n\n\tconst onCloseSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( false );\n\t}, [] );\n\n\tconst onOpenSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( true );\n\t}, [] );\n\n\tconst onEmptyURL = useCallback( () => {\n\t\tanimatedValue.setValue( 0 );\n\t\tsetHasUrl( false );\n\t}, [ animatedValue ] );\n\n\tfunction onIconPress() {\n\t\tif ( isSelected ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t} else {\n\t\t\tonFocus();\n\t\t}\n\t}\n\n\tconst accessibilityHint = url\n\t\t? sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has URL set' ),\n\t\t\t\tsocialLinkName\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has no URL set' ),\n\t\t\t\tsocialLinkName\n\t\t );\n\n\treturn (\n\t\t<View style={ styles.container }>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t\t\t\t\t__( 'Add link to %s' ),\n\t\t\t\t\t\t\t\t\tsocialLinkName\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onOpenSettingsSheet }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<LinkSettingsNavigation\n\t\t\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\t\t\turl={ attributes.url }\n\t\t\t\t\t\tlabel={ attributes.label }\n\t\t\t\t\t\trel={ attributes.rel }\n\t\t\t\t\t\tonEmptyURL={ onEmptyURL }\n\t\t\t\t\t\tonClose={ onCloseSettingsSheet }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\toptions={ linkSettingsOptions }\n\t\t\t\t\t\twithBottomSheet\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ onIconPress }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t__( '%s social icon' ),\n\t\t\t\t\tsocialLinkName\n\t\t\t\t) }\n\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [ styles.iconContainer, { backgroundColor } ] }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tanimated\n\t\t\t\t\t\ticon={ IconComponent }\n\t\t\t\t\t\tstyle={ { stroke, color } }\n\t\t\t\t\t/>\n\t\t\t\t</Animated.View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\n\t\tconst block = getBlock( clientId );\n\t\tconst name = block?.name.substring( 17 );\n\n\t\treturn {\n\t\t\tname,\n\t\t};\n\t} ),\n] )( SocialLinkEdit );\n"],"mappings":"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"}
|
|
@@ -295,7 +295,7 @@ function TableEdit({
|
|
|
295
295
|
}, [isSelected]);
|
|
296
296
|
useEffect(() => {
|
|
297
297
|
if (hasTableCreated) {
|
|
298
|
-
tableRef?.current?.querySelector('td[contentEditable="true"]')?.focus();
|
|
298
|
+
tableRef?.current?.querySelector('td div[contentEditable="true"]')?.focus();
|
|
299
299
|
setHasTableCreated(false);
|
|
300
300
|
}
|
|
301
301
|
}, [hasTableCreated]);
|
|
@@ -345,15 +345,15 @@ function TableEdit({
|
|
|
345
345
|
align,
|
|
346
346
|
colspan,
|
|
347
347
|
rowspan
|
|
348
|
-
}, columnIndex) => createElement(
|
|
349
|
-
tagName: CellTag,
|
|
348
|
+
}, columnIndex) => createElement(CellTag, {
|
|
350
349
|
key: columnIndex,
|
|
351
|
-
className: classnames({
|
|
352
|
-
[`has-text-align-${align}`]: align
|
|
353
|
-
}, 'wp-block-table__cell-content'),
|
|
354
350
|
scope: CellTag === 'th' ? scope : undefined,
|
|
355
351
|
colSpan: colspan,
|
|
356
352
|
rowSpan: rowspan,
|
|
353
|
+
className: classnames({
|
|
354
|
+
[`has-text-align-${align}`]: align
|
|
355
|
+
}, 'wp-block-table__cell-content')
|
|
356
|
+
}, createElement(RichText, {
|
|
357
357
|
value: content,
|
|
358
358
|
onChange: onChange,
|
|
359
359
|
onFocus: () => {
|
|
@@ -366,7 +366,7 @@ function TableEdit({
|
|
|
366
366
|
},
|
|
367
367
|
"aria-label": cellAriaLabel[name],
|
|
368
368
|
placeholder: placeholder[name]
|
|
369
|
-
}))))));
|
|
369
|
+
})))))));
|
|
370
370
|
const isEmpty = !sections.length;
|
|
371
371
|
return createElement("figure", {
|
|
372
372
|
...useBlockProps({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useEffect","useRef","useState","InspectorControls","BlockControls","RichText","BlockIcon","AlignmentControl","useBlockProps","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetElementClassName","__","Button","PanelBody","Placeholder","TextControl","ToggleControl","ToolbarDropdownMenu","__experimentalHasSplitBorders","hasSplitBorders","alignLeft","alignRight","alignCenter","blockTable","icon","tableColumnAfter","tableColumnBefore","tableColumnDelete","tableRowAfter","tableRowBefore","tableRowDelete","table","createBlock","getDefaultBlockName","createTable","updateSelectedCell","getCellAttribute","insertRow","deleteRow","insertColumn","deleteColumn","toggleSection","isEmptyTableSection","ALIGNMENT_CONTROLS","title","align","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","createElement","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","hasFixedLayout","caption","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","isDisabled","onClick","renderedSections","map","key","cells","tag","CellTag","scope","colspan","rowspan","tagName","className","undefined","colSpan","rowSpan","value","onFocus","isEmpty","length","ref","Fragment","group","label","alignmentControls","nextAlign","hasArrowIndicator","controls","__nextHasNoMarginBottom","checked","style","border","identifier","__unstableOnSplitAtEnd","showColors","instructions","onSubmit","min","variant"],"sources":["@wordpress/block-library/src/table/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected,\n} ) {\n\tconst { hasFixedLayout, caption, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string | undefined} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = sections.map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\ttag: CellTag,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName={ CellTag }\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\tclassName=\"blocks-table-settings\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\taria-label={ __( 'Table caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\t// Deselect the selected table cell when the caption is focused.\n\t\t\t\t\tonFocus={ () => setSelectedCell() }\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isEmpty && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useEffect","useRef","useState","InspectorControls","BlockControls","RichText","BlockIcon","AlignmentControl","useBlockProps","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetElementClassName","__","Button","PanelBody","Placeholder","TextControl","ToggleControl","ToolbarDropdownMenu","__experimentalHasSplitBorders","hasSplitBorders","alignLeft","alignRight","alignCenter","blockTable","icon","tableColumnAfter","tableColumnBefore","tableColumnDelete","tableRowAfter","tableRowBefore","tableRowDelete","table","createBlock","getDefaultBlockName","createTable","updateSelectedCell","getCellAttribute","insertRow","deleteRow","insertColumn","deleteColumn","toggleSection","isEmptyTableSection","ALIGNMENT_CONTROLS","title","align","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","createElement","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","hasFixedLayout","caption","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","isDisabled","onClick","renderedSections","map","key","cells","tag","CellTag","scope","colspan","rowspan","undefined","colSpan","rowSpan","className","value","onFocus","isEmpty","length","ref","Fragment","group","label","alignmentControls","nextAlign","hasArrowIndicator","controls","__nextHasNoMarginBottom","checked","style","border","identifier","tagName","__unstableOnSplitAtEnd","showColors","instructions","onSubmit","min","variant"],"sources":["@wordpress/block-library/src/table/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected,\n} ) {\n\tconst { hasFixedLayout, caption, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string | undefined} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td div[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = sections.map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\ttag: CellTag,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<CellTag\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</CellTag>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\tclassName=\"blocks-table-settings\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\taria-label={ __( 'Table caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\t// Deselect the selected table cell when the caption is focused.\n\t\t\t\t\tonFocus={ () => setSelectedCell() }\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isEmpty && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"],"mappings":"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"}
|