@wordpress/block-library 8.30.0 → 8.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/block/edit.js +22 -16
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.native.js +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/code/save.js +3 -1
- package/build/code/save.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/details/edit.js +1 -0
- package/build/details/edit.js.map +1 -1
- package/build/file/edit.js +2 -0
- package/build/file/edit.js.map +1 -1
- package/build/heading/index.js +4 -3
- package/build/heading/index.js.map +1 -1
- package/build/image/edit.js +10 -39
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +27 -6
- package/build/image/image.js.map +1 -1
- package/build/media-text/edit.js +33 -9
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +5 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +30 -11
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/save.js +2 -2
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/edit/index.js +23 -29
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +24 -23
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -4
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +15 -12
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation/view.js +12 -2
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +52 -27
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +31 -9
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/pattern/edit.js +3 -1
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +16 -4
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +13 -2
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-featured-image/overlay-controls.js +82 -0
- package/build/post-featured-image/overlay-controls.js.map +1 -0
- package/build/post-featured-image/overlay.js +5 -54
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/edit.js +2 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/quote/edit.js +18 -23
- package/build/quote/edit.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +2 -0
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +2 -2
- package/build/search/edit.native.js.map +1 -1
- package/build/site-tagline/edit.js +13 -4
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-tagline/index.js +4 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/icons/medium.js +1 -1
- package/build/social-link/icons/medium.js.map +1 -1
- package/build/social-link/icons/reddit.js +1 -1
- package/build/social-link/icons/reddit.js.map +1 -1
- package/build/table/deprecated.js +285 -175
- package/build/table/deprecated.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/template-part/edit/index.js +55 -47
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/inner-blocks.js +106 -10
- package/build/template-part/edit/inner-blocks.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +1 -9
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/utils/caption.js +19 -13
- package/build/utils/caption.js.map +1 -1
- package/build/utils/hooks.js +1 -0
- package/build/utils/hooks.js.map +1 -1
- package/build/video/edit.native.js +1 -1
- package/build/video/edit.native.js.map +1 -1
- package/build-module/block/edit.js +23 -17
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.native.js +1 -1
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/code/save.js +3 -1
- package/build-module/code/save.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/details/edit.js +1 -0
- package/build-module/details/edit.js.map +1 -1
- package/build-module/file/edit.js +2 -0
- package/build-module/file/edit.js.map +1 -1
- package/build-module/heading/index.js +4 -3
- package/build-module/heading/index.js.map +1 -1
- package/build-module/image/edit.js +11 -40
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +27 -6
- package/build-module/image/image.js.map +1 -1
- package/build-module/media-text/edit.js +34 -10
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +5 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +31 -12
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/save.js +2 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/edit/index.js +24 -30
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -4
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +15 -12
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation/view.js +12 -2
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +55 -30
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +31 -9
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/pattern/edit.js +3 -1
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +1 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +17 -5
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +13 -2
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-featured-image/overlay-controls.js +75 -0
- package/build-module/post-featured-image/overlay-controls.js.map +1 -0
- package/build-module/post-featured-image/overlay.js +7 -56
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/quote/edit.js +20 -25
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/read-more/edit.js +1 -0
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +2 -0
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +2 -2
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/site-tagline/edit.js +14 -5
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +4 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/icons/medium.js +1 -1
- package/build-module/social-link/icons/medium.js.map +1 -1
- package/build-module/social-link/icons/reddit.js +1 -1
- package/build-module/social-link/icons/reddit.js.map +1 -1
- package/build-module/table/deprecated.js +286 -176
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/template-part/edit/index.js +58 -50
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/inner-blocks.js +108 -12
- package/build-module/template-part/edit/inner-blocks.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +2 -10
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/utils/caption.js +19 -13
- package/build-module/utils/caption.js.map +1 -1
- package/build-module/utils/hooks.js +1 -0
- package/build-module/utils/hooks.js.map +1 -1
- package/build-module/video/edit.native.js +1 -1
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/audio/theme-rtl.css +1 -1
- package/build-style/audio/theme.css +1 -1
- package/build-style/cover/style-rtl.css +5 -2
- package/build-style/cover/style.css +5 -2
- package/build-style/editor-rtl.css +22 -12
- package/build-style/editor.css +22 -12
- package/build-style/embed/theme-rtl.css +1 -1
- package/build-style/embed/theme.css +1 -1
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/image/editor-rtl.css +0 -3
- package/build-style/image/editor.css +0 -3
- package/build-style/image/theme-rtl.css +1 -1
- package/build-style/image/theme.css +1 -1
- package/build-style/media-text/editor-rtl.css +7 -1
- package/build-style/media-text/editor.css +7 -1
- package/build-style/pullquote/theme-rtl.css +2 -1
- package/build-style/pullquote/theme.css +2 -1
- package/build-style/quote/theme-rtl.css +6 -6
- package/build-style/quote/theme.css +6 -6
- package/build-style/search/style-rtl.css +10 -0
- package/build-style/search/style.css +10 -0
- package/build-style/social-links/editor-rtl.css +0 -4
- package/build-style/social-links/editor.css +0 -4
- package/build-style/social-links/style-rtl.css +2 -2
- package/build-style/social-links/style.css +2 -2
- package/build-style/style-rtl.css +17 -4
- package/build-style/style.css +17 -4
- package/build-style/table/theme-rtl.css +4 -3
- package/build-style/table/theme.css +4 -3
- package/build-style/template-part/editor-rtl.css +12 -4
- package/build-style/template-part/editor.css +12 -4
- package/build-style/template-part/theme-rtl.css +1 -1
- package/build-style/template-part/theme.css +1 -1
- package/build-style/theme-rtl.css +17 -15
- package/build-style/theme.css +17 -15
- package/build-style/video/theme-rtl.css +1 -1
- package/build-style/video/theme.css +1 -1
- package/package.json +34 -34
- package/src/archives/index.php +4 -0
- package/src/audio/theme.scss +1 -1
- package/src/avatar/index.php +6 -0
- package/src/block/edit.js +43 -32
- package/src/block/index.php +4 -0
- package/src/block/test/edit.native.js +67 -0
- package/src/button/edit.native.js +1 -1
- package/src/calendar/index.php +12 -0
- package/src/categories/index.php +6 -0
- package/src/code/save.js +7 -1
- package/src/comment-author-name/index.php +4 -0
- package/src/comment-content/index.php +4 -0
- package/src/comment-date/index.php +4 -0
- package/src/comment-edit-link/index.php +4 -0
- package/src/comment-reply-link/index.php +4 -0
- package/src/comment-template/index.php +4 -0
- package/src/comments/index.php +10 -0
- package/src/comments-pagination/index.php +4 -0
- package/src/comments-pagination-next/index.php +4 -0
- package/src/comments-pagination-numbers/index.php +4 -0
- package/src/comments-pagination-previous/index.php +4 -0
- package/src/comments-title/index.php +4 -0
- package/src/cover/edit/index.js +4 -1
- package/src/cover/index.php +4 -0
- package/src/cover/style.scss +6 -2
- package/src/details/edit.js +1 -0
- package/src/embed/theme.scss +1 -1
- package/src/file/edit.js +2 -0
- package/src/file/editor.scss +3 -0
- package/src/file/index.php +4 -0
- package/src/gallery/editor.scss +1 -1
- package/src/gallery/index.php +7 -1
- package/src/heading/index.js +4 -3
- package/src/heading/index.php +4 -0
- package/src/home-link/index.php +10 -0
- package/src/image/edit.js +11 -40
- package/src/image/editor.scss +2 -7
- package/src/image/image.js +25 -7
- package/src/image/index.php +12 -1
- package/src/image/theme.scss +1 -1
- package/src/latest-comments/index.php +4 -0
- package/src/latest-posts/index.php +8 -0
- package/src/loginout/index.php +4 -0
- package/src/media-text/block.json +5 -0
- package/src/media-text/edit.js +70 -19
- package/src/media-text/editor.scss +7 -1
- package/src/media-text/index.php +70 -0
- package/src/media-text/media-container.js +49 -9
- package/src/media-text/save.js +2 -2
- package/src/navigation/edit/index.js +67 -71
- package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
- package/src/navigation/edit/navigation-menu-selector.js +39 -21
- package/src/navigation/edit/placeholder/index.js +4 -4
- package/src/navigation/edit/test/navigation-menu-selector.js +75 -53
- package/src/navigation/index.php +109 -26
- package/src/navigation/test/use-navigation-menu.js +21 -21
- package/src/navigation/use-navigation-menu.js +23 -9
- package/src/navigation/view.js +11 -2
- package/src/navigation-link/edit.js +64 -39
- package/src/navigation-link/index.php +14 -0
- package/src/navigation-submenu/edit.js +34 -10
- package/src/navigation-submenu/index.php +8 -0
- package/src/page-list/index.php +12 -0
- package/src/page-list-item/index.php +2 -0
- package/src/pattern/edit.js +4 -0
- package/src/pattern/index.php +2 -0
- package/src/post-author/edit.js +1 -0
- package/src/post-author/index.php +4 -0
- package/src/post-author-biography/index.php +4 -0
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/index.php +6 -0
- package/src/post-content/index.php +4 -0
- package/src/post-date/index.php +4 -0
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-excerpt/index.php +4 -0
- package/src/post-featured-image/block.json +13 -2
- package/src/post-featured-image/edit.js +16 -1
- package/src/post-featured-image/editor.scss +1 -1
- package/src/post-featured-image/index.php +15 -0
- package/src/post-featured-image/overlay-controls.js +88 -0
- package/src/post-featured-image/overlay.js +17 -84
- package/src/post-navigation-link/edit.js +1 -0
- package/src/post-navigation-link/index.php +4 -0
- package/src/post-template/index.php +4 -0
- package/src/post-terms/edit.js +2 -0
- package/src/post-terms/index.php +6 -0
- package/src/post-title/index.php +2 -0
- package/src/pullquote/theme.scss +3 -1
- package/src/query/index.php +2 -0
- package/src/query-no-results/index.php +6 -0
- package/src/query-pagination/index.php +4 -0
- package/src/query-pagination-next/index.php +6 -0
- package/src/query-pagination-numbers/index.php +6 -0
- package/src/query-pagination-previous/index.php +4 -0
- package/src/query-title/index.php +4 -0
- package/src/quote/edit.js +27 -37
- package/src/quote/test/edit.native.js +4 -6
- package/src/quote/theme.scss +1 -2
- package/src/read-more/edit.js +1 -0
- package/src/read-more/index.php +4 -0
- package/src/rss/index.php +4 -0
- package/src/search/edit.js +2 -0
- package/src/search/edit.native.js +2 -2
- package/src/search/index.php +19 -1
- package/src/search/style.scss +11 -0
- package/src/shortcode/index.php +4 -0
- package/src/site-logo/editor.scss +2 -2
- package/src/site-logo/index.php +20 -0
- package/src/site-tagline/block.json +4 -0
- package/src/site-tagline/edit.js +16 -3
- package/src/site-tagline/index.php +13 -1
- package/src/site-title/index.php +4 -0
- package/src/social-link/edit.js +1 -1
- package/src/social-link/icons/medium.js +1 -1
- package/src/social-link/icons/reddit.js +1 -1
- package/src/social-link/index.php +22 -9
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/social-links/editor.scss +1 -9
- package/src/table/block.json +1 -1
- package/src/table/deprecated.js +308 -175
- package/src/table/theme.scss +4 -2
- package/src/tag-cloud/index.php +4 -0
- package/src/template-part/edit/index.js +87 -79
- package/src/template-part/edit/inner-blocks.js +126 -13
- package/src/template-part/edit/selection-modal.js +1 -22
- package/src/template-part/editor.scss +11 -3
- package/src/template-part/index.php +12 -0
- package/src/template-part/theme.scss +1 -1
- package/src/term-description/index.php +4 -0
- package/src/utils/caption.js +19 -16
- package/src/utils/hooks.js +1 -0
- package/src/video/edit.native.js +2 -0
- package/src/video/editor.scss +2 -2
- package/src/video/theme.scss +1 -1
- package/tsconfig.json +1 -0
package/CHANGELOG.md
CHANGED
package/build/block/edit.js
CHANGED
|
@@ -34,7 +34,7 @@ const {
|
|
|
34
34
|
useLayoutClasses
|
|
35
35
|
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
36
36
|
const {
|
|
37
|
-
|
|
37
|
+
isOverridableBlock
|
|
38
38
|
} = (0, _lockUnlock.unlock)(_patterns.privateApis);
|
|
39
39
|
const fullAlignments = ['full', 'wide', 'left', 'right'];
|
|
40
40
|
function getLegacyIdMap(blocks, content, nameCount = {}) {
|
|
@@ -78,12 +78,9 @@ const useInferredLayout = (blocks, parentLayout) => {
|
|
|
78
78
|
};
|
|
79
79
|
}, [blocks, parentLayout]);
|
|
80
80
|
};
|
|
81
|
-
function hasOverridableAttributes(block) {
|
|
82
|
-
return Object.keys(PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(block.name) && !!block.attributes.metadata?.bindings && Object.values(block.attributes.metadata.bindings).some(binding => binding.source === 'core/pattern-overrides');
|
|
83
|
-
}
|
|
84
81
|
function hasOverridableBlocks(blocks) {
|
|
85
82
|
return blocks.some(block => {
|
|
86
|
-
if (
|
|
83
|
+
if (isOverridableBlock(block)) return true;
|
|
87
84
|
return hasOverridableBlocks(block.innerBlocks);
|
|
88
85
|
});
|
|
89
86
|
}
|
|
@@ -95,7 +92,7 @@ function applyInitialContentValuesToInnerBlocks(blocks, content = {}, defaultVal
|
|
|
95
92
|
var _legacyIdMap$block$cl;
|
|
96
93
|
const innerBlocks = applyInitialContentValuesToInnerBlocks(block.innerBlocks, content, defaultValues, legacyIdMap);
|
|
97
94
|
const metadataName = (_legacyIdMap$block$cl = legacyIdMap?.[block.clientId]) !== null && _legacyIdMap$block$cl !== void 0 ? _legacyIdMap$block$cl : block.attributes.metadata?.name;
|
|
98
|
-
if (!metadataName || !
|
|
95
|
+
if (!metadataName || !isOverridableBlock(block)) {
|
|
99
96
|
return {
|
|
100
97
|
...block,
|
|
101
98
|
innerBlocks
|
|
@@ -137,7 +134,7 @@ function getContentValuesFromInnerBlocks(blocks, defaultValues, legacyIdMap) {
|
|
|
137
134
|
Object.assign(content, getContentValuesFromInnerBlocks(block.innerBlocks, defaultValues, legacyIdMap));
|
|
138
135
|
}
|
|
139
136
|
const metadataName = (_legacyIdMap$block$cl2 = legacyIdMap?.[block.clientId]) !== null && _legacyIdMap$block$cl2 !== void 0 ? _legacyIdMap$block$cl2 : block.attributes.metadata?.name;
|
|
140
|
-
if (!metadataName || !
|
|
137
|
+
if (!metadataName || !isOverridableBlock(block)) {
|
|
141
138
|
continue;
|
|
142
139
|
}
|
|
143
140
|
const attributes = getOverridableAttributes(block);
|
|
@@ -159,7 +156,7 @@ function getContentValuesFromInnerBlocks(blocks, defaultValues, legacyIdMap) {
|
|
|
159
156
|
}
|
|
160
157
|
function setBlockEditMode(setEditMode, blocks, mode) {
|
|
161
158
|
blocks.forEach(block => {
|
|
162
|
-
const editMode = mode || (
|
|
159
|
+
const editMode = mode || (isOverridableBlock(block) ? 'contentOnly' : 'disabled');
|
|
163
160
|
setEditMode(block.clientId, editMode);
|
|
164
161
|
setBlockEditMode(setEditMode, block.innerBlocks,
|
|
165
162
|
// Disable editing for nested patterns.
|
|
@@ -204,7 +201,8 @@ function ReusableBlockEdit({
|
|
|
204
201
|
userCanEdit,
|
|
205
202
|
getBlockEditingMode,
|
|
206
203
|
onNavigateToEntityRecord,
|
|
207
|
-
editingMode
|
|
204
|
+
editingMode,
|
|
205
|
+
hasPatternOverridesSource
|
|
208
206
|
} = (0, _data.useSelect)(select => {
|
|
209
207
|
const {
|
|
210
208
|
canUser
|
|
@@ -214,6 +212,9 @@ function ReusableBlockEdit({
|
|
|
214
212
|
getSettings,
|
|
215
213
|
getBlockEditingMode: _getBlockEditingMode
|
|
216
214
|
} = select(_blockEditor.store);
|
|
215
|
+
const {
|
|
216
|
+
getBlockBindingsSource
|
|
217
|
+
} = (0, _lockUnlock.unlock)(select(_blocks.store));
|
|
217
218
|
const blocks = getBlocks(patternClientId);
|
|
218
219
|
const canEdit = canUser('update', 'blocks', ref);
|
|
219
220
|
|
|
@@ -223,7 +224,8 @@ function ReusableBlockEdit({
|
|
|
223
224
|
userCanEdit: canEdit,
|
|
224
225
|
getBlockEditingMode: _getBlockEditingMode,
|
|
225
226
|
onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord,
|
|
226
|
-
editingMode: _getBlockEditingMode(patternClientId)
|
|
227
|
+
editingMode: _getBlockEditingMode(patternClientId),
|
|
228
|
+
hasPatternOverridesSource: !!getBlockBindingsSource('core/pattern-overrides')
|
|
227
229
|
};
|
|
228
230
|
}, [patternClientId, ref]);
|
|
229
231
|
|
|
@@ -231,9 +233,9 @@ function ReusableBlockEdit({
|
|
|
231
233
|
(0, _element.useEffect)(() => {
|
|
232
234
|
setBlockEditMode(setBlockEditingMode, innerBlocks,
|
|
233
235
|
// Disable editing if the pattern itself is disabled.
|
|
234
|
-
editingMode === 'disabled' ? 'disabled' : undefined);
|
|
235
|
-
}, [editingMode, innerBlocks, setBlockEditingMode]);
|
|
236
|
-
const canOverrideBlocks = (0, _element.useMemo)(() => hasOverridableBlocks(innerBlocks), [innerBlocks]);
|
|
236
|
+
editingMode === 'disabled' || !hasPatternOverridesSource ? 'disabled' : undefined);
|
|
237
|
+
}, [editingMode, innerBlocks, setBlockEditingMode, hasPatternOverridesSource]);
|
|
238
|
+
const canOverrideBlocks = (0, _element.useMemo)(() => hasPatternOverridesSource && hasOverridableBlocks(innerBlocks), [hasPatternOverridesSource, innerBlocks]);
|
|
237
239
|
const initialBlocks = (0, _element.useMemo)(() => {
|
|
238
240
|
var _editedRecord$blocks$;
|
|
239
241
|
return (// Clone the blocks to generate new client IDs.
|
|
@@ -252,11 +254,12 @@ function ReusableBlockEdit({
|
|
|
252
254
|
registry.batch(() => {
|
|
253
255
|
setBlockEditingMode(patternClientId, 'default');
|
|
254
256
|
syncDerivedUpdates(() => {
|
|
255
|
-
|
|
257
|
+
const blocks = hasPatternOverridesSource ? applyInitialContentValuesToInnerBlocks(initialBlocks, initialContent.current, defaultContent.current, legacyIdMap.current) : initialBlocks;
|
|
258
|
+
replaceInnerBlocks(patternClientId, blocks);
|
|
256
259
|
});
|
|
257
260
|
setBlockEditingMode(patternClientId, originalEditingMode);
|
|
258
261
|
});
|
|
259
|
-
}, [__unstableMarkNextChangeAsNotPersistent, patternClientId, initialBlocks, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode, syncDerivedUpdates]);
|
|
262
|
+
}, [hasPatternOverridesSource, __unstableMarkNextChangeAsNotPersistent, patternClientId, initialBlocks, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode, syncDerivedUpdates]);
|
|
260
263
|
const {
|
|
261
264
|
alignment,
|
|
262
265
|
layout
|
|
@@ -278,6 +281,9 @@ function ReusableBlockEdit({
|
|
|
278
281
|
// Sync the `content` attribute from the updated blocks to the pattern block.
|
|
279
282
|
// `syncDerivedUpdates` is used here to avoid creating an additional undo level.
|
|
280
283
|
(0, _element.useEffect)(() => {
|
|
284
|
+
if (!hasPatternOverridesSource) {
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
281
287
|
const {
|
|
282
288
|
getBlocks
|
|
283
289
|
} = registry.select(_blockEditor.store);
|
|
@@ -293,7 +299,7 @@ function ReusableBlockEdit({
|
|
|
293
299
|
});
|
|
294
300
|
}
|
|
295
301
|
}, _blockEditor.store);
|
|
296
|
-
}, [syncDerivedUpdates, patternClientId, registry, setAttributes]);
|
|
302
|
+
}, [hasPatternOverridesSource, syncDerivedUpdates, patternClientId, registry, setAttributes]);
|
|
297
303
|
const handleEditOriginal = () => {
|
|
298
304
|
onNavigateToEntityRecord({
|
|
299
305
|
postId: ref,
|
package/build/block/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_patterns","_blocks","_richText","_index","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","PARTIAL_SYNCING_SUPPORTED_BLOCKS","patternsPrivateApis","fullAlignments","getLegacyIdMap","blocks","content","nameCount","idToClientIdMap","block","innerBlocks","length","id","attributes","metadata","clientId","useInferredLayout","parentLayout","initialInferredAlignmentRef","useRef","useMemo","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","includes","align","layout","hasOverridableAttributes","Object","keys","name","bindings","values","binding","source","hasOverridableBlocks","getOverridableAttributes","entries","filter","map","attributeKey","applyInitialContentValuesToInnerBlocks","defaultValues","legacyIdMap","_legacyIdMap$block$cl","metadataName","newAttributes","_defaultValues$metada","contentValues","isAttributeEqual","attribute1","attribute2","RichTextData","toString","getContentValuesFromInnerBlocks","_legacyIdMap$block$cl2","patternBlockName","assign","_content$metadataName","setBlockEditMode","setEditMode","mode","forEach","editMode","ReusableBlockEdit","ref","__unstableParentLayout","patternClientId","setAttributes","registry","useRegistry","hasAlreadyRendered","useHasRecursion","record","editedRecord","hasResolved","useEntityRecord","isMissing","initialContent","defaultContent","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","syncDerivedUpdates","userCanEdit","getBlockEditingMode","onNavigateToEntityRecord","editingMode","useSelect","select","canUser","coreStore","getBlocks","getSettings","_getBlockEditingMode","canEdit","useEffect","canOverrideBlocks","initialBlocks","_editedRecord$blocks$","cloneBlock","parse","originalEditingMode","batch","layoutClasses","blockProps","useBlockProps","className","classnames","innerBlocksProps","useInnerBlocksProps","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","prevBlocks","subscribe","handleEditOriginal","postId","postType","resetContent","children","_react","createElement","Warning","__","Placeholder","Spinner","RecursionProvider","uniqueId","BlockControls","ToolbarGroup","ToolbarButton","onClick","disabled","__experimentalIsFocusable"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInnerBlocks,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { parse, cloneBlock } from '@wordpress/blocks';\nimport { RichTextData } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { PARTIAL_SYNCING_SUPPORTED_BLOCKS } = unlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nfunction getLegacyIdMap( blocks, content, nameCount = {} ) {\n\tlet idToClientIdMap = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block?.innerBlocks?.length ) {\n\t\t\tidToClientIdMap = {\n\t\t\t\t...idToClientIdMap,\n\t\t\t\t...getLegacyIdMap( block.innerBlocks, content, nameCount ),\n\t\t\t};\n\t\t}\n\n\t\tconst id = block.attributes.metadata?.id;\n\t\tconst clientId = block.clientId;\n\t\tif ( id && content?.[ id ] ) {\n\t\t\tidToClientIdMap[ clientId ] = id;\n\t\t}\n\t}\n\treturn idToClientIdMap;\n}\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction hasOverridableAttributes( block ) {\n\treturn (\n\t\tObject.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(\n\t\t\tblock.name\n\t\t) &&\n\t\t!! block.attributes.metadata?.bindings &&\n\t\tObject.values( block.attributes.metadata.bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t);\n}\n\nfunction hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( hasOverridableAttributes( block ) ) return true;\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\n}\n\nfunction getOverridableAttributes( block ) {\n\treturn Object.entries( block.attributes.metadata.bindings )\n\t\t.filter(\n\t\t\t( [ , binding ] ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nfunction applyInitialContentValuesToInnerBlocks(\n\tblocks,\n\tcontent = {},\n\tdefaultValues,\n\tlegacyIdMap\n) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialContentValuesToInnerBlocks(\n\t\t\tblock.innerBlocks,\n\t\t\tcontent,\n\t\t\tdefaultValues,\n\t\t\tlegacyIdMap\n\t\t);\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\n\t\tif ( ! metadataName || ! hasOverridableAttributes( block ) ) {\n\t\t\treturn { ...block, innerBlocks };\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ metadataName ] ??= {};\n\t\t\tdefaultValues[ metadataName ][ attributeKey ] =\n\t\t\t\tblock.attributes[ attributeKey ];\n\n\t\t\tconst contentValues = content[ metadataName ];\n\t\t\tif ( contentValues?.[ attributeKey ] !== undefined ) {\n\t\t\t\tnewAttributes[ attributeKey ] = contentValues[ attributeKey ];\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: newAttributes,\n\t\t\tinnerBlocks,\n\t\t};\n\t} );\n}\n\nfunction isAttributeEqual( attribute1, attribute2 ) {\n\tif (\n\t\tattribute1 instanceof RichTextData &&\n\t\tattribute2 instanceof RichTextData\n\t) {\n\t\treturn attribute1.toString() === attribute2.toString();\n\t}\n\treturn attribute1 === attribute2;\n}\n\nfunction getContentValuesFromInnerBlocks( blocks, defaultValues, legacyIdMap ) {\n\t/** @type {Record<string, { values: Record<string, unknown>}>} */\n\tconst content = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block.name === patternBlockName ) continue;\n\t\tif ( block.innerBlocks.length ) {\n\t\t\tObject.assign(\n\t\t\t\tcontent,\n\t\t\t\tgetContentValuesFromInnerBlocks(\n\t\t\t\t\tblock.innerBlocks,\n\t\t\t\t\tdefaultValues,\n\t\t\t\t\tlegacyIdMap\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\t\tif ( ! metadataName || ! hasOverridableAttributes( block ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\t! isAttributeEqual(\n\t\t\t\t\tblock.attributes[ attributeKey ],\n\t\t\t\t\tdefaultValues?.[ metadataName ]?.[ attributeKey ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tcontent[ metadataName ] ??= {};\n\t\t\t\t// TODO: We need a way to represent `undefined` in the serialized overrides.\n\t\t\t\t// Also see: https://github.com/WordPress/gutenberg/pull/57249#discussion_r1452987871\n\t\t\t\tcontent[ metadataName ][ attributeKey ] =\n\t\t\t\t\tblock.attributes[ attributeKey ] === undefined\n\t\t\t\t\t\t? // TODO: We use an empty string to represent undefined for now until\n\t\t\t\t\t\t // we support a richer format for overrides and the block binding API.\n\t\t\t\t\t\t // Currently only the `linkTarget` attribute of `core/button` is affected.\n\t\t\t\t\t\t ''\n\t\t\t\t\t\t: block.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( content ).length > 0 ? content : undefined;\n}\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( hasOverridableAttributes( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\n\t\tsetBlockEditMode(\n\t\t\tsetEditMode,\n\t\t\tblock.innerBlocks,\n\t\t\t// Disable editing for nested patterns.\n\t\t\tblock.name === patternBlockName ? 'disabled' : mode\n\t\t);\n\t} );\n}\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst registry = useRegistry();\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, editedRecord, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\n\t// The initial value of the `content` attribute.\n\tconst initialContent = useRef( content );\n\n\t// The default content values from the original pattern for overridable attributes.\n\t// Set by the `applyInitialContentValuesToInnerBlocks` function.\n\tconst defaultContent = useRef( {} );\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetBlockEditingMode,\n\t} = useDispatch( blockEditorStore );\n\tconst { syncDerivedUpdates } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tuserCanEdit,\n\t\tgetBlockEditingMode,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tconst canEdit = canUser( 'update', 'blocks', ref );\n\n\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\treturn {\n\t\t\t\tinnerBlocks: blocks,\n\t\t\t\tuserCanEdit: canEdit,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\teditingMode: _getBlockEditingMode( patternClientId ),\n\t\t\t};\n\t\t},\n\t\t[ patternClientId, ref ]\n\t);\n\n\t// Sync the editing mode of the pattern block with the inner blocks.\n\tuseEffect( () => {\n\t\tsetBlockEditMode(\n\t\t\tsetBlockEditingMode,\n\t\t\tinnerBlocks,\n\t\t\t// Disable editing if the pattern itself is disabled.\n\t\t\teditingMode === 'disabled' ? 'disabled' : undefined\n\t\t);\n\t}, [ editingMode, innerBlocks, setBlockEditingMode ] );\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasOverridableBlocks( innerBlocks ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst initialBlocks = useMemo(\n\t\t() =>\n\t\t\t// Clone the blocks to generate new client IDs.\n\t\t\teditedRecord.blocks?.map( ( block ) => cloneBlock( block ) ) ??\n\t\t\t( editedRecord.content && typeof editedRecord.content !== 'function'\n\t\t\t\t? parse( editedRecord.content )\n\t\t\t\t: [] ),\n\t\t[ editedRecord.blocks, editedRecord.content ]\n\t);\n\n\tconst legacyIdMap = useRef( {} );\n\n\t// Apply the initial overrides from the pattern block to the inner blocks.\n\tuseEffect( () => {\n\t\t// Build a map of clientIds to the old nano id system to provide back compat.\n\t\tlegacyIdMap.current = getLegacyIdMap(\n\t\t\tinitialBlocks,\n\t\t\tinitialContent.current\n\t\t);\n\t\tdefaultContent.current = {};\n\t\tconst originalEditingMode = getBlockEditingMode( patternClientId );\n\t\t// Replace the contents of the blocks with the overrides.\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( patternClientId, 'default' );\n\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\tpatternClientId,\n\t\t\t\t\tapplyInitialContentValuesToInnerBlocks(\n\t\t\t\t\t\tinitialBlocks,\n\t\t\t\t\t\tinitialContent.current,\n\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\tlegacyIdMap.current\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t\tsetBlockEditingMode( patternClientId, originalEditingMode );\n\t\t} );\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\tinitialBlocks,\n\t\treplaceInnerBlocks,\n\t\tregistry,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tsyncDerivedUpdates,\n\t] );\n\n\tconst { alignment, layout } = useInferredLayout(\n\t\tinnerBlocks,\n\t\tparentLayout\n\t);\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\trenderAppender: innerBlocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\t// Sync the `content` attribute from the updated blocks to the pattern block.\n\t// `syncDerivedUpdates` is used here to avoid creating an additional undo level.\n\tuseEffect( () => {\n\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\t\tlet prevBlocks = getBlocks( patternClientId );\n\t\treturn registry.subscribe( () => {\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tif ( blocks !== prevBlocks ) {\n\t\t\t\tprevBlocks = blocks;\n\t\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: getContentValuesFromInnerBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\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}, blockEditorStore );\n\t}, [ syncDerivedUpdates, patternClientId, registry, setAttributes ] );\n\n\tconst handleEditOriginal = () => {\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: ref,\n\t\t\tpostType: 'wp_block',\n\t\t} );\n\t};\n\n\tconst resetContent = () => {\n\t\tif ( content ) {\n\t\t\treplaceInnerBlocks( patternClientId, initialBlocks );\n\t\t}\n\t};\n\n\tlet children = null;\n\n\tif ( hasAlreadyRendered ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t{ userCanEdit && onNavigateToEntityRecord && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton onClick={ handleEditOriginal }>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ canOverrideBlocks && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ resetContent }\n\t\t\t\t\t\t\tdisabled={ ! content }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_patterns","_blocks","_richText","_index","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","isOverridableBlock","patternsPrivateApis","fullAlignments","getLegacyIdMap","blocks","content","nameCount","idToClientIdMap","block","innerBlocks","length","id","attributes","metadata","clientId","useInferredLayout","parentLayout","initialInferredAlignmentRef","useRef","useMemo","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","includes","align","layout","hasOverridableBlocks","getOverridableAttributes","Object","entries","bindings","filter","binding","source","map","attributeKey","applyInitialContentValuesToInnerBlocks","defaultValues","legacyIdMap","_legacyIdMap$block$cl","metadataName","name","newAttributes","_defaultValues$metada","contentValues","isAttributeEqual","attribute1","attribute2","RichTextData","toString","getContentValuesFromInnerBlocks","_legacyIdMap$block$cl2","patternBlockName","assign","_content$metadataName","keys","setBlockEditMode","setEditMode","mode","forEach","editMode","ReusableBlockEdit","ref","__unstableParentLayout","patternClientId","setAttributes","registry","useRegistry","hasAlreadyRendered","useHasRecursion","record","editedRecord","hasResolved","useEntityRecord","isMissing","initialContent","defaultContent","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","syncDerivedUpdates","userCanEdit","getBlockEditingMode","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","useSelect","select","canUser","coreStore","getBlocks","getSettings","_getBlockEditingMode","getBlockBindingsSource","blocksStore","canEdit","useEffect","canOverrideBlocks","initialBlocks","_editedRecord$blocks$","cloneBlock","parse","originalEditingMode","batch","layoutClasses","blockProps","useBlockProps","className","classnames","innerBlocksProps","useInnerBlocksProps","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","prevBlocks","subscribe","handleEditOriginal","postId","postType","resetContent","children","_react","createElement","Warning","__","Placeholder","Spinner","RecursionProvider","uniqueId","BlockControls","ToolbarGroup","ToolbarButton","onClick","disabled","__experimentalIsFocusable"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInnerBlocks,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { parse, cloneBlock, store as blocksStore } from '@wordpress/blocks';\nimport { RichTextData } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { isOverridableBlock } = unlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nfunction getLegacyIdMap( blocks, content, nameCount = {} ) {\n\tlet idToClientIdMap = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block?.innerBlocks?.length ) {\n\t\t\tidToClientIdMap = {\n\t\t\t\t...idToClientIdMap,\n\t\t\t\t...getLegacyIdMap( block.innerBlocks, content, nameCount ),\n\t\t\t};\n\t\t}\n\n\t\tconst id = block.attributes.metadata?.id;\n\t\tconst clientId = block.clientId;\n\t\tif ( id && content?.[ id ] ) {\n\t\t\tidToClientIdMap[ clientId ] = id;\n\t\t}\n\t}\n\treturn idToClientIdMap;\n}\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( isOverridableBlock( block ) ) return true;\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\n}\n\nfunction getOverridableAttributes( block ) {\n\treturn Object.entries( block.attributes.metadata.bindings )\n\t\t.filter(\n\t\t\t( [ , binding ] ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nfunction applyInitialContentValuesToInnerBlocks(\n\tblocks,\n\tcontent = {},\n\tdefaultValues,\n\tlegacyIdMap\n) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialContentValuesToInnerBlocks(\n\t\t\tblock.innerBlocks,\n\t\t\tcontent,\n\t\t\tdefaultValues,\n\t\t\tlegacyIdMap\n\t\t);\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\n\t\tif ( ! metadataName || ! isOverridableBlock( block ) ) {\n\t\t\treturn { ...block, innerBlocks };\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ metadataName ] ??= {};\n\t\t\tdefaultValues[ metadataName ][ attributeKey ] =\n\t\t\t\tblock.attributes[ attributeKey ];\n\n\t\t\tconst contentValues = content[ metadataName ];\n\t\t\tif ( contentValues?.[ attributeKey ] !== undefined ) {\n\t\t\t\tnewAttributes[ attributeKey ] = contentValues[ attributeKey ];\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: newAttributes,\n\t\t\tinnerBlocks,\n\t\t};\n\t} );\n}\n\nfunction isAttributeEqual( attribute1, attribute2 ) {\n\tif (\n\t\tattribute1 instanceof RichTextData &&\n\t\tattribute2 instanceof RichTextData\n\t) {\n\t\treturn attribute1.toString() === attribute2.toString();\n\t}\n\treturn attribute1 === attribute2;\n}\n\nfunction getContentValuesFromInnerBlocks( blocks, defaultValues, legacyIdMap ) {\n\t/** @type {Record<string, { values: Record<string, unknown>}>} */\n\tconst content = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block.name === patternBlockName ) continue;\n\t\tif ( block.innerBlocks.length ) {\n\t\t\tObject.assign(\n\t\t\t\tcontent,\n\t\t\t\tgetContentValuesFromInnerBlocks(\n\t\t\t\t\tblock.innerBlocks,\n\t\t\t\t\tdefaultValues,\n\t\t\t\t\tlegacyIdMap\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\t\tif ( ! metadataName || ! isOverridableBlock( block ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\t! isAttributeEqual(\n\t\t\t\t\tblock.attributes[ attributeKey ],\n\t\t\t\t\tdefaultValues?.[ metadataName ]?.[ attributeKey ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tcontent[ metadataName ] ??= {};\n\t\t\t\t// TODO: We need a way to represent `undefined` in the serialized overrides.\n\t\t\t\t// Also see: https://github.com/WordPress/gutenberg/pull/57249#discussion_r1452987871\n\t\t\t\tcontent[ metadataName ][ attributeKey ] =\n\t\t\t\t\tblock.attributes[ attributeKey ] === undefined\n\t\t\t\t\t\t? // TODO: We use an empty string to represent undefined for now until\n\t\t\t\t\t\t // we support a richer format for overrides and the block binding API.\n\t\t\t\t\t\t // Currently only the `linkTarget` attribute of `core/button` is affected.\n\t\t\t\t\t\t ''\n\t\t\t\t\t\t: block.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( content ).length > 0 ? content : undefined;\n}\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( isOverridableBlock( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\n\t\tsetBlockEditMode(\n\t\t\tsetEditMode,\n\t\t\tblock.innerBlocks,\n\t\t\t// Disable editing for nested patterns.\n\t\t\tblock.name === patternBlockName ? 'disabled' : mode\n\t\t);\n\t} );\n}\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst registry = useRegistry();\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, editedRecord, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\n\t// The initial value of the `content` attribute.\n\tconst initialContent = useRef( content );\n\n\t// The default content values from the original pattern for overridable attributes.\n\t// Set by the `applyInitialContentValuesToInnerBlocks` function.\n\tconst defaultContent = useRef( {} );\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetBlockEditingMode,\n\t} = useDispatch( blockEditorStore );\n\tconst { syncDerivedUpdates } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tuserCanEdit,\n\t\tgetBlockEditingMode,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t\thasPatternOverridesSource,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tconst canEdit = canUser( 'update', 'blocks', ref );\n\n\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\treturn {\n\t\t\t\tinnerBlocks: blocks,\n\t\t\t\tuserCanEdit: canEdit,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\teditingMode: _getBlockEditingMode( patternClientId ),\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ patternClientId, ref ]\n\t);\n\n\t// Sync the editing mode of the pattern block with the inner blocks.\n\tuseEffect( () => {\n\t\tsetBlockEditMode(\n\t\t\tsetBlockEditingMode,\n\t\t\tinnerBlocks,\n\t\t\t// Disable editing if the pattern itself is disabled.\n\t\t\teditingMode === 'disabled' || ! hasPatternOverridesSource\n\t\t\t\t? 'disabled'\n\t\t\t\t: undefined\n\t\t);\n\t}, [\n\t\teditingMode,\n\t\tinnerBlocks,\n\t\tsetBlockEditingMode,\n\t\thasPatternOverridesSource,\n\t] );\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasPatternOverridesSource && hasOverridableBlocks( innerBlocks ),\n\t\t[ hasPatternOverridesSource, innerBlocks ]\n\t);\n\n\tconst initialBlocks = useMemo(\n\t\t() =>\n\t\t\t// Clone the blocks to generate new client IDs.\n\t\t\teditedRecord.blocks?.map( ( block ) => cloneBlock( block ) ) ??\n\t\t\t( editedRecord.content && typeof editedRecord.content !== 'function'\n\t\t\t\t? parse( editedRecord.content )\n\t\t\t\t: [] ),\n\t\t[ editedRecord.blocks, editedRecord.content ]\n\t);\n\n\tconst legacyIdMap = useRef( {} );\n\n\t// Apply the initial overrides from the pattern block to the inner blocks.\n\tuseEffect( () => {\n\t\t// Build a map of clientIds to the old nano id system to provide back compat.\n\t\tlegacyIdMap.current = getLegacyIdMap(\n\t\t\tinitialBlocks,\n\t\t\tinitialContent.current\n\t\t);\n\t\tdefaultContent.current = {};\n\t\tconst originalEditingMode = getBlockEditingMode( patternClientId );\n\t\t// Replace the contents of the blocks with the overrides.\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( patternClientId, 'default' );\n\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\tconst blocks = hasPatternOverridesSource\n\t\t\t\t\t? applyInitialContentValuesToInnerBlocks(\n\t\t\t\t\t\t\tinitialBlocks,\n\t\t\t\t\t\t\tinitialContent.current,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\n\t\t\t\t\t )\n\t\t\t\t\t: initialBlocks;\n\n\t\t\t\treplaceInnerBlocks( patternClientId, blocks );\n\t\t\t} );\n\t\t\tsetBlockEditingMode( patternClientId, originalEditingMode );\n\t\t} );\n\t}, [\n\t\thasPatternOverridesSource,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\tinitialBlocks,\n\t\treplaceInnerBlocks,\n\t\tregistry,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tsyncDerivedUpdates,\n\t] );\n\n\tconst { alignment, layout } = useInferredLayout(\n\t\tinnerBlocks,\n\t\tparentLayout\n\t);\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\trenderAppender: innerBlocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\t// Sync the `content` attribute from the updated blocks to the pattern block.\n\t// `syncDerivedUpdates` is used here to avoid creating an additional undo level.\n\tuseEffect( () => {\n\t\tif ( ! hasPatternOverridesSource ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\t\tlet prevBlocks = getBlocks( patternClientId );\n\t\treturn registry.subscribe( () => {\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tif ( blocks !== prevBlocks ) {\n\t\t\t\tprevBlocks = blocks;\n\t\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: getContentValuesFromInnerBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\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}, blockEditorStore );\n\t}, [\n\t\thasPatternOverridesSource,\n\t\tsyncDerivedUpdates,\n\t\tpatternClientId,\n\t\tregistry,\n\t\tsetAttributes,\n\t] );\n\n\tconst handleEditOriginal = () => {\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: ref,\n\t\t\tpostType: 'wp_block',\n\t\t} );\n\t};\n\n\tconst resetContent = () => {\n\t\tif ( content ) {\n\t\t\treplaceInnerBlocks( patternClientId, initialBlocks );\n\t\t}\n\t};\n\n\tlet children = null;\n\n\tif ( hasAlreadyRendered ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t{ userCanEdit && onNavigateToEntityRecord && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton onClick={ handleEditOriginal }>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ canOverrideBlocks && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ resetContent }\n\t\t\t\t\t\t\tdisabled={ ! content }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -437,7 +437,7 @@ function ButtonEdit(props) {
|
|
|
437
437
|
pointerEvents: "none",
|
|
438
438
|
style: outLineStyles
|
|
439
439
|
}), (0, _react.createElement)(_blockEditor.RichText, {
|
|
440
|
-
|
|
440
|
+
ref: onSetRef,
|
|
441
441
|
placeholder: placeholderText,
|
|
442
442
|
value: text,
|
|
443
443
|
onChange: onChangeText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_element","_data","_i18n","_blockEditor","_components","_icons","_editPost","_richText","_interopRequireDefault","_editor","_colorBackground","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","styles","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","__","_react","createElement","PanelBody","title","BottomSheetSelectControl","onChange","ButtonEdit","props","isSelected","parentWidth","initialBorderRadius","attributes","style","border","radius","valueUnit","getValueAndUnit","editorSidebarOpened","numOfButtons","useSelect","select","isEditorSidebarOpened","editPostStore","getBlockCount","getBlockRootClientId","blockEditorStore","parentId","clientId","blockCount","currentIsEditorSidebarOpened","closeGeneralSidebar","useDispatch","maxWidth","setMaxWidth","useState","isLinkSheetVisible","setIsLinkSheetVisible","isButtonFocused","setIsButtonFocused","placeholderTextWidth","setPlaceholderTextWidth","borderRadiusUnit","setBorderRadiusUnit","richTextRef","useRef","colors","useMobileGlobalStylesColors","gradients","useEffect","onToggleButtonFocus","onSetMaxWidth","richText","current","Platform","OS","blur","AccessibilityInfo","isScreenReaderEnabled","then","enabled","focus","linkSettingsActions","onPress","onClearSettings","linkSettingsOptions","url","placeholder","autoFocus","autoFill","openInNewTab","linkRel","_x","noFocusLinkSettingOptions","getBackgroundColor","backgroundColor","gradient","gradientValue","getGradientValueBySlug","colorProps","getColorClassesAndStyles","colorObject","getColorObjectByAttributeValues","color","background","defaultButton","getTextColor","textColor","onChangeText","text","onChangeBorderRadius","newRadius","newStyle","getNewStyle","onChangeBorderRadiusUnit","newRadiusUnit","newBorderRadius","getBorderRadiusValue","radiusUnit","onShowLinkSettings","onHideLinkSettings","rel","linkTarget","onLayout","nativeEvent","layout","useCallback","isParentWidthDidChange","marginRight","spacing","isParentWidthChanged","isWidthChanged","onRemove","onDeleteBlock","onReplace","onPlaceholderTextWidth","textWidth","lines","Math","min","onSetRef","ref","onUnstableOnFocus","onBlur","dismissSheet","getLinkSettings","isCompatibleWithSettings","LinkSettingsNavigation","isVisible","onClose","withBottomSheet","hasPicker","actions","showIcon","getPlaceholderWidth","placeholderText","Text","onTextLayout","currentBorderRadius","defaultBorderRadius","valueAndUnit","Number","isInteger","parseInt","valueToConvert","parseFloat","mergeBlocks","buttonStyle","align","paddingTop","borderWidth","borderRadiusValue","borderRadius","buttonBorderRadiusValue","floor","outlineBorderRadius","minWidth","isFixedWidth","outLineStyles","outline","borderColor","textStyles","richTextStyle","paddingLeft","paddingRight","View","default","pointerEvents","RichText","setRef","textAlign","placeholderTextColor","identifier","tagName","id","withoutInteractiveFormatting","unstableOnFocus","__unstableMobileNoFocusOnMount","selectionColor","onMerge","fontSize","Fragment","BlockControls","ToolbarGroup","ToolbarButton","icon","link","onClick","isActive","InspectorControls","UnitControl","max","onUnitChange","unit","units","filterUnitsWithSettings","CSS_UNITS","_default","exports"],"sources":["@wordpress/block-library/src/button/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo, Platform, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\tstore as blockEditorStore,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n\tUnitControl,\n\tgetValueAndUnit,\n\tBottomSheetSelectControl,\n\tCSS_UNITS,\n\tfilterUnitsWithSettings,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport { link } from '@wordpress/icons';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport richTextStyle from './rich-text.scss';\nimport styles from './editor.scss';\nimport ColorBackground from './color-background';\n\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUE = 50;\nconst INITIAL_MAX_WIDTH = 108;\nconst MIN_WIDTH = 40;\n// Map of the percentage width to pixel subtraction that make the buttons fit nicely into columns.\nconst MIN_WIDTH_MARGINS = {\n\t100: 0,\n\t75: styles.button75?.marginLeft,\n\t50: styles.button50?.marginLeft,\n\t25: styles.button25?.marginLeft,\n};\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tlet width = selectedWidth === newWidth ? undefined : newWidth;\n\t\tif ( newWidth === 'auto' ) {\n\t\t\twidth = undefined;\n\t\t}\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\tconst options = [\n\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t{ value: 25, label: '25%' },\n\t\t{ value: 50, label: '50%' },\n\t\t{ value: 75, label: '75%' },\n\t\t{ value: 100, label: '100%' },\n\t];\n\n\tif ( ! selectedWidth ) {\n\t\tselectedWidth = 'auto';\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width Settings' ) }>\n\t\t\t<BottomSheetSelectControl\n\t\t\t\tlabel={ __( 'Button width' ) }\n\t\t\t\tvalue={ selectedWidth }\n\t\t\t\tonChange={ handleChange }\n\t\t\t\toptions={ options }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst { isSelected, parentWidth } = props;\n\tconst initialBorderRadius = props?.attributes?.style?.border?.radius;\n\tconst { valueUnit = 'px' } = getValueAndUnit( initialBorderRadius ) || {};\n\n\tconst { editorSidebarOpened, numOfButtons } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorSidebarOpened } = select( editPostStore );\n\t\t\tconst { getBlockCount, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst blockCount = getBlockCount( parentId );\n\t\t\tconst currentIsEditorSidebarOpened = isEditorSidebarOpened();\n\n\t\t\treturn {\n\t\t\t\teditorSidebarOpened: isSelected && currentIsEditorSidebarOpened,\n\t\t\t\tnumOfButtons: blockCount,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst { closeGeneralSidebar } = useDispatch( editPostStore );\n\tconst [ maxWidth, setMaxWidth ] = useState( INITIAL_MAX_WIDTH );\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ isButtonFocused, setIsButtonFocused ] = useState( true );\n\tconst [ placeholderTextWidth, setPlaceholderTextWidth ] = useState( 0 );\n\tconst [ borderRadiusUnit, setBorderRadiusUnit ] = useState( valueUnit );\n\n\tconst richTextRef = useRef();\n\tconst colors = useMobileGlobalStylesColors();\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\tonToggleButtonFocus( true );\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tonSetMaxWidth( null, true );\n\t}, [ parentWidth ] );\n\n\tuseEffect( () => {\n\t\t// Blur `RichText` on Android when link settings sheet or button settings sheet is opened,\n\t\t// to avoid flashing caret after closing one of them\n\t\tconst richText = richTextRef?.current;\n\t\tif ( Platform.OS === 'android' && richText ) {\n\t\t\tif ( editorSidebarOpened || isLinkSheetVisible ) {\n\t\t\t\trichText.blur();\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t} else {\n\t\t\t\tonToggleButtonFocus( true );\n\t\t\t}\n\t\t}\n\t}, [ editorSidebarOpened, isLinkSheetVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( richTextRef?.current ) {\n\t\t\tif ( ! isSelected && isButtonFocused ) {\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t}\n\n\t\t\tif ( isSelected && ! isButtonFocused ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\tif ( enabled ) {\n\t\t\t\t\t\tonToggleButtonFocus( true );\n\t\t\t\t\t\trichTextRef?.current.focus();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [ isSelected, isButtonFocused ] );\n\n\tconst linkSettingsActions = [\n\t\t{\n\t\t\tlabel: __( 'Remove link' ),\n\t\t\tonPress: onClearSettings,\n\t\t},\n\t];\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: __( 'Button Link URL' ),\n\t\t\tplaceholder: __( 'Add URL' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: false,\n\t\t},\n\t\topenInNewTab: {\n\t\t\tlabel: __( 'Open in new tab' ),\n\t\t},\n\t\tlinkRel: {\n\t\t\tlabel: __( 'Link Rel' ),\n\t\t\tplaceholder: _x( 'None', 'Link rel attribute value placeholder' ),\n\t\t},\n\t};\n\n\tconst noFocusLinkSettingOptions = {\n\t\t...linkSettingsOptions,\n\t\turl: {\n\t\t\t...linkSettingsOptions.url,\n\t\t\tautoFocus: false,\n\t\t},\n\t};\n\n\tfunction getBackgroundColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst { backgroundColor, gradient } = attributes;\n\n\t\t// Return named gradient value if available.\n\t\tconst gradientValue = getGradientValueBySlug( gradients, gradient );\n\n\t\tif ( gradientValue ) {\n\t\t\treturn gradientValue;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.backgroundColor ||\n\t\t\tcolorProps.style?.background ||\n\t\t\tstyle?.backgroundColor ||\n\t\t\tstyles.defaultButton.backgroundColor\n\t\t);\n\t}\n\n\tfunction getTextColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tattributes.textColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.color ||\n\t\t\tstyle?.color ||\n\t\t\tstyles.defaultButton.color\n\t\t);\n\t}\n\n\tfunction onChangeText( value ) {\n\t\tconst { setAttributes } = props;\n\t\tsetAttributes( { text: value } );\n\t}\n\n\tfunction onChangeBorderRadius( newRadius ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newStyle = getNewStyle( style, newRadius, borderRadiusUnit );\n\n\t\tsetAttributes( { style: newStyle } );\n\t}\n\n\tfunction onChangeBorderRadiusUnit( newRadiusUnit ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newBorderRadius = getBorderRadiusValue(\n\t\t\tattributes?.style?.border?.radius\n\t\t);\n\t\tconst newStyle = getNewStyle( style, newBorderRadius, newRadiusUnit );\n\t\tsetAttributes( { style: newStyle } );\n\t\tsetBorderRadiusUnit( newRadiusUnit );\n\t}\n\n\tfunction getNewStyle( style, radius, radiusUnit ) {\n\t\treturn {\n\t\t\t...style,\n\t\t\tborder: {\n\t\t\t\t...style?.border,\n\t\t\t\tradius: `${ radius }${ radiusUnit }`, // Store the value with the unit so that it works as expected.\n\t\t\t},\n\t\t};\n\t}\n\n\tfunction onShowLinkSettings() {\n\t\tsetIsLinkSheetVisible( true );\n\t}\n\n\tfunction onHideLinkSettings() {\n\t\tsetIsLinkSheetVisible( false );\n\t}\n\n\tfunction onToggleButtonFocus( value ) {\n\t\tif ( value !== isButtonFocused ) {\n\t\t\tsetIsButtonFocused( value );\n\t\t}\n\t}\n\n\tfunction onClearSettings() {\n\t\tconst { setAttributes } = props;\n\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\trel: '',\n\t\t\tlinkTarget: '',\n\t\t} );\n\n\t\tonHideLinkSettings();\n\t}\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tonSetMaxWidth( width );\n\t}\n\n\tconst onSetMaxWidth = useCallback(\n\t\t( width, isParentWidthDidChange = false ) => {\n\t\t\tconst { marginRight: spacing } = styles.defaultButton;\n\n\t\t\tconst isParentWidthChanged = isParentWidthDidChange\n\t\t\t\t? isParentWidthDidChange\n\t\t\t\t: maxWidth !== parentWidth;\n\t\t\tconst isWidthChanged = maxWidth !== width;\n\n\t\t\tif ( parentWidth && ! width && isParentWidthChanged ) {\n\t\t\t\tsetMaxWidth( parentWidth - spacing );\n\t\t\t} else if ( ! parentWidth && width && isWidthChanged ) {\n\t\t\t\tsetMaxWidth( width - spacing );\n\t\t\t}\n\t\t},\n\t\t[ maxWidth, parentWidth ]\n\t);\n\n\tfunction onRemove() {\n\t\tconst { onDeleteBlock, onReplace } = props;\n\n\t\tif ( numOfButtons === 1 ) {\n\t\t\tonDeleteBlock();\n\t\t} else {\n\t\t\tonReplace( [] );\n\t\t}\n\t}\n\n\tfunction onPlaceholderTextWidth( { nativeEvent } ) {\n\t\tconst textWidth =\n\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\n\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\tsetPlaceholderTextWidth( Math.min( textWidth, maxWidth ) );\n\t\t}\n\t}\n\n\tconst onSetRef = useCallback(\n\t\t( ref ) => {\n\t\t\trichTextRef.current = ref;\n\t\t},\n\t\t[ richTextRef ]\n\t);\n\n\tconst onUnstableOnFocus = useCallback( () => {\n\t\tonToggleButtonFocus( true );\n\t}, [] );\n\n\tconst onBlur = useCallback( () => {\n\t\tonSetMaxWidth();\n\t}, [] );\n\n\tfunction dismissSheet() {\n\t\tonHideLinkSettings();\n\t\tcloseGeneralSidebar();\n\t}\n\n\tfunction getLinkSettings( isCompatibleWithSettings ) {\n\t\tconst { attributes, setAttributes } = props;\n\t\treturn (\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ attributes.url }\n\t\t\t\trel={ attributes.rel }\n\t\t\t\tlinkTarget={ attributes.linkTarget }\n\t\t\t\tonClose={ dismissSheet }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\twithBottomSheet={ ! isCompatibleWithSettings }\n\t\t\t\thasPicker\n\t\t\t\tactions={ linkSettingsActions }\n\t\t\t\toptions={\n\t\t\t\t\tisCompatibleWithSettings\n\t\t\t\t\t\t? linkSettingsOptions\n\t\t\t\t\t\t: noFocusLinkSettingOptions\n\t\t\t\t}\n\t\t\t\tshowIcon={ ! isCompatibleWithSettings }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\tfunction getPlaceholderWidth( placeholderText ) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ onPlaceholderTextWidth }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tfunction getBorderRadiusValue( currentBorderRadius, defaultBorderRadius ) {\n\t\tconst valueAndUnit = getValueAndUnit( currentBorderRadius );\n\t\tif ( Number.isInteger( parseInt( valueAndUnit?.valueToConvert ) ) ) {\n\t\t\treturn parseFloat( valueAndUnit.valueToConvert );\n\t\t}\n\t\treturn defaultBorderRadius;\n\t}\n\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tsetAttributes,\n\t\tstyle,\n\t} = props;\n\tconst {\n\t\tplaceholder,\n\t\ttext,\n\t\tstyle: buttonStyle,\n\t\turl,\n\t\talign = 'center',\n\t\twidth,\n\t} = attributes;\n\tconst { paddingTop: spacing, borderWidth } = styles.defaultButton;\n\n\tif ( parentWidth === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst currentBorderRadius = buttonStyle?.border?.radius;\n\tconst borderRadiusValue = getBorderRadiusValue(\n\t\tcurrentBorderRadius,\n\t\tstyles.defaultButton.borderRadius\n\t);\n\n\tconst buttonBorderRadiusValue =\n\t\tborderRadiusUnit === 'px' || borderRadiusUnit === '%'\n\t\t\t? borderRadiusValue\n\t\t\t: Math.floor( 14 * borderRadiusValue ); // Lets assume that the font size is set to 14px; TO get a nicer preview.\n\tconst outlineBorderRadius =\n\t\tbuttonBorderRadiusValue > 0\n\t\t\t? buttonBorderRadiusValue + spacing + borderWidth\n\t\t\t: 0;\n\n\t// To achieve proper expanding and shrinking `RichText` on iOS, there is a need to set a `minWidth`\n\t// value at least on 1 when `RichText` is focused or when is not focused, but `RichText` value is\n\t// different than empty string.\n\tlet minWidth =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? MIN_WIDTH\n\t\t\t: placeholderTextWidth;\n\tif ( width ) {\n\t\t// Set the width of the button.\n\t\tminWidth = Math.floor(\n\t\t\tmaxWidth * ( width / 100 ) - MIN_WIDTH_MARGINS[ width ]\n\t\t);\n\t}\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst placeholderText =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? ''\n\t\t\t: placeholder || __( 'Add text…' );\n\n\tconst backgroundColor = getBackgroundColor();\n\tconst textColor = getTextColor();\n\tconst isFixedWidth = !! width;\n\tconst outLineStyles = [\n\t\tstyles.outline,\n\t\t{\n\t\t\tborderRadius: outlineBorderRadius,\n\t\t\tborderColor: backgroundColor,\n\t\t},\n\t];\n\tconst textStyles = {\n\t\t...richTextStyle.richText,\n\t\tpaddingLeft: isFixedWidth ? 0 : richTextStyle.richText.paddingLeft,\n\t\tpaddingRight: isFixedWidth ? 0 : richTextStyle.richText.paddingRight,\n\t\tcolor: textColor,\n\t};\n\n\treturn (\n\t\t<View onLayout={ onLayout }>\n\t\t\t{ getPlaceholderWidth( placeholderText ) }\n\t\t\t<ColorBackground\n\t\t\t\tborderRadiusValue={ buttonBorderRadiusValue }\n\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t>\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<View pointerEvents=\"none\" style={ outLineStyles } />\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\tsetRef={ onSetRef }\n\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ onChangeText }\n\t\t\t\t\tstyle={ textStyles }\n\t\t\t\t\ttextAlign={ align }\n\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\tstyle?.color || styles.placeholderTextColor.color\n\t\t\t\t\t}\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\tminWidth={ minWidth } // The minimum Button size.\n\t\t\t\t\tmaxWidth={ isFixedWidth ? minWidth : maxWidth } // The width of the screen.\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tisSelected={ isButtonFocused }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tunstableOnFocus={ onUnstableOnFocus }\n\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\tselectionColor={ textColor }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tfontSize={ style?.fontSize }\n\t\t\t\t/>\n\t\t\t</ColorBackground>\n\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={ __( 'Edit link' ) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onShowLinkSettings }\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{ getLinkSettings( false ) }\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Border Settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Border Radius' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tvalue={ borderRadiusValue }\n\t\t\t\t\t\t\t\tonChange={ onChangeBorderRadius }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeBorderRadiusUnit }\n\t\t\t\t\t\t\t\tunit={ borderRadiusUnit }\n\t\t\t\t\t\t\t\tunits={ filterUnitsWithSettings(\n\t\t\t\t\t\t\t\t\t[ 'px', 'em', 'rem' ],\n\t\t\t\t\t\t\t\t\tCSS_UNITS\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<WidthPanel\n\t\t\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t\t\t\t\t{ getLinkSettings( true ) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_element","_data","_i18n","_blockEditor","_components","_icons","_editPost","_richText","_interopRequireDefault","_editor","_colorBackground","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","styles","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","__","_react","createElement","PanelBody","title","BottomSheetSelectControl","onChange","ButtonEdit","props","isSelected","parentWidth","initialBorderRadius","attributes","style","border","radius","valueUnit","getValueAndUnit","editorSidebarOpened","numOfButtons","useSelect","select","isEditorSidebarOpened","editPostStore","getBlockCount","getBlockRootClientId","blockEditorStore","parentId","clientId","blockCount","currentIsEditorSidebarOpened","closeGeneralSidebar","useDispatch","maxWidth","setMaxWidth","useState","isLinkSheetVisible","setIsLinkSheetVisible","isButtonFocused","setIsButtonFocused","placeholderTextWidth","setPlaceholderTextWidth","borderRadiusUnit","setBorderRadiusUnit","richTextRef","useRef","colors","useMobileGlobalStylesColors","gradients","useEffect","onToggleButtonFocus","onSetMaxWidth","richText","current","Platform","OS","blur","AccessibilityInfo","isScreenReaderEnabled","then","enabled","focus","linkSettingsActions","onPress","onClearSettings","linkSettingsOptions","url","placeholder","autoFocus","autoFill","openInNewTab","linkRel","_x","noFocusLinkSettingOptions","getBackgroundColor","backgroundColor","gradient","gradientValue","getGradientValueBySlug","colorProps","getColorClassesAndStyles","colorObject","getColorObjectByAttributeValues","color","background","defaultButton","getTextColor","textColor","onChangeText","text","onChangeBorderRadius","newRadius","newStyle","getNewStyle","onChangeBorderRadiusUnit","newRadiusUnit","newBorderRadius","getBorderRadiusValue","radiusUnit","onShowLinkSettings","onHideLinkSettings","rel","linkTarget","onLayout","nativeEvent","layout","useCallback","isParentWidthDidChange","marginRight","spacing","isParentWidthChanged","isWidthChanged","onRemove","onDeleteBlock","onReplace","onPlaceholderTextWidth","textWidth","lines","Math","min","onSetRef","ref","onUnstableOnFocus","onBlur","dismissSheet","getLinkSettings","isCompatibleWithSettings","LinkSettingsNavigation","isVisible","onClose","withBottomSheet","hasPicker","actions","showIcon","getPlaceholderWidth","placeholderText","Text","onTextLayout","currentBorderRadius","defaultBorderRadius","valueAndUnit","Number","isInteger","parseInt","valueToConvert","parseFloat","mergeBlocks","buttonStyle","align","paddingTop","borderWidth","borderRadiusValue","borderRadius","buttonBorderRadiusValue","floor","outlineBorderRadius","minWidth","isFixedWidth","outLineStyles","outline","borderColor","textStyles","richTextStyle","paddingLeft","paddingRight","View","default","pointerEvents","RichText","textAlign","placeholderTextColor","identifier","tagName","id","withoutInteractiveFormatting","unstableOnFocus","__unstableMobileNoFocusOnMount","selectionColor","onMerge","fontSize","Fragment","BlockControls","ToolbarGroup","ToolbarButton","icon","link","onClick","isActive","InspectorControls","UnitControl","max","onUnitChange","unit","units","filterUnitsWithSettings","CSS_UNITS","_default","exports"],"sources":["@wordpress/block-library/src/button/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo, Platform, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\tstore as blockEditorStore,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n\tUnitControl,\n\tgetValueAndUnit,\n\tBottomSheetSelectControl,\n\tCSS_UNITS,\n\tfilterUnitsWithSettings,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport { link } from '@wordpress/icons';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport richTextStyle from './rich-text.scss';\nimport styles from './editor.scss';\nimport ColorBackground from './color-background';\n\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUE = 50;\nconst INITIAL_MAX_WIDTH = 108;\nconst MIN_WIDTH = 40;\n// Map of the percentage width to pixel subtraction that make the buttons fit nicely into columns.\nconst MIN_WIDTH_MARGINS = {\n\t100: 0,\n\t75: styles.button75?.marginLeft,\n\t50: styles.button50?.marginLeft,\n\t25: styles.button25?.marginLeft,\n};\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tlet width = selectedWidth === newWidth ? undefined : newWidth;\n\t\tif ( newWidth === 'auto' ) {\n\t\t\twidth = undefined;\n\t\t}\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\tconst options = [\n\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t{ value: 25, label: '25%' },\n\t\t{ value: 50, label: '50%' },\n\t\t{ value: 75, label: '75%' },\n\t\t{ value: 100, label: '100%' },\n\t];\n\n\tif ( ! selectedWidth ) {\n\t\tselectedWidth = 'auto';\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width Settings' ) }>\n\t\t\t<BottomSheetSelectControl\n\t\t\t\tlabel={ __( 'Button width' ) }\n\t\t\t\tvalue={ selectedWidth }\n\t\t\t\tonChange={ handleChange }\n\t\t\t\toptions={ options }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst { isSelected, parentWidth } = props;\n\tconst initialBorderRadius = props?.attributes?.style?.border?.radius;\n\tconst { valueUnit = 'px' } = getValueAndUnit( initialBorderRadius ) || {};\n\n\tconst { editorSidebarOpened, numOfButtons } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorSidebarOpened } = select( editPostStore );\n\t\t\tconst { getBlockCount, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst blockCount = getBlockCount( parentId );\n\t\t\tconst currentIsEditorSidebarOpened = isEditorSidebarOpened();\n\n\t\t\treturn {\n\t\t\t\teditorSidebarOpened: isSelected && currentIsEditorSidebarOpened,\n\t\t\t\tnumOfButtons: blockCount,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst { closeGeneralSidebar } = useDispatch( editPostStore );\n\tconst [ maxWidth, setMaxWidth ] = useState( INITIAL_MAX_WIDTH );\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ isButtonFocused, setIsButtonFocused ] = useState( true );\n\tconst [ placeholderTextWidth, setPlaceholderTextWidth ] = useState( 0 );\n\tconst [ borderRadiusUnit, setBorderRadiusUnit ] = useState( valueUnit );\n\n\tconst richTextRef = useRef();\n\tconst colors = useMobileGlobalStylesColors();\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\tonToggleButtonFocus( true );\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tonSetMaxWidth( null, true );\n\t}, [ parentWidth ] );\n\n\tuseEffect( () => {\n\t\t// Blur `RichText` on Android when link settings sheet or button settings sheet is opened,\n\t\t// to avoid flashing caret after closing one of them\n\t\tconst richText = richTextRef?.current;\n\t\tif ( Platform.OS === 'android' && richText ) {\n\t\t\tif ( editorSidebarOpened || isLinkSheetVisible ) {\n\t\t\t\trichText.blur();\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t} else {\n\t\t\t\tonToggleButtonFocus( true );\n\t\t\t}\n\t\t}\n\t}, [ editorSidebarOpened, isLinkSheetVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( richTextRef?.current ) {\n\t\t\tif ( ! isSelected && isButtonFocused ) {\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t}\n\n\t\t\tif ( isSelected && ! isButtonFocused ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\tif ( enabled ) {\n\t\t\t\t\t\tonToggleButtonFocus( true );\n\t\t\t\t\t\trichTextRef?.current.focus();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [ isSelected, isButtonFocused ] );\n\n\tconst linkSettingsActions = [\n\t\t{\n\t\t\tlabel: __( 'Remove link' ),\n\t\t\tonPress: onClearSettings,\n\t\t},\n\t];\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: __( 'Button Link URL' ),\n\t\t\tplaceholder: __( 'Add URL' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: false,\n\t\t},\n\t\topenInNewTab: {\n\t\t\tlabel: __( 'Open in new tab' ),\n\t\t},\n\t\tlinkRel: {\n\t\t\tlabel: __( 'Link Rel' ),\n\t\t\tplaceholder: _x( 'None', 'Link rel attribute value placeholder' ),\n\t\t},\n\t};\n\n\tconst noFocusLinkSettingOptions = {\n\t\t...linkSettingsOptions,\n\t\turl: {\n\t\t\t...linkSettingsOptions.url,\n\t\t\tautoFocus: false,\n\t\t},\n\t};\n\n\tfunction getBackgroundColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst { backgroundColor, gradient } = attributes;\n\n\t\t// Return named gradient value if available.\n\t\tconst gradientValue = getGradientValueBySlug( gradients, gradient );\n\n\t\tif ( gradientValue ) {\n\t\t\treturn gradientValue;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.backgroundColor ||\n\t\t\tcolorProps.style?.background ||\n\t\t\tstyle?.backgroundColor ||\n\t\t\tstyles.defaultButton.backgroundColor\n\t\t);\n\t}\n\n\tfunction getTextColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tattributes.textColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.color ||\n\t\t\tstyle?.color ||\n\t\t\tstyles.defaultButton.color\n\t\t);\n\t}\n\n\tfunction onChangeText( value ) {\n\t\tconst { setAttributes } = props;\n\t\tsetAttributes( { text: value } );\n\t}\n\n\tfunction onChangeBorderRadius( newRadius ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newStyle = getNewStyle( style, newRadius, borderRadiusUnit );\n\n\t\tsetAttributes( { style: newStyle } );\n\t}\n\n\tfunction onChangeBorderRadiusUnit( newRadiusUnit ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newBorderRadius = getBorderRadiusValue(\n\t\t\tattributes?.style?.border?.radius\n\t\t);\n\t\tconst newStyle = getNewStyle( style, newBorderRadius, newRadiusUnit );\n\t\tsetAttributes( { style: newStyle } );\n\t\tsetBorderRadiusUnit( newRadiusUnit );\n\t}\n\n\tfunction getNewStyle( style, radius, radiusUnit ) {\n\t\treturn {\n\t\t\t...style,\n\t\t\tborder: {\n\t\t\t\t...style?.border,\n\t\t\t\tradius: `${ radius }${ radiusUnit }`, // Store the value with the unit so that it works as expected.\n\t\t\t},\n\t\t};\n\t}\n\n\tfunction onShowLinkSettings() {\n\t\tsetIsLinkSheetVisible( true );\n\t}\n\n\tfunction onHideLinkSettings() {\n\t\tsetIsLinkSheetVisible( false );\n\t}\n\n\tfunction onToggleButtonFocus( value ) {\n\t\tif ( value !== isButtonFocused ) {\n\t\t\tsetIsButtonFocused( value );\n\t\t}\n\t}\n\n\tfunction onClearSettings() {\n\t\tconst { setAttributes } = props;\n\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\trel: '',\n\t\t\tlinkTarget: '',\n\t\t} );\n\n\t\tonHideLinkSettings();\n\t}\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tonSetMaxWidth( width );\n\t}\n\n\tconst onSetMaxWidth = useCallback(\n\t\t( width, isParentWidthDidChange = false ) => {\n\t\t\tconst { marginRight: spacing } = styles.defaultButton;\n\n\t\t\tconst isParentWidthChanged = isParentWidthDidChange\n\t\t\t\t? isParentWidthDidChange\n\t\t\t\t: maxWidth !== parentWidth;\n\t\t\tconst isWidthChanged = maxWidth !== width;\n\n\t\t\tif ( parentWidth && ! width && isParentWidthChanged ) {\n\t\t\t\tsetMaxWidth( parentWidth - spacing );\n\t\t\t} else if ( ! parentWidth && width && isWidthChanged ) {\n\t\t\t\tsetMaxWidth( width - spacing );\n\t\t\t}\n\t\t},\n\t\t[ maxWidth, parentWidth ]\n\t);\n\n\tfunction onRemove() {\n\t\tconst { onDeleteBlock, onReplace } = props;\n\n\t\tif ( numOfButtons === 1 ) {\n\t\t\tonDeleteBlock();\n\t\t} else {\n\t\t\tonReplace( [] );\n\t\t}\n\t}\n\n\tfunction onPlaceholderTextWidth( { nativeEvent } ) {\n\t\tconst textWidth =\n\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\n\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\tsetPlaceholderTextWidth( Math.min( textWidth, maxWidth ) );\n\t\t}\n\t}\n\n\tconst onSetRef = useCallback(\n\t\t( ref ) => {\n\t\t\trichTextRef.current = ref;\n\t\t},\n\t\t[ richTextRef ]\n\t);\n\n\tconst onUnstableOnFocus = useCallback( () => {\n\t\tonToggleButtonFocus( true );\n\t}, [] );\n\n\tconst onBlur = useCallback( () => {\n\t\tonSetMaxWidth();\n\t}, [] );\n\n\tfunction dismissSheet() {\n\t\tonHideLinkSettings();\n\t\tcloseGeneralSidebar();\n\t}\n\n\tfunction getLinkSettings( isCompatibleWithSettings ) {\n\t\tconst { attributes, setAttributes } = props;\n\t\treturn (\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ attributes.url }\n\t\t\t\trel={ attributes.rel }\n\t\t\t\tlinkTarget={ attributes.linkTarget }\n\t\t\t\tonClose={ dismissSheet }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\twithBottomSheet={ ! isCompatibleWithSettings }\n\t\t\t\thasPicker\n\t\t\t\tactions={ linkSettingsActions }\n\t\t\t\toptions={\n\t\t\t\t\tisCompatibleWithSettings\n\t\t\t\t\t\t? linkSettingsOptions\n\t\t\t\t\t\t: noFocusLinkSettingOptions\n\t\t\t\t}\n\t\t\t\tshowIcon={ ! isCompatibleWithSettings }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\tfunction getPlaceholderWidth( placeholderText ) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ onPlaceholderTextWidth }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tfunction getBorderRadiusValue( currentBorderRadius, defaultBorderRadius ) {\n\t\tconst valueAndUnit = getValueAndUnit( currentBorderRadius );\n\t\tif ( Number.isInteger( parseInt( valueAndUnit?.valueToConvert ) ) ) {\n\t\t\treturn parseFloat( valueAndUnit.valueToConvert );\n\t\t}\n\t\treturn defaultBorderRadius;\n\t}\n\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tsetAttributes,\n\t\tstyle,\n\t} = props;\n\tconst {\n\t\tplaceholder,\n\t\ttext,\n\t\tstyle: buttonStyle,\n\t\turl,\n\t\talign = 'center',\n\t\twidth,\n\t} = attributes;\n\tconst { paddingTop: spacing, borderWidth } = styles.defaultButton;\n\n\tif ( parentWidth === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst currentBorderRadius = buttonStyle?.border?.radius;\n\tconst borderRadiusValue = getBorderRadiusValue(\n\t\tcurrentBorderRadius,\n\t\tstyles.defaultButton.borderRadius\n\t);\n\n\tconst buttonBorderRadiusValue =\n\t\tborderRadiusUnit === 'px' || borderRadiusUnit === '%'\n\t\t\t? borderRadiusValue\n\t\t\t: Math.floor( 14 * borderRadiusValue ); // Lets assume that the font size is set to 14px; TO get a nicer preview.\n\tconst outlineBorderRadius =\n\t\tbuttonBorderRadiusValue > 0\n\t\t\t? buttonBorderRadiusValue + spacing + borderWidth\n\t\t\t: 0;\n\n\t// To achieve proper expanding and shrinking `RichText` on iOS, there is a need to set a `minWidth`\n\t// value at least on 1 when `RichText` is focused or when is not focused, but `RichText` value is\n\t// different than empty string.\n\tlet minWidth =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? MIN_WIDTH\n\t\t\t: placeholderTextWidth;\n\tif ( width ) {\n\t\t// Set the width of the button.\n\t\tminWidth = Math.floor(\n\t\t\tmaxWidth * ( width / 100 ) - MIN_WIDTH_MARGINS[ width ]\n\t\t);\n\t}\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst placeholderText =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? ''\n\t\t\t: placeholder || __( 'Add text…' );\n\n\tconst backgroundColor = getBackgroundColor();\n\tconst textColor = getTextColor();\n\tconst isFixedWidth = !! width;\n\tconst outLineStyles = [\n\t\tstyles.outline,\n\t\t{\n\t\t\tborderRadius: outlineBorderRadius,\n\t\t\tborderColor: backgroundColor,\n\t\t},\n\t];\n\tconst textStyles = {\n\t\t...richTextStyle.richText,\n\t\tpaddingLeft: isFixedWidth ? 0 : richTextStyle.richText.paddingLeft,\n\t\tpaddingRight: isFixedWidth ? 0 : richTextStyle.richText.paddingRight,\n\t\tcolor: textColor,\n\t};\n\n\treturn (\n\t\t<View onLayout={ onLayout }>\n\t\t\t{ getPlaceholderWidth( placeholderText ) }\n\t\t\t<ColorBackground\n\t\t\t\tborderRadiusValue={ buttonBorderRadiusValue }\n\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t>\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<View pointerEvents=\"none\" style={ outLineStyles } />\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\tref={ onSetRef }\n\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ onChangeText }\n\t\t\t\t\tstyle={ textStyles }\n\t\t\t\t\ttextAlign={ align }\n\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\tstyle?.color || styles.placeholderTextColor.color\n\t\t\t\t\t}\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\tminWidth={ minWidth } // The minimum Button size.\n\t\t\t\t\tmaxWidth={ isFixedWidth ? minWidth : maxWidth } // The width of the screen.\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tisSelected={ isButtonFocused }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tunstableOnFocus={ onUnstableOnFocus }\n\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\tselectionColor={ textColor }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tfontSize={ style?.fontSize }\n\t\t\t\t/>\n\t\t\t</ColorBackground>\n\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={ __( 'Edit link' ) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onShowLinkSettings }\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{ getLinkSettings( false ) }\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Border Settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Border Radius' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tvalue={ borderRadiusValue }\n\t\t\t\t\t\t\t\tonChange={ onChangeBorderRadius }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeBorderRadiusUnit }\n\t\t\t\t\t\t\t\tunit={ borderRadiusUnit }\n\t\t\t\t\t\t\t\tunits={ filterUnitsWithSettings(\n\t\t\t\t\t\t\t\t\t[ 'px', 'em', 'rem' ],\n\t\t\t\t\t\t\t\t\tCSS_UNITS\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<WidthPanel\n\t\t\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t\t\t\t\t{ getLinkSettings( true ) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AASA,IAAAK,WAAA,GAAAL,OAAA;AAYA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAAO,SAAA,GAAAP,OAAA;AAKA,IAAAQ,SAAA,GAAAC,sBAAA,CAAAT,OAAA;AACA,IAAAU,OAAA,GAAAD,sBAAA,CAAAT,OAAA;AACA,IAAAW,gBAAA,GAAAF,sBAAA,CAAAT,OAAA;AAzCA;AACA;AACA;;AAGA;AACA;AACA;;AA0BA;;AAGA;AACA;AACA;;AAKA,MAAMY,uBAAuB,GAAG,CAAC;AACjC,MAAMC,uBAAuB,GAAG,EAAE;AAClC,MAAMC,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,SAAS,GAAG,EAAE;AACpB;AACA,MAAMC,iBAAiB,GAAG;EACzB,GAAG,EAAE,CAAC;EACN,EAAE,EAAEC,eAAM,CAACC,QAAQ,EAAEC,UAAU;EAC/B,EAAE,EAAEF,eAAM,CAACG,QAAQ,EAAED,UAAU;EAC/B,EAAE,EAAEF,eAAM,CAACI,QAAQ,EAAEF;AACtB,CAAC;AAED,SAASG,UAAUA,CAAE;EAAEC,aAAa;EAAEC;AAAc,CAAC,EAAG;EACvD,SAASC,YAAYA,CAAEC,QAAQ,EAAG;IACjC;IACA,IAAIC,KAAK,GAAGJ,aAAa,KAAKG,QAAQ,GAAGE,SAAS,GAAGF,QAAQ;IAC7D,IAAKA,QAAQ,KAAK,MAAM,EAAG;MAC1BC,KAAK,GAAGC,SAAS;IAClB;IACA;IACAJ,aAAa,CAAE;MAAEG;IAAM,CAAE,CAAC;EAC3B;EAEA,MAAME,OAAO,GAAG,CACf;IAAEC,KAAK,EAAE,MAAM;IAAEC,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO;EAAE,CAAC,EACtC;IAAEF,KAAK,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAM,CAAC,EAC3B;IAAED,KAAK,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAM,CAAC,EAC3B;IAAED,KAAK,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAM,CAAC,EAC3B;IAAED,KAAK,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAO,CAAC,CAC7B;EAED,IAAK,CAAER,aAAa,EAAG;IACtBA,aAAa,GAAG,MAAM;EACvB;EAEA,OACC,IAAAU,MAAA,CAAAC,aAAA,EAAC7B,WAAA,CAAA8B,SAAS;IAACC,KAAK,EAAG,IAAAJ,QAAE,EAAE,gBAAiB;EAAG,GAC1C,IAAAC,MAAA,CAAAC,aAAA,EAAC7B,WAAA,CAAAgC,wBAAwB;IACxBN,KAAK,EAAG,IAAAC,QAAE,EAAE,cAAe,CAAG;IAC9BF,KAAK,EAAGP,aAAe;IACvBe,QAAQ,EAAGb,YAAc;IACzBI,OAAO,EAAGA;EAAS,CACnB,CACS,CAAC;AAEd;AAEA,SAASU,UAAUA,CAAEC,KAAK,EAAG;EAC5B,MAAM;IAAEC,UAAU;IAAEC;EAAY,CAAC,GAAGF,KAAK;EACzC,MAAMG,mBAAmB,GAAGH,KAAK,EAAEI,UAAU,EAAEC,KAAK,EAAEC,MAAM,EAAEC,MAAM;EACpE,MAAM;IAAEC,SAAS,GAAG;EAAK,CAAC,GAAG,IAAAC,2BAAe,EAAEN,mBAAoB,CAAC,IAAI,CAAC,CAAC;EAEzE,MAAM;IAAEO,mBAAmB;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EACpDC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAsB,CAAC,GAAGD,MAAM,CAAEE,eAAc,CAAC;IACzD,MAAM;MAAEC,aAAa;MAAEC;IAAqB,CAAC,GAC5CJ,MAAM,CAAEK,kBAAiB,CAAC;IAC3B,MAAMC,QAAQ,GAAGF,oBAAoB,CAAEG,QAAS,CAAC;IACjD,MAAMC,UAAU,GAAGL,aAAa,CAAEG,QAAS,CAAC;IAC5C,MAAMG,4BAA4B,GAAGR,qBAAqB,CAAC,CAAC;IAE5D,OAAO;MACNJ,mBAAmB,EAAET,UAAU,IAAIqB,4BAA4B;MAC/DX,YAAY,EAAEU;IACf,CAAC;EACF,CAAC,EACD,CAAED,QAAQ,EAAEnB,UAAU,CACvB,CAAC;EAED,MAAM;IAAEsB;EAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAET,eAAc,CAAC;EAC5D,MAAM,CAAEU,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAC,iBAAQ,EAAErD,iBAAkB,CAAC;EAC/D,MAAM,CAAEsD,kBAAkB,EAAEC,qBAAqB,CAAE,GAAG,IAAAF,iBAAQ,EAAE,KAAM,CAAC;EACvE,MAAM,CAAEG,eAAe,EAAEC,kBAAkB,CAAE,GAAG,IAAAJ,iBAAQ,EAAE,IAAK,CAAC;EAChE,MAAM,CAAEK,oBAAoB,EAAEC,uBAAuB,CAAE,GAAG,IAAAN,iBAAQ,EAAE,CAAE,CAAC;EACvE,MAAM,CAAEO,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG,IAAAR,iBAAQ,EAAEnB,SAAU,CAAC;EAEvE,MAAM4B,WAAW,GAAG,IAAAC,eAAM,EAAC,CAAC;EAC5B,MAAMC,MAAM,GAAG,IAAAC,uCAA2B,EAAC,CAAC;EAC5C,MAAMC,SAAS,GAAG,IAAAD,uCAA2B,EAAE,WAAY,CAAC;EAE5D,IAAAE,kBAAS,EAAE,MAAM;IAChB,IAAKxC,UAAU,EAAG;MACjByC,mBAAmB,CAAE,IAAK,CAAC;IAC5B;EACD,CAAC,EAAE,CAAEzC,UAAU,CAAG,CAAC;EAEnB,IAAAwC,kBAAS,EAAE,MAAM;IAChBE,aAAa,CAAE,IAAI,EAAE,IAAK,CAAC;EAC5B,CAAC,EAAE,CAAEzC,WAAW,CAAG,CAAC;EAEpB,IAAAuC,kBAAS,EAAE,MAAM;IAChB;IACA;IACA,MAAMG,QAAQ,GAAGR,WAAW,EAAES,OAAO;IACrC,IAAKC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAIH,QAAQ,EAAG;MAC5C,IAAKlC,mBAAmB,IAAIkB,kBAAkB,EAAG;QAChDgB,QAAQ,CAACI,IAAI,CAAC,CAAC;QACfN,mBAAmB,CAAE,KAAM,CAAC;MAC7B,CAAC,MAAM;QACNA,mBAAmB,CAAE,IAAK,CAAC;MAC5B;IACD;EACD,CAAC,EAAE,CAAEhC,mBAAmB,EAAEkB,kBAAkB,CAAG,CAAC;EAEhD,IAAAa,kBAAS,EAAE,MAAM;IAChB,IAAKL,WAAW,EAAES,OAAO,EAAG;MAC3B,IAAK,CAAE5C,UAAU,IAAI6B,eAAe,EAAG;QACtCY,mBAAmB,CAAE,KAAM,CAAC;MAC7B;MAEA,IAAKzC,UAAU,IAAI,CAAE6B,eAAe,EAAG;QACtCmB,8BAAiB,CAACC,qBAAqB,CAAC,CAAC,CAACC,IAAI,CAAIC,OAAO,IAAM;UAC9D,IAAKA,OAAO,EAAG;YACdV,mBAAmB,CAAE,IAAK,CAAC;YAC3BN,WAAW,EAAES,OAAO,CAACQ,KAAK,CAAC,CAAC;UAC7B;QACD,CAAE,CAAC;MACJ;IACD;EACD,CAAC,EAAE,CAAEpD,UAAU,EAAE6B,eAAe,CAAG,CAAC;EAEpC,MAAMwB,mBAAmB,GAAG,CAC3B;IACC/D,KAAK,EAAE,IAAAC,QAAE,EAAE,aAAc,CAAC;IAC1B+D,OAAO,EAAEC;EACV,CAAC,CACD;EAED,MAAMC,mBAAmB,GAAG;IAC3BC,GAAG,EAAE;MACJnE,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC;MAC9BmE,WAAW,EAAE,IAAAnE,QAAE,EAAE,SAAU,CAAC;MAC5BoE,SAAS,EAAE,IAAI;MACfC,QAAQ,EAAE;IACX,CAAC;IACDC,YAAY,EAAE;MACbvE,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB;IAC9B,CAAC;IACDuE,OAAO,EAAE;MACRxE,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAW,CAAC;MACvBmE,WAAW,EAAE,IAAAK,QAAE,EAAE,MAAM,EAAE,sCAAuC;IACjE;EACD,CAAC;EAED,MAAMC,yBAAyB,GAAG;IACjC,GAAGR,mBAAmB;IACtBC,GAAG,EAAE;MACJ,GAAGD,mBAAmB,CAACC,GAAG;MAC1BE,SAAS,EAAE;IACZ;EACD,CAAC;EAED,SAASM,kBAAkBA,CAAA,EAAG;IAC7B,MAAM;MAAE9D,UAAU;MAAEC;IAAM,CAAC,GAAGL,KAAK;IACnC,MAAM;MAAEmE,eAAe;MAAEC;IAAS,CAAC,GAAGhE,UAAU;;IAEhD;IACA,MAAMiE,aAAa,GAAG,IAAAC,mCAAsB,EAAE9B,SAAS,EAAE4B,QAAS,CAAC;IAEnE,IAAKC,aAAa,EAAG;MACpB,OAAOA,aAAa;IACrB;IAEA,MAAME,UAAU,GAAG,IAAAC,mDAAwB,EAAEpE,UAAW,CAAC;;IAEzD;IACA;IACA,MAAMqE,WAAW,GAAG,IAAAC,4CAA+B,EAClDpC,MAAM,EACN6B,eACD,CAAC;IAED,OACCM,WAAW,EAAEE,KAAK,IAClBJ,UAAU,CAAClE,KAAK,EAAE8D,eAAe,IACjCI,UAAU,CAAClE,KAAK,EAAEuE,UAAU,IAC5BvE,KAAK,EAAE8D,eAAe,IACtB1F,eAAM,CAACoG,aAAa,CAACV,eAAe;EAEtC;EAEA,SAASW,YAAYA,CAAA,EAAG;IACvB,MAAM;MAAE1E,UAAU;MAAEC;IAAM,CAAC,GAAGL,KAAK;IACnC,MAAMuE,UAAU,GAAG,IAAAC,mDAAwB,EAAEpE,UAAW,CAAC;;IAEzD;IACA;IACA,MAAMqE,WAAW,GAAG,IAAAC,4CAA+B,EAClDpC,MAAM,EACNlC,UAAU,CAAC2E,SACZ,CAAC;IAED,OACCN,WAAW,EAAEE,KAAK,IAClBJ,UAAU,CAAClE,KAAK,EAAEsE,KAAK,IACvBtE,KAAK,EAAEsE,KAAK,IACZlG,eAAM,CAACoG,aAAa,CAACF,KAAK;EAE5B;EAEA,SAASK,YAAYA,CAAE1F,KAAK,EAAG;IAC9B,MAAM;MAAEN;IAAc,CAAC,GAAGgB,KAAK;IAC/BhB,aAAa,CAAE;MAAEiG,IAAI,EAAE3F;IAAM,CAAE,CAAC;EACjC;EAEA,SAAS4F,oBAAoBA,CAAEC,SAAS,EAAG;IAC1C,MAAM;MAAEnG,aAAa;MAAEoB;IAAW,CAAC,GAAGJ,KAAK;IAC3C,MAAM;MAAEK;IAAM,CAAC,GAAGD,UAAU;IAC5B,MAAMgF,QAAQ,GAAGC,WAAW,CAAEhF,KAAK,EAAE8E,SAAS,EAAEjD,gBAAiB,CAAC;IAElElD,aAAa,CAAE;MAAEqB,KAAK,EAAE+E;IAAS,CAAE,CAAC;EACrC;EAEA,SAASE,wBAAwBA,CAAEC,aAAa,EAAG;IAClD,MAAM;MAAEvG,aAAa;MAAEoB;IAAW,CAAC,GAAGJ,KAAK;IAC3C,MAAM;MAAEK;IAAM,CAAC,GAAGD,UAAU;IAC5B,MAAMoF,eAAe,GAAGC,oBAAoB,CAC3CrF,UAAU,EAAEC,KAAK,EAAEC,MAAM,EAAEC,MAC5B,CAAC;IACD,MAAM6E,QAAQ,GAAGC,WAAW,CAAEhF,KAAK,EAAEmF,eAAe,EAAED,aAAc,CAAC;IACrEvG,aAAa,CAAE;MAAEqB,KAAK,EAAE+E;IAAS,CAAE,CAAC;IACpCjD,mBAAmB,CAAEoD,aAAc,CAAC;EACrC;EAEA,SAASF,WAAWA,CAAEhF,KAAK,EAAEE,MAAM,EAAEmF,UAAU,EAAG;IACjD,OAAO;MACN,GAAGrF,KAAK;MACRC,MAAM,EAAE;QACP,GAAGD,KAAK,EAAEC,MAAM;QAChBC,MAAM,EAAG,GAAGA,MAAQ,GAAGmF,UAAY,EAAC,CAAE;MACvC;IACD,CAAC;EACF;EAEA,SAASC,kBAAkBA,CAAA,EAAG;IAC7B9D,qBAAqB,CAAE,IAAK,CAAC;EAC9B;EAEA,SAAS+D,kBAAkBA,CAAA,EAAG;IAC7B/D,qBAAqB,CAAE,KAAM,CAAC;EAC/B;EAEA,SAASa,mBAAmBA,CAAEpD,KAAK,EAAG;IACrC,IAAKA,KAAK,KAAKwC,eAAe,EAAG;MAChCC,kBAAkB,CAAEzC,KAAM,CAAC;IAC5B;EACD;EAEA,SAASkE,eAAeA,CAAA,EAAG;IAC1B,MAAM;MAAExE;IAAc,CAAC,GAAGgB,KAAK;IAE/BhB,aAAa,CAAE;MACd0E,GAAG,EAAE,EAAE;MACPmC,GAAG,EAAE,EAAE;MACPC,UAAU,EAAE;IACb,CAAE,CAAC;IAEHF,kBAAkB,CAAC,CAAC;EACrB;EAEA,SAASG,QAAQA,CAAE;IAAEC;EAAY,CAAC,EAAG;IACpC,MAAM;MAAE7G;IAAM,CAAC,GAAG6G,WAAW,CAACC,MAAM;IACpCtD,aAAa,CAAExD,KAAM,CAAC;EACvB;EAEA,MAAMwD,aAAa,GAAG,IAAAuD,oBAAW,EAChC,CAAE/G,KAAK,EAAEgH,sBAAsB,GAAG,KAAK,KAAM;IAC5C,MAAM;MAAEC,WAAW,EAAEC;IAAQ,CAAC,GAAG5H,eAAM,CAACoG,aAAa;IAErD,MAAMyB,oBAAoB,GAAGH,sBAAsB,GAChDA,sBAAsB,GACtB1E,QAAQ,KAAKvB,WAAW;IAC3B,MAAMqG,cAAc,GAAG9E,QAAQ,KAAKtC,KAAK;IAEzC,IAAKe,WAAW,IAAI,CAAEf,KAAK,IAAImH,oBAAoB,EAAG;MACrD5E,WAAW,CAAExB,WAAW,GAAGmG,OAAQ,CAAC;IACrC,CAAC,MAAM,IAAK,CAAEnG,WAAW,IAAIf,KAAK,IAAIoH,cAAc,EAAG;MACtD7E,WAAW,CAAEvC,KAAK,GAAGkH,OAAQ,CAAC;IAC/B;EACD,CAAC,EACD,CAAE5E,QAAQ,EAAEvB,WAAW,CACxB,CAAC;EAED,SAASsG,QAAQA,CAAA,EAAG;IACnB,MAAM;MAAEC,aAAa;MAAEC;IAAU,CAAC,GAAG1G,KAAK;IAE1C,IAAKW,YAAY,KAAK,CAAC,EAAG;MACzB8F,aAAa,CAAC,CAAC;IAChB,CAAC,MAAM;MACNC,SAAS,CAAE,EAAG,CAAC;IAChB;EACD;EAEA,SAASC,sBAAsBA,CAAE;IAAEX;EAAY,CAAC,EAAG;IAClD,MAAMY,SAAS,GACdZ,WAAW,CAACa,KAAK,CAAE,CAAC,CAAE,IAAIb,WAAW,CAACa,KAAK,CAAE,CAAC,CAAE,CAAC1H,KAAK;IAEvD,IAAKyH,SAAS,IAAIA,SAAS,KAAK5E,oBAAoB,EAAG;MACtDC,uBAAuB,CAAE6E,IAAI,CAACC,GAAG,CAAEH,SAAS,EAAEnF,QAAS,CAAE,CAAC;IAC3D;EACD;EAEA,MAAMuF,QAAQ,GAAG,IAAAd,oBAAW,EACzBe,GAAG,IAAM;IACV7E,WAAW,CAACS,OAAO,GAAGoE,GAAG;EAC1B,CAAC,EACD,CAAE7E,WAAW,CACd,CAAC;EAED,MAAM8E,iBAAiB,GAAG,IAAAhB,oBAAW,EAAE,MAAM;IAC5CxD,mBAAmB,CAAE,IAAK,CAAC;EAC5B,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMyE,MAAM,GAAG,IAAAjB,oBAAW,EAAE,MAAM;IACjCvD,aAAa,CAAC,CAAC;EAChB,CAAC,EAAE,EAAG,CAAC;EAEP,SAASyE,YAAYA,CAAA,EAAG;IACvBxB,kBAAkB,CAAC,CAAC;IACpBrE,mBAAmB,CAAC,CAAC;EACtB;EAEA,SAAS8F,eAAeA,CAAEC,wBAAwB,EAAG;IACpD,MAAM;MAAElH,UAAU;MAAEpB;IAAc,CAAC,GAAGgB,KAAK;IAC3C,OACC,IAAAP,MAAA,CAAAC,aAAA,EAAC7B,WAAA,CAAA0J,sBAAsB;MACtBC,SAAS,EAAG5F,kBAAoB;MAChC8B,GAAG,EAAGtD,UAAU,CAACsD,GAAK;MACtBmC,GAAG,EAAGzF,UAAU,CAACyF,GAAK;MACtBC,UAAU,EAAG1F,UAAU,CAAC0F,UAAY;MACpC2B,OAAO,EAAGL,YAAc;MACxBpI,aAAa,EAAGA,aAAe;MAC/B0I,eAAe,EAAG,CAAEJ,wBAA0B;MAC9CK,SAAS;MACTC,OAAO,EAAGtE,mBAAqB;MAC/BjE,OAAO,EACNiI,wBAAwB,GACrB7D,mBAAmB,GACnBQ,yBACH;MACD4D,QAAQ,EAAG,CAAEP;IAA0B,CACvC,CAAC;EAEJ;;EAEA;EACA;EACA,SAASQ,mBAAmBA,CAAEC,eAAe,EAAG;IAC/C,OACC,IAAAtI,MAAA,CAAAC,aAAA,EAACnC,YAAA,CAAAyK,IAAI;MACJ3H,KAAK,EAAG5B,eAAM,CAACkF,WAAa;MAC5BsE,YAAY,EAAGtB;IAAwB,GAErCoB,eACG,CAAC;EAET;EAEA,SAAStC,oBAAoBA,CAAEyC,mBAAmB,EAAEC,mBAAmB,EAAG;IACzE,MAAMC,YAAY,GAAG,IAAA3H,2BAAe,EAAEyH,mBAAoB,CAAC;IAC3D,IAAKG,MAAM,CAACC,SAAS,CAAEC,QAAQ,CAAEH,YAAY,EAAEI,cAAe,CAAE,CAAC,EAAG;MACnE,OAAOC,UAAU,CAAEL,YAAY,CAACI,cAAe,CAAC;IACjD;IACA,OAAOL,mBAAmB;EAC3B;EAEA,MAAM;IACL/H,UAAU;IACVgB,QAAQ;IACRsF,SAAS;IACTgC,WAAW;IACX1J,aAAa;IACbqB;EACD,CAAC,GAAGL,KAAK;EACT,MAAM;IACL2D,WAAW;IACXsB,IAAI;IACJ5E,KAAK,EAAEsI,WAAW;IAClBjF,GAAG;IACHkF,KAAK,GAAG,QAAQ;IAChBzJ;EACD,CAAC,GAAGiB,UAAU;EACd,MAAM;IAAEyI,UAAU,EAAExC,OAAO;IAAEyC;EAAY,CAAC,GAAGrK,eAAM,CAACoG,aAAa;EAEjE,IAAK3E,WAAW,KAAK,CAAC,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,MAAMgI,mBAAmB,GAAGS,WAAW,EAAErI,MAAM,EAAEC,MAAM;EACvD,MAAMwI,iBAAiB,GAAGtD,oBAAoB,CAC7CyC,mBAAmB,EACnBzJ,eAAM,CAACoG,aAAa,CAACmE,YACtB,CAAC;EAED,MAAMC,uBAAuB,GAC5B/G,gBAAgB,KAAK,IAAI,IAAIA,gBAAgB,KAAK,GAAG,GAClD6G,iBAAiB,GACjBjC,IAAI,CAACoC,KAAK,CAAE,EAAE,GAAGH,iBAAkB,CAAC,CAAC,CAAC;EAC1C,MAAMI,mBAAmB,GACxBF,uBAAuB,GAAG,CAAC,GACxBA,uBAAuB,GAAG5C,OAAO,GAAGyC,WAAW,GAC/C,CAAC;;EAEL;EACA;EACA;EACA,IAAIM,QAAQ,GACXtH,eAAe,IAAM,CAAEA,eAAe,IAAImD,IAAI,IAAIA,IAAI,KAAK,EAAI,GAC5D1G,SAAS,GACTyD,oBAAoB;EACxB,IAAK7C,KAAK,EAAG;IACZ;IACAiK,QAAQ,GAAGtC,IAAI,CAACoC,KAAK,CACpBzH,QAAQ,IAAKtC,KAAK,GAAG,GAAG,CAAE,GAAGX,iBAAiB,CAAEW,KAAK,CACtD,CAAC;EACF;EACA;EACA;EACA;EACA,MAAM4I,eAAe,GACpBjG,eAAe,IAAM,CAAEA,eAAe,IAAImD,IAAI,IAAIA,IAAI,KAAK,EAAI,GAC5D,EAAE,GACFtB,WAAW,IAAI,IAAAnE,QAAE,EAAE,WAAY,CAAC;EAEpC,MAAM2E,eAAe,GAAGD,kBAAkB,CAAC,CAAC;EAC5C,MAAMa,SAAS,GAAGD,YAAY,CAAC,CAAC;EAChC,MAAMuE,YAAY,GAAG,CAAC,CAAElK,KAAK;EAC7B,MAAMmK,aAAa,GAAG,CACrB7K,eAAM,CAAC8K,OAAO,EACd;IACCP,YAAY,EAAEG,mBAAmB;IACjCK,WAAW,EAAErF;EACd,CAAC,CACD;EACD,MAAMsF,UAAU,GAAG;IAClB,GAAGC,iBAAa,CAAC9G,QAAQ;IACzB+G,WAAW,EAAEN,YAAY,GAAG,CAAC,GAAGK,iBAAa,CAAC9G,QAAQ,CAAC+G,WAAW;IAClEC,YAAY,EAAEP,YAAY,GAAG,CAAC,GAAGK,iBAAa,CAAC9G,QAAQ,CAACgH,YAAY;IACpEjF,KAAK,EAAEI;EACR,CAAC;EAED,OACC,IAAAtF,MAAA,CAAAC,aAAA,EAACnC,YAAA,CAAAsM,IAAI;IAAC9D,QAAQ,EAAGA;EAAU,GACxB+B,mBAAmB,CAAEC,eAAgB,CAAC,EACxC,IAAAtI,MAAA,CAAAC,aAAA,EAACvB,gBAAA,CAAA2L,OAAe;IACff,iBAAiB,EAAGE,uBAAyB;IAC7C9E,eAAe,EAAGA,eAAiB;IACnClE,UAAU,EAAGA;EAAY,GAEvBA,UAAU,IACX,IAAAR,MAAA,CAAAC,aAAA,EAACnC,YAAA,CAAAsM,IAAI;IAACE,aAAa,EAAC,MAAM;IAAC1J,KAAK,EAAGiJ;EAAe,CAAE,CACpD,EACD,IAAA7J,MAAA,CAAAC,aAAA,EAAC9B,YAAA,CAAAoM,QAAQ;IACR/C,GAAG,EAAGD,QAAU;IAChBrD,WAAW,EAAGoE,eAAiB;IAC/BzI,KAAK,EAAG2F,IAAM;IACdnF,QAAQ,EAAGkF,YAAc;IACzB3E,KAAK,EAAGoJ,UAAY;IACpBQ,SAAS,EAAGrB,KAAO;IACnBsB,oBAAoB,EACnB7J,KAAK,EAAEsE,KAAK,IAAIlG,eAAM,CAACyL,oBAAoB,CAACvF,KAC5C;IACDwF,UAAU,EAAC,MAAM;IACjBC,OAAO,EAAC,GAAG;IACXhB,QAAQ,EAAGA,QAAU,CAAC;IAAA;IACtB3H,QAAQ,EAAG4H,YAAY,GAAGD,QAAQ,GAAG3H,QAAU,CAAC;IAAA;IAChD4I,EAAE,EAAGjJ,QAAU;IACfnB,UAAU,EAAG6B,eAAiB;IAC9BwI,4BAA4B;IAC5BC,eAAe,EAAGrD,iBAAmB;IACrCsD,8BAA8B,EAAG,CAAEvK,UAAY;IAC/CwK,cAAc,EAAG1F,SAAW;IAC5BoC,MAAM,EAAGA,MAAQ;IACjBT,SAAS,EAAGA,SAAW;IACvBF,QAAQ,EAAGA,QAAU;IACrBkE,OAAO,EAAGhC,WAAa;IACvBiC,QAAQ,EAAGtK,KAAK,EAAEsK;EAAU,CAC5B,CACe,CAAC,EAEhB1K,UAAU,IACX,IAAAR,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAmL,QAAA,QACC,IAAAnL,MAAA,CAAAC,aAAA,EAAC9B,YAAA,CAAAiN,aAAa,QACb,IAAApL,MAAA,CAAAC,aAAA,EAAC7B,WAAA,CAAAiN,YAAY,QACZ,IAAArL,MAAA,CAAAC,aAAA,EAAC7B,WAAA,CAAAkN,aAAa;IACbnL,KAAK,EAAG,IAAAJ,QAAE,EAAE,WAAY,CAAG;IAC3BwL,IAAI,EAAGC,WAAM;IACbC,OAAO,EAAGvF,kBAAoB;IAC9BwF,QAAQ,EAAGzH;EAAK,CAChB,CACY,CACA,CAAC,EACd2D,eAAe,CAAE,KAAM,CAAC,EAC1B,IAAA5H,MAAA,CAAAC,aAAA,EAAC9B,YAAA,CAAAwN,iBAAiB,QACjB,IAAA3L,MAAA,CAAAC,aAAA,EAAC7B,WAAA,CAAA8B,SAAS;IAACC,KAAK,EAAG,IAAAJ,QAAE,EAAE,iBAAkB;EAAG,GAC3C,IAAAC,MAAA,CAAAC,aAAA,EAAC7B,WAAA,CAAAwN,WAAW;IACX9L,KAAK,EAAG,IAAAC,QAAE,EAAE,eAAgB,CAAG;IAC/BuH,GAAG,EAAG3I,uBAAyB;IAC/BkN,GAAG,EAAGjN,uBAAyB;IAC/BiB,KAAK,EAAGyJ,iBAAmB;IAC3BjJ,QAAQ,EAAGoF,oBAAsB;IACjCqG,YAAY,EAAGjG,wBAA0B;IACzCkG,IAAI,EAAGtJ,gBAAkB;IACzBuJ,KAAK,EAAG,IAAAC,mCAAuB,EAC9B,CAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAE,EACrBC,qBACD;EAAG,CACH,CACS,CAAC,EACZ,IAAAlM,MAAA,CAAAC,aAAA,EAACZ,UAAU;IACVC,aAAa,EAAGI,KAAO;IACvBH,aAAa,EAAGA;EAAe,CAC/B,CAAC,EACF,IAAAS,MAAA,CAAAC,aAAA,EAAC7B,WAAA,CAAA8B,SAAS;IAACC,KAAK,EAAG,IAAAJ,QAAE,EAAE,eAAgB;EAAG,GACvC6H,eAAe,CAAE,IAAK,CACd,CACO,CAClB,CAEE,CAAC;AAET;AAAC,IAAAuE,QAAA,GAAAC,OAAA,CAAA/B,OAAA,GAEc/J,UAAU"}
|
package/build/code/save.js
CHANGED
|
@@ -26,7 +26,9 @@ function save({
|
|
|
26
26
|
// prevent embedding in PHP. Ideally checks for the code block,
|
|
27
27
|
// or pre/code tags, should be made on the PHP side?
|
|
28
28
|
,
|
|
29
|
-
value: (0, _utils.escape)(attributes.content.
|
|
29
|
+
value: (0, _utils.escape)(typeof attributes.content === 'string' ? attributes.content : attributes.content.toHTMLString({
|
|
30
|
+
preserveWhiteSpace: true
|
|
31
|
+
}))
|
|
30
32
|
}));
|
|
31
33
|
}
|
|
32
34
|
//# sourceMappingURL=save.js.map
|
package/build/code/save.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","_utils","save","attributes","_react","createElement","useBlockProps","RichText","Content","tagName","value","escape","content","
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_utils","save","attributes","_react","createElement","useBlockProps","RichText","Content","tagName","value","escape","content","toHTMLString","preserveWhiteSpace"],"sources":["@wordpress/block-library/src/code/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { escape } from './utils';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<pre { ...useBlockProps.save() }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"code\"\n\t\t\t\t// To do: `escape` encodes characters in shortcodes and URLs to\n\t\t\t\t// prevent embedding in PHP. Ideally checks for the code block,\n\t\t\t\t// or pre/code tags, should be made on the PHP side?\n\t\t\t\tvalue={ escape(\n\t\t\t\t\ttypeof attributes.content === 'string'\n\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t: attributes.content.toHTMLString( {\n\t\t\t\t\t\t\t\tpreserveWhiteSpace: true,\n\t\t\t\t\t\t } )\n\t\t\t\t) }\n\t\t\t/>\n\t\t</pre>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGe,SAASE,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAA,GAAUC,0BAAa,CAACJ,IAAI,CAAC;EAAC,GAC7B,IAAAE,MAAA,CAAAC,aAAA,EAACN,YAAA,CAAAQ,QAAQ,CAACC,OAAO;IAChBC,OAAO,EAAC;IACR;IACA;IACA;IAAA;IACAC,KAAK,EAAG,IAAAC,aAAM,EACb,OAAOR,UAAU,CAACS,OAAO,KAAK,QAAQ,GACnCT,UAAU,CAACS,OAAO,GAClBT,UAAU,CAACS,OAAO,CAACC,YAAY,CAAE;MACjCC,kBAAkB,EAAE;IACpB,CAAE,CACN;EAAG,CACH,CACG,CAAC;AAER"}
|
|
@@ -367,6 +367,7 @@ function CoverEdit({
|
|
|
367
367
|
'is-repeated': isRepeated,
|
|
368
368
|
'has-custom-content-position': !(0, _shared.isContentPositionCenter)(contentPosition)
|
|
369
369
|
}, (0, _shared.getPositionClassName)(contentPosition));
|
|
370
|
+
const showOverlay = url || !useFeaturedImage || useFeaturedImage && !url;
|
|
370
371
|
return (0, _react.createElement)(_react.Fragment, null, blockControls, inspectorControls, (0, _react.createElement)(TagName, {
|
|
371
372
|
...blockProps,
|
|
372
373
|
className: (0, _classnames.default)(classes, blockProps.className),
|
|
@@ -375,7 +376,7 @@ function CoverEdit({
|
|
|
375
376
|
...blockProps.style
|
|
376
377
|
},
|
|
377
378
|
"data-url": url
|
|
378
|
-
}, resizeListener,
|
|
379
|
+
}, resizeListener, showOverlay && (0, _react.createElement)("span", {
|
|
379
380
|
"aria-hidden": "true",
|
|
380
381
|
className: (0, _classnames.default)('wp-block-cover__background', (0, _shared.dimRatioToClass)(dimRatio), {
|
|
381
382
|
[overlayColor.class]: overlayColor.class,
|