@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.
Files changed (302) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/audio/index.js +1 -1
  3. package/build/audio/index.js.map +2 -2
  4. package/build/avatar/edit.js +13 -38
  5. package/build/avatar/edit.js.map +2 -2
  6. package/build/breadcrumbs/block.json +3 -2
  7. package/build/breadcrumbs/edit.js +18 -18
  8. package/build/breadcrumbs/edit.js.map +2 -2
  9. package/build/button/block.json +2 -3
  10. package/build/button/deprecated.js +203 -0
  11. package/build/button/deprecated.js.map +3 -3
  12. package/build/button/edit.js +13 -24
  13. package/build/button/edit.js.map +3 -3
  14. package/build/button/index.js +1 -1
  15. package/build/button/index.js.map +2 -2
  16. package/build/button/save.js +0 -2
  17. package/build/button/save.js.map +2 -2
  18. package/build/code/index.js +1 -1
  19. package/build/code/index.js.map +2 -2
  20. package/build/comments-pagination-numbers/block.json +7 -0
  21. package/build/cover/index.js +2 -2
  22. package/build/cover/index.js.map +2 -2
  23. package/build/details/index.js +1 -1
  24. package/build/details/index.js.map +2 -2
  25. package/build/file/index.js +1 -1
  26. package/build/file/index.js.map +2 -2
  27. package/build/freeform/block.json +0 -1
  28. package/build/gallery/edit.js +1 -1
  29. package/build/gallery/edit.js.map +2 -2
  30. package/build/gallery/transforms.js +7 -3
  31. package/build/gallery/transforms.js.map +2 -2
  32. package/build/heading/index.js +1 -1
  33. package/build/heading/index.js.map +2 -2
  34. package/build/html/modal.js +18 -7
  35. package/build/html/modal.js.map +2 -2
  36. package/build/image/index.js +1 -1
  37. package/build/image/index.js.map +2 -2
  38. package/build/index.js +9 -3
  39. package/build/index.js.map +2 -2
  40. package/build/list-item/index.js +1 -1
  41. package/build/list-item/index.js.map +2 -2
  42. package/build/math/edit.js +14 -2
  43. package/build/math/edit.js.map +2 -2
  44. package/build/media-text/index.js +1 -1
  45. package/build/media-text/index.js.map +2 -2
  46. package/build/more/index.js +1 -1
  47. package/build/more/index.js.map +2 -2
  48. package/build/navigation/block.json +3 -0
  49. package/build/navigation/edit/index.js +57 -83
  50. package/build/navigation/edit/index.js.map +3 -3
  51. package/build/navigation/edit/overlay-menu-preview-button.js +96 -0
  52. package/build/navigation/edit/overlay-menu-preview-button.js.map +7 -0
  53. package/build/navigation/edit/overlay-menu-preview-controls.js +90 -0
  54. package/build/navigation/edit/overlay-menu-preview-controls.js.map +7 -0
  55. package/build/navigation/edit/overlay-panel.js +86 -0
  56. package/build/navigation/edit/overlay-panel.js.map +7 -0
  57. package/build/navigation/edit/overlay-template-part-selector.js +163 -0
  58. package/build/navigation/edit/overlay-template-part-selector.js.map +7 -0
  59. package/build/navigation/edit/overlay-visibility-control.js +54 -0
  60. package/build/navigation/edit/overlay-visibility-control.js.map +7 -0
  61. package/build/navigation/edit/responsive-wrapper.js +14 -2
  62. package/build/navigation/edit/responsive-wrapper.js.map +2 -2
  63. package/build/navigation-link/edit.js +7 -21
  64. package/build/navigation-link/edit.js.map +2 -2
  65. package/build/navigation-link/index.js +1 -1
  66. package/build/navigation-link/index.js.map +2 -2
  67. package/build/navigation-link/shared/index.js +5 -2
  68. package/build/navigation-link/shared/index.js.map +2 -2
  69. package/build/navigation-link/shared/use-handle-link-change.js +84 -0
  70. package/build/navigation-link/shared/use-handle-link-change.js.map +7 -0
  71. package/build/navigation-submenu/index.js +1 -1
  72. package/build/navigation-submenu/index.js.map +2 -2
  73. package/build/page-list-item/edit.js +4 -3
  74. package/build/page-list-item/edit.js.map +2 -2
  75. package/build/paragraph/index.js +1 -1
  76. package/build/paragraph/index.js.map +2 -2
  77. package/build/post-title/edit.js +6 -4
  78. package/build/post-title/edit.js.map +2 -2
  79. package/build/preformatted/index.js +1 -1
  80. package/build/preformatted/index.js.map +2 -2
  81. package/build/pullquote/index.js +1 -1
  82. package/build/pullquote/index.js.map +2 -2
  83. package/build/query/edit/inspector-controls/author-control.js +0 -1
  84. package/build/query/edit/inspector-controls/author-control.js.map +2 -2
  85. package/build/query/edit/inspector-controls/format-controls.js +0 -1
  86. package/build/query/edit/inspector-controls/format-controls.js.map +2 -2
  87. package/build/query/edit/inspector-controls/parent-control.js +1 -2
  88. package/build/query/edit/inspector-controls/parent-control.js.map +2 -2
  89. package/build/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  90. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +2 -2
  91. package/build/search/index.js +1 -1
  92. package/build/search/index.js.map +2 -2
  93. package/build/social-link/index.js +1 -1
  94. package/build/social-link/index.js.map +2 -2
  95. package/build/template-part/edit/index.js +3 -31
  96. package/build/template-part/edit/index.js.map +2 -2
  97. package/build/template-part/edit/utils/get-template-part-icon.js +9 -4
  98. package/build/template-part/edit/utils/get-template-part-icon.js.map +3 -3
  99. package/build/template-part/edit/utils/hooks.js +3 -2
  100. package/build/template-part/edit/utils/hooks.js.map +2 -2
  101. package/build/terms-query/edit/inspector-controls/include-control.js +0 -1
  102. package/build/terms-query/edit/inspector-controls/include-control.js.map +2 -2
  103. package/build/utils/deprecated-text-align-attributes.js +70 -0
  104. package/build/utils/deprecated-text-align-attributes.js.map +7 -0
  105. package/build/utils/migrate-text-align.js +42 -0
  106. package/build/utils/migrate-text-align.js.map +7 -0
  107. package/build/verse/index.js +1 -1
  108. package/build/verse/index.js.map +2 -2
  109. package/build/video/index.js +1 -1
  110. package/build/video/index.js.map +2 -2
  111. package/build-module/audio/index.js +1 -1
  112. package/build-module/audio/index.js.map +2 -2
  113. package/build-module/avatar/edit.js +13 -38
  114. package/build-module/avatar/edit.js.map +2 -2
  115. package/build-module/breadcrumbs/block.json +3 -2
  116. package/build-module/breadcrumbs/edit.js +18 -18
  117. package/build-module/breadcrumbs/edit.js.map +2 -2
  118. package/build-module/button/block.json +2 -3
  119. package/build-module/button/deprecated.js +205 -1
  120. package/build-module/button/deprecated.js.map +2 -2
  121. package/build-module/button/edit.js +13 -25
  122. package/build-module/button/edit.js.map +2 -2
  123. package/build-module/button/index.js +1 -1
  124. package/build-module/button/index.js.map +2 -2
  125. package/build-module/button/save.js +0 -2
  126. package/build-module/button/save.js.map +2 -2
  127. package/build-module/code/index.js +1 -1
  128. package/build-module/code/index.js.map +2 -2
  129. package/build-module/comments-pagination-numbers/block.json +7 -0
  130. package/build-module/cover/index.js +2 -2
  131. package/build-module/cover/index.js.map +2 -2
  132. package/build-module/details/index.js +1 -1
  133. package/build-module/details/index.js.map +2 -2
  134. package/build-module/file/index.js +1 -1
  135. package/build-module/file/index.js.map +2 -2
  136. package/build-module/freeform/block.json +0 -1
  137. package/build-module/gallery/edit.js +1 -1
  138. package/build-module/gallery/edit.js.map +2 -2
  139. package/build-module/gallery/transforms.js +7 -3
  140. package/build-module/gallery/transforms.js.map +2 -2
  141. package/build-module/heading/index.js +1 -1
  142. package/build-module/heading/index.js.map +2 -2
  143. package/build-module/html/modal.js +19 -7
  144. package/build-module/html/modal.js.map +2 -2
  145. package/build-module/image/index.js +1 -1
  146. package/build-module/image/index.js.map +2 -2
  147. package/build-module/index.js +9 -3
  148. package/build-module/index.js.map +2 -2
  149. package/build-module/list-item/index.js +1 -1
  150. package/build-module/list-item/index.js.map +2 -2
  151. package/build-module/math/edit.js +15 -3
  152. package/build-module/math/edit.js.map +2 -2
  153. package/build-module/media-text/index.js +1 -1
  154. package/build-module/media-text/index.js.map +2 -2
  155. package/build-module/more/index.js +1 -1
  156. package/build-module/more/index.js.map +2 -2
  157. package/build-module/navigation/block.json +3 -0
  158. package/build-module/navigation/edit/index.js +58 -88
  159. package/build-module/navigation/edit/index.js.map +2 -2
  160. package/build-module/navigation/edit/overlay-menu-preview-button.js +65 -0
  161. package/build-module/navigation/edit/overlay-menu-preview-button.js.map +7 -0
  162. package/build-module/navigation/edit/overlay-menu-preview-controls.js +64 -0
  163. package/build-module/navigation/edit/overlay-menu-preview-controls.js.map +7 -0
  164. package/build-module/navigation/edit/overlay-panel.js +58 -0
  165. package/build-module/navigation/edit/overlay-panel.js.map +7 -0
  166. package/build-module/navigation/edit/overlay-template-part-selector.js +142 -0
  167. package/build-module/navigation/edit/overlay-template-part-selector.js.map +7 -0
  168. package/build-module/navigation/edit/overlay-visibility-control.js +36 -0
  169. package/build-module/navigation/edit/overlay-visibility-control.js.map +7 -0
  170. package/build-module/navigation/edit/responsive-wrapper.js +14 -2
  171. package/build-module/navigation/edit/responsive-wrapper.js.map +2 -2
  172. package/build-module/navigation-link/edit.js +9 -23
  173. package/build-module/navigation-link/edit.js.map +2 -2
  174. package/build-module/navigation-link/index.js +1 -1
  175. package/build-module/navigation-link/index.js.map +2 -2
  176. package/build-module/navigation-link/shared/index.js +3 -1
  177. package/build-module/navigation-link/shared/index.js.map +2 -2
  178. package/build-module/navigation-link/shared/use-handle-link-change.js +59 -0
  179. package/build-module/navigation-link/shared/use-handle-link-change.js.map +7 -0
  180. package/build-module/navigation-submenu/index.js +1 -1
  181. package/build-module/navigation-submenu/index.js.map +2 -2
  182. package/build-module/page-list-item/edit.js +4 -3
  183. package/build-module/page-list-item/edit.js.map +2 -2
  184. package/build-module/paragraph/index.js +1 -1
  185. package/build-module/paragraph/index.js.map +2 -2
  186. package/build-module/post-title/edit.js +6 -4
  187. package/build-module/post-title/edit.js.map +2 -2
  188. package/build-module/preformatted/index.js +1 -1
  189. package/build-module/preformatted/index.js.map +2 -2
  190. package/build-module/pullquote/index.js +1 -1
  191. package/build-module/pullquote/index.js.map +2 -2
  192. package/build-module/query/edit/inspector-controls/author-control.js +0 -1
  193. package/build-module/query/edit/inspector-controls/author-control.js.map +2 -2
  194. package/build-module/query/edit/inspector-controls/format-controls.js +0 -1
  195. package/build-module/query/edit/inspector-controls/format-controls.js.map +2 -2
  196. package/build-module/query/edit/inspector-controls/parent-control.js +1 -2
  197. package/build-module/query/edit/inspector-controls/parent-control.js.map +2 -2
  198. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  199. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +2 -2
  200. package/build-module/search/index.js +1 -1
  201. package/build-module/search/index.js.map +2 -2
  202. package/build-module/social-link/index.js +1 -1
  203. package/build-module/social-link/index.js.map +2 -2
  204. package/build-module/template-part/edit/index.js +3 -31
  205. package/build-module/template-part/edit/index.js.map +2 -2
  206. package/build-module/template-part/edit/utils/get-template-part-icon.js +10 -4
  207. package/build-module/template-part/edit/utils/get-template-part-icon.js.map +2 -2
  208. package/build-module/template-part/edit/utils/hooks.js +3 -2
  209. package/build-module/template-part/edit/utils/hooks.js.map +2 -2
  210. package/build-module/terms-query/edit/inspector-controls/include-control.js +0 -1
  211. package/build-module/terms-query/edit/inspector-controls/include-control.js.map +2 -2
  212. package/build-module/utils/deprecated-text-align-attributes.js +39 -0
  213. package/build-module/utils/deprecated-text-align-attributes.js.map +7 -0
  214. package/build-module/utils/migrate-text-align.js +21 -0
  215. package/build-module/utils/migrate-text-align.js.map +7 -0
  216. package/build-module/verse/index.js +1 -1
  217. package/build-module/verse/index.js.map +2 -2
  218. package/build-module/video/index.js +1 -1
  219. package/build-module/video/index.js.map +2 -2
  220. package/build-style/accordion-heading/style-rtl.css +2 -18
  221. package/build-style/accordion-heading/style.css +2 -18
  222. package/build-style/classic-rtl.css +24 -0
  223. package/build-style/classic.css +24 -0
  224. package/build-style/common-rtl.css +4 -4
  225. package/build-style/common.css +4 -0
  226. package/build-style/editor-rtl.css +5 -0
  227. package/build-style/editor.css +5 -0
  228. package/build-style/navigation/editor-rtl.css +5 -0
  229. package/build-style/navigation/editor.css +5 -0
  230. package/build-style/style-rtl.css +8 -22
  231. package/build-style/style.css +8 -18
  232. package/build-style/verse/style-rtl.css +2 -0
  233. package/build-style/verse/style.css +2 -0
  234. package/package.json +40 -38
  235. package/src/accordion-heading/style.scss +2 -30
  236. package/src/audio/index.js +1 -1
  237. package/src/avatar/edit.js +68 -83
  238. package/src/breadcrumbs/block.json +3 -2
  239. package/src/breadcrumbs/edit.js +18 -18
  240. package/src/breadcrumbs/index.php +38 -17
  241. package/src/button/block.json +2 -3
  242. package/src/button/deprecated.js +214 -0
  243. package/src/button/edit.js +2 -11
  244. package/src/button/index.js +1 -1
  245. package/src/button/save.js +0 -2
  246. package/src/classic.scss +38 -0
  247. package/src/code/index.js +1 -1
  248. package/src/comments-pagination-numbers/block.json +7 -0
  249. package/src/common.scss +4 -0
  250. package/src/cover/index.js +2 -2
  251. package/src/details/index.js +1 -1
  252. package/src/file/index.js +1 -1
  253. package/src/freeform/block.json +0 -1
  254. package/src/gallery/edit.js +4 -1
  255. package/src/gallery/transforms.js +6 -2
  256. package/src/heading/index.js +1 -1
  257. package/src/html/modal.js +39 -20
  258. package/src/image/index.js +1 -1
  259. package/src/index.js +9 -3
  260. package/src/list-item/index.js +1 -1
  261. package/src/math/edit.js +15 -3
  262. package/src/media-text/index.js +1 -1
  263. package/src/more/index.js +1 -1
  264. package/src/navigation/block.json +3 -0
  265. package/src/navigation/edit/index.js +77 -82
  266. package/src/navigation/edit/overlay-menu-preview-button.js +82 -0
  267. package/src/navigation/edit/overlay-menu-preview-controls.js +65 -0
  268. package/src/navigation/edit/overlay-panel.js +78 -0
  269. package/src/navigation/edit/overlay-template-part-selector.js +198 -0
  270. package/src/navigation/edit/overlay-visibility-control.js +40 -0
  271. package/src/navigation/edit/responsive-wrapper.js +16 -1
  272. package/src/navigation/edit/test/overlay-template-part-selector.js +461 -0
  273. package/src/navigation/editor.scss +5 -0
  274. package/src/navigation-link/edit.js +9 -26
  275. package/src/navigation-link/index.js +1 -1
  276. package/src/navigation-link/shared/index.js +1 -0
  277. package/src/navigation-link/shared/test/use-handle-link-change.test.js +804 -0
  278. package/src/navigation-link/shared/use-handle-link-change.js +91 -0
  279. package/src/navigation-submenu/index.js +1 -1
  280. package/src/page-list/index.php +3 -4
  281. package/src/page-list-item/edit.js +4 -3
  282. package/src/paragraph/index.js +1 -1
  283. package/src/post-title/edit.js +8 -4
  284. package/src/post-title/index.php +1 -1
  285. package/src/preformatted/index.js +1 -1
  286. package/src/pullquote/index.js +1 -1
  287. package/src/query/edit/inspector-controls/author-control.js +0 -1
  288. package/src/query/edit/inspector-controls/format-controls.js +0 -1
  289. package/src/query/edit/inspector-controls/parent-control.js +0 -1
  290. package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  291. package/src/search/index.js +1 -1
  292. package/src/social-link/index.js +1 -1
  293. package/src/template-part/edit/index.js +5 -41
  294. package/src/template-part/edit/utils/get-template-part-icon.js +23 -4
  295. package/src/template-part/edit/utils/hooks.js +10 -2
  296. package/src/terms-query/edit/inspector-controls/include-control.js +0 -1
  297. package/src/utils/deprecated-text-align-attributes.js +45 -0
  298. package/src/utils/migrate-text-align.js +22 -0
  299. package/src/verse/index.js +1 -1
  300. package/src/verse/style.scss +4 -0
  301. package/src/video/index.js +1 -1
  302. 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__ */ jsxs(BlockControls, { group: "block", children: [
342
- hasNonContentControls && /* @__PURE__ */ jsx(
343
- AlignmentControl,
344
- {
345
- value: textAlign,
346
- onChange: (nextAlign) => {
347
- setAttributes({ textAlign: nextAlign });
348
- }
349
- }
350
- ),
351
- isLinkTag && !lockUrlControls && /* @__PURE__ */ jsx(
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
  {