@wordpress/block-library 7.17.0 → 7.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/audio/edit.js +44 -4
- package/build/audio/edit.js.map +1 -1
- package/build/button/deprecated.js +16 -2
- package/build/button/deprecated.js.map +1 -1
- package/build/button/edit.js +14 -8
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +4 -1
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +2 -0
- package/build/button/save.js.map +1 -1
- package/build/buttons/edit.native.js +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/columns/transforms.js +5 -0
- package/build/columns/transforms.js.map +1 -1
- package/build/comment-template/index.js +6 -2
- package/build/comment-template/index.js.map +1 -1
- package/build/cover/edit/index.js +3 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +3 -7
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/embed/deprecated.js +43 -4
- package/build/embed/deprecated.js.map +1 -1
- package/build/file/deprecated.js +108 -4
- package/build/file/deprecated.js.map +1 -1
- package/build/file/transforms.js +3 -9
- package/build/file/transforms.js.map +1 -1
- package/build/gallery/deprecated.js +148 -23
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/gallery.js +3 -2
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/use-image-sizes.js +2 -1
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/gallery/v1/edit.js +6 -3
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/edit.js +105 -48
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -0
- package/build/group/index.js.map +1 -1
- package/build/group/placeholder.js +168 -0
- package/build/group/placeholder.js.map +1 -0
- package/build/group/variations.js +3 -3
- package/build/group/variations.js.map +1 -1
- package/build/image/edit.native.js +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +6 -9
- package/build/image/image.js.map +1 -1
- package/build/latest-comments/edit.js +2 -1
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-comments/index.js +5 -1
- package/build/latest-comments/index.js.map +1 -1
- package/build/latest-posts/deprecated.js +13 -0
- package/build/latest-posts/deprecated.js.map +1 -1
- package/build/latest-posts/edit.js +1 -1
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/index.js +13 -0
- package/build/latest-posts/index.js.map +1 -1
- package/build/list/utils.js +4 -8
- package/build/list/utils.js.map +1 -1
- package/build/list-item/edit.js +2 -1
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +5 -7
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/navigation/edit/index.js +94 -103
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/manage-menus-button.js +36 -0
- package/build/navigation/edit/manage-menus-button.js.map +1 -0
- package/build/navigation/edit/navigation-menu-selector.js +12 -5
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +2 -6
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +5 -17
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation-link/edit.js +14 -3
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -4
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +29 -10
- package/build/page-list/edit.js.map +1 -1
- package/build/post-author/edit.js +35 -20
- package/build/post-author/edit.js.map +1 -1
- package/build/post-comments-count/index.js +4 -0
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/index.js +4 -0
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +4 -0
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +14 -6
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +3 -0
- package/build/post-content/index.js.map +1 -1
- package/build/pullquote/deprecated.js +6 -6
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/search/edit.js +1 -3
- package/build/search/edit.js.map +1 -1
- package/build/site-logo/edit.js +2 -2
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-tagline/edit.js +21 -9
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-title/edit/index.js +20 -8
- package/build/site-title/edit/index.js.map +1 -1
- package/build/social-link/edit.js +11 -2
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/index.js +3 -0
- package/build/social-link/index.js.map +1 -1
- package/build/spacer/controls.js +3 -7
- package/build/spacer/controls.js.map +1 -1
- package/build/table/deprecated.js +282 -27
- package/build/table/deprecated.js.map +1 -1
- package/build/table/state.js +1 -1
- package/build/table/state.js.map +1 -1
- package/build/template-part/variations.js +5 -0
- package/build/template-part/variations.js.map +1 -1
- package/build/utils/clean-empty-object.js +5 -4
- package/build/utils/clean-empty-object.js.map +1 -1
- package/build/video/deprecated.js +159 -0
- package/build/video/deprecated.js.map +1 -0
- package/build/video/edit.js +41 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/index.js +3 -0
- package/build/video/index.js.map +1 -1
- package/build/video/tracks-editor.js +3 -28
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/audio/edit.js +46 -7
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/button/deprecated.js +16 -2
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/edit.js +16 -10
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +4 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +2 -0
- package/build-module/button/save.js.map +1 -1
- package/build-module/buttons/edit.native.js +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/columns/transforms.js +5 -0
- package/build-module/columns/transforms.js.map +1 -1
- package/build-module/comment-template/index.js +6 -2
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/cover/edit/index.js +3 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +4 -8
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/embed/deprecated.js +44 -5
- package/build-module/embed/deprecated.js.map +1 -1
- package/build-module/file/deprecated.js +108 -4
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/transforms.js +3 -8
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/gallery/deprecated.js +147 -25
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +3 -2
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/gallery/v1/edit.js +7 -4
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/edit.js +101 -48
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/placeholder.js +154 -0
- package/build-module/group/placeholder.js.map +1 -0
- package/build-module/group/variations.js +3 -3
- package/build-module/group/variations.js.map +1 -1
- package/build-module/image/edit.native.js +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +8 -11
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-comments/edit.js +2 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-comments/index.js +5 -1
- package/build-module/latest-comments/index.js.map +1 -1
- package/build-module/latest-posts/deprecated.js +13 -0
- package/build-module/latest-posts/deprecated.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -2
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/index.js +13 -0
- package/build-module/latest-posts/index.js.map +1 -1
- package/build-module/list/utils.js +5 -9
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/edit.js +2 -1
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +5 -6
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/navigation/edit/index.js +96 -105
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/manage-menus-button.js +26 -0
- package/build-module/navigation/edit/manage-menus-button.js.map +1 -0
- package/build-module/navigation/edit/navigation-menu-selector.js +13 -6
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +2 -6
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +7 -18
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation-link/edit.js +14 -4
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -4
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +29 -10
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/post-author/edit.js +35 -21
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +4 -0
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/index.js +4 -0
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +4 -0
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +14 -6
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +3 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/pullquote/deprecated.js +7 -7
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/search/edit.js +1 -3
- package/build-module/search/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +3 -3
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-tagline/edit.js +23 -11
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-title/edit/index.js +22 -10
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/social-link/edit.js +11 -2
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/index.js +3 -0
- package/build-module/social-link/index.js.map +1 -1
- package/build-module/spacer/controls.js +4 -8
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/table/deprecated.js +282 -27
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/state.js +1 -1
- package/build-module/table/state.js.map +1 -1
- package/build-module/template-part/variations.js +5 -0
- package/build-module/template-part/variations.js.map +1 -1
- package/build-module/utils/clean-empty-object.js +5 -5
- package/build-module/utils/clean-empty-object.js.map +1 -1
- package/build-module/video/deprecated.js +147 -0
- package/build-module/video/deprecated.js.map +1 -0
- package/build-module/video/edit.js +45 -9
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/index.js +2 -0
- package/build-module/video/index.js.map +1 -1
- package/build-module/video/tracks-editor.js +4 -29
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/button/style-rtl.css +1 -0
- package/build-style/button/style.css +1 -0
- package/build-style/comment-template/style-rtl.css +1 -0
- package/build-style/comment-template/style.css +1 -0
- package/build-style/editor-rtl.css +80 -5
- package/build-style/editor.css +80 -5
- package/build-style/group/editor-rtl.css +44 -0
- package/build-style/group/editor.css +44 -0
- package/build-style/latest-comments/style-rtl.css +1 -0
- package/build-style/latest-comments/style.css +1 -0
- package/build-style/latest-posts/style-rtl.css +3 -0
- package/build-style/latest-posts/style.css +3 -0
- package/build-style/navigation/editor-rtl.css +27 -4
- package/build-style/navigation/editor.css +27 -4
- package/build-style/navigation/style-rtl.css +13 -1
- package/build-style/navigation/style.css +13 -1
- package/build-style/navigation-link/editor-rtl.css +8 -1
- package/build-style/navigation-link/editor.css +8 -1
- package/build-style/post-comments-form/style-rtl.css +3 -0
- package/build-style/post-comments-form/style.css +3 -0
- package/build-style/query/editor-rtl.css +1 -1
- package/build-style/query/editor.css +1 -1
- package/build-style/query-pagination/style-rtl.css +1 -1
- package/build-style/query-pagination/style.css +1 -1
- package/build-style/style-rtl.css +28 -2
- package/build-style/style.css +28 -2
- package/build-style/table/editor-rtl.css +1 -0
- package/build-style/table/editor.css +1 -0
- package/build-style/table/style-rtl.css +5 -0
- package/build-style/table/style.css +5 -0
- package/build-style/table/theme-rtl.css +1 -3
- package/build-style/table/theme.css +1 -3
- package/build-style/theme-rtl.css +1 -3
- package/build-style/theme.css +1 -3
- package/package.json +29 -28
- package/src/audio/edit.js +79 -24
- package/src/avatar/index.php +1 -1
- package/src/block/test/edit.native.js +8 -8
- package/src/button/block.json +4 -1
- package/src/button/deprecated.js +18 -2
- package/src/button/edit.js +12 -10
- package/src/button/save.js +12 -2
- package/src/button/style.scss +2 -0
- package/src/buttons/edit.native.js +1 -1
- package/src/buttons/test/edit.native.js +19 -19
- package/src/columns/test/edit.native.js +32 -32
- package/src/columns/transforms.js +8 -0
- package/src/comment-template/block.json +6 -2
- package/src/comment-template/style.scss +2 -0
- package/src/cover/edit/index.js +3 -1
- package/src/cover/edit/inspector-controls.js +11 -13
- package/src/cover/test/edit.native.js +26 -26
- package/src/embed/deprecated.js +53 -26
- package/src/embed/test/index.native.js +43 -43
- package/src/file/deprecated.js +130 -2
- package/src/file/transforms.js +3 -8
- package/src/gallery/deprecated.js +129 -4
- package/src/gallery/gallery.js +2 -0
- package/src/gallery/index.php +19 -10
- package/src/gallery/test/index.native.js +11 -11
- package/src/gallery/use-image-sizes.js +3 -2
- package/src/gallery/v1/edit.js +21 -25
- package/src/group/block.json +3 -0
- package/src/group/edit.js +105 -46
- package/src/group/editor.scss +48 -0
- package/src/group/placeholder.js +187 -0
- package/src/group/test/edit.native.js +3 -3
- package/src/group/test/placeholder.js +78 -0
- package/src/group/variations.js +3 -3
- package/src/image/edit.native.js +1 -1
- package/src/image/image.js +22 -10
- package/src/image/test/edit.native.js +17 -17
- package/src/latest-comments/block.json +5 -1
- package/src/latest-comments/edit.js +1 -0
- package/src/latest-comments/style.scss +3 -0
- package/src/latest-posts/block.json +13 -0
- package/src/latest-posts/edit.js +2 -2
- package/src/latest-posts/style.scss +3 -0
- package/src/list/test/edit.native.js +36 -36
- package/src/list/utils.js +3 -11
- package/src/list-item/edit.js +1 -0
- package/src/list-item/hooks/use-outdent-list-item.js +3 -6
- package/src/missing/test/edit-integration.native.js +5 -5
- package/src/navigation/edit/index.js +186 -161
- package/src/navigation/edit/manage-menus-button.js +21 -0
- package/src/navigation/edit/navigation-menu-selector.js +20 -5
- package/src/navigation/edit/responsive-wrapper.js +2 -10
- package/src/navigation/edit/unsaved-inner-blocks.js +5 -22
- package/src/navigation/editor.scss +29 -4
- package/src/navigation/style.scss +19 -1
- package/src/navigation-link/edit.js +13 -4
- package/src/navigation-link/editor.scss +8 -0
- package/src/navigation-submenu/edit.js +7 -5
- package/src/page-list/edit.js +36 -22
- package/src/post-author/edit.js +44 -20
- package/src/post-comments-count/block.json +4 -0
- package/src/post-comments-form/block.json +4 -0
- package/src/post-comments-form/style.scss +3 -0
- package/src/post-comments-link/block.json +4 -0
- package/src/post-content/block.json +3 -0
- package/src/post-content/edit.js +8 -4
- package/src/pullquote/deprecated.js +7 -7
- package/src/query/editor.scss +1 -1
- package/src/query-pagination/style.scss +1 -1
- package/src/read-more/index.php +9 -2
- package/src/search/edit.js +1 -1
- package/src/shortcode/test/edit.native.js +5 -5
- package/src/site-logo/edit.js +3 -3
- package/src/site-tagline/edit.js +25 -18
- package/src/site-title/edit/index.js +26 -12
- package/src/social-link/block.json +3 -0
- package/src/social-link/edit.js +8 -1
- package/src/social-link/index.php +11 -7
- package/src/social-link/test/index.native.js +10 -10
- package/src/social-links/test/edit.native.js +4 -4
- package/src/spacer/controls.js +10 -12
- package/src/spacer/test/index.native.js +17 -17
- package/src/table/deprecated.js +587 -348
- package/src/table/editor.scss +1 -0
- package/src/table/state.js +1 -1
- package/src/table/style.scss +7 -0
- package/src/table/theme.scss +1 -3
- package/src/template-part/index.php +5 -0
- package/src/template-part/variations.js +4 -0
- package/src/utils/clean-empty-object.js +5 -6
- package/src/video/deprecated.js +57 -0
- package/src/video/edit.js +71 -23
- package/src/video/index.js +2 -0
- package/src/video/tracks-editor.js +12 -28
package/CHANGELOG.md
CHANGED
package/build/audio/edit.js
CHANGED
|
@@ -27,6 +27,8 @@ var _blocks = require("@wordpress/blocks");
|
|
|
27
27
|
|
|
28
28
|
var _notices = require("@wordpress/notices");
|
|
29
29
|
|
|
30
|
+
var _compose = require("@wordpress/compose");
|
|
31
|
+
|
|
30
32
|
var _util = require("../embed/util");
|
|
31
33
|
|
|
32
34
|
/**
|
|
@@ -59,6 +61,8 @@ function AudioEdit(_ref) {
|
|
|
59
61
|
preload,
|
|
60
62
|
src
|
|
61
63
|
} = attributes;
|
|
64
|
+
const prevCaption = (0, _compose.usePrevious)(caption);
|
|
65
|
+
const [showCaption, setShowCaption] = (0, _element.useState)(!!caption);
|
|
62
66
|
const isTemporaryAudio = !id && (0, _blob.isBlobURL)(src);
|
|
63
67
|
const mediaUpload = (0, _data.useSelect)(select => {
|
|
64
68
|
const {
|
|
@@ -82,7 +86,25 @@ function AudioEdit(_ref) {
|
|
|
82
86
|
});
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
|
-
}, []);
|
|
89
|
+
}, []); // We need to show the caption when changes come from
|
|
90
|
+
// history navigation(undo/redo).
|
|
91
|
+
|
|
92
|
+
(0, _element.useEffect)(() => {
|
|
93
|
+
if (caption && !prevCaption) {
|
|
94
|
+
setShowCaption(true);
|
|
95
|
+
}
|
|
96
|
+
}, [caption, prevCaption]); // Focus the caption when we click to add one.
|
|
97
|
+
|
|
98
|
+
const captionRef = (0, _element.useCallback)(node => {
|
|
99
|
+
if (node && !caption) {
|
|
100
|
+
node.focus();
|
|
101
|
+
}
|
|
102
|
+
}, [caption]);
|
|
103
|
+
(0, _element.useEffect)(() => {
|
|
104
|
+
if (!isSelected && !caption) {
|
|
105
|
+
setShowCaption(false);
|
|
106
|
+
}
|
|
107
|
+
}, [isSelected, caption]);
|
|
86
108
|
|
|
87
109
|
function toggleAttribute(attribute) {
|
|
88
110
|
return newValue => {
|
|
@@ -135,7 +157,8 @@ function AudioEdit(_ref) {
|
|
|
135
157
|
// previous attributes should be removed because they may be temporary blob urls.
|
|
136
158
|
setAttributes({
|
|
137
159
|
src: undefined,
|
|
138
|
-
id: undefined
|
|
160
|
+
id: undefined,
|
|
161
|
+
caption: undefined
|
|
139
162
|
});
|
|
140
163
|
return;
|
|
141
164
|
} // Sets the block's attribute and updates the edit component from the
|
|
@@ -144,7 +167,8 @@ function AudioEdit(_ref) {
|
|
|
144
167
|
|
|
145
168
|
setAttributes({
|
|
146
169
|
src: media.url,
|
|
147
|
-
id: media.id
|
|
170
|
+
id: media.id,
|
|
171
|
+
caption: media.caption
|
|
148
172
|
});
|
|
149
173
|
}
|
|
150
174
|
|
|
@@ -170,6 +194,21 @@ function AudioEdit(_ref) {
|
|
|
170
194
|
}
|
|
171
195
|
|
|
172
196
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, {
|
|
197
|
+
group: "block"
|
|
198
|
+
}, (0, _element.createElement)(_components.ToolbarButton, {
|
|
199
|
+
onClick: () => {
|
|
200
|
+
setShowCaption(!showCaption);
|
|
201
|
+
|
|
202
|
+
if (showCaption && caption) {
|
|
203
|
+
setAttributes({
|
|
204
|
+
caption: undefined
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
icon: _icons.caption,
|
|
209
|
+
isPressed: showCaption,
|
|
210
|
+
label: showCaption ? (0, _i18n.__)('Remove caption') : (0, _i18n.__)('Add caption')
|
|
211
|
+
})), (0, _element.createElement)(_blockEditor.BlockControls, {
|
|
173
212
|
group: "other"
|
|
174
213
|
}, (0, _element.createElement)(_blockEditor.MediaReplaceFlow, {
|
|
175
214
|
mediaId: id,
|
|
@@ -215,9 +254,10 @@ function AudioEdit(_ref) {
|
|
|
215
254
|
}, (0, _element.createElement)("audio", {
|
|
216
255
|
controls: "controls",
|
|
217
256
|
src: src
|
|
218
|
-
})), isTemporaryAudio && (0, _element.createElement)(_components.Spinner, null), (!_blockEditor.RichText.isEmpty(caption) || isSelected) && (0, _element.createElement)(_blockEditor.RichText, {
|
|
257
|
+
})), isTemporaryAudio && (0, _element.createElement)(_components.Spinner, null), showCaption && (!_blockEditor.RichText.isEmpty(caption) || isSelected) && (0, _element.createElement)(_blockEditor.RichText, {
|
|
219
258
|
tagName: "figcaption",
|
|
220
259
|
className: (0, _blockEditor.__experimentalGetElementClassName)('caption'),
|
|
260
|
+
ref: captionRef,
|
|
221
261
|
"aria-label": (0, _i18n.__)('Audio caption text'),
|
|
222
262
|
placeholder: (0, _i18n.__)('Add caption'),
|
|
223
263
|
value: caption,
|
package/build/audio/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/audio/edit.js"],"names":["ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","insertBlocksAfter","id","autoplay","caption","loop","preload","src","isTemporaryAudio","mediaUpload","select","getSettings","blockEditorStore","file","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","url","undefined","createErrorNotice","noticesStore","message","type","getAutoplayHelp","checked","classes","blockProps","icon","value","label","RichText","isEmpty"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/audio/edit.js"],"names":["ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","insertBlocksAfter","id","autoplay","caption","loop","preload","src","prevCaption","showCaption","setShowCaption","isTemporaryAudio","mediaUpload","select","getSettings","blockEditorStore","file","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","captionRef","node","focus","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","url","undefined","createErrorNotice","noticesStore","message","type","getAutoplayHelp","checked","classes","blockProps","icon","captionIcon","value","label","RichText","isEmpty"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon, caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t{ showCaption &&\n\t\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"]}
|
|
@@ -54,6 +54,20 @@ const migrateBorderRadius = attributes => {
|
|
|
54
54
|
};
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
+
function migrateAlign(attributes) {
|
|
58
|
+
if (!attributes.align) {
|
|
59
|
+
return attributes;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const {
|
|
63
|
+
align,
|
|
64
|
+
...otherAttributes
|
|
65
|
+
} = attributes;
|
|
66
|
+
return { ...otherAttributes,
|
|
67
|
+
className: (0, _classnames.default)(otherAttributes.className, `align${attributes.align}`)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
57
71
|
const migrateCustomColorsAndGradients = attributes => {
|
|
58
72
|
if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customGradient) {
|
|
59
73
|
return attributes;
|
|
@@ -801,8 +815,8 @@ const deprecated = [v11, v10, {
|
|
|
801
815
|
type: 'string'
|
|
802
816
|
}
|
|
803
817
|
},
|
|
804
|
-
isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient,
|
|
805
|
-
migrate: (0, _compose.compose)(migrateBorderRadius, migrateCustomColorsAndGradients),
|
|
818
|
+
isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient || !!attributes.align,
|
|
819
|
+
migrate: (0, _compose.compose)(migrateBorderRadius, migrateCustomColorsAndGradients, migrateAlign),
|
|
806
820
|
|
|
807
821
|
save(_ref9) {
|
|
808
822
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/button/deprecated.js"],"names":["migrateBorderRadius","attributes","borderRadius","newAttributes","oldBorderRadius","style","border","radius","find","possibleBorderRadius","migrateCustomColorsAndGradients","customTextColor","customBackgroundColor","customGradient","color","text","background","gradient","restAttributes","oldColorsMigration","textColor","undefined","blockAttributes","url","type","source","selector","attribute","title","v11","linkTarget","rel","placeholder","backgroundColor","width","supports","anchor","align","alignWide","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","typography","fontSize","__experimentalFontFamily","reusable","spacing","padding","__experimentalBorder","__experimentalSelector","save","className","borderProps","colorProps","spacingProps","buttonClasses","buttonStyle","wrapperClasses","useBlockProps","v10","migrate","migrateFontFamily","isEligible","fontFamily","deprecated","textClass","backgroundClass","gradientClass","default","includes","newClassName","replace","trim","linkClass"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetGradientClass,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\n\nconst migrateBorderRadius = ( attributes ) => {\n\tconst { borderRadius, ...newAttributes } = attributes;\n\t// We have to check old property `borderRadius` and if\n\t// `styles.border.radius` is a `number`\n\tconst oldBorderRadius = [\n\t\tborderRadius,\n\t\tnewAttributes.style?.border?.radius,\n\t].find( ( possibleBorderRadius ) => {\n\t\treturn (\n\t\t\ttypeof possibleBorderRadius === 'number' &&\n\t\t\tpossibleBorderRadius !== 0\n\t\t);\n\t} );\n\tif ( ! oldBorderRadius ) {\n\t\treturn newAttributes;\n\t}\n\n\treturn {\n\t\t...newAttributes,\n\t\tstyle: {\n\t\t\t...newAttributes.style,\n\t\t\tborder: {\n\t\t\t\t...newAttributes.style?.border,\n\t\t\t\tradius: `${ oldBorderRadius }px`,\n\t\t\t},\n\t\t},\n\t};\n};\n\nconst migrateCustomColorsAndGradients = ( attributes ) => {\n\tif (\n\t\t! attributes.customTextColor &&\n\t\t! attributes.customBackgroundColor &&\n\t\t! attributes.customGradient\n\t) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\tif ( attributes.customGradient ) {\n\t\tstyle.color.gradient = attributes.customGradient;\n\t}\n\n\tconst {\n\t\tcustomTextColor,\n\t\tcustomBackgroundColor,\n\t\tcustomGradient,\n\t\t...restAttributes\n\t} = attributes;\n\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\nconst oldColorsMigration = ( attributes ) => {\n\tconst { color, textColor, ...restAttributes } = {\n\t\t...attributes,\n\t\tcustomTextColor:\n\t\t\tattributes.textColor && '#' === attributes.textColor[ 0 ]\n\t\t\t\t? attributes.textColor\n\t\t\t\t: undefined,\n\t\tcustomBackgroundColor:\n\t\t\tattributes.color && '#' === attributes.color[ 0 ]\n\t\t\t\t? attributes.color\n\t\t\t\t: undefined,\n\t};\n\treturn migrateCustomColorsAndGradients( restAttributes );\n};\n\nconst blockAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'href',\n\t},\n\ttitle: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'title',\n\t},\n\ttext: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'a',\n\t},\n};\n\nconst v11 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\t\tattributes;\n\n\t\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nconst v10 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\t\tattributes;\n\n\t\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateFontFamily,\n\tisEligible( { style } ) {\n\t\treturn style?.typography?.fontFamily;\n\t},\n};\n\nconst deprecated = [\n\tv11,\n\tv10,\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t\tgradients: true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tisEligible( { style } ) {\n\t\t\treturn typeof style?.border?.radius === 'number';\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tfontSize,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\tstyle,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t} = attributes;\n\n\t\t\tif ( ! text ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst borderRadius = style?.border?.radius;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\tfontSize || style?.typography?.fontSize,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url, width } =\n\t\t\t\tattributes;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url, width } =\n\t\t\t\tattributes;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: { gradients: true },\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url } =\n\t\t\t\tattributes;\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t} );\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t\tmigrate: migrateBorderRadius,\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomGradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible: ( attributes ) =>\n\t\t\t!! attributes.customTextColor ||\n\t\t\t!! attributes.customBackgroundColor ||\n\t\t\t!! attributes.customGradient,\n\t\tmigrate: compose(\n\t\t\tmigrateBorderRadius,\n\t\t\tmigrateCustomColorsAndGradients\n\t\t),\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tborderRadius,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tcustomGradient,\n\t\t\t\tlinkTarget,\n\t\t\t\tgradient,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass =\n\t\t\t\t! customGradient &&\n\t\t\t\tgetColorClassName( 'background-color', backgroundColor );\n\t\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background':\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tcustomBackgroundColor ||\n\t\t\t\t\tcustomGradient ||\n\t\t\t\t\tgradient,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t\t\tbackgroundColor:\n\t\t\t\t\tbackgroundClass || customGradient || gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible( attribute ) {\n\t\t\treturn (\n\t\t\t\tattribute.className &&\n\t\t\t\tattribute.className.includes( 'is-style-squared' )\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\tlet newClassName = attributes.className;\n\t\t\tif ( newClassName ) {\n\t\t\t\tnewClassName = newClassName\n\t\t\t\t\t.replace( /is-style-squared[\\s]?/, '' )\n\t\t\t\t\t.trim();\n\t\t\t}\n\t\t\treturn migrateBorderRadius(\n\t\t\t\tmigrateCustomColorsAndGradients( {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName: newClassName ? newClassName : undefined,\n\t\t\t\t\tborderRadius: 0,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\tbackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: color,\n\t\t\t\tcolor: textColor,\n\t\t\t};\n\n\t\t\tconst linkClass = 'wp-block-button__link';\n\n\t\t\treturn (\n\t\t\t\t<div className={ `align${ align }` }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ `align${ align }` }\n\t\t\t\t\tstyle={ { backgroundColor: color } }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ { color: textColor } }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n];\n\nexport default deprecated;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/button/deprecated.js"],"names":["migrateBorderRadius","attributes","borderRadius","newAttributes","oldBorderRadius","style","border","radius","find","possibleBorderRadius","migrateAlign","align","otherAttributes","className","migrateCustomColorsAndGradients","customTextColor","customBackgroundColor","customGradient","color","text","background","gradient","restAttributes","oldColorsMigration","textColor","undefined","blockAttributes","url","type","source","selector","attribute","title","v11","linkTarget","rel","placeholder","backgroundColor","width","supports","anchor","alignWide","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","typography","fontSize","__experimentalFontFamily","reusable","spacing","padding","__experimentalBorder","__experimentalSelector","save","borderProps","colorProps","spacingProps","buttonClasses","buttonStyle","wrapperClasses","useBlockProps","v10","migrate","migrateFontFamily","isEligible","fontFamily","deprecated","textClass","backgroundClass","gradientClass","default","includes","newClassName","replace","trim","linkClass"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetGradientClass,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\n\nconst migrateBorderRadius = ( attributes ) => {\n\tconst { borderRadius, ...newAttributes } = attributes;\n\t// We have to check old property `borderRadius` and if\n\t// `styles.border.radius` is a `number`\n\tconst oldBorderRadius = [\n\t\tborderRadius,\n\t\tnewAttributes.style?.border?.radius,\n\t].find( ( possibleBorderRadius ) => {\n\t\treturn (\n\t\t\ttypeof possibleBorderRadius === 'number' &&\n\t\t\tpossibleBorderRadius !== 0\n\t\t);\n\t} );\n\tif ( ! oldBorderRadius ) {\n\t\treturn newAttributes;\n\t}\n\n\treturn {\n\t\t...newAttributes,\n\t\tstyle: {\n\t\t\t...newAttributes.style,\n\t\t\tborder: {\n\t\t\t\t...newAttributes.style?.border,\n\t\t\t\tradius: `${ oldBorderRadius }px`,\n\t\t\t},\n\t\t},\n\t};\n};\n\nfunction migrateAlign( attributes ) {\n\tif ( ! attributes.align ) {\n\t\treturn attributes;\n\t}\n\tconst { align, ...otherAttributes } = attributes;\n\treturn {\n\t\t...otherAttributes,\n\t\tclassName: classnames(\n\t\t\totherAttributes.className,\n\t\t\t`align${ attributes.align }`\n\t\t),\n\t};\n}\n\nconst migrateCustomColorsAndGradients = ( attributes ) => {\n\tif (\n\t\t! attributes.customTextColor &&\n\t\t! attributes.customBackgroundColor &&\n\t\t! attributes.customGradient\n\t) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\tif ( attributes.customGradient ) {\n\t\tstyle.color.gradient = attributes.customGradient;\n\t}\n\n\tconst {\n\t\tcustomTextColor,\n\t\tcustomBackgroundColor,\n\t\tcustomGradient,\n\t\t...restAttributes\n\t} = attributes;\n\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\nconst oldColorsMigration = ( attributes ) => {\n\tconst { color, textColor, ...restAttributes } = {\n\t\t...attributes,\n\t\tcustomTextColor:\n\t\t\tattributes.textColor && '#' === attributes.textColor[ 0 ]\n\t\t\t\t? attributes.textColor\n\t\t\t\t: undefined,\n\t\tcustomBackgroundColor:\n\t\t\tattributes.color && '#' === attributes.color[ 0 ]\n\t\t\t\t? attributes.color\n\t\t\t\t: undefined,\n\t};\n\treturn migrateCustomColorsAndGradients( restAttributes );\n};\n\nconst blockAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'href',\n\t},\n\ttitle: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'title',\n\t},\n\ttext: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'a',\n\t},\n};\n\nconst v11 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\t\tattributes;\n\n\t\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nconst v10 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\t\tattributes;\n\n\t\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateFontFamily,\n\tisEligible( { style } ) {\n\t\treturn style?.typography?.fontFamily;\n\t},\n};\n\nconst deprecated = [\n\tv11,\n\tv10,\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t\tgradients: true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tisEligible( { style } ) {\n\t\t\treturn typeof style?.border?.radius === 'number';\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tfontSize,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\tstyle,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t} = attributes;\n\n\t\t\tif ( ! text ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst borderRadius = style?.border?.radius;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\tfontSize || style?.typography?.fontSize,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url, width } =\n\t\t\t\tattributes;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url, width } =\n\t\t\t\tattributes;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: { gradients: true },\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url } =\n\t\t\t\tattributes;\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t} );\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t\tmigrate: migrateBorderRadius,\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomGradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible: ( attributes ) =>\n\t\t\t!! attributes.customTextColor ||\n\t\t\t!! attributes.customBackgroundColor ||\n\t\t\t!! attributes.customGradient ||\n\t\t\t!! attributes.align,\n\t\tmigrate: compose(\n\t\t\tmigrateBorderRadius,\n\t\t\tmigrateCustomColorsAndGradients,\n\t\t\tmigrateAlign\n\t\t),\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tborderRadius,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tcustomGradient,\n\t\t\t\tlinkTarget,\n\t\t\t\tgradient,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass =\n\t\t\t\t! customGradient &&\n\t\t\t\tgetColorClassName( 'background-color', backgroundColor );\n\t\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background':\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tcustomBackgroundColor ||\n\t\t\t\t\tcustomGradient ||\n\t\t\t\t\tgradient,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t\t\tbackgroundColor:\n\t\t\t\t\tbackgroundClass || customGradient || gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible( attribute ) {\n\t\t\treturn (\n\t\t\t\tattribute.className &&\n\t\t\t\tattribute.className.includes( 'is-style-squared' )\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\tlet newClassName = attributes.className;\n\t\t\tif ( newClassName ) {\n\t\t\t\tnewClassName = newClassName\n\t\t\t\t\t.replace( /is-style-squared[\\s]?/, '' )\n\t\t\t\t\t.trim();\n\t\t\t}\n\t\t\treturn migrateBorderRadius(\n\t\t\t\tmigrateCustomColorsAndGradients( {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName: newClassName ? newClassName : undefined,\n\t\t\t\t\tborderRadius: 0,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\tbackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: color,\n\t\t\t\tcolor: textColor,\n\t\t\t};\n\n\t\t\tconst linkClass = 'wp-block-button__link';\n\n\t\t\treturn (\n\t\t\t\t<div className={ `align${ align }` }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ `align${ align }` }\n\t\t\t\t\tstyle={ { backgroundColor: color } }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ { color: textColor } }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n];\n\nexport default deprecated;\n"]}
|
package/build/button/edit.js
CHANGED
|
@@ -77,6 +77,7 @@ function ButtonEdit(props) {
|
|
|
77
77
|
mergeBlocks
|
|
78
78
|
} = props;
|
|
79
79
|
const {
|
|
80
|
+
textAlign,
|
|
80
81
|
linkTarget,
|
|
81
82
|
placeholder,
|
|
82
83
|
rel,
|
|
@@ -85,11 +86,6 @@ function ButtonEdit(props) {
|
|
|
85
86
|
url,
|
|
86
87
|
width
|
|
87
88
|
} = attributes;
|
|
88
|
-
const onSetLinkRel = (0, _element.useCallback)(value => {
|
|
89
|
-
setAttributes({
|
|
90
|
-
rel: value
|
|
91
|
-
});
|
|
92
|
-
}, [setAttributes]);
|
|
93
89
|
|
|
94
90
|
function onToggleOpenInNewTab(value) {
|
|
95
91
|
const newLinkTarget = value ? '_blank' : undefined;
|
|
@@ -173,6 +169,7 @@ function ButtonEdit(props) {
|
|
|
173
169
|
onChange: value => setButtonText(value),
|
|
174
170
|
withoutInteractiveFormatting: true,
|
|
175
171
|
className: (0, _classnames.default)(className, 'wp-block-button__link', colorProps.className, borderProps.className, {
|
|
172
|
+
[`has-text-align-${textAlign}`]: textAlign,
|
|
176
173
|
// For backwards compatibility add style that isn't
|
|
177
174
|
// provided via block support.
|
|
178
175
|
'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius) === 0
|
|
@@ -189,7 +186,14 @@ function ButtonEdit(props) {
|
|
|
189
186
|
identifier: "text"
|
|
190
187
|
})), (0, _element.createElement)(_blockEditor.BlockControls, {
|
|
191
188
|
group: "block"
|
|
192
|
-
},
|
|
189
|
+
}, (0, _element.createElement)(_blockEditor.AlignmentControl, {
|
|
190
|
+
value: textAlign,
|
|
191
|
+
onChange: nextAlign => {
|
|
192
|
+
setAttributes({
|
|
193
|
+
textAlign: nextAlign
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}), !isURLSet && (0, _element.createElement)(_components.ToolbarButton, {
|
|
193
197
|
name: "link",
|
|
194
198
|
icon: _icons.link,
|
|
195
199
|
title: (0, _i18n.__)('Link'),
|
|
@@ -203,7 +207,7 @@ function ButtonEdit(props) {
|
|
|
203
207
|
onClick: unlink,
|
|
204
208
|
isActive: true
|
|
205
209
|
})), isSelected && (isEditingURL || isURLSet) && (0, _element.createElement)(_components.Popover, {
|
|
206
|
-
|
|
210
|
+
placement: "bottom",
|
|
207
211
|
onClose: () => {
|
|
208
212
|
var _richTextRef$current2;
|
|
209
213
|
|
|
@@ -248,7 +252,9 @@ function ButtonEdit(props) {
|
|
|
248
252
|
}, (0, _element.createElement)(_components.TextControl, {
|
|
249
253
|
label: (0, _i18n.__)('Link rel'),
|
|
250
254
|
value: rel || '',
|
|
251
|
-
onChange:
|
|
255
|
+
onChange: newRel => setAttributes({
|
|
256
|
+
rel: newRel
|
|
257
|
+
})
|
|
252
258
|
})));
|
|
253
259
|
}
|
|
254
260
|
|
package/build/button/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","map","widthValue","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","linkTarget","placeholder","rel","style","text","url","onSetLinkRel","value","onToggleOpenInNewTab","newLinkTarget","updatedRel","setButtonText","newText","replace","onKeyDown","event","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","link","displayShortcut","linkOff","newURL","newOpensInNewTab"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst { linkTarget, placeholder, rel, style, text, url, width } =\n\t\tattributes;\n\tconst onSetLinkRel = useCallback(\n\t\t( value ) => {\n\t\t\tsetAttributes( { rel: value } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tfunction onToggleOpenInNewTab( value ) {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel = rel;\n\t\tif ( newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t} else if ( ! newLinkTarget && rel === NEW_TAB_REL ) {\n\t\t\tupdatedRel = undefined;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t} );\n\t}\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === '_blank';\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\tshift\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\tvalue={ { url, opensInNewTab } }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL = '',\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: newURL } );\n\n\t\t\t\t\t\t\tif ( opensInNewTab !== newOpensInNewTab ) {\n\t\t\t\t\t\t\t\tonToggleOpenInNewTab( newOpensInNewTab );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ onSetLinkRel }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","map","widthValue","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","textAlign","linkTarget","placeholder","rel","style","text","url","onToggleOpenInNewTab","value","newLinkTarget","updatedRel","setButtonText","newText","replace","onKeyDown","event","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","nextAlign","link","displayShortcut","linkOff","newURL","newOpensInNewTab","newRel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst { textAlign, linkTarget, placeholder, rel, style, text, url, width } =\n\t\tattributes;\n\n\tfunction onToggleOpenInNewTab( value ) {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel = rel;\n\t\tif ( newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t} else if ( ! newLinkTarget && rel === NEW_TAB_REL ) {\n\t\t\tupdatedRel = undefined;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t} );\n\t}\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === '_blank';\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ ! isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\tshift\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\tvalue={ { url, opensInNewTab } }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL = '',\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: newURL } );\n\n\t\t\t\t\t\t\tif ( opensInNewTab !== newOpensInNewTab ) {\n\t\t\t\t\t\t\t\tonToggleOpenInNewTab( newOpensInNewTab );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( newRel ) => setAttributes( { rel: newRel } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
|