@wordpress/block-library 7.18.0 → 7.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/deprecated.js +16 -2
  3. package/build/button/deprecated.js.map +1 -1
  4. package/build/button/edit.js +13 -7
  5. package/build/button/edit.js.map +1 -1
  6. package/build/button/index.js +4 -1
  7. package/build/button/index.js.map +1 -1
  8. package/build/button/save.js +2 -0
  9. package/build/button/save.js.map +1 -1
  10. package/build/columns/transforms.js +5 -0
  11. package/build/columns/transforms.js.map +1 -1
  12. package/build/cover/edit/index.js +3 -1
  13. package/build/cover/edit/index.js.map +1 -1
  14. package/build/gallery/v1/edit.js +4 -2
  15. package/build/gallery/v1/edit.js.map +1 -1
  16. package/build/group/edit.js +98 -45
  17. package/build/group/edit.js.map +1 -1
  18. package/build/group/index.js +3 -0
  19. package/build/group/index.js.map +1 -1
  20. package/build/group/placeholder.js +168 -0
  21. package/build/group/placeholder.js.map +1 -0
  22. package/build/group/variations.js +3 -3
  23. package/build/group/variations.js.map +1 -1
  24. package/build/latest-comments/edit.js +2 -1
  25. package/build/latest-comments/edit.js.map +1 -1
  26. package/build/latest-comments/index.js +5 -1
  27. package/build/latest-comments/index.js.map +1 -1
  28. package/build/latest-posts/deprecated.js +13 -0
  29. package/build/latest-posts/deprecated.js.map +1 -1
  30. package/build/latest-posts/index.js +13 -0
  31. package/build/latest-posts/index.js.map +1 -1
  32. package/build/list-item/edit.js +2 -1
  33. package/build/list-item/edit.js.map +1 -1
  34. package/build/navigation/edit/index.js +82 -92
  35. package/build/navigation/edit/index.js.map +1 -1
  36. package/build/navigation/edit/manage-menus-button.js +36 -0
  37. package/build/navigation/edit/manage-menus-button.js.map +1 -0
  38. package/build/navigation/edit/navigation-menu-selector.js +12 -5
  39. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  40. package/build/navigation/edit/responsive-wrapper.js +2 -6
  41. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  42. package/build/navigation/edit/unsaved-inner-blocks.js +5 -19
  43. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  44. package/build/navigation-link/edit.js +10 -1
  45. package/build/navigation-link/edit.js.map +1 -1
  46. package/build/post-author/edit.js +35 -20
  47. package/build/post-author/edit.js.map +1 -1
  48. package/build/post-content/index.js +3 -0
  49. package/build/post-content/index.js.map +1 -1
  50. package/build/site-logo/edit.js +1 -1
  51. package/build/site-logo/edit.js.map +1 -1
  52. package/build/template-part/variations.js +5 -0
  53. package/build/template-part/variations.js.map +1 -1
  54. package/build-module/button/deprecated.js +16 -2
  55. package/build-module/button/deprecated.js.map +1 -1
  56. package/build-module/button/edit.js +15 -9
  57. package/build-module/button/edit.js.map +1 -1
  58. package/build-module/button/index.js +4 -1
  59. package/build-module/button/index.js.map +1 -1
  60. package/build-module/button/save.js +2 -0
  61. package/build-module/button/save.js.map +1 -1
  62. package/build-module/columns/transforms.js +5 -0
  63. package/build-module/columns/transforms.js.map +1 -1
  64. package/build-module/cover/edit/index.js +3 -1
  65. package/build-module/cover/edit/index.js.map +1 -1
  66. package/build-module/gallery/v1/edit.js +5 -3
  67. package/build-module/gallery/v1/edit.js.map +1 -1
  68. package/build-module/group/edit.js +94 -45
  69. package/build-module/group/edit.js.map +1 -1
  70. package/build-module/group/index.js +3 -0
  71. package/build-module/group/index.js.map +1 -1
  72. package/build-module/group/placeholder.js +154 -0
  73. package/build-module/group/placeholder.js.map +1 -0
  74. package/build-module/group/variations.js +3 -3
  75. package/build-module/group/variations.js.map +1 -1
  76. package/build-module/latest-comments/edit.js +2 -1
  77. package/build-module/latest-comments/edit.js.map +1 -1
  78. package/build-module/latest-comments/index.js +5 -1
  79. package/build-module/latest-comments/index.js.map +1 -1
  80. package/build-module/latest-posts/deprecated.js +13 -0
  81. package/build-module/latest-posts/deprecated.js.map +1 -1
  82. package/build-module/latest-posts/index.js +13 -0
  83. package/build-module/latest-posts/index.js.map +1 -1
  84. package/build-module/list-item/edit.js +2 -1
  85. package/build-module/list-item/edit.js.map +1 -1
  86. package/build-module/navigation/edit/index.js +84 -94
  87. package/build-module/navigation/edit/index.js.map +1 -1
  88. package/build-module/navigation/edit/manage-menus-button.js +26 -0
  89. package/build-module/navigation/edit/manage-menus-button.js.map +1 -0
  90. package/build-module/navigation/edit/navigation-menu-selector.js +13 -6
  91. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  92. package/build-module/navigation/edit/responsive-wrapper.js +2 -6
  93. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  94. package/build-module/navigation/edit/unsaved-inner-blocks.js +7 -20
  95. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  96. package/build-module/navigation-link/edit.js +10 -1
  97. package/build-module/navigation-link/edit.js.map +1 -1
  98. package/build-module/post-author/edit.js +35 -21
  99. package/build-module/post-author/edit.js.map +1 -1
  100. package/build-module/post-content/index.js +3 -0
  101. package/build-module/post-content/index.js.map +1 -1
  102. package/build-module/site-logo/edit.js +1 -1
  103. package/build-module/site-logo/edit.js.map +1 -1
  104. package/build-module/template-part/variations.js +5 -0
  105. package/build-module/template-part/variations.js.map +1 -1
  106. package/build-style/editor-rtl.css +76 -1
  107. package/build-style/editor.css +76 -1
  108. package/build-style/group/editor-rtl.css +44 -0
  109. package/build-style/group/editor.css +44 -0
  110. package/build-style/latest-comments/style-rtl.css +1 -0
  111. package/build-style/latest-comments/style.css +1 -0
  112. package/build-style/latest-posts/style-rtl.css +3 -0
  113. package/build-style/latest-posts/style.css +3 -0
  114. package/build-style/navigation/editor-rtl.css +23 -0
  115. package/build-style/navigation/editor.css +23 -0
  116. package/build-style/navigation/style-rtl.css +10 -0
  117. package/build-style/navigation/style.css +10 -0
  118. package/build-style/navigation-link/editor-rtl.css +8 -1
  119. package/build-style/navigation-link/editor.css +8 -1
  120. package/build-style/query/editor-rtl.css +1 -1
  121. package/build-style/query/editor.css +1 -1
  122. package/build-style/query-pagination/style-rtl.css +1 -1
  123. package/build-style/query-pagination/style.css +1 -1
  124. package/build-style/style-rtl.css +20 -1
  125. package/build-style/style.css +20 -1
  126. package/build-style/table/editor-rtl.css +1 -0
  127. package/build-style/table/editor.css +1 -0
  128. package/build-style/table/style-rtl.css +5 -0
  129. package/build-style/table/style.css +5 -0
  130. package/build-style/table/theme-rtl.css +1 -3
  131. package/build-style/table/theme.css +1 -3
  132. package/build-style/theme-rtl.css +1 -3
  133. package/build-style/theme.css +1 -3
  134. package/package.json +28 -28
  135. package/src/avatar/index.php +1 -1
  136. package/src/block/test/edit.native.js +8 -8
  137. package/src/button/block.json +4 -1
  138. package/src/button/deprecated.js +18 -2
  139. package/src/button/edit.js +11 -9
  140. package/src/button/save.js +12 -2
  141. package/src/buttons/test/edit.native.js +19 -19
  142. package/src/columns/test/edit.native.js +32 -32
  143. package/src/columns/transforms.js +8 -0
  144. package/src/cover/edit/index.js +3 -1
  145. package/src/cover/test/edit.native.js +26 -26
  146. package/src/embed/test/index.native.js +43 -43
  147. package/src/gallery/test/index.native.js +11 -11
  148. package/src/gallery/v1/edit.js +19 -24
  149. package/src/group/block.json +3 -0
  150. package/src/group/edit.js +95 -44
  151. package/src/group/editor.scss +48 -0
  152. package/src/group/placeholder.js +187 -0
  153. package/src/group/test/edit.native.js +3 -3
  154. package/src/group/test/placeholder.js +78 -0
  155. package/src/group/variations.js +3 -3
  156. package/src/image/test/edit.native.js +17 -17
  157. package/src/latest-comments/block.json +5 -1
  158. package/src/latest-comments/edit.js +1 -0
  159. package/src/latest-comments/style.scss +3 -0
  160. package/src/latest-posts/block.json +13 -0
  161. package/src/latest-posts/style.scss +3 -0
  162. package/src/list/test/edit.native.js +36 -36
  163. package/src/list-item/edit.js +1 -0
  164. package/src/missing/test/edit-integration.native.js +5 -5
  165. package/src/navigation/edit/index.js +173 -146
  166. package/src/navigation/edit/manage-menus-button.js +21 -0
  167. package/src/navigation/edit/navigation-menu-selector.js +20 -5
  168. package/src/navigation/edit/responsive-wrapper.js +2 -10
  169. package/src/navigation/edit/unsaved-inner-blocks.js +5 -29
  170. package/src/navigation/editor.scss +25 -0
  171. package/src/navigation/style.scss +16 -0
  172. package/src/navigation-link/edit.js +8 -0
  173. package/src/navigation-link/editor.scss +8 -0
  174. package/src/post-author/edit.js +44 -20
  175. package/src/post-content/block.json +3 -0
  176. package/src/query/editor.scss +1 -1
  177. package/src/query-pagination/style.scss +1 -1
  178. package/src/read-more/index.php +9 -2
  179. package/src/shortcode/test/edit.native.js +5 -5
  180. package/src/site-logo/edit.js +1 -1
  181. package/src/social-link/test/index.native.js +10 -10
  182. package/src/social-links/test/edit.native.js +4 -4
  183. package/src/spacer/test/index.native.js +17 -17
  184. package/src/table/editor.scss +1 -0
  185. package/src/table/style.scss +7 -0
  186. package/src/table/theme.scss +1 -3
  187. package/src/template-part/index.php +5 -0
  188. package/src/template-part/variations.js +4 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 7.19.0 (2022-11-16)
6
+
5
7
  ## 7.18.0 (2022-11-02)
6
8
 
7
9
  ## 7.17.0 (2022-10-19)
@@ -54,6 +54,20 @@ const migrateBorderRadius = attributes => {
54
54
  };
55
55
  };
56
56
 
57
+ function migrateAlign(attributes) {
58
+ if (!attributes.align) {
59
+ return attributes;
60
+ }
61
+
62
+ const {
63
+ align,
64
+ ...otherAttributes
65
+ } = attributes;
66
+ return { ...otherAttributes,
67
+ className: (0, _classnames.default)(otherAttributes.className, `align${attributes.align}`)
68
+ };
69
+ }
70
+
57
71
  const migrateCustomColorsAndGradients = attributes => {
58
72
  if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customGradient) {
59
73
  return attributes;
@@ -801,8 +815,8 @@ const deprecated = [v11, v10, {
801
815
  type: 'string'
802
816
  }
803
817
  },
804
- isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient,
805
- migrate: (0, _compose.compose)(migrateBorderRadius, migrateCustomColorsAndGradients),
818
+ isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient || !!attributes.align,
819
+ migrate: (0, _compose.compose)(migrateBorderRadius, migrateCustomColorsAndGradients, migrateAlign),
806
820
 
807
821
  save(_ref9) {
808
822
  let {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/deprecated.js"],"names":["migrateBorderRadius","attributes","borderRadius","newAttributes","oldBorderRadius","style","border","radius","find","possibleBorderRadius","migrateCustomColorsAndGradients","customTextColor","customBackgroundColor","customGradient","color","text","background","gradient","restAttributes","oldColorsMigration","textColor","undefined","blockAttributes","url","type","source","selector","attribute","title","v11","linkTarget","rel","placeholder","backgroundColor","width","supports","anchor","align","alignWide","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","typography","fontSize","__experimentalFontFamily","reusable","spacing","padding","__experimentalBorder","__experimentalSelector","save","className","borderProps","colorProps","spacingProps","buttonClasses","buttonStyle","wrapperClasses","useBlockProps","v10","migrate","migrateFontFamily","isEligible","fontFamily","deprecated","textClass","backgroundClass","gradientClass","default","includes","newClassName","replace","trim","linkClass"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetGradientClass,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\n\nconst migrateBorderRadius = ( attributes ) => {\n\tconst { borderRadius, ...newAttributes } = attributes;\n\t// We have to check old property `borderRadius` and if\n\t// `styles.border.radius` is a `number`\n\tconst oldBorderRadius = [\n\t\tborderRadius,\n\t\tnewAttributes.style?.border?.radius,\n\t].find( ( possibleBorderRadius ) => {\n\t\treturn (\n\t\t\ttypeof possibleBorderRadius === 'number' &&\n\t\t\tpossibleBorderRadius !== 0\n\t\t);\n\t} );\n\tif ( ! oldBorderRadius ) {\n\t\treturn newAttributes;\n\t}\n\n\treturn {\n\t\t...newAttributes,\n\t\tstyle: {\n\t\t\t...newAttributes.style,\n\t\t\tborder: {\n\t\t\t\t...newAttributes.style?.border,\n\t\t\t\tradius: `${ oldBorderRadius }px`,\n\t\t\t},\n\t\t},\n\t};\n};\n\nconst migrateCustomColorsAndGradients = ( attributes ) => {\n\tif (\n\t\t! attributes.customTextColor &&\n\t\t! attributes.customBackgroundColor &&\n\t\t! attributes.customGradient\n\t) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\tif ( attributes.customGradient ) {\n\t\tstyle.color.gradient = attributes.customGradient;\n\t}\n\n\tconst {\n\t\tcustomTextColor,\n\t\tcustomBackgroundColor,\n\t\tcustomGradient,\n\t\t...restAttributes\n\t} = attributes;\n\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\nconst oldColorsMigration = ( attributes ) => {\n\tconst { color, textColor, ...restAttributes } = {\n\t\t...attributes,\n\t\tcustomTextColor:\n\t\t\tattributes.textColor && '#' === attributes.textColor[ 0 ]\n\t\t\t\t? attributes.textColor\n\t\t\t\t: undefined,\n\t\tcustomBackgroundColor:\n\t\t\tattributes.color && '#' === attributes.color[ 0 ]\n\t\t\t\t? attributes.color\n\t\t\t\t: undefined,\n\t};\n\treturn migrateCustomColorsAndGradients( restAttributes );\n};\n\nconst blockAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'href',\n\t},\n\ttitle: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'title',\n\t},\n\ttext: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'a',\n\t},\n};\n\nconst v11 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\t\tattributes;\n\n\t\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nconst v10 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\t\tattributes;\n\n\t\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateFontFamily,\n\tisEligible( { style } ) {\n\t\treturn style?.typography?.fontFamily;\n\t},\n};\n\nconst deprecated = [\n\tv11,\n\tv10,\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t\tgradients: true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tisEligible( { style } ) {\n\t\t\treturn typeof style?.border?.radius === 'number';\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tfontSize,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\tstyle,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t} = attributes;\n\n\t\t\tif ( ! text ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst borderRadius = style?.border?.radius;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\tfontSize || style?.typography?.fontSize,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url, width } =\n\t\t\t\tattributes;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url, width } =\n\t\t\t\tattributes;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: { gradients: true },\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url } =\n\t\t\t\tattributes;\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t} );\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t\tmigrate: migrateBorderRadius,\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomGradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible: ( attributes ) =>\n\t\t\t!! attributes.customTextColor ||\n\t\t\t!! attributes.customBackgroundColor ||\n\t\t\t!! attributes.customGradient,\n\t\tmigrate: compose(\n\t\t\tmigrateBorderRadius,\n\t\t\tmigrateCustomColorsAndGradients\n\t\t),\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tborderRadius,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tcustomGradient,\n\t\t\t\tlinkTarget,\n\t\t\t\tgradient,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass =\n\t\t\t\t! customGradient &&\n\t\t\t\tgetColorClassName( 'background-color', backgroundColor );\n\t\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background':\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tcustomBackgroundColor ||\n\t\t\t\t\tcustomGradient ||\n\t\t\t\t\tgradient,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t\t\tbackgroundColor:\n\t\t\t\t\tbackgroundClass || customGradient || gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible( attribute ) {\n\t\t\treturn (\n\t\t\t\tattribute.className &&\n\t\t\t\tattribute.className.includes( 'is-style-squared' )\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\tlet newClassName = attributes.className;\n\t\t\tif ( newClassName ) {\n\t\t\t\tnewClassName = newClassName\n\t\t\t\t\t.replace( /is-style-squared[\\s]?/, '' )\n\t\t\t\t\t.trim();\n\t\t\t}\n\t\t\treturn migrateBorderRadius(\n\t\t\t\tmigrateCustomColorsAndGradients( {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName: newClassName ? newClassName : undefined,\n\t\t\t\t\tborderRadius: 0,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\tbackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: color,\n\t\t\t\tcolor: textColor,\n\t\t\t};\n\n\t\t\tconst linkClass = 'wp-block-button__link';\n\n\t\t\treturn (\n\t\t\t\t<div className={ `align${ align }` }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ `align${ align }` }\n\t\t\t\t\tstyle={ { backgroundColor: color } }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ { color: textColor } }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/deprecated.js"],"names":["migrateBorderRadius","attributes","borderRadius","newAttributes","oldBorderRadius","style","border","radius","find","possibleBorderRadius","migrateAlign","align","otherAttributes","className","migrateCustomColorsAndGradients","customTextColor","customBackgroundColor","customGradient","color","text","background","gradient","restAttributes","oldColorsMigration","textColor","undefined","blockAttributes","url","type","source","selector","attribute","title","v11","linkTarget","rel","placeholder","backgroundColor","width","supports","anchor","alignWide","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","typography","fontSize","__experimentalFontFamily","reusable","spacing","padding","__experimentalBorder","__experimentalSelector","save","borderProps","colorProps","spacingProps","buttonClasses","buttonStyle","wrapperClasses","useBlockProps","v10","migrate","migrateFontFamily","isEligible","fontFamily","deprecated","textClass","backgroundClass","gradientClass","default","includes","newClassName","replace","trim","linkClass"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AASA;;AAKA;;AAtBA;AACA;AACA;;AAGA;AACA;AACA;;AAYA;AACA;AACA;AAGA,MAAMA,mBAAmB,GAAKC,UAAF,IAAkB;AAAA;;AAC7C,QAAM;AAAEC,IAAAA,YAAF;AAAgB,OAAGC;AAAnB,MAAqCF,UAA3C,CAD6C,CAE7C;AACA;;AACA,QAAMG,eAAe,GAAG,CACvBF,YADuB,0BAEvBC,aAAa,CAACE,KAFS,kFAEvB,qBAAqBC,MAFE,0DAEvB,sBAA6BC,MAFN,EAGtBC,IAHsB,CAGdC,oBAAF,IAA4B;AACnC,WACC,OAAOA,oBAAP,KAAgC,QAAhC,IACAA,oBAAoB,KAAK,CAF1B;AAIA,GARuB,CAAxB;;AASA,MAAK,CAAEL,eAAP,EAAyB;AACxB,WAAOD,aAAP;AACA;;AAED,SAAO,EACN,GAAGA,aADG;AAENE,IAAAA,KAAK,EAAE,EACN,GAAGF,aAAa,CAACE,KADX;AAENC,MAAAA,MAAM,EAAE,EACP,6BAAGH,aAAa,CAACE,KAAjB,0DAAG,sBAAqBC,MAAxB,CADO;AAEPC,QAAAA,MAAM,EAAG,GAAGH,eAAiB;AAFtB;AAFF;AAFD,GAAP;AAUA,CA3BD;;AA6BA,SAASM,YAAT,CAAuBT,UAAvB,EAAoC;AACnC,MAAK,CAAEA,UAAU,CAACU,KAAlB,EAA0B;AACzB,WAAOV,UAAP;AACA;;AACD,QAAM;AAAEU,IAAAA,KAAF;AAAS,OAAGC;AAAZ,MAAgCX,UAAtC;AACA,SAAO,EACN,GAAGW,eADG;AAENC,IAAAA,SAAS,EAAE,yBACVD,eAAe,CAACC,SADN,EAET,QAAQZ,UAAU,CAACU,KAAO,EAFjB;AAFL,GAAP;AAOA;;AAED,MAAMG,+BAA+B,GAAKb,UAAF,IAAkB;AACzD,MACC,CAAEA,UAAU,CAACc,eAAb,IACA,CAAEd,UAAU,CAACe,qBADb,IAEA,CAAEf,UAAU,CAACgB,cAHd,EAIE;AACD,WAAOhB,UAAP;AACA;;AACD,QAAMI,KAAK,GAAG;AAAEa,IAAAA,KAAK,EAAE;AAAT,GAAd;;AACA,MAAKjB,UAAU,CAACc,eAAhB,EAAkC;AACjCV,IAAAA,KAAK,CAACa,KAAN,CAAYC,IAAZ,GAAmBlB,UAAU,CAACc,eAA9B;AACA;;AACD,MAAKd,UAAU,CAACe,qBAAhB,EAAwC;AACvCX,IAAAA,KAAK,CAACa,KAAN,CAAYE,UAAZ,GAAyBnB,UAAU,CAACe,qBAApC;AACA;;AACD,MAAKf,UAAU,CAACgB,cAAhB,EAAiC;AAChCZ,IAAAA,KAAK,CAACa,KAAN,CAAYG,QAAZ,GAAuBpB,UAAU,CAACgB,cAAlC;AACA;;AAED,QAAM;AACLF,IAAAA,eADK;AAELC,IAAAA,qBAFK;AAGLC,IAAAA,cAHK;AAIL,OAAGK;AAJE,MAKFrB,UALJ;AAOA,SAAO,EACN,GAAGqB,cADG;AAENjB,IAAAA;AAFM,GAAP;AAIA,CA9BD;;AAgCA,MAAMkB,kBAAkB,GAAKtB,UAAF,IAAkB;AAC5C,QAAM;AAAEiB,IAAAA,KAAF;AAASM,IAAAA,SAAT;AAAoB,OAAGF;AAAvB,MAA0C,EAC/C,GAAGrB,UAD4C;AAE/Cc,IAAAA,eAAe,EACdd,UAAU,CAACuB,SAAX,IAAwB,QAAQvB,UAAU,CAACuB,SAAX,CAAsB,CAAtB,CAAhC,GACGvB,UAAU,CAACuB,SADd,GAEGC,SAL2C;AAM/CT,IAAAA,qBAAqB,EACpBf,UAAU,CAACiB,KAAX,IAAoB,QAAQjB,UAAU,CAACiB,KAAX,CAAkB,CAAlB,CAA5B,GACGjB,UAAU,CAACiB,KADd,GAEGO;AAT2C,GAAhD;AAWA,SAAOX,+BAA+B,CAAEQ,cAAF,CAAtC;AACA,CAbD;;AAeA,MAAMI,eAAe,GAAG;AACvBC,EAAAA,GAAG,EAAE;AACJC,IAAAA,IAAI,EAAE,QADF;AAEJC,IAAAA,MAAM,EAAE,WAFJ;AAGJC,IAAAA,QAAQ,EAAE,GAHN;AAIJC,IAAAA,SAAS,EAAE;AAJP,GADkB;AAOvBC,EAAAA,KAAK,EAAE;AACNJ,IAAAA,IAAI,EAAE,QADA;AAENC,IAAAA,MAAM,EAAE,WAFF;AAGNC,IAAAA,QAAQ,EAAE,GAHJ;AAINC,IAAAA,SAAS,EAAE;AAJL,GAPgB;AAavBZ,EAAAA,IAAI,EAAE;AACLS,IAAAA,IAAI,EAAE,QADD;AAELC,IAAAA,MAAM,EAAE,MAFH;AAGLC,IAAAA,QAAQ,EAAE;AAHL;AAbiB,CAAxB;AAoBA,MAAMG,GAAG,GAAG;AACXhC,EAAAA,UAAU,EAAE;AACX0B,IAAAA,GAAG,EAAE;AACJC,MAAAA,IAAI,EAAE,QADF;AAEJC,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,GAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KADM;AAOXC,IAAAA,KAAK,EAAE;AACNJ,MAAAA,IAAI,EAAE,QADA;AAENC,MAAAA,MAAM,EAAE,WAFF;AAGNC,MAAAA,QAAQ,EAAE,GAHJ;AAINC,MAAAA,SAAS,EAAE;AAJL,KAPI;AAaXZ,IAAAA,IAAI,EAAE;AACLS,MAAAA,IAAI,EAAE,QADD;AAELC,MAAAA,MAAM,EAAE,MAFH;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KAbK;AAkBXI,IAAAA,UAAU,EAAE;AACXN,MAAAA,IAAI,EAAE,QADK;AAEXC,MAAAA,MAAM,EAAE,WAFG;AAGXC,MAAAA,QAAQ,EAAE,GAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA,KAlBD;AAwBXI,IAAAA,GAAG,EAAE;AACJP,MAAAA,IAAI,EAAE,QADF;AAEJC,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,GAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KAxBM;AA8BXK,IAAAA,WAAW,EAAE;AACZR,MAAAA,IAAI,EAAE;AADM,KA9BF;AAiCXS,IAAAA,eAAe,EAAE;AAChBT,MAAAA,IAAI,EAAE;AADU,KAjCN;AAoCXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KApCA;AAuCXP,IAAAA,QAAQ,EAAE;AACTO,MAAAA,IAAI,EAAE;AADG,KAvCC;AA0CXU,IAAAA,KAAK,EAAE;AACNV,MAAAA,IAAI,EAAE;AADA;AA1CI,GADD;AA+CXW,EAAAA,QAAQ,EAAE;AACTC,IAAAA,MAAM,EAAE,IADC;AAET7B,IAAAA,KAAK,EAAE,IAFE;AAGT8B,IAAAA,SAAS,EAAE,KAHF;AAITvB,IAAAA,KAAK,EAAE;AACNwB,MAAAA,+BAA+B,EAAE,IAD3B;AAENC,MAAAA,SAAS,EAAE,IAFL;AAGNC,MAAAA,6BAA6B,EAAE;AAC9BxB,QAAAA,UAAU,EAAE,IADkB;AAE9BD,QAAAA,IAAI,EAAE;AAFwB;AAHzB,KAJE;AAYT0B,IAAAA,UAAU,EAAE;AACXC,MAAAA,QAAQ,EAAE,IADC;AAEXC,MAAAA,wBAAwB,EAAE,IAFf;AAGXH,MAAAA,6BAA6B,EAAE;AAC9BE,QAAAA,QAAQ,EAAE;AADoB;AAHpB,KAZH;AAmBTE,IAAAA,QAAQ,EAAE,KAnBD;AAoBTC,IAAAA,OAAO,EAAE;AACRP,MAAAA,+BAA+B,EAAE,IADzB;AAERQ,MAAAA,OAAO,EAAE,CAAE,YAAF,EAAgB,UAAhB,CAFD;AAGRN,MAAAA,6BAA6B,EAAE;AAC9BM,QAAAA,OAAO,EAAE;AADqB;AAHvB,KApBA;AA2BTC,IAAAA,oBAAoB,EAAE;AACrB5C,MAAAA,MAAM,EAAE,IADa;AAErBmC,MAAAA,+BAA+B,EAAE,IAFZ;AAGrBE,MAAAA,6BAA6B,EAAE;AAC9BrC,QAAAA,MAAM,EAAE;AADsB;AAHV,KA3Bb;AAkCT6C,IAAAA,sBAAsB,EAAE;AAlCf,GA/CC;;AAmFXC,EAAAA,IAAI,OAA8B;AAAA;;AAAA,QAA5B;AAAEpD,MAAAA,UAAF;AAAcY,MAAAA;AAAd,KAA4B;AACjC,UAAM;AAAEiC,MAAAA,QAAF;AAAYZ,MAAAA,UAAZ;AAAwBC,MAAAA,GAAxB;AAA6B9B,MAAAA,KAA7B;AAAoCc,MAAAA,IAApC;AAA0Ca,MAAAA,KAA1C;AAAiDL,MAAAA,GAAjD;AAAsDW,MAAAA;AAAtD,QACLrC,UADD;;AAGA,QAAK,CAAEkB,IAAP,EAAc;AACb,aAAO,IAAP;AACA;;AAED,UAAMmC,WAAW,GAAG,0DAA2BrD,UAA3B,CAApB;AACA,UAAMsD,UAAU,GAAG,yDAA0BtD,UAA1B,CAAnB;AACA,UAAMuD,YAAY,GAAG,2DAA4BvD,UAA5B,CAArB;AACA,UAAMwD,aAAa,GAAG,yBACrB,uBADqB,EAErBF,UAAU,CAAC1C,SAFU,EAGrByC,WAAW,CAACzC,SAHS,EAIrB;AACC;AACA;AACA,0BAAoB,CAAAR,KAAK,SAAL,IAAAA,KAAK,WAAL,6BAAAA,KAAK,CAAEC,MAAP,gEAAeC,MAAf,MAA0B;AAH/C,KAJqB,CAAtB;AAUA,UAAMmD,WAAW,GAAG,EACnB,GAAGJ,WAAW,CAACjD,KADI;AAEnB,SAAGkD,UAAU,CAAClD,KAFK;AAGnB,SAAGmD,YAAY,CAACnD;AAHG,KAApB,CArBiC,CA2BjC;AACA;AACA;;AAEA,UAAMsD,cAAc,GAAG,yBAAY9C,SAAZ,EAAuB;AAC7C,OAAG,2CAA2CyB,KAAO,EAArD,GAA0DA,KADb;AAE7C,OAAG,sBAAH,GAA4BQ,QAAQ,KAAIzC,KAAJ,aAAIA,KAAJ,4CAAIA,KAAK,CAAEwC,UAAX,sDAAI,kBAAmBC,QAAvB;AAFS,KAAvB,CAAvB;AAKA,WACC,mCAAUc,2BAAcP,IAAd,CAAoB;AAAExC,MAAAA,SAAS,EAAE8C;AAAb,KAApB,CAAV,EACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGF,aAFb;AAGC,MAAA,IAAI,EAAG9B,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG0B,WALT;AAMC,MAAA,KAAK,EAAGvC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA;;AArIU,CAAZ;AAwIA,MAAM0B,GAAG,GAAG;AACX5D,EAAAA,UAAU,EAAE;AACX0B,IAAAA,GAAG,EAAE;AACJC,MAAAA,IAAI,EAAE,QADF;AAEJC,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,GAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KADM;AAOXC,IAAAA,KAAK,EAAE;AACNJ,MAAAA,IAAI,EAAE,QADA;AAENC,MAAAA,MAAM,EAAE,WAFF;AAGNC,MAAAA,QAAQ,EAAE,GAHJ;AAINC,MAAAA,SAAS,EAAE;AAJL,KAPI;AAaXZ,IAAAA,IAAI,EAAE;AACLS,MAAAA,IAAI,EAAE,QADD;AAELC,MAAAA,MAAM,EAAE,MAFH;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KAbK;AAkBXI,IAAAA,UAAU,EAAE;AACXN,MAAAA,IAAI,EAAE,QADK;AAEXC,MAAAA,MAAM,EAAE,WAFG;AAGXC,MAAAA,QAAQ,EAAE,GAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA,KAlBD;AAwBXI,IAAAA,GAAG,EAAE;AACJP,MAAAA,IAAI,EAAE,QADF;AAEJC,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,GAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KAxBM;AA8BXK,IAAAA,WAAW,EAAE;AACZR,MAAAA,IAAI,EAAE;AADM,KA9BF;AAiCXS,IAAAA,eAAe,EAAE;AAChBT,MAAAA,IAAI,EAAE;AADU,KAjCN;AAoCXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KApCA;AAuCXP,IAAAA,QAAQ,EAAE;AACTO,MAAAA,IAAI,EAAE;AADG,KAvCC;AA0CXU,IAAAA,KAAK,EAAE;AACNV,MAAAA,IAAI,EAAE;AADA;AA1CI,GADD;AA+CXW,EAAAA,QAAQ,EAAE;AACTC,IAAAA,MAAM,EAAE,IADC;AAET7B,IAAAA,KAAK,EAAE,IAFE;AAGT8B,IAAAA,SAAS,EAAE,KAHF;AAITvB,IAAAA,KAAK,EAAE;AACNwB,MAAAA,+BAA+B,EAAE,IAD3B;AAENC,MAAAA,SAAS,EAAE;AAFL,KAJE;AAQTE,IAAAA,UAAU,EAAE;AACXC,MAAAA,QAAQ,EAAE,IADC;AAEXC,MAAAA,wBAAwB,EAAE;AAFf,KARH;AAYTC,IAAAA,QAAQ,EAAE,KAZD;AAaTC,IAAAA,OAAO,EAAE;AACRP,MAAAA,+BAA+B,EAAE,IADzB;AAERQ,MAAAA,OAAO,EAAE,CAAE,YAAF,EAAgB,UAAhB,CAFD;AAGRN,MAAAA,6BAA6B,EAAE;AAC9BM,QAAAA,OAAO,EAAE;AADqB;AAHvB,KAbA;AAoBTC,IAAAA,oBAAoB,EAAE;AACrB5C,MAAAA,MAAM,EAAE,IADa;AAErBmC,MAAAA,+BAA+B,EAAE;AAFZ,KApBb;AAwBTU,IAAAA,sBAAsB,EAAE;AAxBf,GA/CC;;AAyEXC,EAAAA,IAAI,QAA8B;AAAA;;AAAA,QAA5B;AAAEpD,MAAAA,UAAF;AAAcY,MAAAA;AAAd,KAA4B;AACjC,UAAM;AAAEiC,MAAAA,QAAF;AAAYZ,MAAAA,UAAZ;AAAwBC,MAAAA,GAAxB;AAA6B9B,MAAAA,KAA7B;AAAoCc,MAAAA,IAApC;AAA0Ca,MAAAA,KAA1C;AAAiDL,MAAAA,GAAjD;AAAsDW,MAAAA;AAAtD,QACLrC,UADD;;AAGA,QAAK,CAAEkB,IAAP,EAAc;AACb,aAAO,IAAP;AACA;;AAED,UAAMmC,WAAW,GAAG,0DAA2BrD,UAA3B,CAApB;AACA,UAAMsD,UAAU,GAAG,yDAA0BtD,UAA1B,CAAnB;AACA,UAAMuD,YAAY,GAAG,2DAA4BvD,UAA5B,CAArB;AACA,UAAMwD,aAAa,GAAG,yBACrB,uBADqB,EAErBF,UAAU,CAAC1C,SAFU,EAGrByC,WAAW,CAACzC,SAHS,EAIrB;AACC;AACA;AACA,0BAAoB,CAAAR,KAAK,SAAL,IAAAA,KAAK,WAAL,8BAAAA,KAAK,CAAEC,MAAP,kEAAeC,MAAf,MAA0B;AAH/C,KAJqB,CAAtB;AAUA,UAAMmD,WAAW,GAAG,EACnB,GAAGJ,WAAW,CAACjD,KADI;AAEnB,SAAGkD,UAAU,CAAClD,KAFK;AAGnB,SAAGmD,YAAY,CAACnD;AAHG,KAApB,CArBiC,CA2BjC;AACA;AACA;;AAEA,UAAMsD,cAAc,GAAG,yBAAY9C,SAAZ,EAAuB;AAC7C,OAAG,2CAA2CyB,KAAO,EAArD,GAA0DA,KADb;AAE7C,OAAG,sBAAH,GAA4BQ,QAAQ,KAAIzC,KAAJ,aAAIA,KAAJ,6CAAIA,KAAK,CAAEwC,UAAX,uDAAI,mBAAmBC,QAAvB;AAFS,KAAvB,CAAvB;AAKA,WACC,mCAAUc,2BAAcP,IAAd,CAAoB;AAAExC,MAAAA,SAAS,EAAE8C;AAAb,KAApB,CAAV,EACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGF,aAFb;AAGC,MAAA,IAAI,EAAG9B,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG0B,WALT;AAMC,MAAA,KAAK,EAAGvC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA,GA3HU;;AA4HX2B,EAAAA,OAAO,EAAEC,0BA5HE;;AA6HXC,EAAAA,UAAU,QAAc;AAAA;;AAAA,QAAZ;AAAE3D,MAAAA;AAAF,KAAY;AACvB,WAAOA,KAAP,aAAOA,KAAP,6CAAOA,KAAK,CAAEwC,UAAd,uDAAO,mBAAmBoB,UAA1B;AACA;;AA/HU,CAAZ;AAkIA,MAAMC,UAAU,GAAG,CAClBjC,GADkB,EAElB4B,GAFkB,EAGlB;AACCtB,EAAAA,QAAQ,EAAE;AACTC,IAAAA,MAAM,EAAE,IADC;AAET7B,IAAAA,KAAK,EAAE,IAFE;AAGT8B,IAAAA,SAAS,EAAE,KAHF;AAITvB,IAAAA,KAAK,EAAE;AACNwB,MAAAA,+BAA+B,EAAE,IAD3B;AAENC,MAAAA,SAAS,EAAE;AAFL,KAJE;AAQTE,IAAAA,UAAU,EAAE;AACXC,MAAAA,QAAQ,EAAE,IADC;AAEXC,MAAAA,wBAAwB,EAAE;AAFf,KARH;AAYTC,IAAAA,QAAQ,EAAE,KAZD;AAaTI,IAAAA,sBAAsB,EAAE;AAbf,GADX;AAgBCnD,EAAAA,UAAU,EAAE,EACX,GAAGyB,eADQ;AAEXQ,IAAAA,UAAU,EAAE;AACXN,MAAAA,IAAI,EAAE,QADK;AAEXC,MAAAA,MAAM,EAAE,WAFG;AAGXC,MAAAA,QAAQ,EAAE,GAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA,KAFD;AAQXI,IAAAA,GAAG,EAAE;AACJP,MAAAA,IAAI,EAAE,QADF;AAEJC,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,GAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KARM;AAcXK,IAAAA,WAAW,EAAE;AACZR,MAAAA,IAAI,EAAE;AADM,KAdF;AAiBXS,IAAAA,eAAe,EAAE;AAChBT,MAAAA,IAAI,EAAE;AADU,KAjBN;AAoBXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KApBA;AAuBXP,IAAAA,QAAQ,EAAE;AACTO,MAAAA,IAAI,EAAE;AADG,KAvBC;AA0BXU,IAAAA,KAAK,EAAE;AACNV,MAAAA,IAAI,EAAE;AADA;AA1BI,GAhBb;;AA8CCoC,EAAAA,UAAU,QAAc;AAAA;;AAAA,QAAZ;AAAE3D,MAAAA;AAAF,KAAY;AACvB,WAAO,QAAOA,KAAP,aAAOA,KAAP,yCAAOA,KAAK,CAAEC,MAAd,mDAAO,eAAeC,MAAtB,MAAiC,QAAxC;AACA,GAhDF;;AAiDC8C,EAAAA,IAAI,QAA8B;AAAA;;AAAA,QAA5B;AAAEpD,MAAAA,UAAF;AAAcY,MAAAA;AAAd,KAA4B;AACjC,UAAM;AACLiC,MAAAA,QADK;AAELZ,MAAAA,UAFK;AAGLC,MAAAA,GAHK;AAIL9B,MAAAA,KAJK;AAKLc,MAAAA,IALK;AAMLa,MAAAA,KANK;AAOLL,MAAAA,GAPK;AAQLW,MAAAA;AARK,QASFrC,UATJ;;AAWA,QAAK,CAAEkB,IAAP,EAAc;AACb,aAAO,IAAP;AACA;;AAED,UAAMjB,YAAY,GAAGG,KAAH,aAAGA,KAAH,yCAAGA,KAAK,CAAEC,MAAV,mDAAG,eAAeC,MAApC;AACA,UAAMgD,UAAU,GAAG,yDAA0BtD,UAA1B,CAAnB;AACA,UAAMwD,aAAa,GAAG,yBACrB,uBADqB,EAErBF,UAAU,CAAC1C,SAFU,EAGrB;AACC,0BAAoB,CAAAR,KAAK,SAAL,IAAAA,KAAK,WAAL,8BAAAA,KAAK,CAAEC,MAAP,kEAAeC,MAAf,MAA0B;AAD/C,KAHqB,CAAtB;AAOA,UAAMmD,WAAW,GAAG;AACnBxD,MAAAA,YAAY,EAAEA,YAAY,GAAGA,YAAH,GAAkBuB,SADzB;AAEnB,SAAG8B,UAAU,CAAClD;AAFK,KAApB,CAzBiC,CA8BjC;AACA;AACA;;AAEA,UAAMsD,cAAc,GAAG,yBAAY9C,SAAZ,EAAuB;AAC7C,OAAG,2CAA2CyB,KAAO,EAArD,GAA0DA,KADb;AAE7C,OAAG,sBAAH,GACCQ,QAAQ,KAAIzC,KAAJ,aAAIA,KAAJ,6CAAIA,KAAK,CAAEwC,UAAX,uDAAI,mBAAmBC,QAAvB;AAHoC,KAAvB,CAAvB;AAMA,WACC,mCAAUc,2BAAcP,IAAd,CAAoB;AAAExC,MAAAA,SAAS,EAAE8C;AAAb,KAApB,CAAV,EACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGF,aAFb;AAGC,MAAA,IAAI,EAAG9B,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG0B,WALT;AAMC,MAAA,KAAK,EAAGvC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA,GAvGF;;AAwGC2B,EAAAA,OAAO,EAAE,sBAASC,0BAAT,EAA4B/D,mBAA5B;AAxGV,CAHkB,EA6GlB;AACCuC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,MAAM,EAAE,IADC;AAET7B,IAAAA,KAAK,EAAE,IAFE;AAGT8B,IAAAA,SAAS,EAAE,KAHF;AAITvB,IAAAA,KAAK,EAAE;AACNwB,MAAAA,+BAA+B,EAAE;AAD3B,KAJE;AAOTM,IAAAA,QAAQ,EAAE,KAPD;AAQTI,IAAAA,sBAAsB,EAAE;AARf,GADX;AAWCnD,EAAAA,UAAU,EAAE,EACX,GAAGyB,eADQ;AAEXQ,IAAAA,UAAU,EAAE;AACXN,MAAAA,IAAI,EAAE,QADK;AAEXC,MAAAA,MAAM,EAAE,WAFG;AAGXC,MAAAA,QAAQ,EAAE,GAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA,KAFD;AAQXI,IAAAA,GAAG,EAAE;AACJP,MAAAA,IAAI,EAAE,QADF;AAEJC,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,GAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KARM;AAcXK,IAAAA,WAAW,EAAE;AACZR,MAAAA,IAAI,EAAE;AADM,KAdF;AAiBX1B,IAAAA,YAAY,EAAE;AACb0B,MAAAA,IAAI,EAAE;AADO,KAjBH;AAoBXS,IAAAA,eAAe,EAAE;AAChBT,MAAAA,IAAI,EAAE;AADU,KApBN;AAuBXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KAvBA;AA0BXP,IAAAA,QAAQ,EAAE;AACTO,MAAAA,IAAI,EAAE;AADG,KA1BC;AA6BXvB,IAAAA,KAAK,EAAE;AACNuB,MAAAA,IAAI,EAAE;AADA,KA7BI;AAgCXU,IAAAA,KAAK,EAAE;AACNV,MAAAA,IAAI,EAAE;AADA;AAhCI,GAXb;;AA+CCyB,EAAAA,IAAI,QAA8B;AAAA,QAA5B;AAAEpD,MAAAA,UAAF;AAAcY,MAAAA;AAAd,KAA4B;AACjC,UAAM;AAAEX,MAAAA,YAAF;AAAgBgC,MAAAA,UAAhB;AAA4BC,MAAAA,GAA5B;AAAiChB,MAAAA,IAAjC;AAAuCa,MAAAA,KAAvC;AAA8CL,MAAAA,GAA9C;AAAmDW,MAAAA;AAAnD,QACLrC,UADD;AAEA,UAAMsD,UAAU,GAAG,yDAA0BtD,UAA1B,CAAnB;AACA,UAAMwD,aAAa,GAAG,yBACrB,uBADqB,EAErBF,UAAU,CAAC1C,SAFU,EAGrB;AACC,0BAAoBX,YAAY,KAAK;AADtC,KAHqB,CAAtB;AAOA,UAAMwD,WAAW,GAAG;AACnBxD,MAAAA,YAAY,EAAEA,YAAY,GAAGA,YAAY,GAAG,IAAlB,GAAyBuB,SADhC;AAEnB,SAAG8B,UAAU,CAAClD;AAFK,KAApB,CAXiC,CAgBjC;AACA;AACA;;AAEA,UAAMsD,cAAc,GAAG,yBAAY9C,SAAZ,EAAuB;AAC7C,OAAG,2CAA2CyB,KAAO,EAArD,GAA0DA;AADb,KAAvB,CAAvB;AAIA,WACC,mCAAUsB,2BAAcP,IAAd,CAAoB;AAAExC,MAAAA,SAAS,EAAE8C;AAAb,KAApB,CAAV,EACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGF,aAFb;AAGC,MAAA,IAAI,EAAG9B,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG0B,WALT;AAMC,MAAA,KAAK,EAAGvC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA,GArFF;;AAsFC2B,EAAAA,OAAO,EAAE,sBAASC,0BAAT,EAA4B/D,mBAA5B;AAtFV,CA7GkB,EAqMlB;AACCuC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,MAAM,EAAE,IADC;AAET7B,IAAAA,KAAK,EAAE,IAFE;AAGT8B,IAAAA,SAAS,EAAE,KAHF;AAITvB,IAAAA,KAAK,EAAE;AACNwB,MAAAA,+BAA+B,EAAE;AAD3B,KAJE;AAOTM,IAAAA,QAAQ,EAAE,KAPD;AAQTI,IAAAA,sBAAsB,EAAE;AARf,GADX;AAWCnD,EAAAA,UAAU,EAAE,EACX,GAAGyB,eADQ;AAEXQ,IAAAA,UAAU,EAAE;AACXN,MAAAA,IAAI,EAAE,QADK;AAEXC,MAAAA,MAAM,EAAE,WAFG;AAGXC,MAAAA,QAAQ,EAAE,GAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA,KAFD;AAQXI,IAAAA,GAAG,EAAE;AACJP,MAAAA,IAAI,EAAE,QADF;AAEJC,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,GAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KARM;AAcXK,IAAAA,WAAW,EAAE;AACZR,MAAAA,IAAI,EAAE;AADM,KAdF;AAiBX1B,IAAAA,YAAY,EAAE;AACb0B,MAAAA,IAAI,EAAE;AADO,KAjBH;AAoBXS,IAAAA,eAAe,EAAE;AAChBT,MAAAA,IAAI,EAAE;AADU,KApBN;AAuBXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KAvBA;AA0BXP,IAAAA,QAAQ,EAAE;AACTO,MAAAA,IAAI,EAAE;AADG,KA1BC;AA6BXvB,IAAAA,KAAK,EAAE;AACNuB,MAAAA,IAAI,EAAE;AADA,KA7BI;AAgCXU,IAAAA,KAAK,EAAE;AACNV,MAAAA,IAAI,EAAE;AADA;AAhCI,GAXb;;AA+CCyB,EAAAA,IAAI,QAA8B;AAAA,QAA5B;AAAEpD,MAAAA,UAAF;AAAcY,MAAAA;AAAd,KAA4B;AACjC,UAAM;AAAEX,MAAAA,YAAF;AAAgBgC,MAAAA,UAAhB;AAA4BC,MAAAA,GAA5B;AAAiChB,MAAAA,IAAjC;AAAuCa,MAAAA,KAAvC;AAA8CL,MAAAA,GAA9C;AAAmDW,MAAAA;AAAnD,QACLrC,UADD;AAEA,UAAMsD,UAAU,GAAG,yDAA0BtD,UAA1B,CAAnB;AACA,UAAMwD,aAAa,GAAG,yBACrB,uBADqB,EAErBF,UAAU,CAAC1C,SAFU,EAGrB;AACC,0BAAoBX,YAAY,KAAK;AADtC,KAHqB,CAAtB;AAOA,UAAMwD,WAAW,GAAG;AACnBxD,MAAAA,YAAY,EAAEA,YAAY,GAAGA,YAAY,GAAG,IAAlB,GAAyBuB,SADhC;AAEnB,SAAG8B,UAAU,CAAClD;AAFK,KAApB,CAXiC,CAgBjC;AACA;AACA;;AAEA,UAAMsD,cAAc,GAAG,yBAAY9C,SAAZ,EAAuB;AAC7C,OAAG,2CAA2CyB,KAAO,EAArD,GAA0DA;AADb,KAAvB,CAAvB;AAIA,WACC,mCAAUsB,2BAAcP,IAAd,CAAoB;AAAExC,MAAAA,SAAS,EAAE8C;AAAb,KAApB,CAAV,EACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGF,aAFb;AAGC,MAAA,IAAI,EAAG9B,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG0B,WALT;AAMC,MAAA,KAAK,EAAGvC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA,GArFF;;AAsFC2B,EAAAA,OAAO,EAAE,sBAASC,0BAAT,EAA4B/D,mBAA5B;AAtFV,CArMkB,EA6RlB;AACCuC,EAAAA,QAAQ,EAAE;AACT5B,IAAAA,KAAK,EAAE,IADE;AAET8B,IAAAA,SAAS,EAAE,KAFF;AAGTvB,IAAAA,KAAK,EAAE;AAAEyB,MAAAA,SAAS,EAAE;AAAb;AAHE,GADX;AAMC1C,EAAAA,UAAU,EAAE,EACX,GAAGyB,eADQ;AAEXQ,IAAAA,UAAU,EAAE;AACXN,MAAAA,IAAI,EAAE,QADK;AAEXC,MAAAA,MAAM,EAAE,WAFG;AAGXC,MAAAA,QAAQ,EAAE,GAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA,KAFD;AAQXI,IAAAA,GAAG,EAAE;AACJP,MAAAA,IAAI,EAAE,QADF;AAEJC,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,GAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KARM;AAcXK,IAAAA,WAAW,EAAE;AACZR,MAAAA,IAAI,EAAE;AADM,KAdF;AAiBX1B,IAAAA,YAAY,EAAE;AACb0B,MAAAA,IAAI,EAAE;AADO,KAjBH;AAoBXS,IAAAA,eAAe,EAAE;AAChBT,MAAAA,IAAI,EAAE;AADU,KApBN;AAuBXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KAvBA;AA0BXP,IAAAA,QAAQ,EAAE;AACTO,MAAAA,IAAI,EAAE;AADG,KA1BC;AA6BXvB,IAAAA,KAAK,EAAE;AACNuB,MAAAA,IAAI,EAAE;AADA;AA7BI,GANb;;AAuCCyB,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAEpD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAEC,MAAAA,YAAF;AAAgBgC,MAAAA,UAAhB;AAA4BC,MAAAA,GAA5B;AAAiChB,MAAAA,IAAjC;AAAuCa,MAAAA,KAAvC;AAA8CL,MAAAA;AAA9C,QACL1B,UADD;AAEA,UAAMwD,aAAa,GAAG,yBAAY,uBAAZ,EAAqC;AAC1D,0BAAoBvD,YAAY,KAAK;AADqB,KAArC,CAAtB;AAGA,UAAMwD,WAAW,GAAG;AACnBxD,MAAAA,YAAY,EAAEA,YAAY,GAAGA,YAAY,GAAG,IAAlB,GAAyBuB;AADhC,KAApB;AAIA,WACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGgC,aAFb;AAGC,MAAA,IAAI,EAAG9B,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG0B,WALT;AAMC,MAAA,KAAK,EAAGvC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD;AAYA,GA7DF;;AA8DC2B,EAAAA,OAAO,EAAE9D;AA9DV,CA7RkB,EA6VlB;AACCuC,EAAAA,QAAQ,EAAE;AACT5B,IAAAA,KAAK,EAAE,IADE;AAET8B,IAAAA,SAAS,EAAE;AAFF,GADX;AAKCxC,EAAAA,UAAU,EAAE,EACX,GAAGyB,eADQ;AAEXQ,IAAAA,UAAU,EAAE;AACXN,MAAAA,IAAI,EAAE,QADK;AAEXC,MAAAA,MAAM,EAAE,WAFG;AAGXC,MAAAA,QAAQ,EAAE,GAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA,KAFD;AAQXI,IAAAA,GAAG,EAAE;AACJP,MAAAA,IAAI,EAAE,QADF;AAEJC,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,GAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KARM;AAcXK,IAAAA,WAAW,EAAE;AACZR,MAAAA,IAAI,EAAE;AADM,KAdF;AAiBX1B,IAAAA,YAAY,EAAE;AACb0B,MAAAA,IAAI,EAAE;AADO,KAjBH;AAoBXS,IAAAA,eAAe,EAAE;AAChBT,MAAAA,IAAI,EAAE;AADU,KApBN;AAuBXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KAvBA;AA0BXZ,IAAAA,qBAAqB,EAAE;AACtBY,MAAAA,IAAI,EAAE;AADgB,KA1BZ;AA6BXb,IAAAA,eAAe,EAAE;AAChBa,MAAAA,IAAI,EAAE;AADU,KA7BN;AAgCXX,IAAAA,cAAc,EAAE;AACfW,MAAAA,IAAI,EAAE;AADS,KAhCL;AAmCXP,IAAAA,QAAQ,EAAE;AACTO,MAAAA,IAAI,EAAE;AADG;AAnCC,GALb;AA4CCoC,EAAAA,UAAU,EAAI/D,UAAF,IACX,CAAC,CAAEA,UAAU,CAACc,eAAd,IACA,CAAC,CAAEd,UAAU,CAACe,qBADd,IAEA,CAAC,CAAEf,UAAU,CAACgB,cAFd,IAGA,CAAC,CAAEhB,UAAU,CAACU,KAhDhB;AAiDCmD,EAAAA,OAAO,EAAE,sBACR9D,mBADQ,EAERc,+BAFQ,EAGRJ,YAHQ,CAjDV;;AAsDC2C,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAEpD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLoC,MAAAA,eADK;AAELnC,MAAAA,YAFK;AAGLc,MAAAA,qBAHK;AAILD,MAAAA,eAJK;AAKLE,MAAAA,cALK;AAMLiB,MAAAA,UANK;AAOLb,MAAAA,QAPK;AAQLc,MAAAA,GARK;AASLhB,MAAAA,IATK;AAULK,MAAAA,SAVK;AAWLQ,MAAAA,KAXK;AAYLL,MAAAA;AAZK,QAaF1B,UAbJ;AAeA,UAAMkE,SAAS,GAAG,oCAAmB,OAAnB,EAA4B3C,SAA5B,CAAlB;AACA,UAAM4C,eAAe,GACpB,CAAEnD,cAAF,IACA,oCAAmB,kBAAnB,EAAuCoB,eAAvC,CAFD;AAGA,UAAMgC,aAAa,GAAG,iDAAgChD,QAAhC,CAAtB;AAEA,UAAMoC,aAAa,GAAG,yBAAY,uBAAZ,EAAqC;AAC1D,wBAAkBjC,SAAS,IAAIT,eAD2B;AAE1D,OAAEoD,SAAF,GAAeA,SAF2C;AAG1D,wBACC9B,eAAe,IACfrB,qBADA,IAEAC,cAFA,IAGAI,QAPyD;AAQ1D,OAAE+C,eAAF,GAAqBA,eARqC;AAS1D,0BAAoBlE,YAAY,KAAK,CATqB;AAU1D,OAAEmE,aAAF,GAAmBA;AAVuC,KAArC,CAAtB;AAaA,UAAMX,WAAW,GAAG;AACnBtC,MAAAA,UAAU,EAAEH,cAAc,GAAGA,cAAH,GAAoBQ,SAD3B;AAEnBY,MAAAA,eAAe,EACd+B,eAAe,IAAInD,cAAnB,IAAqCI,QAArC,GACGI,SADH,GAEGT,qBALe;AAMnBE,MAAAA,KAAK,EAAEiD,SAAS,GAAG1C,SAAH,GAAeV,eANZ;AAOnBb,MAAAA,YAAY,EAAEA,YAAY,GAAGA,YAAY,GAAG,IAAlB,GAAyBuB;AAPhC,KAApB,CAnCsB,CA6CtB;AACA;AACA;;AAEA,WACC,yCACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGgC,aAFb;AAGC,MAAA,IAAI,EAAG9B,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG0B,WALT;AAMC,MAAA,KAAK,EAAGvC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA;;AArHF,CA7VkB,EAodlB;AACClC,EAAAA,UAAU,EAAE,EACX,GAAGyB,eADQ;AAEXf,IAAAA,KAAK,EAAE;AACNiB,MAAAA,IAAI,EAAE,QADA;AAEN0C,MAAAA,OAAO,EAAE;AAFH,KAFI;AAMXjC,IAAAA,eAAe,EAAE;AAChBT,MAAAA,IAAI,EAAE;AADU,KANN;AASXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KATA;AAYXZ,IAAAA,qBAAqB,EAAE;AACtBY,MAAAA,IAAI,EAAE;AADgB,KAZZ;AAeXb,IAAAA,eAAe,EAAE;AAChBa,MAAAA,IAAI,EAAE;AADU,KAfN;AAkBXM,IAAAA,UAAU,EAAE;AACXN,MAAAA,IAAI,EAAE,QADK;AAEXC,MAAAA,MAAM,EAAE,WAFG;AAGXC,MAAAA,QAAQ,EAAE,GAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA,KAlBD;AAwBXI,IAAAA,GAAG,EAAE;AACJP,MAAAA,IAAI,EAAE,QADF;AAEJC,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,GAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KAxBM;AA8BXK,IAAAA,WAAW,EAAE;AACZR,MAAAA,IAAI,EAAE;AADM;AA9BF,GADb;;AAmCCoC,EAAAA,UAAU,CAAEjC,SAAF,EAAc;AACvB,WACCA,SAAS,CAAClB,SAAV,IACAkB,SAAS,CAAClB,SAAV,CAAoB0D,QAApB,CAA8B,kBAA9B,CAFD;AAIA,GAxCF;;AAyCCT,EAAAA,OAAO,CAAE7D,UAAF,EAAe;AACrB,QAAIuE,YAAY,GAAGvE,UAAU,CAACY,SAA9B;;AACA,QAAK2D,YAAL,EAAoB;AACnBA,MAAAA,YAAY,GAAGA,YAAY,CACzBC,OADa,CACJ,uBADI,EACqB,EADrB,EAEbC,IAFa,EAAf;AAGA;;AACD,WAAO1E,mBAAmB,CACzBc,+BAA+B,CAAE,EAChC,GAAGb,UAD6B;AAEhCY,MAAAA,SAAS,EAAE2D,YAAY,GAAGA,YAAH,GAAkB/C,SAFT;AAGhCvB,MAAAA,YAAY,EAAE;AAHkB,KAAF,CADN,CAA1B;AAOA,GAvDF;;AAwDCmD,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAEpD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLoC,MAAAA,eADK;AAELrB,MAAAA,qBAFK;AAGLD,MAAAA,eAHK;AAILmB,MAAAA,UAJK;AAKLC,MAAAA,GALK;AAMLhB,MAAAA,IANK;AAOLK,MAAAA,SAPK;AAQLQ,MAAAA,KARK;AASLL,MAAAA;AATK,QAUF1B,UAVJ;AAYA,UAAMkE,SAAS,GAAG,oCAAmB,OAAnB,EAA4B3C,SAA5B,CAAlB;AACA,UAAM4C,eAAe,GAAG,oCACvB,kBADuB,EAEvB/B,eAFuB,CAAxB;AAKA,UAAMoB,aAAa,GAAG,yBAAY,uBAAZ,EAAqC;AAC1D,wBAAkBjC,SAAS,IAAIT,eAD2B;AAE1D,OAAEoD,SAAF,GAAeA,SAF2C;AAG1D,wBAAkB9B,eAAe,IAAIrB,qBAHqB;AAI1D,OAAEoD,eAAF,GAAqBA;AAJqC,KAArC,CAAtB;AAOA,UAAMV,WAAW,GAAG;AACnBrB,MAAAA,eAAe,EAAE+B,eAAe,GAC7B3C,SAD6B,GAE7BT,qBAHgB;AAInBE,MAAAA,KAAK,EAAEiD,SAAS,GAAG1C,SAAH,GAAeV;AAJZ,KAApB;AAOA,WACC,yCACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAG0C,aAFb;AAGC,MAAA,IAAI,EAAG9B,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG0B,WALT;AAMC,MAAA,KAAK,EAAGvC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA;;AAvGF,CApdkB,EA6jBlB;AACClC,EAAAA,UAAU,EAAE,EACX,GAAGyB,eADQ;AAEXf,IAAAA,KAAK,EAAE;AACNiB,MAAAA,IAAI,EAAE,QADA;AAEN0C,MAAAA,OAAO,EAAE;AAFH,KAFI;AAMXjC,IAAAA,eAAe,EAAE;AAChBT,MAAAA,IAAI,EAAE;AADU,KANN;AASXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KATA;AAYXZ,IAAAA,qBAAqB,EAAE;AACtBY,MAAAA,IAAI,EAAE;AADgB,KAZZ;AAeXb,IAAAA,eAAe,EAAE;AAChBa,MAAAA,IAAI,EAAE;AADU;AAfN,GADb;AAoBCkC,EAAAA,OAAO,EAAEvC,kBApBV;;AAqBC8B,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAEpD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACL0B,MAAAA,GADK;AAELR,MAAAA,IAFK;AAGLa,MAAAA,KAHK;AAILK,MAAAA,eAJK;AAKLb,MAAAA,SALK;AAMLR,MAAAA,qBANK;AAOLD,MAAAA;AAPK,QAQFd,UARJ;AAUA,UAAMkE,SAAS,GAAG,oCAAmB,OAAnB,EAA4B3C,SAA5B,CAAlB;AACA,UAAM4C,eAAe,GAAG,oCACvB,kBADuB,EAEvB/B,eAFuB,CAAxB;AAKA,UAAMoB,aAAa,GAAG,yBAAY,uBAAZ,EAAqC;AAC1D,wBAAkBjC,SAAS,IAAIT,eAD2B;AAE1D,OAAEoD,SAAF,GAAeA,SAF2C;AAG1D,wBAAkB9B,eAAe,IAAIrB,qBAHqB;AAI1D,OAAEoD,eAAF,GAAqBA;AAJqC,KAArC,CAAtB;AAOA,UAAMV,WAAW,GAAG;AACnBrB,MAAAA,eAAe,EAAE+B,eAAe,GAC7B3C,SAD6B,GAE7BT,qBAHgB;AAInBE,MAAAA,KAAK,EAAEiD,SAAS,GAAG1C,SAAH,GAAeV;AAJZ,KAApB;AAOA,WACC,yCACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAG0C,aAFb;AAGC,MAAA,IAAI,EAAG9B,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG0B,WALT;AAMC,MAAA,KAAK,EAAGvC;AANT,MADD,CADD;AAYA;;AAhEF,CA7jBkB,EA+nBlB;AACClB,EAAAA,UAAU,EAAE,EACX,GAAGyB,eADQ;AAEXR,IAAAA,KAAK,EAAE;AACNU,MAAAA,IAAI,EAAE;AADA,KAFI;AAKXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KALA;AAQXjB,IAAAA,KAAK,EAAE;AACNiB,MAAAA,IAAI,EAAE,QADA;AAEN0C,MAAAA,OAAO,EAAE;AAFH;AARI,GADb;;AAcCjB,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAEpD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAE0B,MAAAA,GAAF;AAAOR,MAAAA,IAAP;AAAaa,MAAAA,KAAb;AAAoBrB,MAAAA,KAApB;AAA2BO,MAAAA,KAA3B;AAAkCM,MAAAA;AAAlC,QAAgDvB,UAAtD;AAEA,UAAMyD,WAAW,GAAG;AACnBrB,MAAAA,eAAe,EAAEnB,KADE;AAEnBA,MAAAA,KAAK,EAAEM;AAFY,KAApB;AAKA,UAAMmD,SAAS,GAAG,uBAAlB;AAEA,WACC;AAAK,MAAA,SAAS,EAAI,QAAQhE,KAAO;AAAjC,OACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGgE,SAFb;AAGC,MAAA,IAAI,EAAGhD,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG0B,WALT;AAMC,MAAA,KAAK,EAAGvC;AANT,MADD,CADD;AAYA,GApCF;;AAqCC2C,EAAAA,OAAO,EAAEvC;AArCV,CA/nBkB,EAsqBlB;AACCtB,EAAAA,UAAU,EAAE,EACX,GAAGyB,eADQ;AAEXR,IAAAA,KAAK,EAAE;AACNU,MAAAA,IAAI,EAAE;AADA,KAFI;AAKXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KALA;AAQXjB,IAAAA,KAAK,EAAE;AACNiB,MAAAA,IAAI,EAAE,QADA;AAEN0C,MAAAA,OAAO,EAAE;AAFH;AARI,GADb;;AAcCjB,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAEpD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAE0B,MAAAA,GAAF;AAAOR,MAAAA,IAAP;AAAaa,MAAAA,KAAb;AAAoBrB,MAAAA,KAApB;AAA2BO,MAAAA,KAA3B;AAAkCM,MAAAA;AAAlC,QAAgDvB,UAAtD;AAEA,WACC;AACC,MAAA,SAAS,EAAI,QAAQU,KAAO,EAD7B;AAEC,MAAA,KAAK,EAAG;AAAE0B,QAAAA,eAAe,EAAEnB;AAAnB;AAFT,OAIC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,IAAI,EAAGS,GAFR;AAGC,MAAA,KAAK,EAAGK,KAHT;AAIC,MAAA,KAAK,EAAG;AAAEd,QAAAA,KAAK,EAAEM;AAAT,OAJT;AAKC,MAAA,KAAK,EAAGL;AALT,MAJD,CADD;AAcA,GA/BF;;AAgCC2C,EAAAA,OAAO,EAAEvC;AAhCV,CAtqBkB,CAAnB;eA0sBe2C,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetGradientClass,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\n\nconst migrateBorderRadius = ( attributes ) => {\n\tconst { borderRadius, ...newAttributes } = attributes;\n\t// We have to check old property `borderRadius` and if\n\t// `styles.border.radius` is a `number`\n\tconst oldBorderRadius = [\n\t\tborderRadius,\n\t\tnewAttributes.style?.border?.radius,\n\t].find( ( possibleBorderRadius ) => {\n\t\treturn (\n\t\t\ttypeof possibleBorderRadius === 'number' &&\n\t\t\tpossibleBorderRadius !== 0\n\t\t);\n\t} );\n\tif ( ! oldBorderRadius ) {\n\t\treturn newAttributes;\n\t}\n\n\treturn {\n\t\t...newAttributes,\n\t\tstyle: {\n\t\t\t...newAttributes.style,\n\t\t\tborder: {\n\t\t\t\t...newAttributes.style?.border,\n\t\t\t\tradius: `${ oldBorderRadius }px`,\n\t\t\t},\n\t\t},\n\t};\n};\n\nfunction migrateAlign( attributes ) {\n\tif ( ! attributes.align ) {\n\t\treturn attributes;\n\t}\n\tconst { align, ...otherAttributes } = attributes;\n\treturn {\n\t\t...otherAttributes,\n\t\tclassName: classnames(\n\t\t\totherAttributes.className,\n\t\t\t`align${ attributes.align }`\n\t\t),\n\t};\n}\n\nconst migrateCustomColorsAndGradients = ( attributes ) => {\n\tif (\n\t\t! attributes.customTextColor &&\n\t\t! attributes.customBackgroundColor &&\n\t\t! attributes.customGradient\n\t) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\tif ( attributes.customGradient ) {\n\t\tstyle.color.gradient = attributes.customGradient;\n\t}\n\n\tconst {\n\t\tcustomTextColor,\n\t\tcustomBackgroundColor,\n\t\tcustomGradient,\n\t\t...restAttributes\n\t} = attributes;\n\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\nconst oldColorsMigration = ( attributes ) => {\n\tconst { color, textColor, ...restAttributes } = {\n\t\t...attributes,\n\t\tcustomTextColor:\n\t\t\tattributes.textColor && '#' === attributes.textColor[ 0 ]\n\t\t\t\t? attributes.textColor\n\t\t\t\t: undefined,\n\t\tcustomBackgroundColor:\n\t\t\tattributes.color && '#' === attributes.color[ 0 ]\n\t\t\t\t? attributes.color\n\t\t\t\t: undefined,\n\t};\n\treturn migrateCustomColorsAndGradients( restAttributes );\n};\n\nconst blockAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'href',\n\t},\n\ttitle: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'title',\n\t},\n\ttext: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'a',\n\t},\n};\n\nconst v11 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\t\tattributes;\n\n\t\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nconst v10 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\t\tattributes;\n\n\t\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateFontFamily,\n\tisEligible( { style } ) {\n\t\treturn style?.typography?.fontFamily;\n\t},\n};\n\nconst deprecated = [\n\tv11,\n\tv10,\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t\tgradients: true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tisEligible( { style } ) {\n\t\t\treturn typeof style?.border?.radius === 'number';\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tfontSize,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\tstyle,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t} = attributes;\n\n\t\t\tif ( ! text ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst borderRadius = style?.border?.radius;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\tfontSize || style?.typography?.fontSize,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url, width } =\n\t\t\t\tattributes;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url, width } =\n\t\t\t\tattributes;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: { gradients: true },\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url } =\n\t\t\t\tattributes;\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t} );\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t\tmigrate: migrateBorderRadius,\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomGradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible: ( attributes ) =>\n\t\t\t!! attributes.customTextColor ||\n\t\t\t!! attributes.customBackgroundColor ||\n\t\t\t!! attributes.customGradient ||\n\t\t\t!! attributes.align,\n\t\tmigrate: compose(\n\t\t\tmigrateBorderRadius,\n\t\t\tmigrateCustomColorsAndGradients,\n\t\t\tmigrateAlign\n\t\t),\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tborderRadius,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tcustomGradient,\n\t\t\t\tlinkTarget,\n\t\t\t\tgradient,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass =\n\t\t\t\t! customGradient &&\n\t\t\t\tgetColorClassName( 'background-color', backgroundColor );\n\t\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background':\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tcustomBackgroundColor ||\n\t\t\t\t\tcustomGradient ||\n\t\t\t\t\tgradient,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t\t\tbackgroundColor:\n\t\t\t\t\tbackgroundClass || customGradient || gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible( attribute ) {\n\t\t\treturn (\n\t\t\t\tattribute.className &&\n\t\t\t\tattribute.className.includes( 'is-style-squared' )\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\tlet newClassName = attributes.className;\n\t\t\tif ( newClassName ) {\n\t\t\t\tnewClassName = newClassName\n\t\t\t\t\t.replace( /is-style-squared[\\s]?/, '' )\n\t\t\t\t\t.trim();\n\t\t\t}\n\t\t\treturn migrateBorderRadius(\n\t\t\t\tmigrateCustomColorsAndGradients( {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName: newClassName ? newClassName : undefined,\n\t\t\t\t\tborderRadius: 0,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\tbackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: color,\n\t\t\t\tcolor: textColor,\n\t\t\t};\n\n\t\t\tconst linkClass = 'wp-block-button__link';\n\n\t\t\treturn (\n\t\t\t\t<div className={ `align${ align }` }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ `align${ align }` }\n\t\t\t\t\tstyle={ { backgroundColor: color } }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ { color: textColor } }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -77,6 +77,7 @@ function ButtonEdit(props) {
77
77
  mergeBlocks
78
78
  } = props;
79
79
  const {
80
+ textAlign,
80
81
  linkTarget,
81
82
  placeholder,
82
83
  rel,
@@ -85,11 +86,6 @@ function ButtonEdit(props) {
85
86
  url,
86
87
  width
87
88
  } = attributes;
88
- const onSetLinkRel = (0, _element.useCallback)(value => {
89
- setAttributes({
90
- rel: value
91
- });
92
- }, [setAttributes]);
93
89
 
94
90
  function onToggleOpenInNewTab(value) {
95
91
  const newLinkTarget = value ? '_blank' : undefined;
@@ -173,6 +169,7 @@ function ButtonEdit(props) {
173
169
  onChange: value => setButtonText(value),
174
170
  withoutInteractiveFormatting: true,
175
171
  className: (0, _classnames.default)(className, 'wp-block-button__link', colorProps.className, borderProps.className, {
172
+ [`has-text-align-${textAlign}`]: textAlign,
176
173
  // For backwards compatibility add style that isn't
177
174
  // provided via block support.
178
175
  'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius) === 0
@@ -189,7 +186,14 @@ function ButtonEdit(props) {
189
186
  identifier: "text"
190
187
  })), (0, _element.createElement)(_blockEditor.BlockControls, {
191
188
  group: "block"
192
- }, !isURLSet && (0, _element.createElement)(_components.ToolbarButton, {
189
+ }, (0, _element.createElement)(_blockEditor.AlignmentControl, {
190
+ value: textAlign,
191
+ onChange: nextAlign => {
192
+ setAttributes({
193
+ textAlign: nextAlign
194
+ });
195
+ }
196
+ }), !isURLSet && (0, _element.createElement)(_components.ToolbarButton, {
193
197
  name: "link",
194
198
  icon: _icons.link,
195
199
  title: (0, _i18n.__)('Link'),
@@ -248,7 +252,9 @@ function ButtonEdit(props) {
248
252
  }, (0, _element.createElement)(_components.TextControl, {
249
253
  label: (0, _i18n.__)('Link rel'),
250
254
  value: rel || '',
251
- onChange: onSetLinkRel
255
+ onChange: newRel => setAttributes({
256
+ rel: newRel
257
+ })
252
258
  })));
253
259
  }
254
260
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","map","widthValue","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","linkTarget","placeholder","rel","style","text","url","onSetLinkRel","value","onToggleOpenInNewTab","newLinkTarget","updatedRel","setButtonText","newText","replace","onKeyDown","event","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","link","displayShortcut","linkOff","newURL","newOpensInNewTab"],"mappings":";;;;;;;;;AASA;;;;AANA;;AAKA;;AAEA;;AAQA;;AAWA;;AACA;;AACA;;AACA;;AAhCA;AACA;AACA;;AAGA;AACA;AACA;AA2BA,MAAMA,WAAW,GAAG,qBAApB;;AAEA,SAASC,UAAT,OAAwD;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAAmC;;AACvD,WAASC,YAAT,CAAuBC,QAAvB,EAAkC;AACjC;AACA,UAAMC,KAAK,GAAGJ,aAAa,KAAKG,QAAlB,GAA6BE,SAA7B,GAAyCF,QAAvD,CAFiC,CAIjC;;AACAF,IAAAA,aAAa,CAAE;AAAEG,MAAAA;AAAF,KAAF,CAAb;AACA;;AAED,SACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,gBAAJ;AAAnB,KACC,4BAAC,uBAAD;AAAa,kBAAa,cAAI,cAAJ;AAA1B,KACG,CAAE,EAAF,EAAM,EAAN,EAAU,EAAV,EAAc,GAAd,EAAoBE,GAApB,CAA2BC,UAAF,IAAkB;AAC5C,WACC,4BAAC,kBAAD;AACC,MAAA,GAAG,EAAGA,UADP;AAEC,MAAA,OAAO,MAFR;AAGC,MAAA,OAAO,EACNA,UAAU,KAAKP,aAAf,GACG,SADH,GAEGK,SANL;AAQC,MAAA,OAAO,EAAG,MAAMH,YAAY,CAAEK,UAAF;AAR7B,OAUGA,UAVH,MADD;AAcA,GAfC,CADH,CADD,CADD;AAsBA;;AAED,SAASC,UAAT,CAAqBC,KAArB,EAA6B;AAAA;;AAC5B,QAAM;AACLC,IAAAA,UADK;AAELT,IAAAA,aAFK;AAGLU,IAAAA,SAHK;AAILC,IAAAA,UAJK;AAKLC,IAAAA,SALK;AAMLC,IAAAA;AANK,MAOFL,KAPJ;AAQA,QAAM;AAAEM,IAAAA,UAAF;AAAcC,IAAAA,WAAd;AAA2BC,IAAAA,GAA3B;AAAgCC,IAAAA,KAAhC;AAAuCC,IAAAA,IAAvC;AAA6CC,IAAAA,GAA7C;AAAkDhB,IAAAA;AAAlD,MACLM,UADD;AAEA,QAAMW,YAAY,GAAG,0BAClBC,KAAF,IAAa;AACZrB,IAAAA,aAAa,CAAE;AAAEgB,MAAAA,GAAG,EAAEK;AAAP,KAAF,CAAb;AACA,GAHmB,EAIpB,CAAErB,aAAF,CAJoB,CAArB;;AAOA,WAASsB,oBAAT,CAA+BD,KAA/B,EAAuC;AACtC,UAAME,aAAa,GAAGF,KAAK,GAAG,QAAH,GAAcjB,SAAzC;AAEA,QAAIoB,UAAU,GAAGR,GAAjB;;AACA,QAAKO,aAAa,IAAI,CAAEP,GAAxB,EAA8B;AAC7BQ,MAAAA,UAAU,GAAG3B,WAAb;AACA,KAFD,MAEO,IAAK,CAAE0B,aAAF,IAAmBP,GAAG,KAAKnB,WAAhC,EAA8C;AACpD2B,MAAAA,UAAU,GAAGpB,SAAb;AACA;;AAEDJ,IAAAA,aAAa,CAAE;AACdc,MAAAA,UAAU,EAAES,aADE;AAEdP,MAAAA,GAAG,EAAEQ;AAFS,KAAF,CAAb;AAIA;;AAED,WAASC,aAAT,CAAwBC,OAAxB,EAAkC;AACjC;AACA1B,IAAAA,aAAa,CAAE;AAAEkB,MAAAA,IAAI,EAAEQ,OAAO,CAACC,OAAR,CAAiB,cAAjB,EAAiC,EAAjC;AAAR,KAAF,CAAb;AACA;;AAED,WAASC,SAAT,CAAoBC,KAApB,EAA4B;AAC3B,QAAKC,0BAAgBC,OAAhB,CAAyBF,KAAzB,EAAgC,GAAhC,CAAL,EAA6C;AAC5CG,MAAAA,YAAY,CAAEH,KAAF,CAAZ;AACA,KAFD,MAEO,IAAKC,0BAAgBG,YAAhB,CAA8BJ,KAA9B,EAAqC,GAArC,CAAL,EAAkD;AAAA;;AACxDK,MAAAA,MAAM;AACN,8BAAAC,WAAW,CAACC,OAAZ,8EAAqBC,KAArB;AACA;AACD,GA9C2B,CAgD5B;AACA;;;AACA,QAAM,CAAEC,aAAF,EAAiBC,gBAAjB,IAAsC,uBAAU,IAAV,CAA5C;AAEA,QAAMC,WAAW,GAAG,+CAAgB/B,UAAhB,CAApB;AACA,QAAMgC,UAAU,GAAG,8CAAehC,UAAf,CAAnB;AACA,QAAMiC,YAAY,GAAG,2DAAiBjC,UAAjB,CAArB;AACA,QAAMkC,GAAG,GAAG,sBAAZ;AACA,QAAMR,WAAW,GAAG,sBAApB;AACA,QAAMS,UAAU,GAAG,gCAAe;AACjCD,IAAAA,GAAG,EAAE,2BAAc,CAAEJ,gBAAF,EAAoBI,GAApB,CAAd,CAD4B;AAEjCf,IAAAA;AAFiC,GAAf,CAAnB;AAKA,QAAM,CAAEiB,YAAF,EAAgBC,eAAhB,IAAoC,uBAAU,KAAV,CAA1C;AACA,QAAMC,QAAQ,GAAG,CAAC,CAAE5B,GAApB;AACA,QAAM6B,aAAa,GAAGlC,UAAU,KAAK,QAArC;;AAEA,WAASkB,YAAT,CAAuBH,KAAvB,EAA+B;AAC9BA,IAAAA,KAAK,CAACoB,cAAN;AACAH,IAAAA,eAAe,CAAE,IAAF,CAAf;AACA;;AAED,WAASZ,MAAT,GAAkB;AACjBlC,IAAAA,aAAa,CAAE;AACdmB,MAAAA,GAAG,EAAEf,SADS;AAEdU,MAAAA,UAAU,EAAEV,SAFE;AAGdY,MAAAA,GAAG,EAAEZ;AAHS,KAAF,CAAb;AAKA0C,IAAAA,eAAe,CAAE,KAAF,CAAf;AACA;;AAED,0BAAW,MAAM;AAChB,QAAK,CAAEnC,UAAP,EAAoB;AACnBmC,MAAAA,eAAe,CAAE,KAAF,CAAf;AACA;AACD,GAJD,EAIG,CAAEnC,UAAF,CAJH;AAMA,SACC,qDACC,8DACMiC,UADN;AAEC,IAAA,SAAS,EAAG,yBAAYA,UAAU,CAAClC,SAAvB,EAAkC;AAC7C,OAAG,2CAA2CP,KAAO,EAArD,GACCA,KAF4C;AAG7C,OAAG,sBAAH,GAA4ByC,UAAU,CAAC3B,KAAX,CAAiBiC;AAHA,KAAlC;AAFb,MAQC,4BAAC,qBAAD;AACC,IAAA,GAAG,EAAGf,WADP;AAEC,kBAAa,cAAI,aAAJ,CAFd;AAGC,IAAA,WAAW,EAAGpB,WAAW,IAAI,cAAI,WAAJ,CAH9B;AAIC,IAAA,KAAK,EAAGG,IAJT;AAKC,IAAA,QAAQ,EAAKG,KAAF,IAAaI,aAAa,CAAEJ,KAAF,CALtC;AAMC,IAAA,4BAA4B,MAN7B;AAOC,IAAA,SAAS,EAAG,yBACXX,SADW,EAEX,uBAFW,EAGX+B,UAAU,CAAC/B,SAHA,EAIX8B,WAAW,CAAC9B,SAJD,EAKX;AACC;AACA;AACA,0BAAoB,CAAAO,KAAK,SAAL,IAAAA,KAAK,WAAL,6BAAAA,KAAK,CAAEkC,MAAP,gEAAeC,MAAf,MAA0B;AAH/C,KALW,EAUX,oDAAmC,QAAnC,CAVW,CAPb;AAmBC,IAAA,KAAK,EAAG,EACP,GAAGZ,WAAW,CAACvB,KADR;AAEP,SAAGwB,UAAU,CAACxB,KAFP;AAGP,SAAGyB,YAAY,CAACzB;AAHT,KAnBT;AAwBC,IAAA,OAAO,EAAKI,KAAF,IACT,yBAAa,aAAb,EAA4B,EAC3B,GAAGZ,UADwB;AAE3BS,MAAAA,IAAI,EAAEG;AAFqB,KAA5B,CAzBF;AA8BC,IAAA,SAAS,EAAGT,SA9Bb;AA+BC,IAAA,OAAO,EAAGC,WA/BX;AAgCC,IAAA,UAAU,EAAC;AAhCZ,IARD,CADD,EA4CC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACG,CAAEkC,QAAF,IACD,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAC,MADN;AAEC,IAAA,IAAI,EAAGM,WAFR;AAGC,IAAA,KAAK,EAAG,cAAI,MAAJ,CAHT;AAIC,IAAA,QAAQ,EAAGC,0BAAgBvB,OAAhB,CAAyB,GAAzB,CAJZ;AAKC,IAAA,OAAO,EAAGC;AALX,IAFF,EAUGe,QAAQ,IACT,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAC,MADN;AAEC,IAAA,IAAI,EAAGQ,cAFR;AAGC,IAAA,KAAK,EAAG,cAAI,QAAJ,CAHT;AAIC,IAAA,QAAQ,EAAGD,0BAAgBrB,YAAhB,CAA8B,GAA9B,CAJZ;AAKC,IAAA,OAAO,EAAGC,MALX;AAMC,IAAA,QAAQ,EAAG;AANZ,IAXF,CA5CD,EAiEGvB,UAAU,KAAMkC,YAAY,IAAIE,QAAtB,CAAV,IACD,4BAAC,mBAAD;AACC,IAAA,SAAS,EAAC,QADX;AAEC,IAAA,OAAO,EAAG,MAAM;AAAA;;AACfD,MAAAA,eAAe,CAAE,KAAF,CAAf;AACA,+BAAAX,WAAW,CAACC,OAAZ,gFAAqBC,KAArB;AACA,KALF;AAMC,IAAA,MAAM,EAAGC,aANV;AAOC,IAAA,YAAY,EAAGO,YAAY,GAAG,cAAH,GAAoB,KAPhD;AAQC,IAAA,kBAAkB,EAAG,8BARtB;AASC,IAAA,KAAK;AATN,KAWC,4BAAC,sCAAD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,KAAK,EAAG;AAAE1B,MAAAA,GAAF;AAAO6B,MAAAA;AAAP,KAFT;AAGC,IAAA,QAAQ,EAAG,SAGJ;AAAA,UAHM;AACZ7B,QAAAA,GAAG,EAAEqC,MAAM,GAAG,EADF;AAEZR,QAAAA,aAAa,EAAES;AAFH,OAGN;AACNzD,MAAAA,aAAa,CAAE;AAAEmB,QAAAA,GAAG,EAAEqC;AAAP,OAAF,CAAb;;AAEA,UAAKR,aAAa,KAAKS,gBAAvB,EAA0C;AACzCnC,QAAAA,oBAAoB,CAAEmC,gBAAF,CAApB;AACA;AACD,KAZF;AAaC,IAAA,QAAQ,EAAG,MAAM;AAAA;;AAChBvB,MAAAA,MAAM;AACN,+BAAAC,WAAW,CAACC,OAAZ,gFAAqBC,KAArB;AACA,KAhBF;AAiBC,IAAA,kBAAkB,EAAGQ;AAjBtB,IAXD,CAlEF,EAkGC,4BAAC,8BAAD,QACC,4BAAC,UAAD;AACC,IAAA,aAAa,EAAG1C,KADjB;AAEC,IAAA,aAAa,EAAGH;AAFjB,IADD,CAlGD,EAwGC,4BAAC,8BAAD;AAAmB,IAAA,mBAAmB,EAAC;AAAvC,KACC,4BAAC,uBAAD;AACC,IAAA,KAAK,EAAG,cAAI,UAAJ,CADT;AAEC,IAAA,KAAK,EAAGgB,GAAG,IAAI,EAFhB;AAGC,IAAA,QAAQ,EAAGI;AAHZ,IADD,CAxGD,CADD;AAkHA;;eAEcb,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst { linkTarget, placeholder, rel, style, text, url, width } =\n\t\tattributes;\n\tconst onSetLinkRel = useCallback(\n\t\t( value ) => {\n\t\t\tsetAttributes( { rel: value } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tfunction onToggleOpenInNewTab( value ) {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel = rel;\n\t\tif ( newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t} else if ( ! newLinkTarget && rel === NEW_TAB_REL ) {\n\t\t\tupdatedRel = undefined;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t} );\n\t}\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === '_blank';\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\tshift\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\tvalue={ { url, opensInNewTab } }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL = '',\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: newURL } );\n\n\t\t\t\t\t\t\tif ( opensInNewTab !== newOpensInNewTab ) {\n\t\t\t\t\t\t\t\tonToggleOpenInNewTab( newOpensInNewTab );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ onSetLinkRel }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","map","widthValue","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","textAlign","linkTarget","placeholder","rel","style","text","url","onToggleOpenInNewTab","value","newLinkTarget","updatedRel","setButtonText","newText","replace","onKeyDown","event","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","nextAlign","link","displayShortcut","linkOff","newURL","newOpensInNewTab","newRel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst { textAlign, linkTarget, placeholder, rel, style, text, url, width } =\n\t\tattributes;\n\n\tfunction onToggleOpenInNewTab( value ) {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel = rel;\n\t\tif ( newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t} else if ( ! newLinkTarget && rel === NEW_TAB_REL ) {\n\t\t\tupdatedRel = undefined;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t} );\n\t}\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === '_blank';\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ ! isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\tshift\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\tvalue={ { url, opensInNewTab } }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL = '',\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: newURL } );\n\n\t\t\t\t\t\t\tif ( opensInNewTab !== newOpensInNewTab ) {\n\t\t\t\t\t\t\t\tonToggleOpenInNewTab( newOpensInNewTab );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( newRel ) => setAttributes( { rel: newRel } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
@@ -37,6 +37,9 @@ const metadata = {
37
37
  keywords: ["link"],
38
38
  textdomain: "default",
39
39
  attributes: {
40
+ textAlign: {
41
+ type: "string"
42
+ },
40
43
  url: {
41
44
  type: "string",
42
45
  source: "attribute",
@@ -84,7 +87,7 @@ const metadata = {
84
87
  },
85
88
  supports: {
86
89
  anchor: true,
87
- align: true,
90
+ align: false,
88
91
  alignWide: false,
89
92
  color: {
90
93
  __experimentalSkipSerialization: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/index.js"],"names":["name","metadata","settings","icon","example","attributes","className","text","edit","save","deprecated","merge","a","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AAEA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,SAAS,EAAE,eADA;AAEXC,MAAAA,IAAI,EAAE,cAAI,gBAAJ;AAFK;AADJ,GAFc;AAQvBC,EAAAA,IAAI,EAAJA,aARuB;AASvBC,EAAAA,IAAI,EAAJA,aATuB;AAUvBC,EAAAA,UAAU,EAAVA,mBAVuB;AAWvBC,EAAAA,KAAK,EAAE,CAAEC,CAAF;AAAA,QAAK;AAAEL,MAAAA,IAAI,GAAG;AAAT,KAAL;AAAA,WAA0B,EAChC,GAAGK,CAD6B;AAEhCL,MAAAA,IAAI,EAAE,CAAEK,CAAC,CAACL,IAAF,IAAU,EAAZ,IAAmBA;AAFO,KAA1B;AAAA;AAXgB,CAAjB;;;AAiBA,MAAMM,IAAI,GAAG,MAAM,wBAAW;AAAEb,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to Action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/index.js"],"names":["name","metadata","settings","icon","example","attributes","className","text","edit","save","deprecated","merge","a","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AAEA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,SAAS,EAAE,eADA;AAEXC,MAAAA,IAAI,EAAE,cAAI,gBAAJ;AAFK;AADJ,GAFc;AAQvBC,EAAAA,IAAI,EAAJA,aARuB;AASvBC,EAAAA,IAAI,EAAJA,aATuB;AAUvBC,EAAAA,UAAU,EAAVA,mBAVuB;AAWvBC,EAAAA,KAAK,EAAE,CAAEC,CAAF;AAAA,QAAK;AAAEL,MAAAA,IAAI,GAAG;AAAT,KAAL;AAAA,WAA0B,EAChC,GAAGK,CAD6B;AAEhCL,MAAAA,IAAI,EAAE,CAAEK,CAAC,CAACL,IAAF,IAAU,EAAZ,IAAmBA;AAFO,KAA1B;AAAA;AAXgB,CAAjB;;;AAiBA,MAAMM,IAAI,GAAG,MAAM,wBAAW;AAAEb,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to Action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -28,6 +28,7 @@ function save(_ref) {
28
28
  className
29
29
  } = _ref;
30
30
  const {
31
+ textAlign,
31
32
  fontSize,
32
33
  linkTarget,
33
34
  rel,
@@ -46,6 +47,7 @@ function save(_ref) {
46
47
  const colorProps = (0, _blockEditor.__experimentalGetColorClassesAndStyles)(attributes);
47
48
  const spacingProps = (0, _blockEditor.__experimentalGetSpacingClassesAndStyles)(attributes);
48
49
  const buttonClasses = (0, _classnames.default)('wp-block-button__link', colorProps.className, borderProps.className, {
50
+ [`has-text-align-${textAlign}`]: textAlign,
49
51
  // For backwards compatibility add style that isn't provided via
50
52
  // block support.
51
53
  '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
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/save.js"],"names":["save","attributes","className","fontSize","linkTarget","rel","style","text","title","url","width","borderProps","colorProps","spacingProps","buttonClasses","border","radius","buttonStyle","wrapperClasses","typography","useBlockProps"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAUe,SAASA,IAAT,OAA2C;AAAA;;AAAA,MAA5B;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAA4B;AACzD,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,UAAZ;AAAwBC,IAAAA,GAAxB;AAA6BC,IAAAA,KAA7B;AAAoCC,IAAAA,IAApC;AAA0CC,IAAAA,KAA1C;AAAiDC,IAAAA,GAAjD;AAAsDC,IAAAA;AAAtD,MACLT,UADD;;AAGA,MAAK,CAAEM,IAAP,EAAc;AACb,WAAO,IAAP;AACA;;AAED,QAAMI,WAAW,GAAG,0DAA2BV,UAA3B,CAApB;AACA,QAAMW,UAAU,GAAG,yDAA0BX,UAA1B,CAAnB;AACA,QAAMY,YAAY,GAAG,2DAA4BZ,UAA5B,CAArB;AACA,QAAMa,aAAa,GAAG,yBACrB,uBADqB,EAErBF,UAAU,CAACV,SAFU,EAGrBS,WAAW,CAACT,SAHS,EAIrB;AACC;AACA;AACA,wBAAoB,CAAAI,KAAK,SAAL,IAAAA,KAAK,WAAL,6BAAAA,KAAK,CAAES,MAAP,gEAAeC,MAAf,MAA0B;AAH/C,GAJqB,EASrB,oDAAmC,QAAnC,CATqB,CAAtB;AAWA,QAAMC,WAAW,GAAG,EACnB,GAAGN,WAAW,CAACL,KADI;AAEnB,OAAGM,UAAU,CAACN,KAFK;AAGnB,OAAGO,YAAY,CAACP;AAHG,GAApB,CAtByD,CA4BzD;AACA;AACA;;AAEA,QAAMY,cAAc,GAAG,yBAAYhB,SAAZ,EAAuB;AAC7C,KAAG,2CAA2CQ,KAAO,EAArD,GAA0DA,KADb;AAE7C,KAAG,sBAAH,GAA4BP,QAAQ,KAAIG,KAAJ,aAAIA,KAAJ,4CAAIA,KAAK,CAAEa,UAAX,sDAAI,kBAAmBhB,QAAvB;AAFS,GAAvB,CAAvB;AAKA,SACC,mCAAUiB,2BAAcpB,IAAd,CAAoB;AAAEE,IAAAA,SAAS,EAAEgB;AAAb,GAApB,CAAV,EACC,4BAAC,qBAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,GADT;AAEC,IAAA,SAAS,EAAGJ,aAFb;AAGC,IAAA,IAAI,EAAGL,GAHR;AAIC,IAAA,KAAK,EAAGD,KAJT;AAKC,IAAA,KAAK,EAAGS,WALT;AAMC,IAAA,KAAK,EAAGV,IANT;AAOC,IAAA,MAAM,EAAGH,UAPV;AAQC,IAAA,GAAG,EAAGC;AARP,IADD,CADD;AAcA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes, className } ) {\n\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\tattributes;\n\n\tif ( ! text ) {\n\t\treturn null;\n\t}\n\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\tconst buttonClasses = classnames(\n\t\t'wp-block-button__link',\n\t\tcolorProps.className,\n\t\tborderProps.className,\n\t\t{\n\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t// block support.\n\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t},\n\t\t__experimentalGetElementClassName( 'button' )\n\t);\n\tconst buttonStyle = {\n\t\t...borderProps.style,\n\t\t...colorProps.style,\n\t\t...spacingProps.style,\n\t};\n\n\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t// if it had already been assigned, for the sake of backward-compatibility.\n\t// A title will no longer be assigned for new or updated button block links.\n\n\tconst wrapperClasses = classnames( className, {\n\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t} );\n\n\treturn (\n\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"a\"\n\t\t\t\tclassName={ buttonClasses }\n\t\t\t\thref={ url }\n\t\t\t\ttitle={ title }\n\t\t\t\tstyle={ buttonStyle }\n\t\t\t\tvalue={ text }\n\t\t\t\ttarget={ linkTarget }\n\t\t\t\trel={ rel }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/save.js"],"names":["save","attributes","className","textAlign","fontSize","linkTarget","rel","style","text","title","url","width","borderProps","colorProps","spacingProps","buttonClasses","border","radius","buttonStyle","wrapperClasses","typography","useBlockProps"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAUe,SAASA,IAAT,OAA2C;AAAA;;AAAA,MAA5B;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAA4B;AACzD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,UAHK;AAILC,IAAAA,GAJK;AAKLC,IAAAA,KALK;AAMLC,IAAAA,IANK;AAOLC,IAAAA,KAPK;AAQLC,IAAAA,GARK;AASLC,IAAAA;AATK,MAUFV,UAVJ;;AAYA,MAAK,CAAEO,IAAP,EAAc;AACb,WAAO,IAAP;AACA;;AAED,QAAMI,WAAW,GAAG,0DAA2BX,UAA3B,CAApB;AACA,QAAMY,UAAU,GAAG,yDAA0BZ,UAA1B,CAAnB;AACA,QAAMa,YAAY,GAAG,2DAA4Bb,UAA5B,CAArB;AACA,QAAMc,aAAa,GAAG,yBACrB,uBADqB,EAErBF,UAAU,CAACX,SAFU,EAGrBU,WAAW,CAACV,SAHS,EAIrB;AACC,KAAG,kBAAkBC,SAAW,EAAhC,GAAqCA,SADtC;AAEC;AACA;AACA,wBAAoB,CAAAI,KAAK,SAAL,IAAAA,KAAK,WAAL,6BAAAA,KAAK,CAAES,MAAP,gEAAeC,MAAf,MAA0B;AAJ/C,GAJqB,EAUrB,oDAAmC,QAAnC,CAVqB,CAAtB;AAYA,QAAMC,WAAW,GAAG,EACnB,GAAGN,WAAW,CAACL,KADI;AAEnB,OAAGM,UAAU,CAACN,KAFK;AAGnB,OAAGO,YAAY,CAACP;AAHG,GAApB,CAhCyD,CAsCzD;AACA;AACA;;AAEA,QAAMY,cAAc,GAAG,yBAAYjB,SAAZ,EAAuB;AAC7C,KAAG,2CAA2CS,KAAO,EAArD,GAA0DA,KADb;AAE7C,KAAG,sBAAH,GAA4BP,QAAQ,KAAIG,KAAJ,aAAIA,KAAJ,4CAAIA,KAAK,CAAEa,UAAX,sDAAI,kBAAmBhB,QAAvB;AAFS,GAAvB,CAAvB;AAKA,SACC,mCAAUiB,2BAAcrB,IAAd,CAAoB;AAAEE,IAAAA,SAAS,EAAEiB;AAAb,GAApB,CAAV,EACC,4BAAC,qBAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,GADT;AAEC,IAAA,SAAS,EAAGJ,aAFb;AAGC,IAAA,IAAI,EAAGL,GAHR;AAIC,IAAA,KAAK,EAAGD,KAJT;AAKC,IAAA,KAAK,EAAGS,WALT;AAMC,IAAA,KAAK,EAAGV,IANT;AAOC,IAAA,MAAM,EAAGH,UAPV;AAQC,IAAA,GAAG,EAAGC;AARP,IADD,CADD;AAcA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes, className } ) {\n\tconst {\n\t\ttextAlign,\n\t\tfontSize,\n\t\tlinkTarget,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\ttitle,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\n\tif ( ! text ) {\n\t\treturn null;\n\t}\n\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\tconst buttonClasses = classnames(\n\t\t'wp-block-button__link',\n\t\tcolorProps.className,\n\t\tborderProps.className,\n\t\t{\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t// block support.\n\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t},\n\t\t__experimentalGetElementClassName( 'button' )\n\t);\n\tconst buttonStyle = {\n\t\t...borderProps.style,\n\t\t...colorProps.style,\n\t\t...spacingProps.style,\n\t};\n\n\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t// if it had already been assigned, for the sake of backward-compatibility.\n\t// A title will no longer be assigned for new or updated button block links.\n\n\tconst wrapperClasses = classnames( className, {\n\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t} );\n\n\treturn (\n\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"a\"\n\t\t\t\tclassName={ buttonClasses }\n\t\t\t\thref={ url }\n\t\t\t\ttitle={ title }\n\t\t\t\tstyle={ buttonStyle }\n\t\t\t\tvalue={ text }\n\t\t\t\ttarget={ linkTarget }\n\t\t\t\trel={ rel }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
@@ -109,6 +109,11 @@ const transforms = {
109
109
  verticalAlignment
110
110
  }, (0, _blocks.createBlocksFromInnerBlocksTemplate)(innerBlocksTemplate));
111
111
  }
112
+ }],
113
+ to: [{
114
+ type: 'block',
115
+ blocks: ['*'],
116
+ transform: (attributes, innerBlocks) => innerBlocks.flatMap(innerBlock => innerBlock.innerBlocks)
112
117
  }]
113
118
  };
114
119
  var _default = transforms;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/transforms.js"],"names":["MAXIMUM_SELECTED_BLOCKS","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","columnWidth","length","toFixed","innerBlocksTemplate","map","name","attributes","innerBlocks","width","isMatch","selectedBlocksLength","priority","transform","align","backgroundColor","textColor","style","mediaAlt","alt","mediaId","id","mediaPosition","mediaSizeSlug","sizeSlug","mediaType","mediaUrl","url","mediaWidth","verticalAlignment","media","imageAttrs","linkAttrs","href","linkClass","linkDestination","linkTarget","rel","src","reverse"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n} from '@wordpress/blocks';\n\nconst MAXIMUM_SELECTED_BLOCKS = 6;\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert: ( blocks ) => {\n\t\t\t\tconst columnWidth = +( 100 / blocks.length ).toFixed( 2 );\n\t\t\t\tconst innerBlocksTemplate = blocks.map(\n\t\t\t\t\t( { name, attributes, innerBlocks } ) => [\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ columnWidth }%` },\n\t\t\t\t\t\t[ [ name, { ...attributes }, innerBlocks ] ],\n\t\t\t\t\t]\n\t\t\t\t);\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { length: selectedBlocksLength }, blocks ) => {\n\t\t\t\t// If a user is trying to transform a single Columns block, skip\n\t\t\t\t// the transformation. Enabling this functiontionality creates\n\t\t\t\t// nested Columns blocks resulting in an unintuitive user experience.\n\t\t\t\t// Multiple Columns blocks can still be transformed.\n\t\t\t\tif (\n\t\t\t\t\tblocks.length === 1 &&\n\t\t\t\t\tblocks[ 0 ].name === 'core/columns'\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tselectedBlocksLength &&\n\t\t\t\t\tselectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/media-text' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\talign,\n\t\t\t\t\tbackgroundColor,\n\t\t\t\t\ttextColor,\n\t\t\t\t\tstyle,\n\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\tmediaSizeSlug: sizeSlug,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\tmediaWidth,\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} = attributes;\n\t\t\t\tlet media;\n\t\t\t\tif ( mediaType === 'image' || ! mediaType ) {\n\t\t\t\t\tconst imageAttrs = { id, alt, url, sizeSlug };\n\t\t\t\t\tconst linkAttrs = {\n\t\t\t\t\t\thref: attributes.href,\n\t\t\t\t\t\tlinkClass: attributes.linkClass,\n\t\t\t\t\t\tlinkDestination: attributes.linkDestination,\n\t\t\t\t\t\tlinkTarget: attributes.linkTarget,\n\t\t\t\t\t\trel: attributes.rel,\n\t\t\t\t\t};\n\t\t\t\t\tmedia = [ 'core/image', { ...imageAttrs, ...linkAttrs } ];\n\t\t\t\t} else {\n\t\t\t\t\tmedia = [ 'core/video', { id, src: url } ];\n\t\t\t\t}\n\t\t\t\tconst innerBlocksTemplate = [\n\t\t\t\t\t[ 'core/column', { width: `${ mediaWidth }%` }, [ media ] ],\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ 100 - mediaWidth }%` },\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t],\n\t\t\t\t];\n\t\t\t\tif ( mediaPosition === 'right' ) {\n\t\t\t\t\tinnerBlocksTemplate.reverse();\n\t\t\t\t}\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/columns/transforms.js"],"names":["MAXIMUM_SELECTED_BLOCKS","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","columnWidth","length","toFixed","innerBlocksTemplate","map","name","attributes","innerBlocks","width","isMatch","selectedBlocksLength","priority","transform","align","backgroundColor","textColor","style","mediaAlt","alt","mediaId","id","mediaPosition","mediaSizeSlug","sizeSlug","mediaType","mediaUrl","url","mediaWidth","verticalAlignment","media","imageAttrs","linkAttrs","href","linkClass","linkDestination","linkTarget","rel","src","reverse","to","flatMap","innerBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n} from '@wordpress/blocks';\n\nconst MAXIMUM_SELECTED_BLOCKS = 6;\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert: ( blocks ) => {\n\t\t\t\tconst columnWidth = +( 100 / blocks.length ).toFixed( 2 );\n\t\t\t\tconst innerBlocksTemplate = blocks.map(\n\t\t\t\t\t( { name, attributes, innerBlocks } ) => [\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ columnWidth }%` },\n\t\t\t\t\t\t[ [ name, { ...attributes }, innerBlocks ] ],\n\t\t\t\t\t]\n\t\t\t\t);\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { length: selectedBlocksLength }, blocks ) => {\n\t\t\t\t// If a user is trying to transform a single Columns block, skip\n\t\t\t\t// the transformation. Enabling this functiontionality creates\n\t\t\t\t// nested Columns blocks resulting in an unintuitive user experience.\n\t\t\t\t// Multiple Columns blocks can still be transformed.\n\t\t\t\tif (\n\t\t\t\t\tblocks.length === 1 &&\n\t\t\t\t\tblocks[ 0 ].name === 'core/columns'\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tselectedBlocksLength &&\n\t\t\t\t\tselectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/media-text' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\talign,\n\t\t\t\t\tbackgroundColor,\n\t\t\t\t\ttextColor,\n\t\t\t\t\tstyle,\n\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\tmediaSizeSlug: sizeSlug,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\tmediaWidth,\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} = attributes;\n\t\t\t\tlet media;\n\t\t\t\tif ( mediaType === 'image' || ! mediaType ) {\n\t\t\t\t\tconst imageAttrs = { id, alt, url, sizeSlug };\n\t\t\t\t\tconst linkAttrs = {\n\t\t\t\t\t\thref: attributes.href,\n\t\t\t\t\t\tlinkClass: attributes.linkClass,\n\t\t\t\t\t\tlinkDestination: attributes.linkDestination,\n\t\t\t\t\t\tlinkTarget: attributes.linkTarget,\n\t\t\t\t\t\trel: attributes.rel,\n\t\t\t\t\t};\n\t\t\t\t\tmedia = [ 'core/image', { ...imageAttrs, ...linkAttrs } ];\n\t\t\t\t} else {\n\t\t\t\t\tmedia = [ 'core/video', { id, src: url } ];\n\t\t\t\t}\n\t\t\t\tconst innerBlocksTemplate = [\n\t\t\t\t\t[ 'core/column', { width: `${ mediaWidth }%` }, [ media ] ],\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ 100 - mediaWidth }%` },\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t],\n\t\t\t\t];\n\t\t\t\tif ( mediaPosition === 'right' ) {\n\t\t\t\t\tinnerBlocksTemplate.reverse();\n\t\t\t\t}\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ '*' ],\n\t\t\ttransform: ( attributes, innerBlocks ) =>\n\t\t\t\tinnerBlocks.flatMap( ( innerBlock ) => innerBlock.innerBlocks ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -177,7 +177,9 @@ function CoverEdit(_ref) {
177
177
  const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)({
178
178
  className: 'wp-block-cover__inner-container'
179
179
  }, {
180
- template: innerBlocksTemplate,
180
+ // Avoid template sync when the `templateLock` value is `all` or `contentOnly`.
181
+ // See: https://github.com/WordPress/gutenberg/pull/45632
182
+ template: !hasInnerBlocks ? innerBlocksTemplate : undefined,
181
183
  templateInsertUpdatesSelection: true,
182
184
  allowedBlocks,
183
185
  templateLock