@wordpress/block-library 7.6.0 → 7.7.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 (152) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/deprecated.js +175 -35
  3. package/build/button/deprecated.js.map +1 -1
  4. package/build/button/edit.js +1 -1
  5. package/build/button/edit.js.map +1 -1
  6. package/build/button/save.js +1 -1
  7. package/build/button/save.js.map +1 -1
  8. package/build/columns/index.js +3 -1
  9. package/build/columns/index.js.map +1 -1
  10. package/build/cover/deprecated.js +212 -207
  11. package/build/cover/deprecated.js.map +1 -1
  12. package/build/cover/edit/index.js +13 -3
  13. package/build/cover/edit/index.js.map +1 -1
  14. package/build/cover/save.js +18 -5
  15. package/build/cover/save.js.map +1 -1
  16. package/build/cover/shared.js +14 -17
  17. package/build/cover/shared.js.map +1 -1
  18. package/build/file/edit.js +1 -1
  19. package/build/file/edit.js.map +1 -1
  20. package/build/file/save.js +9 -1
  21. package/build/file/save.js.map +1 -1
  22. package/build/gallery/gap-styles.js +14 -4
  23. package/build/gallery/gap-styles.js.map +1 -1
  24. package/build/gallery/index.js +1 -1
  25. package/build/image/edit.js +5 -59
  26. package/build/image/edit.js.map +1 -1
  27. package/build/image/edit.native.js +56 -3
  28. package/build/image/edit.native.js.map +1 -1
  29. package/build/image/image.js +3 -13
  30. package/build/image/image.js.map +1 -1
  31. package/build/list-item/hooks/use-split.js +17 -3
  32. package/build/list-item/hooks/use-split.js.map +1 -1
  33. package/build/navigation-link/edit.js +31 -5
  34. package/build/navigation-link/edit.js.map +1 -1
  35. package/build/post-author-name/index.js +3 -0
  36. package/build/post-author-name/index.js.map +1 -1
  37. package/build/post-author-name/transforms.js +41 -0
  38. package/build/post-author-name/transforms.js.map +1 -0
  39. package/build/post-comments-form/form.js +11 -1
  40. package/build/post-comments-form/form.js.map +1 -1
  41. package/build/post-date/edit.js +13 -7
  42. package/build/post-date/edit.js.map +1 -1
  43. package/build/search/edit.js +1 -1
  44. package/build/search/edit.js.map +1 -1
  45. package/build/search/index.js +4 -0
  46. package/build/search/index.js.map +1 -1
  47. package/build/shortcode/edit.native.js +16 -13
  48. package/build/shortcode/edit.native.js.map +1 -1
  49. package/build/social-links/edit.js +2 -2
  50. package/build/social-links/edit.js.map +1 -1
  51. package/build/table-of-contents/edit.js +11 -3
  52. package/build/table-of-contents/edit.js.map +1 -1
  53. package/build-module/button/deprecated.js +175 -35
  54. package/build-module/button/deprecated.js.map +1 -1
  55. package/build-module/button/edit.js +2 -2
  56. package/build-module/button/edit.js.map +1 -1
  57. package/build-module/button/save.js +2 -2
  58. package/build-module/button/save.js.map +1 -1
  59. package/build-module/columns/index.js +3 -1
  60. package/build-module/columns/index.js.map +1 -1
  61. package/build-module/cover/deprecated.js +206 -198
  62. package/build-module/cover/deprecated.js.map +1 -1
  63. package/build-module/cover/edit/index.js +14 -4
  64. package/build-module/cover/edit/index.js.map +1 -1
  65. package/build-module/cover/save.js +19 -6
  66. package/build-module/cover/save.js.map +1 -1
  67. package/build-module/cover/shared.js +11 -12
  68. package/build-module/cover/shared.js.map +1 -1
  69. package/build-module/file/edit.js +2 -2
  70. package/build-module/file/edit.js.map +1 -1
  71. package/build-module/file/save.js +7 -2
  72. package/build-module/file/save.js.map +1 -1
  73. package/build-module/gallery/gap-styles.js +14 -4
  74. package/build-module/gallery/gap-styles.js.map +1 -1
  75. package/build-module/gallery/index.js +1 -1
  76. package/build-module/image/edit.js +5 -56
  77. package/build-module/image/edit.js.map +1 -1
  78. package/build-module/image/edit.native.js +57 -5
  79. package/build-module/image/edit.native.js.map +1 -1
  80. package/build-module/image/image.js +4 -14
  81. package/build-module/image/image.js.map +1 -1
  82. package/build-module/list-item/hooks/use-split.js +19 -5
  83. package/build-module/list-item/hooks/use-split.js.map +1 -1
  84. package/build-module/navigation-link/edit.js +31 -6
  85. package/build-module/navigation-link/edit.js.map +1 -1
  86. package/build-module/post-author-name/index.js +2 -0
  87. package/build-module/post-author-name/index.js.map +1 -1
  88. package/build-module/post-author-name/transforms.js +32 -0
  89. package/build-module/post-author-name/transforms.js.map +1 -0
  90. package/build-module/post-comments-form/form.js +7 -1
  91. package/build-module/post-comments-form/form.js.map +1 -1
  92. package/build-module/post-date/edit.js +15 -9
  93. package/build-module/post-date/edit.js.map +1 -1
  94. package/build-module/search/edit.js +2 -2
  95. package/build-module/search/edit.js.map +1 -1
  96. package/build-module/search/index.js +4 -0
  97. package/build-module/search/index.js.map +1 -1
  98. package/build-module/shortcode/edit.native.js +17 -13
  99. package/build-module/shortcode/edit.native.js.map +1 -1
  100. package/build-module/social-links/edit.js +2 -2
  101. package/build-module/social-links/edit.js.map +1 -1
  102. package/build-module/table-of-contents/edit.js +12 -4
  103. package/build-module/table-of-contents/edit.js.map +1 -1
  104. package/build-style/cover/style-rtl.css +32 -23
  105. package/build-style/cover/style.css +32 -23
  106. package/build-style/site-logo/style-rtl.css +4 -0
  107. package/build-style/site-logo/style.css +4 -0
  108. package/build-style/style-rtl.css +36 -23
  109. package/build-style/style.css +36 -23
  110. package/package.json +28 -28
  111. package/src/button/deprecated.js +145 -0
  112. package/src/button/edit.js +3 -1
  113. package/src/button/save.js +3 -1
  114. package/src/buttons/test/__snapshots__/edit.native.js.snap +1 -1
  115. package/src/buttons/test/edit.native.js +1 -1
  116. package/src/columns/block.json +3 -1
  117. package/src/cover/deprecated.js +230 -183
  118. package/src/cover/edit/index.js +25 -13
  119. package/src/cover/save.js +26 -13
  120. package/src/cover/shared.js +5 -7
  121. package/src/cover/style.scss +27 -22
  122. package/src/file/edit.js +5 -1
  123. package/src/file/save.js +14 -2
  124. package/src/gallery/block.json +1 -1
  125. package/src/gallery/gap-styles.js +21 -6
  126. package/src/gallery/index.php +23 -12
  127. package/src/image/edit.js +1 -53
  128. package/src/image/edit.native.js +65 -3
  129. package/src/image/image.js +2 -11
  130. package/src/image/styles.native.scss +11 -0
  131. package/src/list-item/hooks/use-split.js +18 -9
  132. package/src/navigation-link/edit.js +35 -5
  133. package/src/navigation-link/test/edit.js +0 -20
  134. package/src/post-author/index.php +3 -2
  135. package/src/post-author-name/index.js +2 -0
  136. package/src/post-author-name/index.php +1 -1
  137. package/src/post-author-name/transforms.js +25 -0
  138. package/src/post-comments/index.php +1 -1
  139. package/src/post-comments-form/form.js +11 -1
  140. package/src/post-comments-form/index.php +1 -1
  141. package/src/post-date/edit.js +4 -3
  142. package/src/query-pagination/index.php +0 -1
  143. package/src/search/block.json +4 -0
  144. package/src/search/edit.js +3 -1
  145. package/src/search/index.php +28 -15
  146. package/src/shortcode/edit.native.js +29 -15
  147. package/src/shortcode/style.native.scss +11 -4
  148. package/src/shortcode/test/__snapshots__/edit.native.js.snap +9 -0
  149. package/src/shortcode/test/edit.native.js +58 -40
  150. package/src/site-logo/style.scss +6 -0
  151. package/src/social-links/edit.js +11 -10
  152. package/src/table-of-contents/edit.js +19 -6
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 7.7.0 (2022-06-01)
6
+
5
7
  ## 7.6.0 (2022-05-18)
6
8
 
7
9
  ### Enhancement
@@ -108,7 +108,7 @@ const blockAttributes = {
108
108
  selector: 'a'
109
109
  }
110
110
  };
111
- const v10 = {
111
+ const v11 = {
112
112
  attributes: {
113
113
  url: {
114
114
  type: 'string',
@@ -161,11 +161,18 @@ const v10 = {
161
161
  alignWide: false,
162
162
  color: {
163
163
  __experimentalSkipSerialization: true,
164
- gradients: true
164
+ gradients: true,
165
+ __experimentalDefaultControls: {
166
+ background: true,
167
+ text: true
168
+ }
165
169
  },
166
170
  typography: {
167
171
  fontSize: true,
168
- __experimentalFontFamily: true
172
+ __experimentalFontFamily: true,
173
+ __experimentalDefaultControls: {
174
+ fontSize: true
175
+ }
169
176
  },
170
177
  reusable: false,
171
178
  spacing: {
@@ -177,7 +184,10 @@ const v10 = {
177
184
  },
178
185
  __experimentalBorder: {
179
186
  radius: true,
180
- __experimentalSkipSerialization: true
187
+ __experimentalSkipSerialization: true,
188
+ __experimentalDefaultControls: {
189
+ radius: true
190
+ }
181
191
  },
182
192
  __experimentalSelector: '.wp-block-button__link'
183
193
  },
@@ -235,21 +245,151 @@ const v10 = {
235
245
  target: linkTarget,
236
246
  rel: rel
237
247
  }));
248
+ }
249
+
250
+ };
251
+ const v10 = {
252
+ attributes: {
253
+ url: {
254
+ type: 'string',
255
+ source: 'attribute',
256
+ selector: 'a',
257
+ attribute: 'href'
258
+ },
259
+ title: {
260
+ type: 'string',
261
+ source: 'attribute',
262
+ selector: 'a',
263
+ attribute: 'title'
264
+ },
265
+ text: {
266
+ type: 'string',
267
+ source: 'html',
268
+ selector: 'a'
269
+ },
270
+ linkTarget: {
271
+ type: 'string',
272
+ source: 'attribute',
273
+ selector: 'a',
274
+ attribute: 'target'
275
+ },
276
+ rel: {
277
+ type: 'string',
278
+ source: 'attribute',
279
+ selector: 'a',
280
+ attribute: 'rel'
281
+ },
282
+ placeholder: {
283
+ type: 'string'
284
+ },
285
+ backgroundColor: {
286
+ type: 'string'
287
+ },
288
+ textColor: {
289
+ type: 'string'
290
+ },
291
+ gradient: {
292
+ type: 'string'
293
+ },
294
+ width: {
295
+ type: 'number'
296
+ }
297
+ },
298
+ supports: {
299
+ anchor: true,
300
+ align: true,
301
+ alignWide: false,
302
+ color: {
303
+ __experimentalSkipSerialization: true,
304
+ gradients: true
305
+ },
306
+ typography: {
307
+ fontSize: true,
308
+ __experimentalFontFamily: true
309
+ },
310
+ reusable: false,
311
+ spacing: {
312
+ __experimentalSkipSerialization: true,
313
+ padding: ['horizontal', 'vertical'],
314
+ __experimentalDefaultControls: {
315
+ padding: true
316
+ }
317
+ },
318
+ __experimentalBorder: {
319
+ radius: true,
320
+ __experimentalSkipSerialization: true
321
+ },
322
+ __experimentalSelector: '.wp-block-button__link'
323
+ },
324
+
325
+ save(_ref2) {
326
+ var _style$border2, _style$typography2;
327
+
328
+ let {
329
+ attributes,
330
+ className
331
+ } = _ref2;
332
+ const {
333
+ fontSize,
334
+ linkTarget,
335
+ rel,
336
+ style,
337
+ text,
338
+ title,
339
+ url,
340
+ width
341
+ } = attributes;
342
+
343
+ if (!text) {
344
+ return null;
345
+ }
346
+
347
+ const borderProps = (0, _blockEditor.__experimentalGetBorderClassesAndStyles)(attributes);
348
+ const colorProps = (0, _blockEditor.__experimentalGetColorClassesAndStyles)(attributes);
349
+ const spacingProps = (0, _blockEditor.__experimentalGetSpacingClassesAndStyles)(attributes);
350
+ const buttonClasses = (0, _classnames.default)('wp-block-button__link', colorProps.className, borderProps.className, {
351
+ // For backwards compatibility add style that isn't provided via
352
+ // block support.
353
+ 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border2 = style.border) === null || _style$border2 === void 0 ? void 0 : _style$border2.radius) === 0
354
+ });
355
+ const buttonStyle = { ...borderProps.style,
356
+ ...colorProps.style,
357
+ ...spacingProps.style
358
+ }; // The use of a `title` attribute here is soft-deprecated, but still applied
359
+ // if it had already been assigned, for the sake of backward-compatibility.
360
+ // A title will no longer be assigned for new or updated button block links.
361
+
362
+ const wrapperClasses = (0, _classnames.default)(className, {
363
+ [`has-custom-width wp-block-button__width-${width}`]: width,
364
+ [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography2 = style.typography) === null || _style$typography2 === void 0 ? void 0 : _style$typography2.fontSize)
365
+ });
366
+ return (0, _element.createElement)("div", _blockEditor.useBlockProps.save({
367
+ className: wrapperClasses
368
+ }), (0, _element.createElement)(_blockEditor.RichText.Content, {
369
+ tagName: "a",
370
+ className: buttonClasses,
371
+ href: url,
372
+ title: title,
373
+ style: buttonStyle,
374
+ value: text,
375
+ target: linkTarget,
376
+ rel: rel
377
+ }));
238
378
  },
239
379
 
240
380
  migrate: _migrateFontFamily.default,
241
381
 
242
- isEligible(_ref2) {
243
- var _style$typography2;
382
+ isEligible(_ref3) {
383
+ var _style$typography3;
244
384
 
245
385
  let {
246
386
  style
247
- } = _ref2;
248
- return style === null || style === void 0 ? void 0 : (_style$typography2 = style.typography) === null || _style$typography2 === void 0 ? void 0 : _style$typography2.fontFamily;
387
+ } = _ref3;
388
+ return style === null || style === void 0 ? void 0 : (_style$typography3 = style.typography) === null || _style$typography3 === void 0 ? void 0 : _style$typography3.fontFamily;
249
389
  }
250
390
 
251
391
  };
252
- const deprecated = [v10, {
392
+ const deprecated = [v11, v10, {
253
393
  supports: {
254
394
  anchor: true,
255
395
  align: true,
@@ -295,22 +435,22 @@ const deprecated = [v10, {
295
435
  }
296
436
  },
297
437
 
298
- isEligible(_ref3) {
299
- var _style$border2;
438
+ isEligible(_ref4) {
439
+ var _style$border3;
300
440
 
301
441
  let {
302
442
  style
303
- } = _ref3;
304
- return typeof (style === null || style === void 0 ? void 0 : (_style$border2 = style.border) === null || _style$border2 === void 0 ? void 0 : _style$border2.radius) === 'number';
443
+ } = _ref4;
444
+ return typeof (style === null || style === void 0 ? void 0 : (_style$border3 = style.border) === null || _style$border3 === void 0 ? void 0 : _style$border3.radius) === 'number';
305
445
  },
306
446
 
307
- save(_ref4) {
308
- var _style$border3, _style$border4, _style$typography3;
447
+ save(_ref5) {
448
+ var _style$border4, _style$border5, _style$typography4;
309
449
 
310
450
  let {
311
451
  attributes,
312
452
  className
313
- } = _ref4;
453
+ } = _ref5;
314
454
  const {
315
455
  fontSize,
316
456
  linkTarget,
@@ -326,10 +466,10 @@ const deprecated = [v10, {
326
466
  return null;
327
467
  }
328
468
 
329
- const borderRadius = style === null || style === void 0 ? void 0 : (_style$border3 = style.border) === null || _style$border3 === void 0 ? void 0 : _style$border3.radius;
469
+ const borderRadius = style === null || style === void 0 ? void 0 : (_style$border4 = style.border) === null || _style$border4 === void 0 ? void 0 : _style$border4.radius;
330
470
  const colorProps = (0, _blockEditor.__experimentalGetColorClassesAndStyles)(attributes);
331
471
  const buttonClasses = (0, _classnames.default)('wp-block-button__link', colorProps.className, {
332
- 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border4 = style.border) === null || _style$border4 === void 0 ? void 0 : _style$border4.radius) === 0
472
+ 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border5 = style.border) === null || _style$border5 === void 0 ? void 0 : _style$border5.radius) === 0
333
473
  });
334
474
  const buttonStyle = {
335
475
  borderRadius: borderRadius ? borderRadius : undefined,
@@ -340,7 +480,7 @@ const deprecated = [v10, {
340
480
 
341
481
  const wrapperClasses = (0, _classnames.default)(className, {
342
482
  [`has-custom-width wp-block-button__width-${width}`]: width,
343
- [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography3 = style.typography) === null || _style$typography3 === void 0 ? void 0 : _style$typography3.fontSize)
483
+ [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography4 = style.typography) === null || _style$typography4 === void 0 ? void 0 : _style$typography4.fontSize)
344
484
  });
345
485
  return (0, _element.createElement)("div", _blockEditor.useBlockProps.save({
346
486
  className: wrapperClasses
@@ -404,11 +544,11 @@ const deprecated = [v10, {
404
544
  }
405
545
  },
406
546
 
407
- save(_ref5) {
547
+ save(_ref6) {
408
548
  let {
409
549
  attributes,
410
550
  className
411
- } = _ref5;
551
+ } = _ref6;
412
552
  const {
413
553
  borderRadius,
414
554
  linkTarget,
@@ -494,11 +634,11 @@ const deprecated = [v10, {
494
634
  }
495
635
  },
496
636
 
497
- save(_ref6) {
637
+ save(_ref7) {
498
638
  let {
499
639
  attributes,
500
640
  className
501
- } = _ref6;
641
+ } = _ref7;
502
642
  const {
503
643
  borderRadius,
504
644
  linkTarget,
@@ -578,10 +718,10 @@ const deprecated = [v10, {
578
718
  }
579
719
  },
580
720
 
581
- save(_ref7) {
721
+ save(_ref8) {
582
722
  let {
583
723
  attributes
584
- } = _ref7;
724
+ } = _ref8;
585
725
  const {
586
726
  borderRadius,
587
727
  linkTarget,
@@ -655,10 +795,10 @@ const deprecated = [v10, {
655
795
  isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient,
656
796
  migrate: (0, _compose.compose)(migrateBorderRadius, migrateCustomColorsAndGradients),
657
797
 
658
- save(_ref8) {
798
+ save(_ref9) {
659
799
  let {
660
800
  attributes
661
- } = _ref8;
801
+ } = _ref9;
662
802
  const {
663
803
  backgroundColor,
664
804
  borderRadius,
@@ -757,10 +897,10 @@ const deprecated = [v10, {
757
897
  }));
758
898
  },
759
899
 
760
- save(_ref9) {
900
+ save(_ref10) {
761
901
  let {
762
902
  attributes
763
- } = _ref9;
903
+ } = _ref10;
764
904
  const {
765
905
  backgroundColor,
766
906
  customBackgroundColor,
@@ -817,10 +957,10 @@ const deprecated = [v10, {
817
957
  },
818
958
  migrate: oldColorsMigration,
819
959
 
820
- save(_ref10) {
960
+ save(_ref11) {
821
961
  let {
822
962
  attributes
823
- } = _ref10;
963
+ } = _ref11;
824
964
  const {
825
965
  url,
826
966
  text,
@@ -866,10 +1006,10 @@ const deprecated = [v10, {
866
1006
  }
867
1007
  },
868
1008
 
869
- save(_ref11) {
1009
+ save(_ref12) {
870
1010
  let {
871
1011
  attributes
872
- } = _ref11;
1012
+ } = _ref12;
873
1013
  const {
874
1014
  url,
875
1015
  text,
@@ -910,10 +1050,10 @@ const deprecated = [v10, {
910
1050
  }
911
1051
  },
912
1052
 
913
- save(_ref12) {
1053
+ save(_ref13) {
914
1054
  let {
915
1055
  attributes
916
- } = _ref12;
1056
+ } = _ref13;
917
1057
  const {
918
1058
  url,
919
1059
  text,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/deprecated.js"],"names":["migrateBorderRadius","attributes","borderRadius","newAttributes","oldBorderRadius","style","border","radius","find","possibleBorderRadius","migrateCustomColorsAndGradients","customTextColor","customBackgroundColor","customGradient","color","text","background","gradient","oldColorsMigration","textColor","undefined","blockAttributes","url","type","source","selector","attribute","title","v10","linkTarget","rel","placeholder","backgroundColor","width","supports","anchor","align","alignWide","__experimentalSkipSerialization","gradients","typography","fontSize","__experimentalFontFamily","reusable","spacing","padding","__experimentalDefaultControls","__experimentalBorder","__experimentalSelector","save","className","borderProps","colorProps","spacingProps","buttonClasses","buttonStyle","wrapperClasses","useBlockProps","migrate","migrateFontFamily","isEligible","fontFamily","deprecated","textClass","backgroundClass","gradientClass","default","includes","newClassName","replace","trim","linkClass"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetGradientClass,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\n\nconst migrateBorderRadius = ( attributes ) => {\n\tconst { borderRadius, ...newAttributes } = attributes;\n\t// We have to check old property `borderRadius` and if\n\t// `styles.border.radius` is a `number`\n\tconst oldBorderRadius = [\n\t\tborderRadius,\n\t\tnewAttributes.style?.border?.radius,\n\t].find( ( possibleBorderRadius ) => {\n\t\treturn (\n\t\t\ttypeof possibleBorderRadius === 'number' &&\n\t\t\tpossibleBorderRadius !== 0\n\t\t);\n\t} );\n\tif ( ! oldBorderRadius ) {\n\t\treturn newAttributes;\n\t}\n\n\treturn {\n\t\t...newAttributes,\n\t\tstyle: {\n\t\t\t...newAttributes.style,\n\t\t\tborder: {\n\t\t\t\t...newAttributes.style?.border,\n\t\t\t\tradius: `${ oldBorderRadius }px`,\n\t\t\t},\n\t\t},\n\t};\n};\n\nconst migrateCustomColorsAndGradients = ( attributes ) => {\n\tif (\n\t\t! attributes.customTextColor &&\n\t\t! attributes.customBackgroundColor &&\n\t\t! attributes.customGradient\n\t) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\tif ( attributes.customGradient ) {\n\t\tstyle.color.gradient = attributes.customGradient;\n\t}\n\treturn {\n\t\t...omit( attributes, [\n\t\t\t'customTextColor',\n\t\t\t'customBackgroundColor',\n\t\t\t'customGradient',\n\t\t] ),\n\t\tstyle,\n\t};\n};\n\nconst oldColorsMigration = ( attributes ) => {\n\treturn migrateCustomColorsAndGradients(\n\t\tomit(\n\t\t\t{\n\t\t\t\t...attributes,\n\t\t\t\tcustomTextColor:\n\t\t\t\t\tattributes.textColor && '#' === attributes.textColor[ 0 ]\n\t\t\t\t\t\t? attributes.textColor\n\t\t\t\t\t\t: undefined,\n\t\t\t\tcustomBackgroundColor:\n\t\t\t\t\tattributes.color && '#' === attributes.color[ 0 ]\n\t\t\t\t\t\t? attributes.color\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t\t[ 'color', 'textColor' ]\n\t\t)\n\t);\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 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 {\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\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateFontFamily,\n\tisEligible( { style } ) {\n\t\treturn style?.typography?.fontFamily;\n\t},\n};\n\nconst deprecated = [\n\tv10,\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t\tgradients: true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tisEligible( { style } ) {\n\t\t\treturn typeof style?.border?.radius === 'number';\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tfontSize,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\tstyle,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t} = attributes;\n\n\t\t\tif ( ! text ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst borderRadius = style?.border?.radius;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\tfontSize || style?.typography?.fontSize,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tborderRadius,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\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\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tborderRadius,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\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\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: { gradients: true },\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tborderRadius,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t} );\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t\tmigrate: migrateBorderRadius,\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomGradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible: ( attributes ) =>\n\t\t\t!! attributes.customTextColor ||\n\t\t\t!! attributes.customBackgroundColor ||\n\t\t\t!! attributes.customGradient,\n\t\tmigrate: compose(\n\t\t\tmigrateBorderRadius,\n\t\t\tmigrateCustomColorsAndGradients\n\t\t),\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tborderRadius,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tcustomGradient,\n\t\t\t\tlinkTarget,\n\t\t\t\tgradient,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass =\n\t\t\t\t! customGradient &&\n\t\t\t\tgetColorClassName( 'background-color', backgroundColor );\n\t\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background':\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tcustomBackgroundColor ||\n\t\t\t\t\tcustomGradient ||\n\t\t\t\t\tgradient,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t\t\tbackgroundColor:\n\t\t\t\t\tbackgroundClass || customGradient || gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible( attribute ) {\n\t\t\treturn (\n\t\t\t\tattribute.className &&\n\t\t\t\tattribute.className.includes( 'is-style-squared' )\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\tlet newClassName = attributes.className;\n\t\t\tif ( newClassName ) {\n\t\t\t\tnewClassName = newClassName\n\t\t\t\t\t.replace( /is-style-squared[\\s]?/, '' )\n\t\t\t\t\t.trim();\n\t\t\t}\n\t\t\treturn migrateBorderRadius(\n\t\t\t\tmigrateCustomColorsAndGradients( {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName: newClassName ? newClassName : undefined,\n\t\t\t\t\tborderRadius: 0,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\tbackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: color,\n\t\t\t\tcolor: textColor,\n\t\t\t};\n\n\t\t\tconst linkClass = 'wp-block-button__link';\n\n\t\t\treturn (\n\t\t\t\t<div className={ `align${ align }` }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ `align${ align }` }\n\t\t\t\t\tstyle={ { backgroundColor: color } }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ { color: textColor } }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/deprecated.js"],"names":["migrateBorderRadius","attributes","borderRadius","newAttributes","oldBorderRadius","style","border","radius","find","possibleBorderRadius","migrateCustomColorsAndGradients","customTextColor","customBackgroundColor","customGradient","color","text","background","gradient","oldColorsMigration","textColor","undefined","blockAttributes","url","type","source","selector","attribute","title","v11","linkTarget","rel","placeholder","backgroundColor","width","supports","anchor","align","alignWide","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","typography","fontSize","__experimentalFontFamily","reusable","spacing","padding","__experimentalBorder","__experimentalSelector","save","className","borderProps","colorProps","spacingProps","buttonClasses","buttonStyle","wrapperClasses","useBlockProps","v10","migrate","migrateFontFamily","isEligible","fontFamily","deprecated","textClass","backgroundClass","gradientClass","default","includes","newClassName","replace","trim","linkClass"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetGradientClass,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\n\nconst migrateBorderRadius = ( attributes ) => {\n\tconst { borderRadius, ...newAttributes } = attributes;\n\t// We have to check old property `borderRadius` and if\n\t// `styles.border.radius` is a `number`\n\tconst oldBorderRadius = [\n\t\tborderRadius,\n\t\tnewAttributes.style?.border?.radius,\n\t].find( ( possibleBorderRadius ) => {\n\t\treturn (\n\t\t\ttypeof possibleBorderRadius === 'number' &&\n\t\t\tpossibleBorderRadius !== 0\n\t\t);\n\t} );\n\tif ( ! oldBorderRadius ) {\n\t\treturn newAttributes;\n\t}\n\n\treturn {\n\t\t...newAttributes,\n\t\tstyle: {\n\t\t\t...newAttributes.style,\n\t\t\tborder: {\n\t\t\t\t...newAttributes.style?.border,\n\t\t\t\tradius: `${ oldBorderRadius }px`,\n\t\t\t},\n\t\t},\n\t};\n};\n\nconst migrateCustomColorsAndGradients = ( attributes ) => {\n\tif (\n\t\t! attributes.customTextColor &&\n\t\t! attributes.customBackgroundColor &&\n\t\t! attributes.customGradient\n\t) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\tif ( attributes.customGradient ) {\n\t\tstyle.color.gradient = attributes.customGradient;\n\t}\n\treturn {\n\t\t...omit( attributes, [\n\t\t\t'customTextColor',\n\t\t\t'customBackgroundColor',\n\t\t\t'customGradient',\n\t\t] ),\n\t\tstyle,\n\t};\n};\n\nconst oldColorsMigration = ( attributes ) => {\n\treturn migrateCustomColorsAndGradients(\n\t\tomit(\n\t\t\t{\n\t\t\t\t...attributes,\n\t\t\t\tcustomTextColor:\n\t\t\t\t\tattributes.textColor && '#' === attributes.textColor[ 0 ]\n\t\t\t\t\t\t? attributes.textColor\n\t\t\t\t\t\t: undefined,\n\t\t\t\tcustomBackgroundColor:\n\t\t\t\t\tattributes.color && '#' === attributes.color[ 0 ]\n\t\t\t\t\t\t? attributes.color\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t\t[ 'color', 'textColor' ]\n\t\t)\n\t);\n};\n\nconst blockAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'href',\n\t},\n\ttitle: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'title',\n\t},\n\ttext: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'a',\n\t},\n};\n\nconst v11 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst {\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\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nconst v10 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst {\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\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateFontFamily,\n\tisEligible( { style } ) {\n\t\treturn style?.typography?.fontFamily;\n\t},\n};\n\nconst deprecated = [\n\tv11,\n\tv10,\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t\tgradients: true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tisEligible( { style } ) {\n\t\t\treturn typeof style?.border?.radius === 'number';\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tfontSize,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\tstyle,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t} = attributes;\n\n\t\t\tif ( ! text ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst borderRadius = style?.border?.radius;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\tfontSize || style?.typography?.fontSize,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tborderRadius,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\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\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tborderRadius,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\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\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: { gradients: true },\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tborderRadius,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t} );\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t\tmigrate: migrateBorderRadius,\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomGradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible: ( attributes ) =>\n\t\t\t!! attributes.customTextColor ||\n\t\t\t!! attributes.customBackgroundColor ||\n\t\t\t!! attributes.customGradient,\n\t\tmigrate: compose(\n\t\t\tmigrateBorderRadius,\n\t\t\tmigrateCustomColorsAndGradients\n\t\t),\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tborderRadius,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tcustomGradient,\n\t\t\t\tlinkTarget,\n\t\t\t\tgradient,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass =\n\t\t\t\t! customGradient &&\n\t\t\t\tgetColorClassName( 'background-color', backgroundColor );\n\t\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background':\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tcustomBackgroundColor ||\n\t\t\t\t\tcustomGradient ||\n\t\t\t\t\tgradient,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t\t\tbackgroundColor:\n\t\t\t\t\tbackgroundClass || customGradient || gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible( attribute ) {\n\t\t\treturn (\n\t\t\t\tattribute.className &&\n\t\t\t\tattribute.className.includes( 'is-style-squared' )\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\tlet newClassName = attributes.className;\n\t\t\tif ( newClassName ) {\n\t\t\t\tnewClassName = newClassName\n\t\t\t\t\t.replace( /is-style-squared[\\s]?/, '' )\n\t\t\t\t\t.trim();\n\t\t\t}\n\t\t\treturn migrateBorderRadius(\n\t\t\t\tmigrateCustomColorsAndGradients( {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName: newClassName ? newClassName : undefined,\n\t\t\t\t\tborderRadius: 0,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\tbackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: color,\n\t\t\t\tcolor: textColor,\n\t\t\t};\n\n\t\t\tconst linkClass = 'wp-block-button__link';\n\n\t\t\treturn (\n\t\t\t\t<div className={ `align${ align }` }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ `align${ align }` }\n\t\t\t\t\tstyle={ { backgroundColor: color } }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ { color: textColor } }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -171,7 +171,7 @@ function ButtonEdit(props) {
171
171
  // For backwards compatibility add style that isn't
172
172
  // provided via block support.
173
173
  'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius) === 0
174
- }),
174
+ }, _blockEditor.__experimentalElementButtonClassName),
175
175
  style: { ...borderProps.style,
176
176
  ...colorProps.style,
177
177
  ...spacingProps.style