@wordpress/block-library 8.14.0 → 8.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/avatar/edit.js +1 -0
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/index.js +3 -0
- package/build/avatar/index.js.map +1 -1
- package/build/block/edit.js +2 -30
- package/build/block/edit.js.map +1 -1
- package/build/block/index.js +2 -1
- package/build/block/index.js.map +1 -1
- package/build/buttons/edit.js +2 -2
- package/build/buttons/edit.js.map +1 -1
- package/build/column/edit.native.js +1 -4
- package/build/column/edit.native.js.map +1 -1
- package/build/columns/edit.js +1 -0
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -0
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/deprecated.js +4 -2
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/index.js +2 -1
- package/build/cover/index.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +37 -13
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/file/index.js +1 -2
- package/build/file/index.js.map +1 -1
- package/build/file/inspector.js +1 -0
- package/build/file/inspector.js.map +1 -1
- package/build/file/view-interactivity.js +23 -0
- package/build/file/view-interactivity.js.map +1 -0
- package/build/file/view.js +1 -15
- package/build/file/view.js.map +1 -1
- package/build/footnotes/edit.js +31 -1
- package/build/footnotes/edit.js.map +1 -1
- package/build/footnotes/format.js +119 -23
- package/build/footnotes/format.js.map +1 -1
- package/build/footnotes/index.js +45 -4
- package/build/footnotes/index.js.map +1 -1
- package/build/gallery/edit.js +8 -6
- package/build/gallery/edit.js.map +1 -1
- package/build/image/deprecated.js +106 -2
- package/build/image/deprecated.js.map +1 -1
- package/build/image/image.js +2 -2
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +2 -1
- package/build/image/index.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +1 -0
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.js +2 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/edit.js +4 -4
- package/build/list/edit.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +10 -1
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/media-text/media-container.native.js +2 -1
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/missing/edit.native.js +7 -5
- package/build/missing/edit.native.js.map +1 -1
- package/build/navigation/constants.js +10 -4
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/index.js +16 -2
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +2 -2
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +1 -1
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +4 -4
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +2 -2
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +10 -15
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/index.js +2 -3
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +33 -45
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation/view-interactivity.js +185 -0
- package/build/navigation/view-interactivity.js.map +1 -0
- package/build/navigation/view-modal.js +125 -0
- package/build/navigation/view-modal.js.map +1 -0
- package/build/navigation/view.js +71 -163
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +12 -7
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +2 -2
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/pattern/edit.js +28 -4
- package/build/pattern/edit.js.map +1 -1
- package/build/preformatted/index.js +4 -0
- package/build/preformatted/index.js.map +1 -1
- package/build/query-pagination/edit.js +1 -1
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-title/edit.js +43 -1
- package/build/query-title/edit.js.map +1 -1
- package/build/quote/transforms.js +8 -0
- package/build/quote/transforms.js.map +1 -1
- package/build/rss/edit.js +3 -0
- package/build/rss/edit.js.map +1 -1
- package/build/search/edit.js +4 -3
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +1 -0
- package/build/search/index.js.map +1 -1
- package/build/search/view.js +166 -62
- package/build/search/view.js.map +1 -1
- package/build/site-logo/edit.js +1 -0
- package/build/site-logo/edit.js.map +1 -1
- package/build/social-link/icons/index.js +13 -0
- package/build/social-link/icons/index.js.map +1 -1
- package/build/social-link/icons/threads.js +25 -0
- package/build/social-link/icons/threads.js.map +1 -0
- package/build/social-link/variations.js +7 -0
- package/build/social-link/variations.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -0
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/import-controls.js +1 -1
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/index.js +1 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/text-columns/edit.js +1 -0
- package/build/text-columns/edit.js.map +1 -1
- package/build-module/avatar/edit.js +1 -0
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/avatar/index.js +3 -0
- package/build-module/avatar/index.js.map +1 -1
- package/build-module/block/edit.js +4 -29
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/index.js +2 -1
- package/build-module/block/index.js.map +1 -1
- package/build-module/buttons/edit.js +2 -2
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/column/edit.native.js +1 -4
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/columns/edit.js +1 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -0
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/deprecated.js +4 -2
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/index.js +2 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +37 -14
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/file/index.js +1 -2
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/inspector.js +1 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/file/view-interactivity.js +19 -0
- package/build-module/file/view-interactivity.js.map +1 -0
- package/build-module/file/view.js +2 -15
- package/build-module/file/view.js.map +1 -1
- package/build-module/footnotes/edit.js +29 -2
- package/build-module/footnotes/edit.js.map +1 -1
- package/build-module/footnotes/format.js +120 -25
- package/build-module/footnotes/format.js.map +1 -1
- package/build-module/footnotes/index.js +45 -4
- package/build-module/footnotes/index.js.map +1 -1
- package/build-module/gallery/edit.js +8 -6
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/image/deprecated.js +107 -3
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/image.js +2 -2
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +2 -1
- package/build-module/image/index.js.map +1 -1
- package/build-module/index.js +3 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +1 -0
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/edit.js +4 -4
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +10 -1
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/media-text/media-container.native.js +2 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/missing/edit.native.js +8 -6
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/navigation/constants.js +8 -3
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/index.js +17 -3
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +2 -2
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +4 -4
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +2 -2
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +10 -14
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/index.js +2 -3
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +35 -47
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation/view-interactivity.js +182 -0
- package/build-module/navigation/view-interactivity.js.map +1 -0
- package/build-module/navigation/view-modal.js +120 -0
- package/build-module/navigation/view-modal.js.map +1 -0
- package/build-module/navigation/view.js +72 -163
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +12 -7
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +2 -2
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/pattern/edit.js +27 -4
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/preformatted/index.js +4 -0
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/query-pagination/edit.js +1 -1
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-title/edit.js +44 -3
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/quote/transforms.js +8 -0
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/rss/edit.js +3 -0
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/search/edit.js +4 -3
- package/build-module/search/edit.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 +166 -62
- package/build-module/search/view.js.map +1 -1
- package/build-module/site-logo/edit.js +1 -0
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/social-link/icons/index.js +1 -0
- package/build-module/social-link/icons/index.js.map +1 -1
- package/build-module/social-link/icons/threads.js +15 -0
- package/build-module/social-link/icons/threads.js.map +1 -0
- package/build-module/social-link/variations.js +8 -1
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -0
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +2 -2
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/text-columns/edit.js +1 -0
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-style/details/style-rtl.css +4 -2
- package/build-style/details/style.css +4 -2
- package/build-style/footnotes/style-rtl.css +4 -3
- package/build-style/footnotes/style.css +4 -3
- package/build-style/navigation/style-rtl.css +14 -2
- package/build-style/navigation/style.css +14 -2
- package/build-style/preformatted/style-rtl.css +2 -1
- package/build-style/preformatted/style.css +2 -1
- package/build-style/query-pagination/style-rtl.css +4 -2
- package/build-style/query-pagination/style.css +4 -2
- package/build-style/social-links/style-rtl.css +7 -0
- package/build-style/social-links/style.css +7 -0
- package/build-style/style-rtl.css +36 -10
- package/build-style/style.css +36 -10
- package/build-style/video/style-rtl.css +1 -0
- package/build-style/video/style.css +1 -0
- package/package.json +33 -32
- package/src/audio/test/__snapshots__/edit.native.js.snap +118 -33
- package/src/avatar/block.json +3 -0
- package/src/avatar/edit.js +1 -0
- package/src/block/block.json +2 -1
- package/src/block/edit.js +1 -39
- package/src/block/editor.native.scss +2 -2
- package/src/buttons/edit.js +2 -2
- package/src/buttons/test/edit.native.js +4 -0
- package/src/column/edit.native.js +4 -10
- package/src/column/editor.native.scss +0 -4
- package/src/columns/edit.js +1 -0
- package/src/columns/test/edit.native.js +5 -0
- package/src/comment-author-avatar/edit.js +1 -0
- package/src/comment-template/index.php +7 -2
- package/src/cover/block.json +2 -1
- package/src/cover/deprecated.js +2 -0
- package/src/cover/test/edit.native.js +8 -0
- package/src/embed/embed-placeholder.native.js +80 -47
- package/src/embed/styles.native.scss +54 -18
- package/src/embed/test/index.native.js +13 -5
- package/src/file/block.json +1 -2
- package/src/file/index.php +20 -2
- package/src/file/inspector.js +1 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +119 -33
- package/src/file/view-interactivity.js +18 -0
- package/src/file/view.js +5 -14
- package/src/footnotes/block.json +44 -2
- package/src/footnotes/edit.js +33 -2
- package/src/footnotes/format.js +90 -25
- package/src/footnotes/index.js +0 -1
- package/src/footnotes/index.php +207 -0
- package/src/footnotes/style.scss +6 -3
- package/src/gallery/edit.js +42 -38
- package/src/gallery/test/index.native.js +31 -18
- package/src/heading/test/index.native.js +4 -0
- package/src/home-link/index.php +15 -2
- package/src/image/block.json +2 -1
- package/src/image/deprecated.js +109 -3
- package/src/image/image.js +2 -2
- package/src/image/index.php +45 -8
- package/src/image/test/edit.native.js +1 -2
- package/src/index.js +5 -1
- package/src/latest-comments/edit.js +1 -0
- package/src/latest-posts/edit.js +2 -0
- package/src/list/edit.js +6 -4
- package/src/list/test/edit.native.js +134 -33
- package/src/list-item/hooks/use-merge.js +12 -5
- package/src/media-text/media-container.native.js +1 -0
- package/src/missing/edit.native.js +12 -10
- package/src/missing/style.native.scss +19 -12
- package/src/missing/test/__snapshots__/edit.native.js.snap +42 -13
- package/src/navigation/block.json +2 -3
- package/src/navigation/constants.js +12 -6
- package/src/navigation/edit/index.js +29 -1
- package/src/navigation/edit/inner-blocks.js +2 -2
- package/src/navigation/edit/menu-inspector-controls.js +1 -1
- package/src/navigation/edit/navigation-menu-selector.js +8 -4
- package/src/navigation/edit/unsaved-inner-blocks.js +2 -2
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +17 -21
- package/src/navigation/index.php +50 -18
- package/src/navigation/style.scss +27 -8
- package/src/navigation/use-navigation-menu.js +39 -63
- package/src/navigation/view-interactivity.js +196 -0
- package/src/navigation/view-modal.js +127 -0
- package/src/navigation/view.js +96 -185
- package/src/navigation-link/edit.js +61 -47
- package/src/navigation-submenu/edit.js +2 -2
- package/src/paragraph/test/__snapshots__/edit.native.js.snap +1 -0
- package/src/paragraph/test/edit.native.js +81 -35
- package/src/pattern/edit.js +21 -0
- package/src/pattern/index.php +13 -1
- package/src/post-template/index.php +6 -2
- package/src/post-title/index.php +8 -3
- package/src/preformatted/block.json +4 -0
- package/src/preformatted/style.scss +4 -1
- package/src/preformatted/test/__snapshots__/edit.native.js.snap +2 -0
- package/src/pullquote/test/edit.native.js +12 -4
- package/src/query-pagination/edit.js +17 -14
- package/src/query-title/edit.js +48 -6
- package/src/quote/test/__snapshots__/transforms.native.js.snap +10 -0
- package/src/quote/test/edit.native.js +12 -4
- package/src/quote/test/transforms.native.js +5 -1
- package/src/quote/transforms.js +13 -0
- package/src/rss/edit.js +3 -0
- package/src/search/block.json +1 -0
- package/src/search/edit.js +4 -3
- package/src/search/index.php +26 -4
- package/src/search/test/__snapshots__/edit.native.js.snap +70 -0
- package/src/search/view.js +171 -67
- package/src/site-logo/edit.js +1 -0
- package/src/social-link/icons/index.js +1 -0
- package/src/social-link/icons/threads.js +10 -0
- package/src/social-link/index.php +4 -0
- package/src/social-link/socials-with-bg.scss +5 -0
- package/src/social-link/socials-without-bg.scss +4 -0
- package/src/social-link/variations.js +7 -0
- package/src/tag-cloud/edit.js +1 -0
- package/src/template-part/edit/import-controls.js +2 -2
- package/src/template-part/edit/index.js +1 -1
- package/src/template-part/index.php +7 -16
- package/src/text-columns/edit.js +1 -0
- package/src/video/style.scss +1 -0
- package/build/gallery/shared-icon.native.js +0 -38
- package/build/gallery/shared-icon.native.js.map +0 -1
- package/build-module/gallery/shared-icon.native.js +0 -24
- package/build-module/gallery/shared-icon.native.js.map +0 -1
- package/src/gallery/shared-icon.native.js +0 -23
package/build/file/view.js
CHANGED
|
@@ -1,23 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interactivity = require("@wordpress/interactivity");
|
|
4
|
-
|
|
5
3
|
var _utils = require("./utils");
|
|
6
4
|
|
|
7
|
-
/**
|
|
8
|
-
* WordPress dependencies
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
5
|
/**
|
|
12
6
|
* Internal dependencies
|
|
13
7
|
*/
|
|
14
|
-
(
|
|
15
|
-
selectors: {
|
|
16
|
-
core: {
|
|
17
|
-
file: {
|
|
18
|
-
hasPdfPreview: _utils.browserSupportsPdfs
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
});
|
|
8
|
+
document.addEventListener('DOMContentLoaded', _utils.hidePdfEmbedsOnUnsupportedBrowsers);
|
|
23
9
|
//# sourceMappingURL=view.js.map
|
package/build/file/view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/file/view.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/file/view.js"],"names":["document","addEventListener","hidePdfEmbedsOnUnsupportedBrowsers"],"mappings":";;AAGA;;AAHA;AACA;AACA;AAGAA,QAAQ,CAACC,gBAAT,CACC,kBADD,EAECC,yCAFD","sourcesContent":["/**\n * Internal dependencies\n */\nimport { hidePdfEmbedsOnUnsupportedBrowsers } from './utils';\n\ndocument.addEventListener(\n\t'DOMContentLoaded',\n\thidePdfEmbedsOnUnsupportedBrowsers\n);\n"]}
|
package/build/footnotes/edit.js
CHANGED
|
@@ -11,6 +11,12 @@ var _blockEditor = require("@wordpress/block-editor");
|
|
|
11
11
|
|
|
12
12
|
var _coreData = require("@wordpress/core-data");
|
|
13
13
|
|
|
14
|
+
var _i18n = require("@wordpress/i18n");
|
|
15
|
+
|
|
16
|
+
var _components = require("@wordpress/components");
|
|
17
|
+
|
|
18
|
+
var _icons = require("@wordpress/icons");
|
|
19
|
+
|
|
14
20
|
/**
|
|
15
21
|
* WordPress dependencies
|
|
16
22
|
*/
|
|
@@ -22,7 +28,31 @@ function FootnotesEdit({
|
|
|
22
28
|
}) {
|
|
23
29
|
const [meta, updateMeta] = (0, _coreData.useEntityProp)('postType', postType, 'meta', postId);
|
|
24
30
|
const footnotes = meta?.footnotes ? JSON.parse(meta.footnotes) : [];
|
|
25
|
-
|
|
31
|
+
const blockProps = (0, _blockEditor.useBlockProps)();
|
|
32
|
+
|
|
33
|
+
if (postType !== 'post' && postType !== 'page') {
|
|
34
|
+
return (0, _element.createElement)("div", { ...blockProps
|
|
35
|
+
}, (0, _element.createElement)(_components.Placeholder, {
|
|
36
|
+
icon: (0, _element.createElement)(_blockEditor.BlockIcon, {
|
|
37
|
+
icon: _icons.formatListNumbered
|
|
38
|
+
}),
|
|
39
|
+
label: (0, _i18n.__)('Footnotes') // To do: add instructions. We can't add new string in RC.
|
|
40
|
+
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (!footnotes.length) {
|
|
45
|
+
return (0, _element.createElement)("div", { ...blockProps
|
|
46
|
+
}, (0, _element.createElement)(_components.Placeholder, {
|
|
47
|
+
icon: (0, _element.createElement)(_blockEditor.BlockIcon, {
|
|
48
|
+
icon: _icons.formatListNumbered
|
|
49
|
+
}),
|
|
50
|
+
label: (0, _i18n.__)('Footnotes'),
|
|
51
|
+
instructions: (0, _i18n.__)('Footnotes found in blocks within this document will be displayed here.')
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return (0, _element.createElement)("ol", { ...blockProps
|
|
26
56
|
}, footnotes.map(({
|
|
27
57
|
id,
|
|
28
58
|
content
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/footnotes/edit.js"],"names":["FootnotesEdit","context","postType","postId","meta","updateMeta","footnotes","JSON","parse","map","id","content","event","target","textContent","trim","scrollIntoView","nextFootnote","stringify","footnote"],"mappings":";;;;;;;;;AAGA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/footnotes/edit.js"],"names":["FootnotesEdit","context","postType","postId","meta","updateMeta","footnotes","JSON","parse","blockProps","icon","length","map","id","content","event","target","textContent","trim","scrollIntoView","nextFootnote","stringify","footnote"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAPA;AACA;AACA;AAOe,SAASA,aAAT,CAAwB;AAAEC,EAAAA,OAAO,EAAE;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ;AAAX,CAAxB,EAA4D;AAC1E,QAAM,CAAEC,IAAF,EAAQC,UAAR,IAAuB,6BAC5B,UAD4B,EAE5BH,QAF4B,EAG5B,MAH4B,EAI5BC,MAJ4B,CAA7B;AAMA,QAAMG,SAAS,GAAGF,IAAI,EAAEE,SAAN,GAAkBC,IAAI,CAACC,KAAL,CAAYJ,IAAI,CAACE,SAAjB,CAAlB,GAAiD,EAAnE;AACA,QAAMG,UAAU,GAAG,iCAAnB;;AAEA,MAAKP,QAAQ,KAAK,MAAb,IAAuBA,QAAQ,KAAK,MAAzC,EAAkD;AACjD,WACC,wCAAUO;AAAV,OACC,4BAAC,uBAAD;AACC,MAAA,IAAI,EAAG,4BAAC,sBAAD;AAAW,QAAA,IAAI,EAAGC;AAAlB,QADR;AAEC,MAAA,KAAK,EAAG,cAAI,WAAJ,CAFT,CAGC;;AAHD,MADD,CADD;AASA;;AAED,MAAK,CAAEJ,SAAS,CAACK,MAAjB,EAA0B;AACzB,WACC,wCAAUF;AAAV,OACC,4BAAC,uBAAD;AACC,MAAA,IAAI,EAAG,4BAAC,sBAAD;AAAW,QAAA,IAAI,EAAGC;AAAlB,QADR;AAEC,MAAA,KAAK,EAAG,cAAI,WAAJ,CAFT;AAGC,MAAA,YAAY,EAAG,cACd,wEADc;AAHhB,MADD,CADD;AAWA;;AAED,SACC,uCAASD;AAAT,KACGH,SAAS,CAACM,GAAV,CAAe,CAAE;AAAEC,IAAAA,EAAF;AAAMC,IAAAA;AAAN,GAAF,KAChB;AAAI,IAAA,GAAG,EAAGD;AAAV,KACC,4BAAC,qBAAD;AACC,IAAA,EAAE,EAAGA,EADN;AAEC,IAAA,OAAO,EAAC,MAFT;AAGC,IAAA,KAAK,EAAGC,OAHT;AAIC,IAAA,UAAU,EAAGD,EAJd,CAKC;AACA;AAND;AAOC,IAAA,OAAO,EAAKE,KAAF,IAAa;AACtB,UAAK,CAAEA,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBC,IAAzB,EAAP,EAAyC;AACxCH,QAAAA,KAAK,CAACC,MAAN,CAAaG,cAAb;AACA;AACD,KAXF;AAYC,IAAA,QAAQ,EAAKC,YAAF,IAAoB;AAC9Bf,MAAAA,UAAU,CAAE,EACX,GAAGD,IADQ;AAEXE,QAAAA,SAAS,EAAEC,IAAI,CAACc,SAAL,CACVf,SAAS,CAACM,GAAV,CAAiBU,QAAF,IAAgB;AAC9B,iBAAOA,QAAQ,CAACT,EAAT,KAAgBA,EAAhB,GACJ;AACAC,YAAAA,OAAO,EAAEM,YADT;AAEAP,YAAAA;AAFA,WADI,GAKJS,QALH;AAMA,SAPD,CADU;AAFA,OAAF,CAAV;AAaA;AA1BF,IADD,EA4BK,GA5BL,EA6BC;AAAG,IAAA,IAAI,EAAI,IAAIT,EAAI;AAAnB,oBA7BD,CADC,CADH,CADD;AAqCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockIcon, RichText, useBlockProps } from '@wordpress/block-editor';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { Placeholder } from '@wordpress/components';\nimport { formatListNumbered as icon } from '@wordpress/icons';\n\nexport default function FootnotesEdit( { context: { postType, postId } } ) {\n\tconst [ meta, updateMeta ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'meta',\n\t\tpostId\n\t);\n\tconst footnotes = meta?.footnotes ? JSON.parse( meta.footnotes ) : [];\n\tconst blockProps = useBlockProps();\n\n\tif ( postType !== 'post' && postType !== 'page' ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\t// To do: add instructions. We can't add new string in RC.\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( ! footnotes.length ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes found in blocks within this document will be displayed here.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ol { ...blockProps }>\n\t\t\t{ footnotes.map( ( { id, content } ) => (\n\t\t\t\t<li key={ id }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tidentifier={ id }\n\t\t\t\t\t\t// To do: figure out why the browser is not scrolling\n\t\t\t\t\t\t// into view when it receives focus.\n\t\t\t\t\t\tonFocus={ ( event ) => {\n\t\t\t\t\t\t\tif ( ! event.target.textContent.trim() ) {\n\t\t\t\t\t\t\t\tevent.target.scrollIntoView();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( nextFootnote ) => {\n\t\t\t\t\t\t\tupdateMeta( {\n\t\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\t\tfootnotes: JSON.stringify(\n\t\t\t\t\t\t\t\t\tfootnotes.map( ( footnote ) => {\n\t\t\t\t\t\t\t\t\t\treturn footnote.id === id\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: nextFootnote,\n\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: footnote;\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>{ ' ' }\n\t\t\t\t\t<a href={ `#${ id }-link` }>↩︎</a>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ol>\n\t);\n}\n"]}
|
|
@@ -21,6 +21,8 @@ var _data = require("@wordpress/data");
|
|
|
21
21
|
|
|
22
22
|
var _blocks = require("@wordpress/blocks");
|
|
23
23
|
|
|
24
|
+
var _lockUnlock = require("../lock-unlock");
|
|
25
|
+
|
|
24
26
|
/**
|
|
25
27
|
* External dependencies
|
|
26
28
|
*/
|
|
@@ -45,60 +47,155 @@ const {
|
|
|
45
47
|
textdomain: "default",
|
|
46
48
|
usesContext: ["postId", "postType"],
|
|
47
49
|
supports: {
|
|
50
|
+
__experimentalBorder: {
|
|
51
|
+
radius: true,
|
|
52
|
+
color: true,
|
|
53
|
+
width: true,
|
|
54
|
+
style: true,
|
|
55
|
+
__experimentalDefaultControls: {
|
|
56
|
+
radius: false,
|
|
57
|
+
color: false,
|
|
58
|
+
width: false,
|
|
59
|
+
style: false
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
color: {
|
|
63
|
+
background: true,
|
|
64
|
+
link: true,
|
|
65
|
+
text: true,
|
|
66
|
+
__experimentalDefaultControls: {
|
|
67
|
+
link: true,
|
|
68
|
+
text: true
|
|
69
|
+
}
|
|
70
|
+
},
|
|
48
71
|
html: false,
|
|
49
72
|
multiple: false,
|
|
50
|
-
|
|
51
|
-
|
|
73
|
+
reusable: false,
|
|
74
|
+
spacing: {
|
|
75
|
+
margin: true,
|
|
76
|
+
padding: true,
|
|
77
|
+
__experimentalDefaultControls: {
|
|
78
|
+
margin: false,
|
|
79
|
+
padding: false
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
typography: {
|
|
83
|
+
fontSize: true,
|
|
84
|
+
lineHeight: true,
|
|
85
|
+
__experimentalFontFamily: true,
|
|
86
|
+
__experimentalTextDecoration: true,
|
|
87
|
+
__experimentalFontStyle: true,
|
|
88
|
+
__experimentalFontWeight: true,
|
|
89
|
+
__experimentalLetterSpacing: true,
|
|
90
|
+
__experimentalTextTransform: true,
|
|
91
|
+
__experimentalWritingMode: true,
|
|
92
|
+
__experimentalDefaultControls: {
|
|
93
|
+
fontSize: true
|
|
94
|
+
}
|
|
95
|
+
}
|
|
52
96
|
},
|
|
53
97
|
style: "wp-block-footnotes"
|
|
54
98
|
};
|
|
99
|
+
const {
|
|
100
|
+
usesContextKey
|
|
101
|
+
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
55
102
|
const formatName = 'core/footnote';
|
|
56
103
|
exports.formatName = formatName;
|
|
104
|
+
const POST_CONTENT_BLOCK_NAME = 'core/post-content';
|
|
105
|
+
const SYNCED_PATTERN_BLOCK_NAME = 'core/block';
|
|
57
106
|
const format = {
|
|
58
107
|
title: (0, _i18n.__)('Footnote'),
|
|
59
|
-
tagName: '
|
|
108
|
+
tagName: 'sup',
|
|
60
109
|
className: 'fn',
|
|
61
110
|
attributes: {
|
|
62
|
-
id: 'id',
|
|
63
|
-
href: 'href',
|
|
64
111
|
'data-fn': 'data-fn'
|
|
65
112
|
},
|
|
66
113
|
contentEditable: false,
|
|
114
|
+
[usesContextKey]: ['postType'],
|
|
67
115
|
edit: function Edit({
|
|
68
116
|
value,
|
|
69
117
|
onChange,
|
|
70
|
-
isObjectActive
|
|
118
|
+
isObjectActive,
|
|
119
|
+
context: {
|
|
120
|
+
postType
|
|
121
|
+
}
|
|
71
122
|
}) {
|
|
72
123
|
const registry = (0, _data.useRegistry)();
|
|
73
124
|
const {
|
|
74
125
|
getSelectedBlockClientId,
|
|
126
|
+
getBlocks,
|
|
75
127
|
getBlockRootClientId,
|
|
76
128
|
getBlockName,
|
|
77
|
-
|
|
129
|
+
getBlockParentsByBlockName
|
|
78
130
|
} = (0, _data.useSelect)(_blockEditor.store);
|
|
131
|
+
const footnotesBlockType = (0, _data.useSelect)(select => select(_blocks.store).getBlockType(name));
|
|
132
|
+
/*
|
|
133
|
+
* This useSelect exists because we need to use its return value
|
|
134
|
+
* outside the event callback.
|
|
135
|
+
*/
|
|
136
|
+
|
|
137
|
+
const isBlockWithinPattern = (0, _data.useSelect)(select => {
|
|
138
|
+
const {
|
|
139
|
+
getBlockParentsByBlockName: _getBlockParentsByBlockName,
|
|
140
|
+
getSelectedBlockClientId: _getSelectedBlockClientId
|
|
141
|
+
} = select(_blockEditor.store);
|
|
142
|
+
|
|
143
|
+
const parentCoreBlocks = _getBlockParentsByBlockName(_getSelectedBlockClientId(), SYNCED_PATTERN_BLOCK_NAME);
|
|
144
|
+
|
|
145
|
+
return parentCoreBlocks && parentCoreBlocks.length > 0;
|
|
146
|
+
}, []);
|
|
79
147
|
const {
|
|
80
148
|
selectionChange,
|
|
81
149
|
insertBlock
|
|
82
150
|
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
83
151
|
|
|
152
|
+
if (!footnotesBlockType) {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (postType !== 'post' && postType !== 'page') {
|
|
157
|
+
return null;
|
|
158
|
+
} // Checks if the selected block lives within a pattern.
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
if (isBlockWithinPattern) {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
|
|
84
165
|
function onClick() {
|
|
85
166
|
registry.batch(() => {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
167
|
+
let id;
|
|
168
|
+
|
|
169
|
+
if (isObjectActive) {
|
|
170
|
+
const object = value.replacements[value.start];
|
|
171
|
+
id = object?.attributes?.['data-fn'];
|
|
172
|
+
} else {
|
|
173
|
+
id = (0, _uuid.v4)();
|
|
174
|
+
const newValue = (0, _richText.insertObject)(value, {
|
|
175
|
+
type: formatName,
|
|
176
|
+
attributes: {
|
|
177
|
+
'data-fn': id
|
|
178
|
+
},
|
|
179
|
+
innerHTML: `<a href="#${id}" id="${id}-link">*</a>`
|
|
180
|
+
}, value.end, value.end);
|
|
181
|
+
newValue.start = newValue.end - 1;
|
|
182
|
+
onChange(newValue);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const selectedClientId = getSelectedBlockClientId();
|
|
186
|
+
/*
|
|
187
|
+
* Attempts to find a common parent post content block.
|
|
188
|
+
* This allows for locating blocks within a page edited in the site editor.
|
|
189
|
+
*/
|
|
190
|
+
|
|
191
|
+
const parentPostContent = getBlockParentsByBlockName(selectedClientId, POST_CONTENT_BLOCK_NAME); // When called with a post content block, getBlocks will return
|
|
192
|
+
// the block with controlled inner blocks included.
|
|
193
|
+
|
|
194
|
+
const blocks = parentPostContent.length ? getBlocks(parentPostContent[0]) : getBlocks(); // BFS search to find the first footnote block.
|
|
98
195
|
|
|
99
196
|
let fnBlock = null;
|
|
100
197
|
{
|
|
101
|
-
const queue = [...
|
|
198
|
+
const queue = [...blocks];
|
|
102
199
|
|
|
103
200
|
while (queue.length) {
|
|
104
201
|
const block = queue.shift();
|
|
@@ -115,10 +212,9 @@ const format = {
|
|
|
115
212
|
// insert it at the bottom.
|
|
116
213
|
|
|
117
214
|
if (!fnBlock) {
|
|
118
|
-
|
|
119
|
-
let rootClientId = getBlockRootClientId(clientId);
|
|
215
|
+
let rootClientId = getBlockRootClientId(selectedClientId);
|
|
120
216
|
|
|
121
|
-
while (rootClientId && getBlockName(rootClientId) !==
|
|
217
|
+
while (rootClientId && getBlockName(rootClientId) !== POST_CONTENT_BLOCK_NAME) {
|
|
122
218
|
rootClientId = getBlockRootClientId(rootClientId);
|
|
123
219
|
}
|
|
124
220
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/footnotes/format.js"],"names":["formatName","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/footnotes/format.js"],"names":["usesContextKey","privateApis","formatName","POST_CONTENT_BLOCK_NAME","SYNCED_PATTERN_BLOCK_NAME","format","title","tagName","className","attributes","contentEditable","edit","Edit","value","onChange","isObjectActive","context","postType","registry","getSelectedBlockClientId","getBlocks","getBlockRootClientId","getBlockName","getBlockParentsByBlockName","blockEditorStore","footnotesBlockType","select","blocksStore","getBlockType","name","isBlockWithinPattern","_getBlockParentsByBlockName","_getSelectedBlockClientId","parentCoreBlocks","length","selectionChange","insertBlock","onClick","batch","id","object","replacements","start","newValue","type","innerHTML","end","selectedClientId","parentPostContent","blocks","fnBlock","queue","block","shift","push","innerBlocks","rootClientId","undefined","clientId","icon"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { v4 as createId } from 'uuid';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { formatListNumbered as icon } from '@wordpress/icons';\nimport { insertObject } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tstore as blockEditorStore,\n\tprivateApis,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name } from './block.json';\nimport { unlock } from '../lock-unlock';\n\nconst { usesContextKey } = unlock( privateApis );\n\nexport const formatName = 'core/footnote';\n\nconst POST_CONTENT_BLOCK_NAME = 'core/post-content';\nconst SYNCED_PATTERN_BLOCK_NAME = 'core/block';\n\nexport const format = {\n\ttitle: __( 'Footnote' ),\n\ttagName: 'sup',\n\tclassName: 'fn',\n\tattributes: {\n\t\t'data-fn': 'data-fn',\n\t},\n\tcontentEditable: false,\n\t[ usesContextKey ]: [ 'postType' ],\n\tedit: function Edit( {\n\t\tvalue,\n\t\tonChange,\n\t\tisObjectActive,\n\t\tcontext: { postType },\n\t} ) {\n\t\tconst registry = useRegistry();\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockName,\n\t\t\tgetBlockParentsByBlockName,\n\t\t} = useSelect( blockEditorStore );\n\t\tconst footnotesBlockType = useSelect( ( select ) =>\n\t\t\tselect( blocksStore ).getBlockType( name )\n\t\t);\n\t\t/*\n\t\t * This useSelect exists because we need to use its return value\n\t\t * outside the event callback.\n\t\t */\n\t\tconst isBlockWithinPattern = useSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName: _getBlockParentsByBlockName,\n\t\t\t\tgetSelectedBlockClientId: _getSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst parentCoreBlocks = _getBlockParentsByBlockName(\n\t\t\t\t_getSelectedBlockClientId(),\n\t\t\t\tSYNCED_PATTERN_BLOCK_NAME\n\t\t\t);\n\t\t\treturn parentCoreBlocks && parentCoreBlocks.length > 0;\n\t\t}, [] );\n\n\t\tconst { selectionChange, insertBlock } =\n\t\t\tuseDispatch( blockEditorStore );\n\n\t\tif ( ! footnotesBlockType ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( postType !== 'post' && postType !== 'page' ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Checks if the selected block lives within a pattern.\n\t\tif ( isBlockWithinPattern ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tfunction onClick() {\n\t\t\tregistry.batch( () => {\n\t\t\t\tlet id;\n\t\t\t\tif ( isObjectActive ) {\n\t\t\t\t\tconst object = value.replacements[ value.start ];\n\t\t\t\t\tid = object?.attributes?.[ 'data-fn' ];\n\t\t\t\t} else {\n\t\t\t\t\tid = createId();\n\t\t\t\t\tconst newValue = insertObject(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: formatName,\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t'data-fn': id,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tinnerHTML: `<a href=\"#${ id }\" id=\"${ id }-link\">*</a>`,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvalue.end,\n\t\t\t\t\t\tvalue.end\n\t\t\t\t\t);\n\t\t\t\t\tnewValue.start = newValue.end - 1;\n\t\t\t\t\tonChange( newValue );\n\t\t\t\t}\n\n\t\t\t\tconst selectedClientId = getSelectedBlockClientId();\n\n\t\t\t\t/*\n\t\t\t\t * Attempts to find a common parent post content block.\n\t\t\t\t * This allows for locating blocks within a page edited in the site editor.\n\t\t\t\t */\n\t\t\t\tconst parentPostContent = getBlockParentsByBlockName(\n\t\t\t\t\tselectedClientId,\n\t\t\t\t\tPOST_CONTENT_BLOCK_NAME\n\t\t\t\t);\n\n\t\t\t\t// When called with a post content block, getBlocks will return\n\t\t\t\t// the block with controlled inner blocks included.\n\t\t\t\tconst blocks = parentPostContent.length\n\t\t\t\t\t? getBlocks( parentPostContent[ 0 ] )\n\t\t\t\t\t: getBlocks();\n\n\t\t\t\t// BFS search to find the first footnote block.\n\t\t\t\tlet fnBlock = null;\n\t\t\t\t{\n\t\t\t\t\tconst queue = [ ...blocks ];\n\t\t\t\t\twhile ( queue.length ) {\n\t\t\t\t\t\tconst block = queue.shift();\n\t\t\t\t\t\tif ( block.name === name ) {\n\t\t\t\t\t\t\tfnBlock = block;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqueue.push( ...block.innerBlocks );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Maybe this should all also be moved to the entity provider.\n\t\t\t\t// When there is no footnotes block in the post, create one and\n\t\t\t\t// insert it at the bottom.\n\t\t\t\tif ( ! fnBlock ) {\n\t\t\t\t\tlet rootClientId = getBlockRootClientId( selectedClientId );\n\n\t\t\t\t\twhile (\n\t\t\t\t\t\trootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) !== POST_CONTENT_BLOCK_NAME\n\t\t\t\t\t) {\n\t\t\t\t\t\trootClientId = getBlockRootClientId( rootClientId );\n\t\t\t\t\t}\n\n\t\t\t\t\tfnBlock = createBlock( name );\n\n\t\t\t\t\tinsertBlock( fnBlock, undefined, rootClientId );\n\t\t\t\t}\n\n\t\t\t\tselectionChange( fnBlock.clientId, id, 0, 0 );\n\t\t\t} );\n\t\t}\n\n\t\treturn (\n\t\t\t<RichTextToolbarButton\n\t\t\t\ticon={ icon }\n\t\t\t\ttitle={ __( 'Footnote' ) }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tisActive={ isObjectActive }\n\t\t\t/>\n\t\t);\n\t},\n};\n"]}
|
package/build/footnotes/index.js
CHANGED
|
@@ -35,10 +35,52 @@ const metadata = {
|
|
|
35
35
|
textdomain: "default",
|
|
36
36
|
usesContext: ["postId", "postType"],
|
|
37
37
|
supports: {
|
|
38
|
+
__experimentalBorder: {
|
|
39
|
+
radius: true,
|
|
40
|
+
color: true,
|
|
41
|
+
width: true,
|
|
42
|
+
style: true,
|
|
43
|
+
__experimentalDefaultControls: {
|
|
44
|
+
radius: false,
|
|
45
|
+
color: false,
|
|
46
|
+
width: false,
|
|
47
|
+
style: false
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
color: {
|
|
51
|
+
background: true,
|
|
52
|
+
link: true,
|
|
53
|
+
text: true,
|
|
54
|
+
__experimentalDefaultControls: {
|
|
55
|
+
link: true,
|
|
56
|
+
text: true
|
|
57
|
+
}
|
|
58
|
+
},
|
|
38
59
|
html: false,
|
|
39
60
|
multiple: false,
|
|
40
|
-
|
|
41
|
-
|
|
61
|
+
reusable: false,
|
|
62
|
+
spacing: {
|
|
63
|
+
margin: true,
|
|
64
|
+
padding: true,
|
|
65
|
+
__experimentalDefaultControls: {
|
|
66
|
+
margin: false,
|
|
67
|
+
padding: false
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
typography: {
|
|
71
|
+
fontSize: true,
|
|
72
|
+
lineHeight: true,
|
|
73
|
+
__experimentalFontFamily: true,
|
|
74
|
+
__experimentalTextDecoration: true,
|
|
75
|
+
__experimentalFontStyle: true,
|
|
76
|
+
__experimentalFontWeight: true,
|
|
77
|
+
__experimentalLetterSpacing: true,
|
|
78
|
+
__experimentalTextTransform: true,
|
|
79
|
+
__experimentalWritingMode: true,
|
|
80
|
+
__experimentalDefaultControls: {
|
|
81
|
+
fontSize: true
|
|
82
|
+
}
|
|
83
|
+
}
|
|
42
84
|
},
|
|
43
85
|
style: "wp-block-footnotes"
|
|
44
86
|
};
|
|
@@ -50,8 +92,7 @@ exports.name = name;
|
|
|
50
92
|
const settings = {
|
|
51
93
|
icon: _icons.formatListNumbered,
|
|
52
94
|
edit: _edit.default
|
|
53
|
-
};
|
|
54
|
-
|
|
95
|
+
};
|
|
55
96
|
exports.settings = settings;
|
|
56
97
|
(0, _richText.registerFormatType)(_format.formatName, _format.format);
|
|
57
98
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/footnotes/index.js"],"names":["name","metadata","settings","icon","edit","formatName","format","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AAZA;AACA;AACA;;AAIA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/footnotes/index.js"],"names":["name","metadata","settings","icon","edit","formatName","format","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AAZA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,yBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;AAKP,kCAAoBC,kBAApB,EAAgCC,cAAhC;;AAEO,MAAMC,IAAI,GAAG,MAAM;AACzB,0BAAW;AAAEP,IAAAA,IAAF;AAAQC,IAAAA,QAAR;AAAkBC,IAAAA;AAAlB,GAAX;AACA,CAFM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { formatListNumbered as icon } from '@wordpress/icons';\nimport { registerFormatType } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport { formatName, format } from './format';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nregisterFormatType( formatName, format );\n\nexport const init = () => {\n\tinitBlock( { name, metadata, settings } );\n};\n"]}
|
package/build/gallery/edit.js
CHANGED
|
@@ -90,7 +90,8 @@ function GalleryEdit(props) {
|
|
|
90
90
|
clientId,
|
|
91
91
|
isSelected,
|
|
92
92
|
insertBlocksAfter,
|
|
93
|
-
isContentLocked
|
|
93
|
+
isContentLocked,
|
|
94
|
+
onFocus
|
|
94
95
|
} = props;
|
|
95
96
|
const {
|
|
96
97
|
columns,
|
|
@@ -391,7 +392,8 @@ function GalleryEdit(props) {
|
|
|
391
392
|
isAppender: hasImages,
|
|
392
393
|
disableMediaButtons: hasImages && !isSelected || imagesUploading,
|
|
393
394
|
value: hasImageIds ? images : {},
|
|
394
|
-
autoOpenMediaUpload: !hasImages && isSelected && wasBlockJustInserted
|
|
395
|
+
autoOpenMediaUpload: !hasImages && isSelected && wasBlockJustInserted,
|
|
396
|
+
onFocus
|
|
395
397
|
}
|
|
396
398
|
});
|
|
397
399
|
|
|
@@ -440,7 +442,7 @@ function GalleryEdit(props) {
|
|
|
440
442
|
max: Math.min(MAX_COLUMNS, images.length),
|
|
441
443
|
...MOBILE_CONTROL_PROPS_RANGE_CONTROL,
|
|
442
444
|
required: true,
|
|
443
|
-
|
|
445
|
+
__next40pxDefaultSize: true
|
|
444
446
|
}), (0, _element.createElement)(_components.ToggleControl, {
|
|
445
447
|
__nextHasNoMarginBottom: true,
|
|
446
448
|
label: (0, _i18n.__)('Crop images'),
|
|
@@ -473,7 +475,7 @@ function GalleryEdit(props) {
|
|
|
473
475
|
className: 'gallery-image-sizes'
|
|
474
476
|
}, (0, _element.createElement)(_components.BaseControl.VisualLabel, null, (0, _i18n.__)('Resolution')), (0, _element.createElement)(_primitives.View, {
|
|
475
477
|
className: 'gallery-image-sizes__loading'
|
|
476
|
-
}, (0, _element.createElement)(_components.Spinner, null), (0, _i18n.__)('Loading options…'))))), (0, _element.createElement)(_blockEditor.BlockControls, {
|
|
478
|
+
}, (0, _element.createElement)(_components.Spinner, null), (0, _i18n.__)('Loading options…'))))), _element.Platform.isWeb && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, {
|
|
477
479
|
group: "block"
|
|
478
480
|
}, !isContentLocked && (0, _element.createElement)(_components.ToolbarButton, {
|
|
479
481
|
onClick: () => {
|
|
@@ -499,10 +501,10 @@ function GalleryEdit(props) {
|
|
|
499
501
|
multiple: true,
|
|
500
502
|
mediaIds: images.filter(image => image.id).map(image => image.id),
|
|
501
503
|
addToGallery: hasImageIds
|
|
502
|
-
})),
|
|
504
|
+
})), (0, _element.createElement)(_gapStyles.default, {
|
|
503
505
|
blockGap: attributes.style?.spacing?.blockGap,
|
|
504
506
|
clientId: clientId
|
|
505
|
-
}), (0, _element.createElement)(_gallery.default, { ...props,
|
|
507
|
+
})), (0, _element.createElement)(_gallery.default, { ...props,
|
|
506
508
|
showCaption: showCaption,
|
|
507
509
|
ref: _element.Platform.isWeb ? captionRef : undefined,
|
|
508
510
|
images: images,
|