@wordpress/block-library 9.36.1-next.8b30e05b0.0 → 9.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/audio/index.js +1 -1
- package/build/audio/index.js.map +2 -2
- package/build/avatar/edit.js +13 -38
- package/build/avatar/edit.js.map +2 -2
- package/build/breadcrumbs/block.json +3 -2
- package/build/breadcrumbs/edit.js +18 -18
- package/build/breadcrumbs/edit.js.map +2 -2
- package/build/button/block.json +2 -3
- package/build/button/deprecated.js +203 -0
- package/build/button/deprecated.js.map +3 -3
- package/build/button/edit.js +13 -24
- package/build/button/edit.js.map +3 -3
- package/build/button/index.js +1 -1
- package/build/button/index.js.map +2 -2
- package/build/button/save.js +0 -2
- package/build/button/save.js.map +2 -2
- package/build/code/index.js +1 -1
- package/build/code/index.js.map +2 -2
- package/build/comments-pagination-numbers/block.json +7 -0
- package/build/cover/index.js +2 -2
- package/build/cover/index.js.map +2 -2
- package/build/details/index.js +1 -1
- package/build/details/index.js.map +2 -2
- package/build/file/index.js +1 -1
- package/build/file/index.js.map +2 -2
- package/build/freeform/block.json +0 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +2 -2
- package/build/gallery/transforms.js +7 -3
- package/build/gallery/transforms.js.map +2 -2
- package/build/heading/index.js +1 -1
- package/build/heading/index.js.map +2 -2
- package/build/html/modal.js +18 -7
- package/build/html/modal.js.map +2 -2
- package/build/image/index.js +1 -1
- package/build/image/index.js.map +2 -2
- package/build/index.js +9 -3
- package/build/index.js.map +2 -2
- package/build/list-item/index.js +1 -1
- package/build/list-item/index.js.map +2 -2
- package/build/math/edit.js +14 -2
- package/build/math/edit.js.map +2 -2
- package/build/media-text/index.js +1 -1
- package/build/media-text/index.js.map +2 -2
- package/build/more/index.js +1 -1
- package/build/more/index.js.map +2 -2
- package/build/navigation/block.json +3 -0
- package/build/navigation/edit/index.js +57 -83
- package/build/navigation/edit/index.js.map +3 -3
- package/build/navigation/edit/overlay-menu-preview-button.js +96 -0
- package/build/navigation/edit/overlay-menu-preview-button.js.map +7 -0
- package/build/navigation/edit/overlay-menu-preview-controls.js +90 -0
- package/build/navigation/edit/overlay-menu-preview-controls.js.map +7 -0
- package/build/navigation/edit/overlay-panel.js +86 -0
- package/build/navigation/edit/overlay-panel.js.map +7 -0
- package/build/navigation/edit/overlay-template-part-selector.js +163 -0
- package/build/navigation/edit/overlay-template-part-selector.js.map +7 -0
- package/build/navigation/edit/overlay-visibility-control.js +54 -0
- package/build/navigation/edit/overlay-visibility-control.js.map +7 -0
- package/build/navigation/edit/responsive-wrapper.js +14 -2
- package/build/navigation/edit/responsive-wrapper.js.map +2 -2
- package/build/navigation-link/edit.js +7 -21
- package/build/navigation-link/edit.js.map +2 -2
- package/build/navigation-link/index.js +1 -1
- package/build/navigation-link/index.js.map +2 -2
- package/build/navigation-link/shared/index.js +5 -2
- package/build/navigation-link/shared/index.js.map +2 -2
- package/build/navigation-link/shared/use-handle-link-change.js +84 -0
- package/build/navigation-link/shared/use-handle-link-change.js.map +7 -0
- package/build/navigation-submenu/index.js +1 -1
- package/build/navigation-submenu/index.js.map +2 -2
- package/build/page-list-item/edit.js +4 -3
- package/build/page-list-item/edit.js.map +2 -2
- package/build/paragraph/index.js +1 -1
- package/build/paragraph/index.js.map +2 -2
- package/build/post-title/edit.js +6 -4
- package/build/post-title/edit.js.map +2 -2
- package/build/preformatted/index.js +1 -1
- package/build/preformatted/index.js.map +2 -2
- package/build/pullquote/index.js +1 -1
- package/build/pullquote/index.js.map +2 -2
- package/build/query/edit/inspector-controls/author-control.js +0 -1
- package/build/query/edit/inspector-controls/author-control.js.map +2 -2
- package/build/query/edit/inspector-controls/format-controls.js +0 -1
- package/build/query/edit/inspector-controls/format-controls.js.map +2 -2
- package/build/query/edit/inspector-controls/parent-control.js +1 -2
- package/build/query/edit/inspector-controls/parent-control.js.map +2 -2
- package/build/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +2 -2
- package/build/search/index.js +1 -1
- package/build/search/index.js.map +2 -2
- package/build/social-link/index.js +1 -1
- package/build/social-link/index.js.map +2 -2
- package/build/template-part/edit/index.js +3 -31
- package/build/template-part/edit/index.js.map +2 -2
- package/build/template-part/edit/utils/get-template-part-icon.js +9 -4
- package/build/template-part/edit/utils/get-template-part-icon.js.map +3 -3
- package/build/template-part/edit/utils/hooks.js +3 -2
- package/build/template-part/edit/utils/hooks.js.map +2 -2
- package/build/terms-query/edit/inspector-controls/include-control.js +0 -1
- package/build/terms-query/edit/inspector-controls/include-control.js.map +2 -2
- package/build/utils/deprecated-text-align-attributes.js +70 -0
- package/build/utils/deprecated-text-align-attributes.js.map +7 -0
- package/build/utils/migrate-text-align.js +42 -0
- package/build/utils/migrate-text-align.js.map +7 -0
- package/build/verse/index.js +1 -1
- package/build/verse/index.js.map +2 -2
- package/build/video/index.js +1 -1
- package/build/video/index.js.map +2 -2
- package/build-module/audio/index.js +1 -1
- package/build-module/audio/index.js.map +2 -2
- package/build-module/avatar/edit.js +13 -38
- package/build-module/avatar/edit.js.map +2 -2
- package/build-module/breadcrumbs/block.json +3 -2
- package/build-module/breadcrumbs/edit.js +18 -18
- package/build-module/breadcrumbs/edit.js.map +2 -2
- package/build-module/button/block.json +2 -3
- package/build-module/button/deprecated.js +205 -1
- package/build-module/button/deprecated.js.map +2 -2
- package/build-module/button/edit.js +13 -25
- package/build-module/button/edit.js.map +2 -2
- package/build-module/button/index.js +1 -1
- package/build-module/button/index.js.map +2 -2
- package/build-module/button/save.js +0 -2
- package/build-module/button/save.js.map +2 -2
- package/build-module/code/index.js +1 -1
- package/build-module/code/index.js.map +2 -2
- package/build-module/comments-pagination-numbers/block.json +7 -0
- package/build-module/cover/index.js +2 -2
- package/build-module/cover/index.js.map +2 -2
- package/build-module/details/index.js +1 -1
- package/build-module/details/index.js.map +2 -2
- package/build-module/file/index.js +1 -1
- package/build-module/file/index.js.map +2 -2
- package/build-module/freeform/block.json +0 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +2 -2
- package/build-module/gallery/transforms.js +7 -3
- package/build-module/gallery/transforms.js.map +2 -2
- package/build-module/heading/index.js +1 -1
- package/build-module/heading/index.js.map +2 -2
- package/build-module/html/modal.js +19 -7
- package/build-module/html/modal.js.map +2 -2
- package/build-module/image/index.js +1 -1
- package/build-module/image/index.js.map +2 -2
- package/build-module/index.js +9 -3
- package/build-module/index.js.map +2 -2
- package/build-module/list-item/index.js +1 -1
- package/build-module/list-item/index.js.map +2 -2
- package/build-module/math/edit.js +15 -3
- package/build-module/math/edit.js.map +2 -2
- package/build-module/media-text/index.js +1 -1
- package/build-module/media-text/index.js.map +2 -2
- package/build-module/more/index.js +1 -1
- package/build-module/more/index.js.map +2 -2
- package/build-module/navigation/block.json +3 -0
- package/build-module/navigation/edit/index.js +58 -88
- package/build-module/navigation/edit/index.js.map +2 -2
- package/build-module/navigation/edit/overlay-menu-preview-button.js +65 -0
- package/build-module/navigation/edit/overlay-menu-preview-button.js.map +7 -0
- package/build-module/navigation/edit/overlay-menu-preview-controls.js +64 -0
- package/build-module/navigation/edit/overlay-menu-preview-controls.js.map +7 -0
- package/build-module/navigation/edit/overlay-panel.js +58 -0
- package/build-module/navigation/edit/overlay-panel.js.map +7 -0
- package/build-module/navigation/edit/overlay-template-part-selector.js +142 -0
- package/build-module/navigation/edit/overlay-template-part-selector.js.map +7 -0
- package/build-module/navigation/edit/overlay-visibility-control.js +36 -0
- package/build-module/navigation/edit/overlay-visibility-control.js.map +7 -0
- package/build-module/navigation/edit/responsive-wrapper.js +14 -2
- package/build-module/navigation/edit/responsive-wrapper.js.map +2 -2
- package/build-module/navigation-link/edit.js +9 -23
- package/build-module/navigation-link/edit.js.map +2 -2
- package/build-module/navigation-link/index.js +1 -1
- package/build-module/navigation-link/index.js.map +2 -2
- package/build-module/navigation-link/shared/index.js +3 -1
- package/build-module/navigation-link/shared/index.js.map +2 -2
- package/build-module/navigation-link/shared/use-handle-link-change.js +59 -0
- package/build-module/navigation-link/shared/use-handle-link-change.js.map +7 -0
- package/build-module/navigation-submenu/index.js +1 -1
- package/build-module/navigation-submenu/index.js.map +2 -2
- package/build-module/page-list-item/edit.js +4 -3
- package/build-module/page-list-item/edit.js.map +2 -2
- package/build-module/paragraph/index.js +1 -1
- package/build-module/paragraph/index.js.map +2 -2
- package/build-module/post-title/edit.js +6 -4
- package/build-module/post-title/edit.js.map +2 -2
- package/build-module/preformatted/index.js +1 -1
- package/build-module/preformatted/index.js.map +2 -2
- package/build-module/pullquote/index.js +1 -1
- package/build-module/pullquote/index.js.map +2 -2
- package/build-module/query/edit/inspector-controls/author-control.js +0 -1
- package/build-module/query/edit/inspector-controls/author-control.js.map +2 -2
- package/build-module/query/edit/inspector-controls/format-controls.js +0 -1
- package/build-module/query/edit/inspector-controls/format-controls.js.map +2 -2
- package/build-module/query/edit/inspector-controls/parent-control.js +1 -2
- package/build-module/query/edit/inspector-controls/parent-control.js.map +2 -2
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +2 -2
- package/build-module/search/index.js +1 -1
- package/build-module/search/index.js.map +2 -2
- package/build-module/social-link/index.js +1 -1
- package/build-module/social-link/index.js.map +2 -2
- package/build-module/template-part/edit/index.js +3 -31
- package/build-module/template-part/edit/index.js.map +2 -2
- package/build-module/template-part/edit/utils/get-template-part-icon.js +10 -4
- package/build-module/template-part/edit/utils/get-template-part-icon.js.map +2 -2
- package/build-module/template-part/edit/utils/hooks.js +3 -2
- package/build-module/template-part/edit/utils/hooks.js.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/include-control.js +0 -1
- package/build-module/terms-query/edit/inspector-controls/include-control.js.map +2 -2
- package/build-module/utils/deprecated-text-align-attributes.js +39 -0
- package/build-module/utils/deprecated-text-align-attributes.js.map +7 -0
- package/build-module/utils/migrate-text-align.js +21 -0
- package/build-module/utils/migrate-text-align.js.map +7 -0
- package/build-module/verse/index.js +1 -1
- package/build-module/verse/index.js.map +2 -2
- package/build-module/video/index.js +1 -1
- package/build-module/video/index.js.map +2 -2
- package/build-style/accordion-heading/style-rtl.css +2 -18
- package/build-style/accordion-heading/style.css +2 -18
- package/build-style/classic-rtl.css +24 -0
- package/build-style/classic.css +24 -0
- package/build-style/common-rtl.css +4 -4
- package/build-style/common.css +4 -0
- package/build-style/editor-rtl.css +5 -0
- package/build-style/editor.css +5 -0
- package/build-style/navigation/editor-rtl.css +5 -0
- package/build-style/navigation/editor.css +5 -0
- package/build-style/style-rtl.css +8 -22
- package/build-style/style.css +8 -18
- package/build-style/verse/style-rtl.css +2 -0
- package/build-style/verse/style.css +2 -0
- package/package.json +40 -38
- package/src/accordion-heading/style.scss +2 -30
- package/src/audio/index.js +1 -1
- package/src/avatar/edit.js +68 -83
- package/src/breadcrumbs/block.json +3 -2
- package/src/breadcrumbs/edit.js +18 -18
- package/src/breadcrumbs/index.php +38 -17
- package/src/button/block.json +2 -3
- package/src/button/deprecated.js +214 -0
- package/src/button/edit.js +2 -11
- package/src/button/index.js +1 -1
- package/src/button/save.js +0 -2
- package/src/classic.scss +38 -0
- package/src/code/index.js +1 -1
- package/src/comments-pagination-numbers/block.json +7 -0
- package/src/common.scss +4 -0
- package/src/cover/index.js +2 -2
- package/src/details/index.js +1 -1
- package/src/file/index.js +1 -1
- package/src/freeform/block.json +0 -1
- package/src/gallery/edit.js +4 -1
- package/src/gallery/transforms.js +6 -2
- package/src/heading/index.js +1 -1
- package/src/html/modal.js +39 -20
- package/src/image/index.js +1 -1
- package/src/index.js +9 -3
- package/src/list-item/index.js +1 -1
- package/src/math/edit.js +15 -3
- package/src/media-text/index.js +1 -1
- package/src/more/index.js +1 -1
- package/src/navigation/block.json +3 -0
- package/src/navigation/edit/index.js +77 -82
- package/src/navigation/edit/overlay-menu-preview-button.js +82 -0
- package/src/navigation/edit/overlay-menu-preview-controls.js +65 -0
- package/src/navigation/edit/overlay-panel.js +78 -0
- package/src/navigation/edit/overlay-template-part-selector.js +198 -0
- package/src/navigation/edit/overlay-visibility-control.js +40 -0
- package/src/navigation/edit/responsive-wrapper.js +16 -1
- package/src/navigation/edit/test/overlay-template-part-selector.js +461 -0
- package/src/navigation/editor.scss +5 -0
- package/src/navigation-link/edit.js +9 -26
- package/src/navigation-link/index.js +1 -1
- package/src/navigation-link/shared/index.js +1 -0
- package/src/navigation-link/shared/test/use-handle-link-change.test.js +804 -0
- package/src/navigation-link/shared/use-handle-link-change.js +91 -0
- package/src/navigation-submenu/index.js +1 -1
- package/src/page-list/index.php +3 -4
- package/src/page-list-item/edit.js +4 -3
- package/src/paragraph/index.js +1 -1
- package/src/post-title/edit.js +8 -4
- package/src/post-title/index.php +1 -1
- package/src/preformatted/index.js +1 -1
- package/src/pullquote/index.js +1 -1
- package/src/query/edit/inspector-controls/author-control.js +0 -1
- package/src/query/edit/inspector-controls/format-controls.js +0 -1
- package/src/query/edit/inspector-controls/parent-control.js +0 -1
- package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/src/search/index.js +1 -1
- package/src/social-link/index.js +1 -1
- package/src/template-part/edit/index.js +5 -41
- package/src/template-part/edit/utils/get-template-part-icon.js +23 -4
- package/src/template-part/edit/utils/hooks.js +10 -2
- package/src/terms-query/edit/inspector-controls/include-control.js +0 -1
- package/src/utils/deprecated-text-align-attributes.js +45 -0
- package/src/utils/migrate-text-align.js +22 -0
- package/src/verse/index.js +1 -1
- package/src/verse/style.scss +4 -0
- package/src/video/index.js +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -18,9 +18,6 @@
|
|
|
18
18
|
"type": "string",
|
|
19
19
|
"default": "button"
|
|
20
20
|
},
|
|
21
|
-
"textAlign": {
|
|
22
|
-
"type": "string"
|
|
23
|
-
},
|
|
24
21
|
"url": {
|
|
25
22
|
"type": "string",
|
|
26
23
|
"source": "attribute",
|
|
@@ -88,6 +85,7 @@
|
|
|
88
85
|
"__experimentalSkipSerialization": [
|
|
89
86
|
"fontSize",
|
|
90
87
|
"lineHeight",
|
|
88
|
+
"textAlign",
|
|
91
89
|
"fontFamily",
|
|
92
90
|
"fontWeight",
|
|
93
91
|
"fontStyle",
|
|
@@ -97,6 +95,7 @@
|
|
|
97
95
|
],
|
|
98
96
|
"fontSize": true,
|
|
99
97
|
"lineHeight": true,
|
|
98
|
+
"textAlign": true,
|
|
100
99
|
"__experimentalFontFamily": true,
|
|
101
100
|
"__experimentalFontWeight": true,
|
|
102
101
|
"__experimentalFontStyle": true,
|
|
@@ -9,10 +9,12 @@ import {
|
|
|
9
9
|
__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,
|
|
10
10
|
__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,
|
|
11
11
|
__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,
|
|
12
|
-
__experimentalGetElementClassName
|
|
12
|
+
__experimentalGetElementClassName,
|
|
13
|
+
getTypographyClassesAndStyles
|
|
13
14
|
} from "@wordpress/block-editor";
|
|
14
15
|
import { compose } from "@wordpress/compose";
|
|
15
16
|
import migrateFontFamily from "../utils/migrate-font-family";
|
|
17
|
+
import migrateTextAlign from "../utils/migrate-text-align";
|
|
16
18
|
import { jsx } from "react/jsx-runtime";
|
|
17
19
|
var migrateBorderRadius = (attributes) => {
|
|
18
20
|
const { borderRadius, ...newAttributes } = attributes;
|
|
@@ -101,6 +103,207 @@ var blockAttributes = {
|
|
|
101
103
|
selector: "a"
|
|
102
104
|
}
|
|
103
105
|
};
|
|
106
|
+
var v13 = {
|
|
107
|
+
attributes: {
|
|
108
|
+
tagName: {
|
|
109
|
+
type: "string",
|
|
110
|
+
enum: ["a", "button"],
|
|
111
|
+
default: "a"
|
|
112
|
+
},
|
|
113
|
+
type: {
|
|
114
|
+
type: "string",
|
|
115
|
+
default: "button"
|
|
116
|
+
},
|
|
117
|
+
textAlign: {
|
|
118
|
+
type: "string"
|
|
119
|
+
},
|
|
120
|
+
url: {
|
|
121
|
+
type: "string",
|
|
122
|
+
source: "attribute",
|
|
123
|
+
selector: "a",
|
|
124
|
+
attribute: "href",
|
|
125
|
+
role: "content"
|
|
126
|
+
},
|
|
127
|
+
title: {
|
|
128
|
+
type: "string",
|
|
129
|
+
source: "attribute",
|
|
130
|
+
selector: "a,button",
|
|
131
|
+
attribute: "title",
|
|
132
|
+
role: "content"
|
|
133
|
+
},
|
|
134
|
+
text: {
|
|
135
|
+
type: "rich-text",
|
|
136
|
+
source: "rich-text",
|
|
137
|
+
selector: "a,button",
|
|
138
|
+
role: "content"
|
|
139
|
+
},
|
|
140
|
+
linkTarget: {
|
|
141
|
+
type: "string",
|
|
142
|
+
source: "attribute",
|
|
143
|
+
selector: "a",
|
|
144
|
+
attribute: "target",
|
|
145
|
+
role: "content"
|
|
146
|
+
},
|
|
147
|
+
rel: {
|
|
148
|
+
type: "string",
|
|
149
|
+
source: "attribute",
|
|
150
|
+
selector: "a",
|
|
151
|
+
attribute: "rel",
|
|
152
|
+
role: "content"
|
|
153
|
+
},
|
|
154
|
+
placeholder: {
|
|
155
|
+
type: "string"
|
|
156
|
+
},
|
|
157
|
+
backgroundColor: {
|
|
158
|
+
type: "string"
|
|
159
|
+
},
|
|
160
|
+
textColor: {
|
|
161
|
+
type: "string"
|
|
162
|
+
},
|
|
163
|
+
gradient: {
|
|
164
|
+
type: "string"
|
|
165
|
+
},
|
|
166
|
+
width: {
|
|
167
|
+
type: "number"
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
supports: {
|
|
171
|
+
anchor: true,
|
|
172
|
+
align: true,
|
|
173
|
+
alignWide: false,
|
|
174
|
+
color: {
|
|
175
|
+
__experimentalSkipSerialization: true,
|
|
176
|
+
gradients: true,
|
|
177
|
+
__experimentalDefaultControls: {
|
|
178
|
+
background: true,
|
|
179
|
+
text: true
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
typography: {
|
|
183
|
+
__experimentalSkipSerialization: [
|
|
184
|
+
"fontSize",
|
|
185
|
+
"lineHeight",
|
|
186
|
+
"fontFamily",
|
|
187
|
+
"fontWeight",
|
|
188
|
+
"fontStyle",
|
|
189
|
+
"textTransform",
|
|
190
|
+
"textDecoration",
|
|
191
|
+
"letterSpacing"
|
|
192
|
+
],
|
|
193
|
+
fontSize: true,
|
|
194
|
+
lineHeight: true,
|
|
195
|
+
__experimentalFontFamily: true,
|
|
196
|
+
__experimentalFontWeight: true,
|
|
197
|
+
__experimentalFontStyle: true,
|
|
198
|
+
__experimentalTextTransform: true,
|
|
199
|
+
__experimentalTextDecoration: true,
|
|
200
|
+
__experimentalLetterSpacing: true,
|
|
201
|
+
__experimentalWritingMode: true,
|
|
202
|
+
__experimentalDefaultControls: {
|
|
203
|
+
fontSize: true
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
reusable: false,
|
|
207
|
+
shadow: {
|
|
208
|
+
__experimentalSkipSerialization: true
|
|
209
|
+
},
|
|
210
|
+
spacing: {
|
|
211
|
+
__experimentalSkipSerialization: true,
|
|
212
|
+
padding: ["horizontal", "vertical"],
|
|
213
|
+
__experimentalDefaultControls: {
|
|
214
|
+
padding: true
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
__experimentalBorder: {
|
|
218
|
+
color: true,
|
|
219
|
+
radius: true,
|
|
220
|
+
style: true,
|
|
221
|
+
width: true,
|
|
222
|
+
__experimentalSkipSerialization: true,
|
|
223
|
+
__experimentalDefaultControls: {
|
|
224
|
+
color: true,
|
|
225
|
+
radius: true,
|
|
226
|
+
style: true,
|
|
227
|
+
width: true
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
interactivity: {
|
|
231
|
+
clientNavigation: true
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
selectors: {
|
|
235
|
+
root: ".wp-block-button .wp-block-button__link",
|
|
236
|
+
typography: {
|
|
237
|
+
writingMode: ".wp-block-button"
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
save({ attributes, className }) {
|
|
241
|
+
const {
|
|
242
|
+
tagName,
|
|
243
|
+
type,
|
|
244
|
+
textAlign,
|
|
245
|
+
fontSize,
|
|
246
|
+
linkTarget,
|
|
247
|
+
rel,
|
|
248
|
+
style,
|
|
249
|
+
text,
|
|
250
|
+
title,
|
|
251
|
+
url,
|
|
252
|
+
width
|
|
253
|
+
} = attributes;
|
|
254
|
+
const TagName = tagName || "a";
|
|
255
|
+
const isButtonTag = "button" === TagName;
|
|
256
|
+
const buttonType = type || "button";
|
|
257
|
+
const borderProps = getBorderClassesAndStyles(attributes);
|
|
258
|
+
const colorProps = getColorClassesAndStyles(attributes);
|
|
259
|
+
const spacingProps = getSpacingClassesAndStyles(attributes);
|
|
260
|
+
const shadowProps = getShadowClassesAndStyles(attributes);
|
|
261
|
+
const typographyProps = getTypographyClassesAndStyles(attributes);
|
|
262
|
+
const buttonClasses = clsx(
|
|
263
|
+
"wp-block-button__link",
|
|
264
|
+
colorProps.className,
|
|
265
|
+
borderProps.className,
|
|
266
|
+
typographyProps.className,
|
|
267
|
+
{
|
|
268
|
+
[`has-text-align-${textAlign}`]: textAlign,
|
|
269
|
+
// For backwards compatibility add style that isn't provided via
|
|
270
|
+
// block support.
|
|
271
|
+
"no-border-radius": style?.border?.radius === 0,
|
|
272
|
+
[`has-custom-font-size`]: fontSize || style?.typography?.fontSize
|
|
273
|
+
},
|
|
274
|
+
__experimentalGetElementClassName("button")
|
|
275
|
+
);
|
|
276
|
+
const buttonStyle = {
|
|
277
|
+
...borderProps.style,
|
|
278
|
+
...colorProps.style,
|
|
279
|
+
...spacingProps.style,
|
|
280
|
+
...shadowProps.style,
|
|
281
|
+
...typographyProps.style,
|
|
282
|
+
writingMode: void 0
|
|
283
|
+
};
|
|
284
|
+
const wrapperClasses = clsx(className, {
|
|
285
|
+
[`has-custom-width wp-block-button__width-${width}`]: width
|
|
286
|
+
});
|
|
287
|
+
return /* @__PURE__ */ jsx("div", { ...useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ jsx(
|
|
288
|
+
RichText.Content,
|
|
289
|
+
{
|
|
290
|
+
tagName: TagName,
|
|
291
|
+
type: isButtonTag ? buttonType : null,
|
|
292
|
+
className: buttonClasses,
|
|
293
|
+
href: isButtonTag ? null : url,
|
|
294
|
+
title,
|
|
295
|
+
style: buttonStyle,
|
|
296
|
+
value: text,
|
|
297
|
+
target: isButtonTag ? null : linkTarget,
|
|
298
|
+
rel: isButtonTag ? null : rel
|
|
299
|
+
}
|
|
300
|
+
) });
|
|
301
|
+
},
|
|
302
|
+
isEligible(attributes) {
|
|
303
|
+
return !!attributes.textAlign;
|
|
304
|
+
},
|
|
305
|
+
migrate: migrateTextAlign
|
|
306
|
+
};
|
|
104
307
|
var v12 = {
|
|
105
308
|
attributes: {
|
|
106
309
|
tagName: {
|
|
@@ -523,6 +726,7 @@ var v10 = {
|
|
|
523
726
|
}
|
|
524
727
|
};
|
|
525
728
|
var deprecated = [
|
|
729
|
+
v13,
|
|
526
730
|
v12,
|
|
527
731
|
v11,
|
|
528
732
|
v10,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/button/deprecated.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\t__experimentalGetElementClassName,\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: clsx(\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 v12 = {\n\tattributes: {\n\t\ttagName: {\n\t\t\ttype: 'string',\n\t\t\tenum: [ 'a', 'button' ],\n\t\t\tdefault: 'a',\n\t\t},\n\t\ttype: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'button',\n\t\t},\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\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,button',\n\t\t\tattribute: 'title',\n\t\t\trole: 'content',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: 'a,button',\n\t\t\trole: 'content',\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\trole: 'content',\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\trole: 'content',\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\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalWritingMode: 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\tshadow: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t},\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\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t\tinteractivity: {\n\t\t\tclientNavigation: true,\n\t\t},\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst {\n\t\t\ttagName,\n\t\t\ttype,\n\t\t\ttextAlign,\n\t\t\tfontSize,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t\tstyle,\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\turl,\n\t\t\twidth,\n\t\t} = attributes;\n\n\t\tconst TagName = tagName || 'a';\n\t\tconst isButtonTag = 'button' === TagName;\n\t\tconst buttonType = type || 'button';\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\t\tconst buttonClasses = clsx(\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[ `has-text-align-${ textAlign }` ]: textAlign,\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\t__experimentalGetElementClassName( 'button' )\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\t...shadowProps.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 = clsx( 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={ TagName }\n\t\t\t\t\ttype={ isButtonTag ? buttonType : null }\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ isButtonTag ? null : 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={ isButtonTag ? null : linkTarget }\n\t\t\t\t\trel={ isButtonTag ? null : rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\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 = clsx(\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 = clsx( 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 = clsx(\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 = clsx( 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\tv12,\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 = clsx(\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 = clsx( 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 = clsx(\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 = clsx( 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 = clsx(\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 = clsx( 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 = clsx( '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 = clsx( '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 = clsx( '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 = clsx( '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"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\t__experimentalGetElementClassName,\n\tgetTypographyClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\nimport migrateTextAlign from '../utils/migrate-text-align';\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: clsx(\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 v13 = {\n\tattributes: {\n\t\ttagName: {\n\t\t\ttype: 'string',\n\t\t\tenum: [ 'a', 'button' ],\n\t\t\tdefault: 'a',\n\t\t},\n\t\ttype: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'button',\n\t\t},\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\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\trole: 'content',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a,button',\n\t\t\tattribute: 'title',\n\t\t\trole: 'content',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: 'a,button',\n\t\t\trole: 'content',\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\trole: 'content',\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\trole: 'content',\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\t__experimentalSkipSerialization: [\n\t\t\t\t'fontSize',\n\t\t\t\t'lineHeight',\n\t\t\t\t'fontFamily',\n\t\t\t\t'fontWeight',\n\t\t\t\t'fontStyle',\n\t\t\t\t'textTransform',\n\t\t\t\t'textDecoration',\n\t\t\t\t'letterSpacing',\n\t\t\t],\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalWritingMode: 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\tshadow: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t},\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\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\tinteractivity: {\n\t\t\tclientNavigation: true,\n\t\t},\n\t},\n\tselectors: {\n\t\troot: '.wp-block-button .wp-block-button__link',\n\t\ttypography: {\n\t\t\twritingMode: '.wp-block-button',\n\t\t},\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst {\n\t\t\ttagName,\n\t\t\ttype,\n\t\t\ttextAlign,\n\t\t\tfontSize,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t\tstyle,\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\turl,\n\t\t\twidth,\n\t\t} = attributes;\n\n\t\tconst TagName = tagName || 'a';\n\t\tconst isButtonTag = 'button' === TagName;\n\t\tconst buttonType = type || 'button';\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\t\tconst typographyProps = getTypographyClassesAndStyles( attributes );\n\t\tconst buttonClasses = clsx(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\ttypographyProps.className,\n\t\t\t{\n\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\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\t[ `has-custom-font-size` ]:\n\t\t\t\t\tfontSize || style?.typography?.fontSize,\n\t\t\t},\n\t\t\t__experimentalGetElementClassName( 'button' )\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\t...shadowProps.style,\n\t\t\t...typographyProps.style,\n\t\t\twritingMode: undefined,\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 = clsx( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\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={ TagName }\n\t\t\t\t\ttype={ isButtonTag ? buttonType : null }\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ isButtonTag ? null : 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={ isButtonTag ? null : linkTarget }\n\t\t\t\t\trel={ isButtonTag ? null : rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tisEligible( attributes ) {\n\t\treturn !! attributes.textAlign;\n\t},\n\tmigrate: migrateTextAlign,\n};\n\nconst v12 = {\n\tattributes: {\n\t\ttagName: {\n\t\t\ttype: 'string',\n\t\t\tenum: [ 'a', 'button' ],\n\t\t\tdefault: 'a',\n\t\t},\n\t\ttype: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'button',\n\t\t},\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\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,button',\n\t\t\tattribute: 'title',\n\t\t\trole: 'content',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: 'a,button',\n\t\t\trole: 'content',\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\trole: 'content',\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\trole: 'content',\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\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalWritingMode: 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\tshadow: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t},\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\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t\tinteractivity: {\n\t\t\tclientNavigation: true,\n\t\t},\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst {\n\t\t\ttagName,\n\t\t\ttype,\n\t\t\ttextAlign,\n\t\t\tfontSize,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t\tstyle,\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\turl,\n\t\t\twidth,\n\t\t} = attributes;\n\n\t\tconst TagName = tagName || 'a';\n\t\tconst isButtonTag = 'button' === TagName;\n\t\tconst buttonType = type || 'button';\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\t\tconst buttonClasses = clsx(\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[ `has-text-align-${ textAlign }` ]: textAlign,\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\t__experimentalGetElementClassName( 'button' )\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\t...shadowProps.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 = clsx( 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={ TagName }\n\t\t\t\t\ttype={ isButtonTag ? buttonType : null }\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ isButtonTag ? null : 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={ isButtonTag ? null : linkTarget }\n\t\t\t\t\trel={ isButtonTag ? null : rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\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 = clsx(\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 = clsx( 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 = clsx(\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 = clsx( 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\tv13,\n\tv12,\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 = clsx(\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 = clsx( 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 = clsx(\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 = clsx( 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 = clsx(\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 = clsx( 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 = clsx( '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 = clsx( '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 = clsx( '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 = clsx( '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"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -5,6 +5,7 @@ import { getUpdatedLinkAttributes } from "./get-updated-link-attributes";
|
|
|
5
5
|
import removeAnchorTag from "../utils/remove-anchor-tag";
|
|
6
6
|
import { useToolsPanelDropdownMenuProps } from "../utils/hooks";
|
|
7
7
|
import { unlock } from "../lock-unlock";
|
|
8
|
+
import useDeprecatedTextAlign from "../utils/deprecated-text-align-attributes";
|
|
8
9
|
import { __, sprintf } from "@wordpress/i18n";
|
|
9
10
|
import {
|
|
10
11
|
useEffect,
|
|
@@ -24,7 +25,6 @@ import {
|
|
|
24
25
|
__experimentalToggleGroupControlOption as ToggleGroupControlOption
|
|
25
26
|
} from "@wordpress/components";
|
|
26
27
|
import {
|
|
27
|
-
AlignmentControl,
|
|
28
28
|
BlockControls,
|
|
29
29
|
InspectorControls,
|
|
30
30
|
RichText,
|
|
@@ -168,7 +168,6 @@ function ButtonEdit(props) {
|
|
|
168
168
|
} = props;
|
|
169
169
|
const {
|
|
170
170
|
tagName,
|
|
171
|
-
textAlign,
|
|
172
171
|
linkTarget,
|
|
173
172
|
placeholder,
|
|
174
173
|
rel,
|
|
@@ -178,6 +177,7 @@ function ButtonEdit(props) {
|
|
|
178
177
|
width,
|
|
179
178
|
metadata
|
|
180
179
|
} = attributes;
|
|
180
|
+
useDeprecatedTextAlign(props);
|
|
181
181
|
const TagName = tagName || "a";
|
|
182
182
|
function onKeyDown(event) {
|
|
183
183
|
if (isKeyboardEvent.primary(event, "k")) {
|
|
@@ -315,7 +315,6 @@ function ButtonEdit(props) {
|
|
|
315
315
|
borderProps.className,
|
|
316
316
|
typographyProps.className,
|
|
317
317
|
{
|
|
318
|
-
[`has-text-align-${textAlign}`]: textAlign,
|
|
319
318
|
// For backwards compatibility add style that isn't
|
|
320
319
|
// provided via block support.
|
|
321
320
|
"no-border-radius": style?.border?.radius === 0,
|
|
@@ -338,28 +337,17 @@ function ButtonEdit(props) {
|
|
|
338
337
|
)
|
|
339
338
|
}
|
|
340
339
|
),
|
|
341
|
-
hasBlockControls && /* @__PURE__ */
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
ToolbarButton,
|
|
353
|
-
{
|
|
354
|
-
name: "link",
|
|
355
|
-
icon: !isURLSet ? link : linkOff,
|
|
356
|
-
title: !isURLSet ? __("Link") : __("Unlink"),
|
|
357
|
-
shortcut: !isURLSet ? displayShortcut.primary("k") : displayShortcut.primaryShift("k"),
|
|
358
|
-
onClick: !isURLSet ? startEditing : unlink,
|
|
359
|
-
isActive: isURLSet
|
|
360
|
-
}
|
|
361
|
-
)
|
|
362
|
-
] }),
|
|
340
|
+
hasBlockControls && /* @__PURE__ */ jsx(BlockControls, { group: "block", children: isLinkTag && !lockUrlControls && /* @__PURE__ */ jsx(
|
|
341
|
+
ToolbarButton,
|
|
342
|
+
{
|
|
343
|
+
name: "link",
|
|
344
|
+
icon: !isURLSet ? link : linkOff,
|
|
345
|
+
title: !isURLSet ? __("Link") : __("Unlink"),
|
|
346
|
+
shortcut: !isURLSet ? displayShortcut.primary("k") : displayShortcut.primaryShift("k"),
|
|
347
|
+
onClick: !isURLSet ? startEditing : unlink,
|
|
348
|
+
isActive: isURLSet
|
|
349
|
+
}
|
|
350
|
+
) }),
|
|
363
351
|
isLinkTag && isSelected && (isEditingURL || isURLSet) && !lockUrlControls && /* @__PURE__ */ jsx(
|
|
364
352
|
Popover,
|
|
365
353
|
{
|