@wordpress/block-library 7.18.0 → 8.0.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 (851) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/audio/edit.native.js +1 -3
  3. package/build/audio/edit.native.js.map +1 -1
  4. package/build/audio/index.js +2 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/avatar/edit.js +1 -0
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/avatar/user-control.js +1 -0
  9. package/build/avatar/user-control.js.map +1 -1
  10. package/build/block/edit.js +14 -2
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js +14 -6
  13. package/build/block/edit.native.js.map +1 -1
  14. package/build/block/index.js +1 -2
  15. package/build/block/index.js.map +1 -1
  16. package/build/button/deprecated.js +16 -2
  17. package/build/button/deprecated.js.map +1 -1
  18. package/build/button/edit.js +13 -7
  19. package/build/button/edit.js.map +1 -1
  20. package/build/button/edit.native.js.map +1 -1
  21. package/build/button/index.js +4 -1
  22. package/build/button/index.js.map +1 -1
  23. package/build/button/save.js +2 -0
  24. package/build/button/save.js.map +1 -1
  25. package/build/code/transforms.js +1 -1
  26. package/build/code/transforms.js.map +1 -1
  27. package/build/columns/edit.js +1 -0
  28. package/build/columns/edit.js.map +1 -1
  29. package/build/columns/edit.native.js +13 -30
  30. package/build/columns/edit.native.js.map +1 -1
  31. package/build/columns/transforms.js +5 -0
  32. package/build/columns/transforms.js.map +1 -1
  33. package/build/comment-author-avatar/edit.js +1 -0
  34. package/build/comment-author-avatar/edit.js.map +1 -1
  35. package/build/cover/edit/index.js +3 -1
  36. package/build/cover/edit/index.js.map +1 -1
  37. package/build/cover/edit/inspector-controls.js +2 -0
  38. package/build/cover/edit/inspector-controls.js.map +1 -1
  39. package/build/cover/edit.native.js +24 -16
  40. package/build/cover/edit.native.js.map +1 -1
  41. package/build/embed/embed-controls.native.js +1 -0
  42. package/build/embed/embed-controls.native.js.map +1 -1
  43. package/build/embed/embed-preview.native.js +1 -3
  44. package/build/embed/embed-preview.native.js.map +1 -1
  45. package/build/file/inspector.js +1 -0
  46. package/build/file/inspector.js.map +1 -1
  47. package/build/gallery/edit.js +25 -13
  48. package/build/gallery/edit.js.map +1 -1
  49. package/build/gallery/gallery.native.js +1 -3
  50. package/build/gallery/gallery.native.js.map +1 -1
  51. package/build/gallery/shared.js +4 -10
  52. package/build/gallery/shared.js.map +1 -1
  53. package/build/gallery/transforms.js +1 -7
  54. package/build/gallery/transforms.js.map +1 -1
  55. package/build/gallery/use-get-media.js +1 -1
  56. package/build/gallery/use-get-media.js.map +1 -1
  57. package/build/gallery/use-get-media.native.js +3 -1
  58. package/build/gallery/use-get-media.native.js.map +1 -1
  59. package/build/gallery/v1/edit.js +26 -17
  60. package/build/gallery/v1/edit.js.map +1 -1
  61. package/build/gallery/v1/gallery.native.js +1 -3
  62. package/build/gallery/v1/gallery.native.js.map +1 -1
  63. package/build/gallery/v1/shared.js +4 -1
  64. package/build/gallery/v1/shared.js.map +1 -1
  65. package/build/group/edit.js +97 -45
  66. package/build/group/edit.js.map +1 -1
  67. package/build/group/index.js +6 -1
  68. package/build/group/index.js.map +1 -1
  69. package/build/group/placeholder.js +147 -0
  70. package/build/group/placeholder.js.map +1 -0
  71. package/build/group/variations.js +3 -3
  72. package/build/group/variations.js.map +1 -1
  73. package/build/heading/deprecated.js +152 -69
  74. package/build/heading/deprecated.js.map +1 -1
  75. package/build/heading/index.js +1 -2
  76. package/build/heading/index.js.map +1 -1
  77. package/build/heading/transforms.js +1 -2
  78. package/build/heading/transforms.js.map +1 -1
  79. package/build/html/index.js +1 -1
  80. package/build/image/edit.js +8 -5
  81. package/build/image/edit.js.map +1 -1
  82. package/build/image/edit.native.js +3 -2
  83. package/build/image/edit.native.js.map +1 -1
  84. package/build/image/image.js +12 -8
  85. package/build/image/image.js.map +1 -1
  86. package/build/index.js +3 -1
  87. package/build/index.js.map +1 -1
  88. package/build/latest-comments/edit.js +3 -1
  89. package/build/latest-comments/edit.js.map +1 -1
  90. package/build/latest-comments/index.js +5 -1
  91. package/build/latest-comments/index.js.map +1 -1
  92. package/build/latest-posts/deprecated.js +13 -0
  93. package/build/latest-posts/deprecated.js.map +1 -1
  94. package/build/latest-posts/edit.js +2 -0
  95. package/build/latest-posts/edit.js.map +1 -1
  96. package/build/latest-posts/index.js +13 -0
  97. package/build/latest-posts/index.js.map +1 -1
  98. package/build/list/transforms.js +1 -9
  99. package/build/list/transforms.js.map +1 -1
  100. package/build/list/utils.js +5 -2
  101. package/build/list/utils.js.map +1 -1
  102. package/build/list-item/edit.js +2 -1
  103. package/build/list-item/edit.js.map +1 -1
  104. package/build/list-item/index.js +4 -1
  105. package/build/list-item/index.js.map +1 -1
  106. package/build/list-item/transforms.js +22 -0
  107. package/build/list-item/transforms.js.map +1 -0
  108. package/build/list-item/utils.js +77 -1
  109. package/build/list-item/utils.js.map +1 -1
  110. package/build/media-text/edit.js +4 -2
  111. package/build/media-text/edit.js.map +1 -1
  112. package/build/navigation/edit/are-blocks-dirty.js +52 -0
  113. package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
  114. package/build/navigation/edit/index.js +112 -143
  115. package/build/navigation/edit/index.js.map +1 -1
  116. package/build/navigation/edit/manage-menus-button.js +36 -0
  117. package/build/navigation/edit/manage-menus-button.js.map +1 -0
  118. package/build/navigation/edit/menu-inspector-controls.js +72 -0
  119. package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
  120. package/build/navigation/edit/navigation-menu-selector.js +3 -1
  121. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  122. package/build/navigation/edit/responsive-wrapper.js +2 -6
  123. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  124. package/build/navigation/edit/unsaved-inner-blocks.js +15 -25
  125. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  126. package/build/navigation/view-modal.js +6 -2
  127. package/build/navigation/view-modal.js.map +1 -1
  128. package/build/navigation-link/edit.js +52 -299
  129. package/build/navigation-link/edit.js.map +1 -1
  130. package/build/navigation-link/link-ui.js +222 -0
  131. package/build/navigation-link/link-ui.js.map +1 -0
  132. package/build/navigation-link/transforms.js +12 -0
  133. package/build/navigation-link/transforms.js.map +1 -1
  134. package/build/navigation-link/update-attributes.js +108 -0
  135. package/build/navigation-link/update-attributes.js.map +1 -0
  136. package/build/navigation-submenu/edit.js +42 -173
  137. package/build/navigation-submenu/edit.js.map +1 -1
  138. package/build/page-list/constants.js +15 -0
  139. package/build/page-list/constants.js.map +1 -0
  140. package/build/page-list/convert-to-links-modal.js +22 -86
  141. package/build/page-list/convert-to-links-modal.js.map +1 -1
  142. package/build/page-list/convert-to-navigation-links.js +76 -0
  143. package/build/page-list/convert-to-navigation-links.js.map +1 -0
  144. package/build/page-list/edit.js +142 -78
  145. package/build/page-list/edit.js.map +1 -1
  146. package/build/page-list/index.js +6 -1
  147. package/build/page-list/index.js.map +1 -1
  148. package/build/page-list-item/edit.js +87 -0
  149. package/build/page-list-item/edit.js.map +1 -0
  150. package/build/page-list-item/index.js +85 -0
  151. package/build/page-list-item/index.js.map +1 -0
  152. package/build/page-list-item/init.js +16 -0
  153. package/build/page-list-item/init.js.map +1 -0
  154. package/build/paragraph/index.js +1 -7
  155. package/build/paragraph/index.js.map +1 -1
  156. package/build/post-author/edit.js +38 -22
  157. package/build/post-author/edit.js.map +1 -1
  158. package/build/post-content/index.js +3 -0
  159. package/build/post-content/index.js.map +1 -1
  160. package/build/post-featured-image/overlay.js +1 -0
  161. package/build/post-featured-image/overlay.js.map +1 -1
  162. package/build/post-template/index.js +8 -0
  163. package/build/post-template/index.js.map +1 -1
  164. package/build/preformatted/transforms.js +3 -1
  165. package/build/preformatted/transforms.js.map +1 -1
  166. package/build/query/deprecated.js +192 -21
  167. package/build/query/deprecated.js.map +1 -1
  168. package/build/query/edit/inspector-controls/index.js +1 -0
  169. package/build/query/edit/inspector-controls/index.js.map +1 -1
  170. package/build/query/edit/query-placeholder.js +3 -19
  171. package/build/query/edit/query-placeholder.js.map +1 -1
  172. package/build/query/index.js +0 -8
  173. package/build/query/index.js.map +1 -1
  174. package/build/query/utils.js +0 -8
  175. package/build/query/utils.js.map +1 -1
  176. package/build/rss/edit.js +3 -0
  177. package/build/rss/edit.js.map +1 -1
  178. package/build/search/edit.native.js +22 -22
  179. package/build/search/edit.native.js.map +1 -1
  180. package/build/search/index.js +9 -1
  181. package/build/search/index.js.map +1 -1
  182. package/build/site-logo/edit.js +18 -10
  183. package/build/site-logo/edit.js.map +1 -1
  184. package/build/site-logo/index.js +1 -0
  185. package/build/site-logo/index.js.map +1 -1
  186. package/build/site-title/index.js +1 -0
  187. package/build/site-title/index.js.map +1 -1
  188. package/build/social-link/social-list.js +4 -12
  189. package/build/social-link/social-list.js.map +1 -1
  190. package/build/table/edit.js +3 -1
  191. package/build/table/edit.js.map +1 -1
  192. package/build/table/index.js +17 -1
  193. package/build/table/index.js.map +1 -1
  194. package/build/table/save.js +4 -2
  195. package/build/table/save.js.map +1 -1
  196. package/build/table/state.js +24 -12
  197. package/build/table/state.js.map +1 -1
  198. package/build/table/transforms.js +3 -2
  199. package/build/table/transforms.js.map +1 -1
  200. package/build/table-of-contents/edit.js +2 -2
  201. package/build/table-of-contents/edit.js.map +1 -1
  202. package/build/tag-cloud/edit.js +2 -1
  203. package/build/tag-cloud/edit.js.map +1 -1
  204. package/build/template-part/edit/selection-modal.js +5 -2
  205. package/build/template-part/edit/selection-modal.js.map +1 -1
  206. package/build/template-part/edit/utils/hooks.js +2 -6
  207. package/build/template-part/edit/utils/hooks.js.map +1 -1
  208. package/build/template-part/variations.js +5 -0
  209. package/build/template-part/variations.js.map +1 -1
  210. package/build/text-columns/edit.js +1 -0
  211. package/build/text-columns/edit.js.map +1 -1
  212. package/build/utils/transformation-categories.native.js +1 -1
  213. package/build/utils/transformation-categories.native.js.map +1 -1
  214. package/build/video/edit.js +1 -1
  215. package/build/video/edit.js.map +1 -1
  216. package/build/video/edit.native.js +1 -3
  217. package/build/video/edit.native.js.map +1 -1
  218. package/build-module/audio/edit.native.js +1 -2
  219. package/build-module/audio/edit.native.js.map +1 -1
  220. package/build-module/audio/index.js +2 -1
  221. package/build-module/audio/index.js.map +1 -1
  222. package/build-module/avatar/edit.js +1 -0
  223. package/build-module/avatar/edit.js.map +1 -1
  224. package/build-module/avatar/user-control.js +1 -0
  225. package/build-module/avatar/user-control.js.map +1 -1
  226. package/build-module/block/edit.js +14 -2
  227. package/build-module/block/edit.js.map +1 -1
  228. package/build-module/block/edit.native.js +14 -6
  229. package/build-module/block/edit.native.js.map +1 -1
  230. package/build-module/block/index.js +1 -2
  231. package/build-module/block/index.js.map +1 -1
  232. package/build-module/button/deprecated.js +16 -2
  233. package/build-module/button/deprecated.js.map +1 -1
  234. package/build-module/button/edit.js +15 -9
  235. package/build-module/button/edit.js.map +1 -1
  236. package/build-module/button/edit.native.js +2 -1
  237. package/build-module/button/edit.native.js.map +1 -1
  238. package/build-module/button/index.js +4 -1
  239. package/build-module/button/index.js.map +1 -1
  240. package/build-module/button/save.js +2 -0
  241. package/build-module/button/save.js.map +1 -1
  242. package/build-module/code/transforms.js +1 -1
  243. package/build-module/code/transforms.js.map +1 -1
  244. package/build-module/columns/edit.js +1 -0
  245. package/build-module/columns/edit.js.map +1 -1
  246. package/build-module/columns/edit.native.js +13 -29
  247. package/build-module/columns/edit.native.js.map +1 -1
  248. package/build-module/columns/transforms.js +5 -0
  249. package/build-module/columns/transforms.js.map +1 -1
  250. package/build-module/comment-author-avatar/edit.js +1 -0
  251. package/build-module/comment-author-avatar/edit.js.map +1 -1
  252. package/build-module/cover/edit/index.js +3 -1
  253. package/build-module/cover/edit/index.js.map +1 -1
  254. package/build-module/cover/edit/inspector-controls.js +2 -0
  255. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  256. package/build-module/cover/edit.native.js +22 -14
  257. package/build-module/cover/edit.native.js.map +1 -1
  258. package/build-module/embed/embed-controls.native.js +2 -1
  259. package/build-module/embed/embed-controls.native.js.map +1 -1
  260. package/build-module/embed/embed-preview.native.js +1 -2
  261. package/build-module/embed/embed-preview.native.js.map +1 -1
  262. package/build-module/file/inspector.js +1 -0
  263. package/build-module/file/inspector.js.map +1 -1
  264. package/build-module/gallery/edit.js +25 -12
  265. package/build-module/gallery/edit.js.map +1 -1
  266. package/build-module/gallery/gallery.native.js +1 -2
  267. package/build-module/gallery/gallery.native.js.map +1 -1
  268. package/build-module/gallery/shared.js +5 -11
  269. package/build-module/gallery/shared.js.map +1 -1
  270. package/build-module/gallery/transforms.js +1 -6
  271. package/build-module/gallery/transforms.js.map +1 -1
  272. package/build-module/gallery/use-get-media.js +1 -1
  273. package/build-module/gallery/use-get-media.js.map +1 -1
  274. package/build-module/gallery/use-get-media.native.js +3 -1
  275. package/build-module/gallery/use-get-media.native.js.map +1 -1
  276. package/build-module/gallery/v1/edit.js +27 -18
  277. package/build-module/gallery/v1/edit.js.map +1 -1
  278. package/build-module/gallery/v1/gallery.native.js +1 -2
  279. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  280. package/build-module/gallery/v1/shared.js +5 -2
  281. package/build-module/gallery/v1/shared.js.map +1 -1
  282. package/build-module/group/edit.js +92 -45
  283. package/build-module/group/edit.js.map +1 -1
  284. package/build-module/group/index.js +6 -1
  285. package/build-module/group/index.js.map +1 -1
  286. package/build-module/group/placeholder.js +133 -0
  287. package/build-module/group/placeholder.js.map +1 -0
  288. package/build-module/group/variations.js +3 -3
  289. package/build-module/group/variations.js.map +1 -1
  290. package/build-module/heading/deprecated.js +152 -69
  291. package/build-module/heading/deprecated.js.map +1 -1
  292. package/build-module/heading/index.js +1 -2
  293. package/build-module/heading/index.js.map +1 -1
  294. package/build-module/heading/transforms.js +1 -2
  295. package/build-module/heading/transforms.js.map +1 -1
  296. package/build-module/html/index.js +1 -1
  297. package/build-module/image/edit.js +9 -6
  298. package/build-module/image/edit.js.map +1 -1
  299. package/build-module/image/edit.native.js +2 -1
  300. package/build-module/image/edit.native.js.map +1 -1
  301. package/build-module/image/image.js +13 -9
  302. package/build-module/image/image.js.map +1 -1
  303. package/build-module/index.js +2 -1
  304. package/build-module/index.js.map +1 -1
  305. package/build-module/latest-comments/edit.js +3 -1
  306. package/build-module/latest-comments/edit.js.map +1 -1
  307. package/build-module/latest-comments/index.js +5 -1
  308. package/build-module/latest-comments/index.js.map +1 -1
  309. package/build-module/latest-posts/deprecated.js +13 -0
  310. package/build-module/latest-posts/deprecated.js.map +1 -1
  311. package/build-module/latest-posts/edit.js +2 -0
  312. package/build-module/latest-posts/edit.js.map +1 -1
  313. package/build-module/latest-posts/index.js +13 -0
  314. package/build-module/latest-posts/index.js.map +1 -1
  315. package/build-module/list/transforms.js +1 -9
  316. package/build-module/list/transforms.js.map +1 -1
  317. package/build-module/list/utils.js +5 -2
  318. package/build-module/list/utils.js.map +1 -1
  319. package/build-module/list-item/edit.js +2 -1
  320. package/build-module/list-item/edit.js.map +1 -1
  321. package/build-module/list-item/index.js +3 -1
  322. package/build-module/list-item/index.js.map +1 -1
  323. package/build-module/list-item/transforms.js +13 -0
  324. package/build-module/list-item/transforms.js.map +1 -0
  325. package/build-module/list-item/utils.js +78 -1
  326. package/build-module/list-item/utils.js.map +1 -1
  327. package/build-module/media-text/edit.js +5 -3
  328. package/build-module/media-text/edit.js.map +1 -1
  329. package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
  330. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
  331. package/build-module/navigation/edit/index.js +111 -143
  332. package/build-module/navigation/edit/index.js.map +1 -1
  333. package/build-module/navigation/edit/manage-menus-button.js +26 -0
  334. package/build-module/navigation/edit/manage-menus-button.js.map +1 -0
  335. package/build-module/navigation/edit/menu-inspector-controls.js +59 -0
  336. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
  337. package/build-module/navigation/edit/navigation-menu-selector.js +3 -1
  338. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  339. package/build-module/navigation/edit/responsive-wrapper.js +2 -6
  340. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  341. package/build-module/navigation/edit/unsaved-inner-blocks.js +16 -26
  342. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  343. package/build-module/navigation/view-modal.js +6 -2
  344. package/build-module/navigation/view-modal.js.map +1 -1
  345. package/build-module/navigation-link/edit.js +56 -300
  346. package/build-module/navigation-link/edit.js.map +1 -1
  347. package/build-module/navigation-link/link-ui.js +206 -0
  348. package/build-module/navigation-link/link-ui.js.map +1 -0
  349. package/build-module/navigation-link/transforms.js +12 -0
  350. package/build-module/navigation-link/transforms.js.map +1 -1
  351. package/build-module/navigation-link/update-attributes.js +97 -0
  352. package/build-module/navigation-link/update-attributes.js.map +1 -0
  353. package/build-module/navigation-submenu/edit.js +47 -175
  354. package/build-module/navigation-submenu/edit.js.map +1 -1
  355. package/build-module/page-list/constants.js +6 -0
  356. package/build-module/page-list/constants.js.map +1 -0
  357. package/build-module/page-list/convert-to-links-modal.js +20 -81
  358. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  359. package/build-module/page-list/convert-to-navigation-links.js +66 -0
  360. package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
  361. package/build-module/page-list/edit.js +144 -82
  362. package/build-module/page-list/edit.js.map +1 -1
  363. package/build-module/page-list/index.js +6 -1
  364. package/build-module/page-list/index.js.map +1 -1
  365. package/build-module/page-list-item/edit.js +74 -0
  366. package/build-module/page-list-item/edit.js.map +1 -0
  367. package/build-module/page-list-item/index.js +68 -0
  368. package/build-module/page-list-item/index.js.map +1 -0
  369. package/build-module/page-list-item/init.js +6 -0
  370. package/build-module/page-list-item/init.js.map +1 -0
  371. package/build-module/paragraph/index.js +1 -7
  372. package/build-module/paragraph/index.js.map +1 -1
  373. package/build-module/post-author/edit.js +38 -23
  374. package/build-module/post-author/edit.js.map +1 -1
  375. package/build-module/post-content/index.js +3 -0
  376. package/build-module/post-content/index.js.map +1 -1
  377. package/build-module/post-featured-image/overlay.js +1 -0
  378. package/build-module/post-featured-image/overlay.js.map +1 -1
  379. package/build-module/post-template/index.js +8 -0
  380. package/build-module/post-template/index.js.map +1 -1
  381. package/build-module/preformatted/transforms.js +3 -1
  382. package/build-module/preformatted/transforms.js.map +1 -1
  383. package/build-module/query/deprecated.js +185 -21
  384. package/build-module/query/deprecated.js.map +1 -1
  385. package/build-module/query/edit/inspector-controls/index.js +1 -0
  386. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  387. package/build-module/query/edit/query-placeholder.js +3 -19
  388. package/build-module/query/edit/query-placeholder.js.map +1 -1
  389. package/build-module/query/index.js +0 -8
  390. package/build-module/query/index.js.map +1 -1
  391. package/build-module/query/utils.js +0 -8
  392. package/build-module/query/utils.js.map +1 -1
  393. package/build-module/rss/edit.js +3 -0
  394. package/build-module/rss/edit.js.map +1 -1
  395. package/build-module/search/edit.native.js +20 -20
  396. package/build-module/search/edit.native.js.map +1 -1
  397. package/build-module/search/index.js +8 -1
  398. package/build-module/search/index.js.map +1 -1
  399. package/build-module/site-logo/edit.js +18 -9
  400. package/build-module/site-logo/edit.js.map +1 -1
  401. package/build-module/site-logo/index.js +1 -0
  402. package/build-module/site-logo/index.js.map +1 -1
  403. package/build-module/site-title/index.js +1 -0
  404. package/build-module/site-title/index.js.map +1 -1
  405. package/build-module/social-link/social-list.js +2 -11
  406. package/build-module/social-link/social-list.js.map +1 -1
  407. package/build-module/table/edit.js +3 -1
  408. package/build-module/table/edit.js.map +1 -1
  409. package/build-module/table/index.js +17 -1
  410. package/build-module/table/index.js.map +1 -1
  411. package/build-module/table/save.js +4 -2
  412. package/build-module/table/save.js.map +1 -1
  413. package/build-module/table/state.js +25 -13
  414. package/build-module/table/state.js.map +1 -1
  415. package/build-module/table/transforms.js +3 -2
  416. package/build-module/table/transforms.js.map +1 -1
  417. package/build-module/table-of-contents/edit.js +2 -2
  418. package/build-module/table-of-contents/edit.js.map +1 -1
  419. package/build-module/tag-cloud/edit.js +3 -2
  420. package/build-module/tag-cloud/edit.js.map +1 -1
  421. package/build-module/template-part/edit/selection-modal.js +6 -3
  422. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  423. package/build-module/template-part/edit/utils/hooks.js +3 -7
  424. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  425. package/build-module/template-part/variations.js +5 -0
  426. package/build-module/template-part/variations.js.map +1 -1
  427. package/build-module/text-columns/edit.js +1 -0
  428. package/build-module/text-columns/edit.js.map +1 -1
  429. package/build-module/utils/transformation-categories.native.js +1 -1
  430. package/build-module/utils/transformation-categories.native.js.map +1 -1
  431. package/build-module/video/edit.js +1 -1
  432. package/build-module/video/edit.js.map +1 -1
  433. package/build-module/video/edit.native.js +1 -2
  434. package/build-module/video/edit.native.js.map +1 -1
  435. package/build-style/archives/editor-rtl.css +12 -0
  436. package/build-style/archives/editor.css +12 -0
  437. package/build-style/archives/style-rtl.css +12 -0
  438. package/build-style/archives/style.css +12 -0
  439. package/build-style/audio/editor-rtl.css +12 -0
  440. package/build-style/audio/editor.css +12 -0
  441. package/build-style/audio/style-rtl.css +12 -0
  442. package/build-style/audio/style.css +12 -0
  443. package/build-style/audio/theme-rtl.css +12 -0
  444. package/build-style/audio/theme.css +12 -0
  445. package/build-style/avatar/editor-rtl.css +12 -0
  446. package/build-style/avatar/editor.css +12 -0
  447. package/build-style/avatar/style-rtl.css +12 -0
  448. package/build-style/avatar/style.css +12 -0
  449. package/build-style/block/editor-rtl.css +22 -0
  450. package/build-style/block/editor.css +22 -0
  451. package/build-style/button/editor-rtl.css +12 -0
  452. package/build-style/button/editor.css +12 -0
  453. package/build-style/button/style-rtl.css +12 -0
  454. package/build-style/button/style.css +12 -0
  455. package/build-style/buttons/editor-rtl.css +12 -0
  456. package/build-style/buttons/editor.css +12 -0
  457. package/build-style/buttons/style-rtl.css +12 -0
  458. package/build-style/buttons/style.css +12 -0
  459. package/build-style/calendar/style-rtl.css +12 -0
  460. package/build-style/calendar/style.css +12 -0
  461. package/build-style/categories/editor-rtl.css +12 -0
  462. package/build-style/categories/editor.css +12 -0
  463. package/build-style/categories/style-rtl.css +12 -0
  464. package/build-style/categories/style.css +12 -0
  465. package/build-style/classic-rtl.css +12 -0
  466. package/build-style/classic.css +12 -0
  467. package/build-style/code/editor-rtl.css +12 -0
  468. package/build-style/code/editor.css +12 -0
  469. package/build-style/code/style-rtl.css +12 -0
  470. package/build-style/code/style.css +12 -0
  471. package/build-style/code/theme-rtl.css +12 -0
  472. package/build-style/code/theme.css +12 -0
  473. package/build-style/columns/editor-rtl.css +12 -0
  474. package/build-style/columns/editor.css +12 -0
  475. package/build-style/columns/style-rtl.css +12 -0
  476. package/build-style/columns/style.css +12 -0
  477. package/build-style/comment-author-avatar/editor-rtl.css +12 -0
  478. package/build-style/comment-author-avatar/editor.css +12 -0
  479. package/build-style/comment-content/style-rtl.css +12 -0
  480. package/build-style/comment-content/style.css +12 -0
  481. package/build-style/comment-template/style-rtl.css +12 -0
  482. package/build-style/comment-template/style.css +12 -0
  483. package/build-style/comments/editor-rtl.css +12 -0
  484. package/build-style/comments/editor.css +12 -0
  485. package/build-style/comments/style-rtl.css +12 -0
  486. package/build-style/comments/style.css +12 -0
  487. package/build-style/comments-pagination/editor-rtl.css +12 -0
  488. package/build-style/comments-pagination/editor.css +12 -0
  489. package/build-style/comments-pagination/style-rtl.css +12 -0
  490. package/build-style/comments-pagination/style.css +12 -0
  491. package/build-style/comments-pagination-numbers/editor-rtl.css +12 -0
  492. package/build-style/comments-pagination-numbers/editor.css +12 -0
  493. package/build-style/comments-title/editor-rtl.css +12 -0
  494. package/build-style/comments-title/editor.css +12 -0
  495. package/build-style/common-rtl.css +17 -1
  496. package/build-style/common.css +17 -1
  497. package/build-style/cover/editor-rtl.css +12 -0
  498. package/build-style/cover/editor.css +12 -0
  499. package/build-style/cover/style-rtl.css +14 -1
  500. package/build-style/cover/style.css +14 -1
  501. package/build-style/editor-elements-rtl.css +12 -0
  502. package/build-style/editor-elements.css +12 -0
  503. package/build-style/editor-rtl.css +115 -21
  504. package/build-style/editor.css +115 -21
  505. package/build-style/elements-rtl.css +12 -0
  506. package/build-style/elements.css +12 -0
  507. package/build-style/embed/editor-rtl.css +12 -0
  508. package/build-style/embed/editor.css +12 -0
  509. package/build-style/embed/style-rtl.css +12 -0
  510. package/build-style/embed/style.css +12 -0
  511. package/build-style/embed/theme-rtl.css +12 -0
  512. package/build-style/embed/theme.css +12 -0
  513. package/build-style/file/editor-rtl.css +12 -0
  514. package/build-style/file/editor.css +12 -0
  515. package/build-style/file/style-rtl.css +12 -0
  516. package/build-style/file/style.css +12 -0
  517. package/build-style/freeform/editor-rtl.css +12 -0
  518. package/build-style/freeform/editor.css +12 -0
  519. package/build-style/gallery/editor-rtl.css +13 -1
  520. package/build-style/gallery/editor.css +13 -1
  521. package/build-style/gallery/style-rtl.css +16 -2
  522. package/build-style/gallery/style.css +16 -2
  523. package/build-style/gallery/theme-rtl.css +12 -0
  524. package/build-style/gallery/theme.css +12 -0
  525. package/build-style/group/editor-rtl.css +56 -0
  526. package/build-style/group/editor.css +56 -0
  527. package/build-style/group/style-rtl.css +12 -0
  528. package/build-style/group/style.css +12 -0
  529. package/build-style/group/theme-rtl.css +12 -0
  530. package/build-style/group/theme.css +12 -0
  531. package/build-style/heading/style-rtl.css +12 -0
  532. package/build-style/heading/style.css +12 -0
  533. package/build-style/html/editor-rtl.css +12 -0
  534. package/build-style/html/editor.css +12 -0
  535. package/build-style/image/editor-rtl.css +12 -9
  536. package/build-style/image/editor.css +12 -9
  537. package/build-style/image/style-rtl.css +12 -0
  538. package/build-style/image/style.css +12 -0
  539. package/build-style/image/theme-rtl.css +12 -0
  540. package/build-style/image/theme.css +12 -0
  541. package/build-style/latest-comments/style-rtl.css +13 -0
  542. package/build-style/latest-comments/style.css +13 -0
  543. package/build-style/latest-posts/editor-rtl.css +12 -0
  544. package/build-style/latest-posts/editor.css +12 -0
  545. package/build-style/latest-posts/style-rtl.css +15 -0
  546. package/build-style/latest-posts/style.css +15 -0
  547. package/build-style/list/style-rtl.css +12 -0
  548. package/build-style/list/style.css +12 -0
  549. package/build-style/media-text/editor-rtl.css +12 -0
  550. package/build-style/media-text/editor.css +12 -0
  551. package/build-style/media-text/style-rtl.css +12 -0
  552. package/build-style/media-text/style.css +12 -0
  553. package/build-style/more/editor-rtl.css +12 -0
  554. package/build-style/more/editor.css +12 -0
  555. package/build-style/navigation/editor-rtl.css +35 -0
  556. package/build-style/navigation/editor.css +35 -0
  557. package/build-style/navigation/style-rtl.css +22 -0
  558. package/build-style/navigation/style.css +22 -0
  559. package/build-style/navigation-link/editor-rtl.css +20 -1
  560. package/build-style/navigation-link/editor.css +20 -1
  561. package/build-style/navigation-link/style-rtl.css +12 -0
  562. package/build-style/navigation-link/style.css +12 -0
  563. package/build-style/navigation-submenu/editor-rtl.css +12 -0
  564. package/build-style/navigation-submenu/editor.css +12 -0
  565. package/build-style/nextpage/editor-rtl.css +12 -0
  566. package/build-style/nextpage/editor.css +12 -0
  567. package/build-style/page-list/editor-rtl.css +12 -0
  568. package/build-style/page-list/editor.css +12 -0
  569. package/build-style/page-list/style-rtl.css +12 -0
  570. package/build-style/page-list/style.css +12 -0
  571. package/build-style/paragraph/editor-rtl.css +12 -0
  572. package/build-style/paragraph/editor.css +12 -0
  573. package/build-style/paragraph/style-rtl.css +12 -0
  574. package/build-style/paragraph/style.css +12 -0
  575. package/build-style/post-author/style-rtl.css +12 -0
  576. package/build-style/post-author/style.css +12 -0
  577. package/build-style/post-comments-form/editor-rtl.css +12 -0
  578. package/build-style/post-comments-form/editor.css +12 -0
  579. package/build-style/post-comments-form/style-rtl.css +12 -0
  580. package/build-style/post-comments-form/style.css +12 -0
  581. package/build-style/post-date/style-rtl.css +12 -0
  582. package/build-style/post-date/style.css +12 -0
  583. package/build-style/post-excerpt/editor-rtl.css +12 -0
  584. package/build-style/post-excerpt/editor.css +12 -0
  585. package/build-style/post-excerpt/style-rtl.css +12 -0
  586. package/build-style/post-excerpt/style.css +12 -0
  587. package/build-style/post-featured-image/editor-rtl.css +12 -0
  588. package/build-style/post-featured-image/editor.css +12 -0
  589. package/build-style/post-featured-image/style-rtl.css +12 -0
  590. package/build-style/post-featured-image/style.css +12 -0
  591. package/build-style/post-navigation-link/style-rtl.css +12 -0
  592. package/build-style/post-navigation-link/style.css +12 -0
  593. package/build-style/post-template/editor-rtl.css +12 -0
  594. package/build-style/post-template/editor.css +12 -0
  595. package/build-style/post-template/style-rtl.css +12 -0
  596. package/build-style/post-template/style.css +12 -0
  597. package/build-style/post-terms/style-rtl.css +12 -0
  598. package/build-style/post-terms/style.css +12 -0
  599. package/build-style/post-title/style-rtl.css +12 -0
  600. package/build-style/post-title/style.css +12 -0
  601. package/build-style/preformatted/style-rtl.css +12 -0
  602. package/build-style/preformatted/style.css +12 -0
  603. package/build-style/pullquote/editor-rtl.css +12 -0
  604. package/build-style/pullquote/editor.css +12 -0
  605. package/build-style/pullquote/style-rtl.css +12 -0
  606. package/build-style/pullquote/style.css +12 -0
  607. package/build-style/pullquote/theme-rtl.css +12 -0
  608. package/build-style/pullquote/theme.css +12 -0
  609. package/build-style/query/editor-rtl.css +13 -1
  610. package/build-style/query/editor.css +13 -1
  611. package/build-style/query-pagination/editor-rtl.css +12 -0
  612. package/build-style/query-pagination/editor.css +12 -0
  613. package/build-style/query-pagination/style-rtl.css +13 -1
  614. package/build-style/query-pagination/style.css +13 -1
  615. package/build-style/query-pagination-numbers/editor-rtl.css +12 -0
  616. package/build-style/query-pagination-numbers/editor.css +12 -0
  617. package/build-style/query-title/style-rtl.css +12 -0
  618. package/build-style/query-title/style.css +12 -0
  619. package/build-style/quote/style-rtl.css +12 -0
  620. package/build-style/quote/style.css +12 -0
  621. package/build-style/quote/theme-rtl.css +12 -0
  622. package/build-style/quote/theme.css +12 -0
  623. package/build-style/read-more/style-rtl.css +12 -0
  624. package/build-style/read-more/style.css +12 -0
  625. package/build-style/reset-rtl.css +12 -0
  626. package/build-style/reset.css +12 -0
  627. package/build-style/rss/editor-rtl.css +12 -0
  628. package/build-style/rss/editor.css +12 -0
  629. package/build-style/rss/style-rtl.css +12 -0
  630. package/build-style/rss/style.css +12 -0
  631. package/build-style/search/editor-rtl.css +12 -0
  632. package/build-style/search/editor.css +12 -0
  633. package/build-style/search/style-rtl.css +12 -0
  634. package/build-style/search/style.css +12 -0
  635. package/build-style/search/theme-rtl.css +12 -0
  636. package/build-style/search/theme.css +12 -0
  637. package/build-style/separator/editor-rtl.css +12 -0
  638. package/build-style/separator/editor.css +12 -0
  639. package/build-style/separator/style-rtl.css +12 -0
  640. package/build-style/separator/style.css +12 -0
  641. package/build-style/separator/theme-rtl.css +12 -0
  642. package/build-style/separator/theme.css +12 -0
  643. package/build-style/shortcode/editor-rtl.css +13 -1
  644. package/build-style/shortcode/editor.css +13 -1
  645. package/build-style/site-logo/editor-rtl.css +12 -0
  646. package/build-style/site-logo/editor.css +12 -0
  647. package/build-style/site-logo/style-rtl.css +12 -0
  648. package/build-style/site-logo/style.css +12 -0
  649. package/build-style/site-tagline/editor-rtl.css +12 -0
  650. package/build-style/site-tagline/editor.css +12 -0
  651. package/build-style/site-title/editor-rtl.css +12 -0
  652. package/build-style/site-title/editor.css +12 -0
  653. package/build-style/site-title/style-rtl.css +12 -0
  654. package/build-style/site-title/style.css +12 -0
  655. package/build-style/social-link/editor-rtl.css +12 -0
  656. package/build-style/social-link/editor.css +12 -0
  657. package/build-style/social-links/editor-rtl.css +12 -0
  658. package/build-style/social-links/editor.css +12 -0
  659. package/build-style/social-links/style-rtl.css +12 -0
  660. package/build-style/social-links/style.css +12 -0
  661. package/build-style/spacer/editor-rtl.css +12 -0
  662. package/build-style/spacer/editor.css +12 -0
  663. package/build-style/spacer/style-rtl.css +12 -0
  664. package/build-style/spacer/style.css +12 -0
  665. package/build-style/style-rtl.css +43 -6
  666. package/build-style/style.css +43 -6
  667. package/build-style/table/editor-rtl.css +13 -8
  668. package/build-style/table/editor.css +13 -8
  669. package/build-style/table/style-rtl.css +17 -0
  670. package/build-style/table/style.css +17 -0
  671. package/build-style/table/theme-rtl.css +13 -3
  672. package/build-style/table/theme.css +13 -3
  673. package/build-style/tag-cloud/style-rtl.css +12 -0
  674. package/build-style/tag-cloud/style.css +12 -0
  675. package/build-style/template-part/editor-rtl.css +27 -1
  676. package/build-style/template-part/editor.css +27 -1
  677. package/build-style/template-part/theme-rtl.css +12 -0
  678. package/build-style/template-part/theme.css +12 -0
  679. package/build-style/text-columns/editor-rtl.css +12 -0
  680. package/build-style/text-columns/editor.css +12 -0
  681. package/build-style/text-columns/style-rtl.css +12 -0
  682. package/build-style/text-columns/style.css +12 -0
  683. package/build-style/theme-rtl.css +13 -3
  684. package/build-style/theme.css +13 -3
  685. package/build-style/verse/style-rtl.css +12 -0
  686. package/build-style/verse/style.css +12 -0
  687. package/build-style/video/editor-rtl.css +12 -0
  688. package/build-style/video/editor.css +12 -0
  689. package/build-style/video/style-rtl.css +14 -1
  690. package/build-style/video/style.css +14 -1
  691. package/build-style/video/theme-rtl.css +12 -0
  692. package/build-style/video/theme.css +12 -0
  693. package/package.json +32 -30
  694. package/src/audio/edit.native.js +1 -2
  695. package/src/audio/index.js +1 -0
  696. package/src/avatar/edit.js +1 -0
  697. package/src/avatar/index.php +1 -1
  698. package/src/avatar/user-control.js +1 -0
  699. package/src/block/block.json +1 -2
  700. package/src/block/edit.js +14 -3
  701. package/src/block/edit.native.js +24 -12
  702. package/src/block/editor.scss +17 -0
  703. package/src/block/index.php +1 -2
  704. package/src/block/test/edit.native.js +28 -32
  705. package/src/button/block.json +4 -1
  706. package/src/button/deprecated.js +18 -2
  707. package/src/button/edit.js +11 -9
  708. package/src/button/edit.native.js +1 -0
  709. package/src/button/save.js +12 -2
  710. package/src/buttons/test/edit.native.js +41 -52
  711. package/src/code/transforms.js +3 -1
  712. package/src/columns/edit.js +1 -0
  713. package/src/columns/edit.native.js +18 -26
  714. package/src/columns/test/edit.native.js +32 -32
  715. package/src/columns/transforms.js +8 -0
  716. package/src/comment-author-avatar/edit.js +1 -0
  717. package/src/cover/edit/index.js +3 -1
  718. package/src/cover/edit/inspector-controls.js +2 -0
  719. package/src/cover/edit.native.js +32 -19
  720. package/src/cover/test/edit.native.js +77 -130
  721. package/src/embed/embed-controls.native.js +1 -0
  722. package/src/embed/embed-preview.native.js +1 -2
  723. package/src/embed/test/index.native.js +251 -245
  724. package/src/file/inspector.js +1 -0
  725. package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
  726. package/src/gallery/edit.js +15 -5
  727. package/src/gallery/gallery.native.js +1 -2
  728. package/src/gallery/shared.js +7 -11
  729. package/src/gallery/test/index.native.js +11 -11
  730. package/src/gallery/transforms.js +1 -6
  731. package/src/gallery/use-get-media.js +1 -1
  732. package/src/gallery/use-get-media.native.js +2 -1
  733. package/src/gallery/v1/edit.js +26 -30
  734. package/src/gallery/v1/gallery.native.js +1 -2
  735. package/src/gallery/v1/shared.js +7 -2
  736. package/src/group/block.json +6 -1
  737. package/src/group/edit.js +91 -44
  738. package/src/group/editor.scss +48 -0
  739. package/src/group/placeholder.js +168 -0
  740. package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
  741. package/src/group/test/edit.native.js +3 -3
  742. package/src/group/test/placeholder.js +78 -0
  743. package/src/group/variations.js +3 -3
  744. package/src/heading/block.json +1 -2
  745. package/src/heading/deprecated.js +209 -136
  746. package/src/heading/index.php +52 -0
  747. package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
  748. package/src/heading/test/index.native.js +44 -0
  749. package/src/home-link/index.php +1 -1
  750. package/src/html/block.json +1 -1
  751. package/src/image/edit.js +7 -2
  752. package/src/image/edit.native.js +2 -1
  753. package/src/image/editor.scss +0 -11
  754. package/src/image/image.js +13 -8
  755. package/src/image/test/edit.native.js +24 -20
  756. package/src/index.js +2 -0
  757. package/src/latest-comments/block.json +5 -1
  758. package/src/latest-comments/edit.js +2 -0
  759. package/src/latest-comments/style.scss +3 -0
  760. package/src/latest-posts/block.json +13 -0
  761. package/src/latest-posts/edit.js +2 -0
  762. package/src/latest-posts/style.scss +3 -0
  763. package/src/list/test/edit.native.js +55 -47
  764. package/src/list/transforms.js +0 -11
  765. package/src/list/utils.js +6 -2
  766. package/src/list-item/edit.js +1 -0
  767. package/src/list-item/index.js +2 -0
  768. package/src/list-item/transforms.js +17 -0
  769. package/src/list-item/utils.js +10 -1
  770. package/src/media-text/edit.js +5 -3
  771. package/src/missing/test/edit-integration.native.js +10 -12
  772. package/src/navigation/edit/are-blocks-dirty.js +51 -0
  773. package/src/navigation/edit/index.js +269 -310
  774. package/src/navigation/edit/manage-menus-button.js +21 -0
  775. package/src/navigation/edit/menu-inspector-controls.js +78 -0
  776. package/src/navigation/edit/navigation-menu-selector.js +5 -1
  777. package/src/navigation/edit/responsive-wrapper.js +2 -10
  778. package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
  779. package/src/navigation/edit/unsaved-inner-blocks.js +17 -36
  780. package/src/navigation/editor.scss +25 -0
  781. package/src/navigation/index.php +57 -10
  782. package/src/navigation/style.scss +16 -0
  783. package/src/navigation/view-modal.js +11 -1
  784. package/src/navigation-link/edit.js +66 -329
  785. package/src/navigation-link/editor.scss +8 -0
  786. package/src/navigation-link/index.php +32 -0
  787. package/src/navigation-link/link-ui.js +213 -0
  788. package/src/navigation-link/test/edit.js +23 -82
  789. package/src/navigation-link/transforms.js +14 -0
  790. package/src/navigation-link/update-attributes.js +99 -0
  791. package/src/navigation-submenu/edit.js +57 -177
  792. package/src/navigation-submenu/index.php +40 -0
  793. package/src/page-list/block.json +6 -1
  794. package/src/page-list/constants.js +8 -0
  795. package/src/page-list/convert-to-links-modal.js +19 -76
  796. package/src/page-list/convert-to-navigation-links.js +60 -0
  797. package/src/page-list/edit.js +179 -118
  798. package/src/page-list/index.php +9 -0
  799. package/src/page-list/test/convert-to-links-modal.js +28 -34
  800. package/src/page-list-item/block.json +51 -0
  801. package/src/page-list-item/edit.js +94 -0
  802. package/src/page-list-item/index.js +24 -0
  803. package/src/page-list-item/init.js +6 -0
  804. package/src/paragraph/index.js +0 -6
  805. package/src/post-author/edit.js +47 -22
  806. package/src/post-content/block.json +3 -0
  807. package/src/post-content/index.php +1 -2
  808. package/src/post-featured-image/index.php +7 -2
  809. package/src/post-featured-image/overlay.js +1 -0
  810. package/src/post-template/block.json +8 -0
  811. package/src/preformatted/transforms.js +4 -1
  812. package/src/query/block.json +0 -8
  813. package/src/query/deprecated.js +257 -86
  814. package/src/query/edit/inspector-controls/index.js +1 -0
  815. package/src/query/edit/query-placeholder.js +4 -16
  816. package/src/query/editor.scss +1 -1
  817. package/src/query-pagination/style.scss +1 -1
  818. package/src/read-more/index.php +9 -2
  819. package/src/rss/edit.js +3 -0
  820. package/src/search/edit.native.js +31 -27
  821. package/src/search/index.js +5 -1
  822. package/src/shortcode/test/edit.native.js +15 -18
  823. package/src/site-logo/edit.js +14 -6
  824. package/src/site-logo/index.js +1 -0
  825. package/src/site-title/index.js +1 -0
  826. package/src/social-link/social-list.js +2 -7
  827. package/src/social-link/test/index.native.js +16 -22
  828. package/src/social-links/test/edit.native.js +8 -7
  829. package/src/spacer/test/index.native.js +39 -36
  830. package/src/table/block.json +15 -0
  831. package/src/table/edit.js +2 -1
  832. package/src/table/editor.scss +1 -4
  833. package/src/table/index.js +1 -0
  834. package/src/table/save.js +5 -1
  835. package/src/table/state.js +22 -7
  836. package/src/table/style.scss +7 -0
  837. package/src/table/theme.scss +1 -3
  838. package/src/table/transforms.js +2 -1
  839. package/src/table-of-contents/edit.js +2 -2
  840. package/src/tag-cloud/edit.js +3 -2
  841. package/src/template-part/edit/selection-modal.js +4 -3
  842. package/src/template-part/edit/utils/hooks.js +7 -3
  843. package/src/template-part/editor.scss +20 -2
  844. package/src/template-part/index.php +6 -2
  845. package/src/template-part/variations.js +4 -0
  846. package/src/text-columns/edit.js +1 -0
  847. package/src/utils/transformation-categories.native.js +1 -0
  848. package/src/video/edit.js +1 -1
  849. package/src/video/edit.native.js +1 -2
  850. package/test/babel-plugin.js +35 -35
  851. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/deprecated.js"],"names":["classnames","RichText","getColorClassName","useBlockProps","__experimentalGetGradientClass","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetSpacingClassesAndStyles","getSpacingClassesAndStyles","compose","migrateFontFamily","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","v10","migrate","isEligible","fontFamily","deprecated","textClass","backgroundClass","gradientClass","default","includes","newClassName","replace","trim","linkClass"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,QADD,EAECC,iBAFD,EAGCC,aAHD,EAICC,8BAJD,EAKCC,uCAAuC,IAAIC,yBAL5C,EAMCC,sCAAsC,IAAIC,wBAN3C,EAOCC,wCAAwC,IAAIC,0BAP7C,QAQO,yBARP;AASA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,8BAA9B;;AAEA,MAAMC,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,MAAMM,+BAA+B,GAAKT,UAAF,IAAkB;AACzD,MACC,CAAEA,UAAU,CAACU,eAAb,IACA,CAAEV,UAAU,CAACW,qBADb,IAEA,CAAEX,UAAU,CAACY,cAHd,EAIE;AACD,WAAOZ,UAAP;AACA;;AACD,QAAMI,KAAK,GAAG;AAAES,IAAAA,KAAK,EAAE;AAAT,GAAd;;AACA,MAAKb,UAAU,CAACU,eAAhB,EAAkC;AACjCN,IAAAA,KAAK,CAACS,KAAN,CAAYC,IAAZ,GAAmBd,UAAU,CAACU,eAA9B;AACA;;AACD,MAAKV,UAAU,CAACW,qBAAhB,EAAwC;AACvCP,IAAAA,KAAK,CAACS,KAAN,CAAYE,UAAZ,GAAyBf,UAAU,CAACW,qBAApC;AACA;;AACD,MAAKX,UAAU,CAACY,cAAhB,EAAiC;AAChCR,IAAAA,KAAK,CAACS,KAAN,CAAYG,QAAZ,GAAuBhB,UAAU,CAACY,cAAlC;AACA;;AAED,QAAM;AACLF,IAAAA,eADK;AAELC,IAAAA,qBAFK;AAGLC,IAAAA,cAHK;AAIL,OAAGK;AAJE,MAKFjB,UALJ;AAOA,SAAO,EACN,GAAGiB,cADG;AAENb,IAAAA;AAFM,GAAP;AAIA,CA9BD;;AAgCA,MAAMc,kBAAkB,GAAKlB,UAAF,IAAkB;AAC5C,QAAM;AAAEa,IAAAA,KAAF;AAASM,IAAAA,SAAT;AAAoB,OAAGF;AAAvB,MAA0C,EAC/C,GAAGjB,UAD4C;AAE/CU,IAAAA,eAAe,EACdV,UAAU,CAACmB,SAAX,IAAwB,QAAQnB,UAAU,CAACmB,SAAX,CAAsB,CAAtB,CAAhC,GACGnB,UAAU,CAACmB,SADd,GAEGC,SAL2C;AAM/CT,IAAAA,qBAAqB,EACpBX,UAAU,CAACa,KAAX,IAAoB,QAAQb,UAAU,CAACa,KAAX,CAAkB,CAAlB,CAA5B,GACGb,UAAU,CAACa,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;AACX5B,EAAAA,UAAU,EAAE;AACXsB,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;AAETC,IAAAA,KAAK,EAAE,IAFE;AAGTC,IAAAA,SAAS,EAAE,KAHF;AAITxB,IAAAA,KAAK,EAAE;AACNyB,MAAAA,+BAA+B,EAAE,IAD3B;AAENC,MAAAA,SAAS,EAAE,IAFL;AAGNC,MAAAA,6BAA6B,EAAE;AAC9BzB,QAAAA,UAAU,EAAE,IADkB;AAE9BD,QAAAA,IAAI,EAAE;AAFwB;AAHzB,KAJE;AAYT2B,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;AACrBzC,MAAAA,MAAM,EAAE,IADa;AAErBgC,MAAAA,+BAA+B,EAAE,IAFZ;AAGrBE,MAAAA,6BAA6B,EAAE;AAC9BlC,QAAAA,MAAM,EAAE;AADsB;AAHV,KA3Bb;AAkCT0C,IAAAA,sBAAsB,EAAE;AAlCf,GA/CC;;AAmFXC,EAAAA,IAAI,OAA8B;AAAA;;AAAA,QAA5B;AAAEjD,MAAAA,UAAF;AAAckD,MAAAA;AAAd,KAA4B;AACjC,UAAM;AAAER,MAAAA,QAAF;AAAYb,MAAAA,UAAZ;AAAwBC,MAAAA,GAAxB;AAA6B1B,MAAAA,KAA7B;AAAoCU,MAAAA,IAApC;AAA0Ca,MAAAA,KAA1C;AAAiDL,MAAAA,GAAjD;AAAsDW,MAAAA;AAAtD,QACLjC,UADD;;AAGA,QAAK,CAAEc,IAAP,EAAc;AACb,aAAO,IAAP;AACA;;AAED,UAAMqC,WAAW,GAAG3D,yBAAyB,CAAEQ,UAAF,CAA7C;AACA,UAAMoD,UAAU,GAAG1D,wBAAwB,CAAEM,UAAF,CAA3C;AACA,UAAMqD,YAAY,GAAGzD,0BAA0B,CAAEI,UAAF,CAA/C;AACA,UAAMsD,aAAa,GAAGpE,UAAU,CAC/B,uBAD+B,EAE/BkE,UAAU,CAACF,SAFoB,EAG/BC,WAAW,CAACD,SAHmB,EAI/B;AACC;AACA;AACA,0BAAoB,CAAA9C,KAAK,SAAL,IAAAA,KAAK,WAAL,6BAAAA,KAAK,CAAEC,MAAP,gEAAeC,MAAf,MAA0B;AAH/C,KAJ+B,CAAhC;AAUA,UAAMiD,WAAW,GAAG,EACnB,GAAGJ,WAAW,CAAC/C,KADI;AAEnB,SAAGgD,UAAU,CAAChD,KAFK;AAGnB,SAAGiD,YAAY,CAACjD;AAHG,KAApB,CArBiC,CA2BjC;AACA;AACA;;AAEA,UAAMoD,cAAc,GAAGtE,UAAU,CAAEgE,SAAF,EAAa;AAC7C,OAAG,2CAA2CjB,KAAO,EAArD,GAA0DA,KADb;AAE7C,OAAG,sBAAH,GAA4BS,QAAQ,KAAItC,KAAJ,aAAIA,KAAJ,4CAAIA,KAAK,CAAEqC,UAAX,sDAAI,kBAAmBC,QAAvB;AAFS,KAAb,CAAjC;AAKA,WACC,qBAAUrD,aAAa,CAAC4D,IAAd,CAAoB;AAAEC,MAAAA,SAAS,EAAEM;AAAb,KAApB,CAAV,EACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGF,aAFb;AAGC,MAAA,IAAI,EAAGhC,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG4B,WALT;AAMC,MAAA,KAAK,EAAGzC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA;;AArIU,CAAZ;AAwIA,MAAM2B,GAAG,GAAG;AACXzD,EAAAA,UAAU,EAAE;AACXsB,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;AAETC,IAAAA,KAAK,EAAE,IAFE;AAGTC,IAAAA,SAAS,EAAE,KAHF;AAITxB,IAAAA,KAAK,EAAE;AACNyB,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;AACrBzC,MAAAA,MAAM,EAAE,IADa;AAErBgC,MAAAA,+BAA+B,EAAE;AAFZ,KApBb;AAwBTU,IAAAA,sBAAsB,EAAE;AAxBf,GA/CC;;AAyEXC,EAAAA,IAAI,QAA8B;AAAA;;AAAA,QAA5B;AAAEjD,MAAAA,UAAF;AAAckD,MAAAA;AAAd,KAA4B;AACjC,UAAM;AAAER,MAAAA,QAAF;AAAYb,MAAAA,UAAZ;AAAwBC,MAAAA,GAAxB;AAA6B1B,MAAAA,KAA7B;AAAoCU,MAAAA,IAApC;AAA0Ca,MAAAA,KAA1C;AAAiDL,MAAAA,GAAjD;AAAsDW,MAAAA;AAAtD,QACLjC,UADD;;AAGA,QAAK,CAAEc,IAAP,EAAc;AACb,aAAO,IAAP;AACA;;AAED,UAAMqC,WAAW,GAAG3D,yBAAyB,CAAEQ,UAAF,CAA7C;AACA,UAAMoD,UAAU,GAAG1D,wBAAwB,CAAEM,UAAF,CAA3C;AACA,UAAMqD,YAAY,GAAGzD,0BAA0B,CAAEI,UAAF,CAA/C;AACA,UAAMsD,aAAa,GAAGpE,UAAU,CAC/B,uBAD+B,EAE/BkE,UAAU,CAACF,SAFoB,EAG/BC,WAAW,CAACD,SAHmB,EAI/B;AACC;AACA;AACA,0BAAoB,CAAA9C,KAAK,SAAL,IAAAA,KAAK,WAAL,8BAAAA,KAAK,CAAEC,MAAP,kEAAeC,MAAf,MAA0B;AAH/C,KAJ+B,CAAhC;AAUA,UAAMiD,WAAW,GAAG,EACnB,GAAGJ,WAAW,CAAC/C,KADI;AAEnB,SAAGgD,UAAU,CAAChD,KAFK;AAGnB,SAAGiD,YAAY,CAACjD;AAHG,KAApB,CArBiC,CA2BjC;AACA;AACA;;AAEA,UAAMoD,cAAc,GAAGtE,UAAU,CAAEgE,SAAF,EAAa;AAC7C,OAAG,2CAA2CjB,KAAO,EAArD,GAA0DA,KADb;AAE7C,OAAG,sBAAH,GAA4BS,QAAQ,KAAItC,KAAJ,aAAIA,KAAJ,6CAAIA,KAAK,CAAEqC,UAAX,uDAAI,mBAAmBC,QAAvB;AAFS,KAAb,CAAjC;AAKA,WACC,qBAAUrD,aAAa,CAAC4D,IAAd,CAAoB;AAAEC,MAAAA,SAAS,EAAEM;AAAb,KAApB,CAAV,EACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGF,aAFb;AAGC,MAAA,IAAI,EAAGhC,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG4B,WALT;AAMC,MAAA,KAAK,EAAGzC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA,GA3HU;;AA4HX4B,EAAAA,OAAO,EAAE5D,iBA5HE;;AA6HX6D,EAAAA,UAAU,QAAc;AAAA;;AAAA,QAAZ;AAAEvD,MAAAA;AAAF,KAAY;AACvB,WAAOA,KAAP,aAAOA,KAAP,6CAAOA,KAAK,CAAEqC,UAAd,uDAAO,mBAAmBmB,UAA1B;AACA;;AA/HU,CAAZ;AAkIA,MAAMC,UAAU,GAAG,CAClBjC,GADkB,EAElB6B,GAFkB,EAGlB;AACCvB,EAAAA,QAAQ,EAAE;AACTC,IAAAA,MAAM,EAAE,IADC;AAETC,IAAAA,KAAK,EAAE,IAFE;AAGTC,IAAAA,SAAS,EAAE,KAHF;AAITxB,IAAAA,KAAK,EAAE;AACNyB,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;AAgBChD,EAAAA,UAAU,EAAE,EACX,GAAGqB,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;AAAEvD,MAAAA;AAAF,KAAY;AACvB,WAAO,QAAOA,KAAP,aAAOA,KAAP,yCAAOA,KAAK,CAAEC,MAAd,mDAAO,eAAeC,MAAtB,MAAiC,QAAxC;AACA,GAhDF;;AAiDC2C,EAAAA,IAAI,QAA8B;AAAA;;AAAA,QAA5B;AAAEjD,MAAAA,UAAF;AAAckD,MAAAA;AAAd,KAA4B;AACjC,UAAM;AACLR,MAAAA,QADK;AAELb,MAAAA,UAFK;AAGLC,MAAAA,GAHK;AAIL1B,MAAAA,KAJK;AAKLU,MAAAA,IALK;AAMLa,MAAAA,KANK;AAOLL,MAAAA,GAPK;AAQLW,MAAAA;AARK,QASFjC,UATJ;;AAWA,QAAK,CAAEc,IAAP,EAAc;AACb,aAAO,IAAP;AACA;;AAED,UAAMb,YAAY,GAAGG,KAAH,aAAGA,KAAH,yCAAGA,KAAK,CAAEC,MAAV,mDAAG,eAAeC,MAApC;AACA,UAAM8C,UAAU,GAAG1D,wBAAwB,CAAEM,UAAF,CAA3C;AACA,UAAMsD,aAAa,GAAGpE,UAAU,CAC/B,uBAD+B,EAE/BkE,UAAU,CAACF,SAFoB,EAG/B;AACC,0BAAoB,CAAA9C,KAAK,SAAL,IAAAA,KAAK,WAAL,8BAAAA,KAAK,CAAEC,MAAP,kEAAeC,MAAf,MAA0B;AAD/C,KAH+B,CAAhC;AAOA,UAAMiD,WAAW,GAAG;AACnBtD,MAAAA,YAAY,EAAEA,YAAY,GAAGA,YAAH,GAAkBmB,SADzB;AAEnB,SAAGgC,UAAU,CAAChD;AAFK,KAApB,CAzBiC,CA8BjC;AACA;AACA;;AAEA,UAAMoD,cAAc,GAAGtE,UAAU,CAAEgE,SAAF,EAAa;AAC7C,OAAG,2CAA2CjB,KAAO,EAArD,GAA0DA,KADb;AAE7C,OAAG,sBAAH,GACCS,QAAQ,KAAItC,KAAJ,aAAIA,KAAJ,6CAAIA,KAAK,CAAEqC,UAAX,uDAAI,mBAAmBC,QAAvB;AAHoC,KAAb,CAAjC;AAMA,WACC,qBAAUrD,aAAa,CAAC4D,IAAd,CAAoB;AAAEC,MAAAA,SAAS,EAAEM;AAAb,KAApB,CAAV,EACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGF,aAFb;AAGC,MAAA,IAAI,EAAGhC,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG4B,WALT;AAMC,MAAA,KAAK,EAAGzC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA,GAvGF;;AAwGC4B,EAAAA,OAAO,EAAE7D,OAAO,CAAEC,iBAAF,EAAqBC,mBAArB;AAxGjB,CAHkB,EA6GlB;AACCmC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,MAAM,EAAE,IADC;AAETC,IAAAA,KAAK,EAAE,IAFE;AAGTC,IAAAA,SAAS,EAAE,KAHF;AAITxB,IAAAA,KAAK,EAAE;AACNyB,MAAAA,+BAA+B,EAAE;AAD3B,KAJE;AAOTM,IAAAA,QAAQ,EAAE,KAPD;AAQTI,IAAAA,sBAAsB,EAAE;AARf,GADX;AAWChD,EAAAA,UAAU,EAAE,EACX,GAAGqB,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;AAiBXtB,IAAAA,YAAY,EAAE;AACbsB,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;AA6BXnB,IAAAA,KAAK,EAAE;AACNmB,MAAAA,IAAI,EAAE;AADA,KA7BI;AAgCXU,IAAAA,KAAK,EAAE;AACNV,MAAAA,IAAI,EAAE;AADA;AAhCI,GAXb;;AA+CC0B,EAAAA,IAAI,QAA8B;AAAA,QAA5B;AAAEjD,MAAAA,UAAF;AAAckD,MAAAA;AAAd,KAA4B;AACjC,UAAM;AAAEjD,MAAAA,YAAF;AAAgB4B,MAAAA,UAAhB;AAA4BC,MAAAA,GAA5B;AAAiChB,MAAAA,IAAjC;AAAuCa,MAAAA,KAAvC;AAA8CL,MAAAA,GAA9C;AAAmDW,MAAAA;AAAnD,QACLjC,UADD;AAEA,UAAMoD,UAAU,GAAG1D,wBAAwB,CAAEM,UAAF,CAA3C;AACA,UAAMsD,aAAa,GAAGpE,UAAU,CAC/B,uBAD+B,EAE/BkE,UAAU,CAACF,SAFoB,EAG/B;AACC,0BAAoBjD,YAAY,KAAK;AADtC,KAH+B,CAAhC;AAOA,UAAMsD,WAAW,GAAG;AACnBtD,MAAAA,YAAY,EAAEA,YAAY,GAAGA,YAAY,GAAG,IAAlB,GAAyBmB,SADhC;AAEnB,SAAGgC,UAAU,CAAChD;AAFK,KAApB,CAXiC,CAgBjC;AACA;AACA;;AAEA,UAAMoD,cAAc,GAAGtE,UAAU,CAAEgE,SAAF,EAAa;AAC7C,OAAG,2CAA2CjB,KAAO,EAArD,GAA0DA;AADb,KAAb,CAAjC;AAIA,WACC,qBAAU5C,aAAa,CAAC4D,IAAd,CAAoB;AAAEC,MAAAA,SAAS,EAAEM;AAAb,KAApB,CAAV,EACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGF,aAFb;AAGC,MAAA,IAAI,EAAGhC,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG4B,WALT;AAMC,MAAA,KAAK,EAAGzC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA,GArFF;;AAsFC4B,EAAAA,OAAO,EAAE7D,OAAO,CAAEC,iBAAF,EAAqBC,mBAArB;AAtFjB,CA7GkB,EAqMlB;AACCmC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,MAAM,EAAE,IADC;AAETC,IAAAA,KAAK,EAAE,IAFE;AAGTC,IAAAA,SAAS,EAAE,KAHF;AAITxB,IAAAA,KAAK,EAAE;AACNyB,MAAAA,+BAA+B,EAAE;AAD3B,KAJE;AAOTM,IAAAA,QAAQ,EAAE,KAPD;AAQTI,IAAAA,sBAAsB,EAAE;AARf,GADX;AAWChD,EAAAA,UAAU,EAAE,EACX,GAAGqB,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;AAiBXtB,IAAAA,YAAY,EAAE;AACbsB,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;AA6BXnB,IAAAA,KAAK,EAAE;AACNmB,MAAAA,IAAI,EAAE;AADA,KA7BI;AAgCXU,IAAAA,KAAK,EAAE;AACNV,MAAAA,IAAI,EAAE;AADA;AAhCI,GAXb;;AA+CC0B,EAAAA,IAAI,QAA8B;AAAA,QAA5B;AAAEjD,MAAAA,UAAF;AAAckD,MAAAA;AAAd,KAA4B;AACjC,UAAM;AAAEjD,MAAAA,YAAF;AAAgB4B,MAAAA,UAAhB;AAA4BC,MAAAA,GAA5B;AAAiChB,MAAAA,IAAjC;AAAuCa,MAAAA,KAAvC;AAA8CL,MAAAA,GAA9C;AAAmDW,MAAAA;AAAnD,QACLjC,UADD;AAEA,UAAMoD,UAAU,GAAG1D,wBAAwB,CAAEM,UAAF,CAA3C;AACA,UAAMsD,aAAa,GAAGpE,UAAU,CAC/B,uBAD+B,EAE/BkE,UAAU,CAACF,SAFoB,EAG/B;AACC,0BAAoBjD,YAAY,KAAK;AADtC,KAH+B,CAAhC;AAOA,UAAMsD,WAAW,GAAG;AACnBtD,MAAAA,YAAY,EAAEA,YAAY,GAAGA,YAAY,GAAG,IAAlB,GAAyBmB,SADhC;AAEnB,SAAGgC,UAAU,CAAChD;AAFK,KAApB,CAXiC,CAgBjC;AACA;AACA;;AAEA,UAAMoD,cAAc,GAAGtE,UAAU,CAAEgE,SAAF,EAAa;AAC7C,OAAG,2CAA2CjB,KAAO,EAArD,GAA0DA;AADb,KAAb,CAAjC;AAIA,WACC,qBAAU5C,aAAa,CAAC4D,IAAd,CAAoB;AAAEC,MAAAA,SAAS,EAAEM;AAAb,KAApB,CAAV,EACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGF,aAFb;AAGC,MAAA,IAAI,EAAGhC,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG4B,WALT;AAMC,MAAA,KAAK,EAAGzC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA,GArFF;;AAsFC4B,EAAAA,OAAO,EAAE7D,OAAO,CAAEC,iBAAF,EAAqBC,mBAArB;AAtFjB,CArMkB,EA6RlB;AACCmC,EAAAA,QAAQ,EAAE;AACTE,IAAAA,KAAK,EAAE,IADE;AAETC,IAAAA,SAAS,EAAE,KAFF;AAGTxB,IAAAA,KAAK,EAAE;AAAE0B,MAAAA,SAAS,EAAE;AAAb;AAHE,GADX;AAMCvC,EAAAA,UAAU,EAAE,EACX,GAAGqB,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;AAiBXtB,IAAAA,YAAY,EAAE;AACbsB,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;AA6BXnB,IAAAA,KAAK,EAAE;AACNmB,MAAAA,IAAI,EAAE;AADA;AA7BI,GANb;;AAuCC0B,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAEjD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAEC,MAAAA,YAAF;AAAgB4B,MAAAA,UAAhB;AAA4BC,MAAAA,GAA5B;AAAiChB,MAAAA,IAAjC;AAAuCa,MAAAA,KAAvC;AAA8CL,MAAAA;AAA9C,QACLtB,UADD;AAEA,UAAMsD,aAAa,GAAGpE,UAAU,CAAE,uBAAF,EAA2B;AAC1D,0BAAoBe,YAAY,KAAK;AADqB,KAA3B,CAAhC;AAGA,UAAMsD,WAAW,GAAG;AACnBtD,MAAAA,YAAY,EAAEA,YAAY,GAAGA,YAAY,GAAG,IAAlB,GAAyBmB;AADhC,KAApB;AAIA,WACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGkC,aAFb;AAGC,MAAA,IAAI,EAAGhC,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG4B,WALT;AAMC,MAAA,KAAK,EAAGzC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD;AAYA,GA7DF;;AA8DC4B,EAAAA,OAAO,EAAE3D;AA9DV,CA7RkB,EA6VlB;AACCmC,EAAAA,QAAQ,EAAE;AACTE,IAAAA,KAAK,EAAE,IADE;AAETC,IAAAA,SAAS,EAAE;AAFF,GADX;AAKCrC,EAAAA,UAAU,EAAE,EACX,GAAGqB,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;AAiBXtB,IAAAA,YAAY,EAAE;AACbsB,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,EAAI3D,UAAF,IACX,CAAC,CAAEA,UAAU,CAACU,eAAd,IACA,CAAC,CAAEV,UAAU,CAACW,qBADd,IAEA,CAAC,CAAEX,UAAU,CAACY,cA/ChB;AAgDC8C,EAAAA,OAAO,EAAE7D,OAAO,CACfE,mBADe,EAEfU,+BAFe,CAhDjB;;AAoDCwC,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAEjD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLgC,MAAAA,eADK;AAEL/B,MAAAA,YAFK;AAGLU,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,QAaFtB,UAbJ;AAeA,UAAM8D,SAAS,GAAG1E,iBAAiB,CAAE,OAAF,EAAW+B,SAAX,CAAnC;AACA,UAAM4C,eAAe,GACpB,CAAEnD,cAAF,IACAxB,iBAAiB,CAAE,kBAAF,EAAsB4C,eAAtB,CAFlB;;AAGA,UAAMgC,aAAa,GAAG1E,8BAA8B,CAAE0B,QAAF,CAApD;;AAEA,UAAMsC,aAAa,GAAGpE,UAAU,CAAE,uBAAF,EAA2B;AAC1D,wBAAkBiC,SAAS,IAAIT,eAD2B;AAE1D,OAAEoD,SAAF,GAAeA,SAF2C;AAG1D,wBACC9B,eAAe,IACfrB,qBADA,IAEAC,cAFA,IAGAI,QAPyD;AAQ1D,OAAE+C,eAAF,GAAqBA,eARqC;AAS1D,0BAAoB9D,YAAY,KAAK,CATqB;AAU1D,OAAE+D,aAAF,GAAmBA;AAVuC,KAA3B,CAAhC;AAaA,UAAMT,WAAW,GAAG;AACnBxC,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;AAOnBT,MAAAA,YAAY,EAAEA,YAAY,GAAGA,YAAY,GAAG,IAAlB,GAAyBmB;AAPhC,KAApB,CAnCsB,CA6CtB;AACA;AACA;;AAEA,WACC,2BACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGkC,aAFb;AAGC,MAAA,IAAI,EAAGhC,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG4B,WALT;AAMC,MAAA,KAAK,EAAGzC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA;;AAnHF,CA7VkB,EAkdlB;AACC9B,EAAAA,UAAU,EAAE,EACX,GAAGqB,eADQ;AAEXe,IAAAA,KAAK,EAAE;AACNb,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,CAACwB,SAAV,IACAxB,SAAS,CAACwB,SAAV,CAAoBgB,QAApB,CAA8B,kBAA9B,CAFD;AAIA,GAxCF;;AAyCCR,EAAAA,OAAO,CAAE1D,UAAF,EAAe;AACrB,QAAImE,YAAY,GAAGnE,UAAU,CAACkD,SAA9B;;AACA,QAAKiB,YAAL,EAAoB;AACnBA,MAAAA,YAAY,GAAGA,YAAY,CACzBC,OADa,CACJ,uBADI,EACqB,EADrB,EAEbC,IAFa,EAAf;AAGA;;AACD,WAAOtE,mBAAmB,CACzBU,+BAA+B,CAAE,EAChC,GAAGT,UAD6B;AAEhCkD,MAAAA,SAAS,EAAEiB,YAAY,GAAGA,YAAH,GAAkB/C,SAFT;AAGhCnB,MAAAA,YAAY,EAAE;AAHkB,KAAF,CADN,CAA1B;AAOA,GAvDF;;AAwDCgD,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAEjD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLgC,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,QAUFtB,UAVJ;AAYA,UAAM8D,SAAS,GAAG1E,iBAAiB,CAAE,OAAF,EAAW+B,SAAX,CAAnC;AACA,UAAM4C,eAAe,GAAG3E,iBAAiB,CACxC,kBADwC,EAExC4C,eAFwC,CAAzC;AAKA,UAAMsB,aAAa,GAAGpE,UAAU,CAAE,uBAAF,EAA2B;AAC1D,wBAAkBiC,SAAS,IAAIT,eAD2B;AAE1D,OAAEoD,SAAF,GAAeA,SAF2C;AAG1D,wBAAkB9B,eAAe,IAAIrB,qBAHqB;AAI1D,OAAEoD,eAAF,GAAqBA;AAJqC,KAA3B,CAAhC;AAOA,UAAMR,WAAW,GAAG;AACnBvB,MAAAA,eAAe,EAAE+B,eAAe,GAC7B3C,SAD6B,GAE7BT,qBAHgB;AAInBE,MAAAA,KAAK,EAAEiD,SAAS,GAAG1C,SAAH,GAAeV;AAJZ,KAApB;AAOA,WACC,2BACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAG4C,aAFb;AAGC,MAAA,IAAI,EAAGhC,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG4B,WALT;AAMC,MAAA,KAAK,EAAGzC,IANT;AAOC,MAAA,MAAM,EAAGe,UAPV;AAQC,MAAA,GAAG,EAAGC;AARP,MADD,CADD;AAcA;;AAvGF,CAldkB,EA2jBlB;AACC9B,EAAAA,UAAU,EAAE,EACX,GAAGqB,eADQ;AAEXe,IAAAA,KAAK,EAAE;AACNb,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;AAoBCmC,EAAAA,OAAO,EAAExC,kBApBV;;AAqBC+B,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAEjD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLsB,MAAAA,GADK;AAELR,MAAAA,IAFK;AAGLa,MAAAA,KAHK;AAILK,MAAAA,eAJK;AAKLb,MAAAA,SALK;AAMLR,MAAAA,qBANK;AAOLD,MAAAA;AAPK,QAQFV,UARJ;AAUA,UAAM8D,SAAS,GAAG1E,iBAAiB,CAAE,OAAF,EAAW+B,SAAX,CAAnC;AACA,UAAM4C,eAAe,GAAG3E,iBAAiB,CACxC,kBADwC,EAExC4C,eAFwC,CAAzC;AAKA,UAAMsB,aAAa,GAAGpE,UAAU,CAAE,uBAAF,EAA2B;AAC1D,wBAAkBiC,SAAS,IAAIT,eAD2B;AAE1D,OAAEoD,SAAF,GAAeA,SAF2C;AAG1D,wBAAkB9B,eAAe,IAAIrB,qBAHqB;AAI1D,OAAEoD,eAAF,GAAqBA;AAJqC,KAA3B,CAAhC;AAOA,UAAMR,WAAW,GAAG;AACnBvB,MAAAA,eAAe,EAAE+B,eAAe,GAC7B3C,SAD6B,GAE7BT,qBAHgB;AAInBE,MAAAA,KAAK,EAAEiD,SAAS,GAAG1C,SAAH,GAAeV;AAJZ,KAApB;AAOA,WACC,2BACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAG4C,aAFb;AAGC,MAAA,IAAI,EAAGhC,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG4B,WALT;AAMC,MAAA,KAAK,EAAGzC;AANT,MADD,CADD;AAYA;;AAhEF,CA3jBkB,EA6nBlB;AACCd,EAAAA,UAAU,EAAE,EACX,GAAGqB,eADQ;AAEXR,IAAAA,KAAK,EAAE;AACNU,MAAAA,IAAI,EAAE;AADA,KAFI;AAKXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KALA;AAQXa,IAAAA,KAAK,EAAE;AACNb,MAAAA,IAAI,EAAE,QADA;AAEN0C,MAAAA,OAAO,EAAE;AAFH;AARI,GADb;;AAcChB,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAEjD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAEsB,MAAAA,GAAF;AAAOR,MAAAA,IAAP;AAAaa,MAAAA,KAAb;AAAoBS,MAAAA,KAApB;AAA2BvB,MAAAA,KAA3B;AAAkCM,MAAAA;AAAlC,QAAgDnB,UAAtD;AAEA,UAAMuD,WAAW,GAAG;AACnBvB,MAAAA,eAAe,EAAEnB,KADE;AAEnBA,MAAAA,KAAK,EAAEM;AAFY,KAApB;AAKA,UAAMmD,SAAS,GAAG,uBAAlB;AAEA,WACC;AAAK,MAAA,SAAS,EAAI,QAAQlC,KAAO;AAAjC,OACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,GADT;AAEC,MAAA,SAAS,EAAGkC,SAFb;AAGC,MAAA,IAAI,EAAGhD,GAHR;AAIC,MAAA,KAAK,EAAGK,KAJT;AAKC,MAAA,KAAK,EAAG4B,WALT;AAMC,MAAA,KAAK,EAAGzC;AANT,MADD,CADD;AAYA,GApCF;;AAqCC4C,EAAAA,OAAO,EAAExC;AArCV,CA7nBkB,EAoqBlB;AACClB,EAAAA,UAAU,EAAE,EACX,GAAGqB,eADQ;AAEXR,IAAAA,KAAK,EAAE;AACNU,MAAAA,IAAI,EAAE;AADA,KAFI;AAKXJ,IAAAA,SAAS,EAAE;AACVI,MAAAA,IAAI,EAAE;AADI,KALA;AAQXa,IAAAA,KAAK,EAAE;AACNb,MAAAA,IAAI,EAAE,QADA;AAEN0C,MAAAA,OAAO,EAAE;AAFH;AARI,GADb;;AAcChB,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAEjD,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAEsB,MAAAA,GAAF;AAAOR,MAAAA,IAAP;AAAaa,MAAAA,KAAb;AAAoBS,MAAAA,KAApB;AAA2BvB,MAAAA,KAA3B;AAAkCM,MAAAA;AAAlC,QAAgDnB,UAAtD;AAEA,WACC;AACC,MAAA,SAAS,EAAI,QAAQoC,KAAO,EAD7B;AAEC,MAAA,KAAK,EAAG;AAAEJ,QAAAA,eAAe,EAAEnB;AAAnB;AAFT,OAIC,cAAC,QAAD,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;;AAgCC4C,EAAAA,OAAO,EAAExC;AAhCV,CApqBkB,CAAnB;AAwsBA,eAAe2C,UAAf","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":["classnames","RichText","getColorClassName","useBlockProps","__experimentalGetGradientClass","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetSpacingClassesAndStyles","getSpacingClassesAndStyles","compose","migrateFontFamily","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","v10","migrate","isEligible","fontFamily","deprecated","textClass","backgroundClass","gradientClass","default","includes","newClassName","replace","trim","linkClass"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetGradientClass,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\n\nconst migrateBorderRadius = ( attributes ) => {\n\tconst { borderRadius, ...newAttributes } = attributes;\n\t// We have to check old property `borderRadius` and if\n\t// `styles.border.radius` is a `number`\n\tconst oldBorderRadius = [\n\t\tborderRadius,\n\t\tnewAttributes.style?.border?.radius,\n\t].find( ( possibleBorderRadius ) => {\n\t\treturn (\n\t\t\ttypeof possibleBorderRadius === 'number' &&\n\t\t\tpossibleBorderRadius !== 0\n\t\t);\n\t} );\n\tif ( ! oldBorderRadius ) {\n\t\treturn newAttributes;\n\t}\n\n\treturn {\n\t\t...newAttributes,\n\t\tstyle: {\n\t\t\t...newAttributes.style,\n\t\t\tborder: {\n\t\t\t\t...newAttributes.style?.border,\n\t\t\t\tradius: `${ oldBorderRadius }px`,\n\t\t\t},\n\t\t},\n\t};\n};\n\nfunction migrateAlign( attributes ) {\n\tif ( ! attributes.align ) {\n\t\treturn attributes;\n\t}\n\tconst { align, ...otherAttributes } = attributes;\n\treturn {\n\t\t...otherAttributes,\n\t\tclassName: classnames(\n\t\t\totherAttributes.className,\n\t\t\t`align${ attributes.align }`\n\t\t),\n\t};\n}\n\nconst migrateCustomColorsAndGradients = ( attributes ) => {\n\tif (\n\t\t! attributes.customTextColor &&\n\t\t! attributes.customBackgroundColor &&\n\t\t! attributes.customGradient\n\t) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\tif ( attributes.customGradient ) {\n\t\tstyle.color.gradient = attributes.customGradient;\n\t}\n\n\tconst {\n\t\tcustomTextColor,\n\t\tcustomBackgroundColor,\n\t\tcustomGradient,\n\t\t...restAttributes\n\t} = attributes;\n\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\nconst oldColorsMigration = ( attributes ) => {\n\tconst { color, textColor, ...restAttributes } = {\n\t\t...attributes,\n\t\tcustomTextColor:\n\t\t\tattributes.textColor && '#' === attributes.textColor[ 0 ]\n\t\t\t\t? attributes.textColor\n\t\t\t\t: undefined,\n\t\tcustomBackgroundColor:\n\t\t\tattributes.color && '#' === attributes.color[ 0 ]\n\t\t\t\t? attributes.color\n\t\t\t\t: undefined,\n\t};\n\treturn migrateCustomColorsAndGradients( restAttributes );\n};\n\nconst blockAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'href',\n\t},\n\ttitle: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'a',\n\t\tattribute: 'title',\n\t},\n\ttext: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'a',\n\t},\n};\n\nconst v11 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\t\tattributes;\n\n\t\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nconst v10 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'title',\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'a',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\talignWide: false,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t},\n\t\treusable: false,\n\t\tspacing: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tpadding: [ 'horizontal', 'vertical' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t},\n\t\t__experimentalSelector: '.wp-block-button__link',\n\t},\n\tsave( { attributes, className } ) {\n\t\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\t\tattributes;\n\n\t\tif ( ! text ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-button__link',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t\t// block support.\n\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t}\n\t\t);\n\t\tconst buttonStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t\t...spacingProps.style,\n\t\t};\n\n\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\tconst wrapperClasses = classnames( className, {\n\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateFontFamily,\n\tisEligible( { style } ) {\n\t\treturn style?.typography?.fontFamily;\n\t},\n};\n\nconst deprecated = [\n\tv11,\n\tv10,\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t\tgradients: true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tisEligible( { style } ) {\n\t\t\treturn typeof style?.border?.radius === 'number';\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst {\n\t\t\t\tfontSize,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\tstyle,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t} = attributes;\n\n\t\t\tif ( ! text ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst borderRadius = style?.border?.radius;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\tfontSize || style?.typography?.fontSize,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url, width } =\n\t\t\t\tattributes;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: {\n\t\t\t\t__experimentalSkipSerialization: true,\n\t\t\t},\n\t\t\treusable: false,\n\t\t\t__experimentalSelector: '.wp-block-button__link',\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes, className } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url, width } =\n\t\t\t\tattributes;\n\t\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\t\tconst buttonClasses = classnames(\n\t\t\t\t'wp-block-button__link',\n\t\t\t\tcolorProps.className,\n\t\t\t\t{\n\t\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t\t...colorProps.style,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\tconst wrapperClasses = classnames( className, {\n\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: compose( migrateFontFamily, migrateBorderRadius ),\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t\tcolor: { gradients: true },\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { borderRadius, linkTarget, rel, text, title, url } =\n\t\t\t\tattributes;\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t} );\n\t\t\tconst buttonStyle = {\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\thref={ url }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t\tmigrate: migrateBorderRadius,\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\talignWide: false,\n\t\t},\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tborderRadius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomGradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible: ( attributes ) =>\n\t\t\t!! attributes.customTextColor ||\n\t\t\t!! attributes.customBackgroundColor ||\n\t\t\t!! attributes.customGradient ||\n\t\t\t!! attributes.align,\n\t\tmigrate: compose(\n\t\t\tmigrateBorderRadius,\n\t\t\tmigrateCustomColorsAndGradients,\n\t\t\tmigrateAlign\n\t\t),\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tborderRadius,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tcustomGradient,\n\t\t\t\tlinkTarget,\n\t\t\t\tgradient,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass =\n\t\t\t\t! customGradient &&\n\t\t\t\tgetColorClassName( 'background-color', backgroundColor );\n\t\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background':\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tcustomBackgroundColor ||\n\t\t\t\t\tcustomGradient ||\n\t\t\t\t\tgradient,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'no-border-radius': borderRadius === 0,\n\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t\t\tbackgroundColor:\n\t\t\t\t\tbackgroundClass || customGradient || gradient\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\tborderRadius: borderRadius ? borderRadius + 'px' : undefined,\n\t\t\t};\n\n\t\t\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t\t\t// if it had already been assigned, for the sake of backward-compatibility.\n\t\t\t// A title will no longer be assigned for new or updated button block links.\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tplaceholder: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisEligible( attribute ) {\n\t\t\treturn (\n\t\t\t\tattribute.className &&\n\t\t\t\tattribute.className.includes( 'is-style-squared' )\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\tlet newClassName = attributes.className;\n\t\t\tif ( newClassName ) {\n\t\t\t\tnewClassName = newClassName\n\t\t\t\t\t.replace( /is-style-squared[\\s]?/, '' )\n\t\t\t\t\t.trim();\n\t\t\t}\n\t\t\treturn migrateBorderRadius(\n\t\t\t\tmigrateCustomColorsAndGradients( {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName: newClassName ? newClassName : undefined,\n\t\t\t\t\tborderRadius: 0,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t\ttext,\n\t\t\t\ttextColor,\n\t\t\t\ttitle,\n\t\t\t\turl,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\ttext,\n\t\t\t\ttitle,\n\t\t\t\tbackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst buttonClasses = classnames( 'wp-block-button__link', {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\tconst buttonStyle = {\n\t\t\t\tbackgroundColor: color,\n\t\t\t\tcolor: textColor,\n\t\t\t};\n\n\t\t\tconst linkClass = 'wp-block-button__link';\n\n\t\t\treturn (\n\t\t\t\t<div className={ `align${ align }` }>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcolor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'none',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, text, title, align, color, textColor } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ `align${ align }` }\n\t\t\t\t\tstyle={ { backgroundColor: color } }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tstyle={ { color: textColor } }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tmigrate: oldColorsMigration,\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -10,9 +10,9 @@ import classnames from 'classnames';
10
10
  */
11
11
 
12
12
  import { __ } from '@wordpress/i18n';
13
- import { useCallback, useEffect, useState, useRef } from '@wordpress/element';
13
+ import { useEffect, useState, useRef } from '@wordpress/element';
14
14
  import { Button, ButtonGroup, PanelBody, TextControl, ToolbarButton, Popover } from '@wordpress/components';
15
- import { BlockControls, InspectorControls, RichText, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalLinkControl as LinkControl, __experimentalGetElementClassName } from '@wordpress/block-editor';
15
+ import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalLinkControl as LinkControl, __experimentalGetElementClassName } from '@wordpress/block-editor';
16
16
  import { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';
17
17
  import { link, linkOff } from '@wordpress/icons';
18
18
  import { createBlock } from '@wordpress/blocks';
@@ -60,6 +60,7 @@ function ButtonEdit(props) {
60
60
  mergeBlocks
61
61
  } = props;
62
62
  const {
63
+ textAlign,
63
64
  linkTarget,
64
65
  placeholder,
65
66
  rel,
@@ -68,11 +69,6 @@ function ButtonEdit(props) {
68
69
  url,
69
70
  width
70
71
  } = attributes;
71
- const onSetLinkRel = useCallback(value => {
72
- setAttributes({
73
- rel: value
74
- });
75
- }, [setAttributes]);
76
72
 
77
73
  function onToggleOpenInNewTab(value) {
78
74
  const newLinkTarget = value ? '_blank' : undefined;
@@ -156,6 +152,7 @@ function ButtonEdit(props) {
156
152
  onChange: value => setButtonText(value),
157
153
  withoutInteractiveFormatting: true,
158
154
  className: classnames(className, 'wp-block-button__link', colorProps.className, borderProps.className, {
155
+ [`has-text-align-${textAlign}`]: textAlign,
159
156
  // For backwards compatibility add style that isn't
160
157
  // provided via block support.
161
158
  '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
@@ -172,7 +169,14 @@ function ButtonEdit(props) {
172
169
  identifier: "text"
173
170
  })), createElement(BlockControls, {
174
171
  group: "block"
175
- }, !isURLSet && createElement(ToolbarButton, {
172
+ }, createElement(AlignmentControl, {
173
+ value: textAlign,
174
+ onChange: nextAlign => {
175
+ setAttributes({
176
+ textAlign: nextAlign
177
+ });
178
+ }
179
+ }), !isURLSet && createElement(ToolbarButton, {
176
180
  name: "link",
177
181
  icon: link,
178
182
  title: __('Link'),
@@ -231,7 +235,9 @@ function ButtonEdit(props) {
231
235
  }, createElement(TextControl, {
232
236
  label: __('Link rel'),
233
237
  value: rel || '',
234
- onChange: onSetLinkRel
238
+ onChange: newRel => setAttributes({
239
+ rel: newRel
240
+ })
235
241
  })));
236
242
  }
237
243
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["classnames","__","useCallback","useEffect","useState","useRef","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","displayShortcut","isKeyboardEvent","link","linkOff","createBlock","useMergeRefs","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","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","newURL","newOpensInNewTab"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst { linkTarget, placeholder, rel, style, text, url, width } =\n\t\tattributes;\n\tconst onSetLinkRel = useCallback(\n\t\t( value ) => {\n\t\t\tsetAttributes( { rel: value } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tfunction onToggleOpenInNewTab( value ) {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel = rel;\n\t\tif ( newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t} else if ( ! newLinkTarget && rel === NEW_TAB_REL ) {\n\t\t\tupdatedRel = undefined;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t} );\n\t}\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === '_blank';\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\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":["classnames","__","useEffect","useState","useRef","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","displayShortcut","isKeyboardEvent","link","linkOff","createBlock","useMergeRefs","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","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","nextAlign","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"]}
@@ -15,7 +15,8 @@ import { useSelect, useDispatch } from '@wordpress/data';
15
15
  import { __, _x } from '@wordpress/i18n';
16
16
  import { RichText, InspectorControls, BlockControls, store as blockEditorStore, getColorObjectByAttributeValues, getGradientValueBySlug, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles } from '@wordpress/block-editor';
17
17
  import { PanelBody, ToolbarGroup, ToolbarButton, LinkSettingsNavigation, UnitControl, getValueAndUnit, BottomSheetSelectControl, CSS_UNITS, filterUnitsWithSettings, useMobileGlobalStylesColors } from '@wordpress/components';
18
- import { link } from '@wordpress/icons';
18
+ import { link } from '@wordpress/icons'; // eslint-disable-next-line no-restricted-imports
19
+
19
20
  import { store as editPostStore } from '@wordpress/edit-post';
20
21
  /**
21
22
  * Internal dependencies
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/edit.native.js"],"names":["View","AccessibilityInfo","Platform","Text","useCallback","useEffect","useState","useRef","useSelect","useDispatch","__","_x","RichText","InspectorControls","BlockControls","store","blockEditorStore","getColorObjectByAttributeValues","getGradientValueBySlug","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","PanelBody","ToolbarGroup","ToolbarButton","LinkSettingsNavigation","UnitControl","getValueAndUnit","BottomSheetSelectControl","CSS_UNITS","filterUnitsWithSettings","useMobileGlobalStylesColors","link","editPostStore","richTextStyle","styles","ColorBackground","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","ButtonEdit","props","isSelected","parentWidth","initialBorderRadius","attributes","style","border","radius","valueUnit","editorSidebarOpened","numOfButtons","select","isEditorSidebarOpened","getBlockCount","getBlockRootClientId","parentId","clientId","blockCount","currentIsEditorSidebarOpened","closeGeneralSidebar","maxWidth","setMaxWidth","isLinkSheetVisible","setIsLinkSheetVisible","isButtonFocused","setIsButtonFocused","placeholderTextWidth","setPlaceholderTextWidth","borderRadiusUnit","setBorderRadiusUnit","richTextRef","colors","gradients","onToggleButtonFocus","onSetMaxWidth","richText","current","OS","blur","isScreenReaderEnabled","then","enabled","focus","linkSettingsActions","onPress","onClearSettings","linkSettingsOptions","url","placeholder","autoFocus","autoFill","openInNewTab","linkRel","noFocusLinkSettingOptions","getBackgroundColor","backgroundColor","gradient","gradientValue","colorProps","colorObject","color","background","defaultButton","getTextColor","textColor","onChangeText","text","onChangeBorderRadius","newRadius","newStyle","getNewStyle","onChangeBorderRadiusUnit","newRadiusUnit","newBorderRadius","getBorderRadiusValue","radiusUnit","onShowLinkSettings","onHideLinkSettings","rel","linkTarget","onLayout","nativeEvent","layout","isParentWidthDidChange","marginRight","spacing","isParentWidthChanged","isWidthChanged","onRemove","onDeleteBlock","onReplace","onPlaceholderTextWidth","textWidth","lines","Math","min","onSetRef","ref","onUnstableOnFocus","onBlur","dismissSheet","getLinkSettings","isCompatibleWithSettings","getPlaceholderWidth","placeholderText","currentBorderRadius","defaultBorderRadius","valueAndUnit","Number","isInteger","parseInt","valueToConvert","parseFloat","mergeBlocks","buttonStyle","align","paddingTop","borderWidth","borderRadiusValue","borderRadius","buttonBorderRadiusValue","floor","outlineBorderRadius","minWidth","isFixedWidth","outLineStyles","outline","borderColor","textStyles","paddingLeft","paddingRight","placeholderTextColor","fontSize"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo, Platform, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\tstore as blockEditorStore,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n\tUnitControl,\n\tgetValueAndUnit,\n\tBottomSheetSelectControl,\n\tCSS_UNITS,\n\tfilterUnitsWithSettings,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport { link } from '@wordpress/icons';\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport richTextStyle from './rich-text.scss';\nimport styles from './editor.scss';\nimport ColorBackground from './color-background';\n\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUE = 50;\nconst INITIAL_MAX_WIDTH = 108;\nconst MIN_WIDTH = 40;\n// Map of the percentage width to pixel subtraction that make the buttons fit nicely into columns.\nconst MIN_WIDTH_MARGINS = {\n\t100: 0,\n\t75: styles.button75?.marginLeft,\n\t50: styles.button50?.marginLeft,\n\t25: styles.button25?.marginLeft,\n};\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tlet width = selectedWidth === newWidth ? undefined : newWidth;\n\t\tif ( newWidth === 'auto' ) {\n\t\t\twidth = undefined;\n\t\t}\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\tconst options = [\n\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t{ value: 25, label: '25%' },\n\t\t{ value: 50, label: '50%' },\n\t\t{ value: 75, label: '75%' },\n\t\t{ value: 100, label: '100%' },\n\t];\n\n\tif ( ! selectedWidth ) {\n\t\tselectedWidth = 'auto';\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width Settings' ) }>\n\t\t\t<BottomSheetSelectControl\n\t\t\t\tlabel={ __( 'Button width' ) }\n\t\t\t\tvalue={ selectedWidth }\n\t\t\t\tonChange={ handleChange }\n\t\t\t\toptions={ options }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst { isSelected, parentWidth } = props;\n\tconst initialBorderRadius = props?.attributes?.style?.border?.radius;\n\tconst { valueUnit = 'px' } = getValueAndUnit( initialBorderRadius ) || {};\n\n\tconst { editorSidebarOpened, numOfButtons } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorSidebarOpened } = select( editPostStore );\n\t\t\tconst { getBlockCount, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst blockCount = getBlockCount( parentId );\n\t\t\tconst currentIsEditorSidebarOpened = isEditorSidebarOpened();\n\n\t\t\treturn {\n\t\t\t\teditorSidebarOpened: isSelected && currentIsEditorSidebarOpened,\n\t\t\t\tnumOfButtons: blockCount,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst { closeGeneralSidebar } = useDispatch( editPostStore );\n\tconst [ maxWidth, setMaxWidth ] = useState( INITIAL_MAX_WIDTH );\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ isButtonFocused, setIsButtonFocused ] = useState( true );\n\tconst [ placeholderTextWidth, setPlaceholderTextWidth ] = useState( 0 );\n\tconst [ borderRadiusUnit, setBorderRadiusUnit ] = useState( valueUnit );\n\n\tconst richTextRef = useRef();\n\tconst colors = useMobileGlobalStylesColors();\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\tonToggleButtonFocus( true );\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tonSetMaxWidth( null, true );\n\t}, [ parentWidth ] );\n\n\tuseEffect( () => {\n\t\t// Blur `RichText` on Android when link settings sheet or button settings sheet is opened,\n\t\t// to avoid flashing caret after closing one of them\n\t\tconst richText = richTextRef?.current;\n\t\tif ( Platform.OS === 'android' && richText ) {\n\t\t\tif ( editorSidebarOpened || isLinkSheetVisible ) {\n\t\t\t\trichText.blur();\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t} else {\n\t\t\t\tonToggleButtonFocus( true );\n\t\t\t}\n\t\t}\n\t}, [ editorSidebarOpened, isLinkSheetVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( richTextRef?.current ) {\n\t\t\tif ( ! isSelected && isButtonFocused ) {\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t}\n\n\t\t\tif ( isSelected && ! isButtonFocused ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\tif ( enabled ) {\n\t\t\t\t\t\tonToggleButtonFocus( true );\n\t\t\t\t\t\trichTextRef?.current.focus();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [ isSelected, isButtonFocused ] );\n\n\tconst linkSettingsActions = [\n\t\t{\n\t\t\tlabel: __( 'Remove link' ),\n\t\t\tonPress: onClearSettings,\n\t\t},\n\t];\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: __( 'Button Link URL' ),\n\t\t\tplaceholder: __( 'Add URL' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: false,\n\t\t},\n\t\topenInNewTab: {\n\t\t\tlabel: __( 'Open in new tab' ),\n\t\t},\n\t\tlinkRel: {\n\t\t\tlabel: __( 'Link Rel' ),\n\t\t\tplaceholder: _x( 'None', 'Link rel attribute value placeholder' ),\n\t\t},\n\t};\n\n\tconst noFocusLinkSettingOptions = {\n\t\t...linkSettingsOptions,\n\t\turl: {\n\t\t\t...linkSettingsOptions.url,\n\t\t\tautoFocus: false,\n\t\t},\n\t};\n\n\tfunction getBackgroundColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst { backgroundColor, gradient } = attributes;\n\n\t\t// Return named gradient value if available.\n\t\tconst gradientValue = getGradientValueBySlug( gradients, gradient );\n\n\t\tif ( gradientValue ) {\n\t\t\treturn gradientValue;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.backgroundColor ||\n\t\t\tcolorProps.style?.background ||\n\t\t\tstyle?.backgroundColor ||\n\t\t\tstyles.defaultButton.backgroundColor\n\t\t);\n\t}\n\n\tfunction getTextColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tattributes.textColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.color ||\n\t\t\tstyle?.color ||\n\t\t\tstyles.defaultButton.color\n\t\t);\n\t}\n\n\tfunction onChangeText( value ) {\n\t\tconst { setAttributes } = props;\n\t\tsetAttributes( { text: value } );\n\t}\n\n\tfunction onChangeBorderRadius( newRadius ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newStyle = getNewStyle( style, newRadius, borderRadiusUnit );\n\n\t\tsetAttributes( { style: newStyle } );\n\t}\n\n\tfunction onChangeBorderRadiusUnit( newRadiusUnit ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newBorderRadius = getBorderRadiusValue(\n\t\t\tattributes?.style?.border?.radius\n\t\t);\n\t\tconst newStyle = getNewStyle( style, newBorderRadius, newRadiusUnit );\n\t\tsetAttributes( { style: newStyle } );\n\t\tsetBorderRadiusUnit( newRadiusUnit );\n\t}\n\n\tfunction getNewStyle( style, radius, radiusUnit ) {\n\t\treturn {\n\t\t\t...style,\n\t\t\tborder: {\n\t\t\t\t...style?.border,\n\t\t\t\tradius: `${ radius }${ radiusUnit }`, // Store the value with the unit so that it works as expected.\n\t\t\t},\n\t\t};\n\t}\n\n\tfunction onShowLinkSettings() {\n\t\tsetIsLinkSheetVisible( true );\n\t}\n\n\tfunction onHideLinkSettings() {\n\t\tsetIsLinkSheetVisible( false );\n\t}\n\n\tfunction onToggleButtonFocus( value ) {\n\t\tif ( value !== isButtonFocused ) {\n\t\t\tsetIsButtonFocused( value );\n\t\t}\n\t}\n\n\tfunction onClearSettings() {\n\t\tconst { setAttributes } = props;\n\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\trel: '',\n\t\t\tlinkTarget: '',\n\t\t} );\n\n\t\tonHideLinkSettings();\n\t}\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tonSetMaxWidth( width );\n\t}\n\n\tconst onSetMaxWidth = useCallback(\n\t\t( width, isParentWidthDidChange = false ) => {\n\t\t\tconst { marginRight: spacing } = styles.defaultButton;\n\n\t\t\tconst isParentWidthChanged = isParentWidthDidChange\n\t\t\t\t? isParentWidthDidChange\n\t\t\t\t: maxWidth !== parentWidth;\n\t\t\tconst isWidthChanged = maxWidth !== width;\n\n\t\t\tif ( parentWidth && ! width && isParentWidthChanged ) {\n\t\t\t\tsetMaxWidth( parentWidth - spacing );\n\t\t\t} else if ( ! parentWidth && width && isWidthChanged ) {\n\t\t\t\tsetMaxWidth( width - spacing );\n\t\t\t}\n\t\t},\n\t\t[ maxWidth, parentWidth ]\n\t);\n\n\tfunction onRemove() {\n\t\tconst { onDeleteBlock, onReplace } = props;\n\n\t\tif ( numOfButtons === 1 ) {\n\t\t\tonDeleteBlock();\n\t\t} else {\n\t\t\tonReplace( [] );\n\t\t}\n\t}\n\n\tfunction onPlaceholderTextWidth( { nativeEvent } ) {\n\t\tconst textWidth =\n\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\n\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\tsetPlaceholderTextWidth( Math.min( textWidth, maxWidth ) );\n\t\t}\n\t}\n\n\tconst onSetRef = useCallback(\n\t\t( ref ) => {\n\t\t\trichTextRef.current = ref;\n\t\t},\n\t\t[ richTextRef ]\n\t);\n\n\tconst onUnstableOnFocus = useCallback( () => {\n\t\tonToggleButtonFocus( true );\n\t}, [] );\n\n\tconst onBlur = useCallback( () => {\n\t\tonSetMaxWidth();\n\t}, [] );\n\n\tfunction dismissSheet() {\n\t\tonHideLinkSettings();\n\t\tcloseGeneralSidebar();\n\t}\n\n\tfunction getLinkSettings( isCompatibleWithSettings ) {\n\t\tconst { attributes, setAttributes } = props;\n\t\treturn (\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ attributes.url }\n\t\t\t\trel={ attributes.rel }\n\t\t\t\tlinkTarget={ attributes.linkTarget }\n\t\t\t\tonClose={ dismissSheet }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\twithBottomSheet={ ! isCompatibleWithSettings }\n\t\t\t\thasPicker\n\t\t\t\tactions={ linkSettingsActions }\n\t\t\t\toptions={\n\t\t\t\t\tisCompatibleWithSettings\n\t\t\t\t\t\t? linkSettingsOptions\n\t\t\t\t\t\t: noFocusLinkSettingOptions\n\t\t\t\t}\n\t\t\t\tshowIcon={ ! isCompatibleWithSettings }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\tfunction getPlaceholderWidth( placeholderText ) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ onPlaceholderTextWidth }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tfunction getBorderRadiusValue( currentBorderRadius, defaultBorderRadius ) {\n\t\tconst valueAndUnit = getValueAndUnit( currentBorderRadius );\n\t\tif ( Number.isInteger( parseInt( valueAndUnit?.valueToConvert ) ) ) {\n\t\t\treturn parseFloat( valueAndUnit.valueToConvert );\n\t\t}\n\t\treturn defaultBorderRadius;\n\t}\n\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tsetAttributes,\n\t\tstyle,\n\t} = props;\n\tconst {\n\t\tplaceholder,\n\t\ttext,\n\t\tstyle: buttonStyle,\n\t\turl,\n\t\talign = 'center',\n\t\twidth,\n\t} = attributes;\n\tconst { paddingTop: spacing, borderWidth } = styles.defaultButton;\n\n\tif ( parentWidth === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst currentBorderRadius = buttonStyle?.border?.radius;\n\tconst borderRadiusValue = getBorderRadiusValue(\n\t\tcurrentBorderRadius,\n\t\tstyles.defaultButton.borderRadius\n\t);\n\n\tconst buttonBorderRadiusValue =\n\t\tborderRadiusUnit === 'px' || borderRadiusUnit === '%'\n\t\t\t? borderRadiusValue\n\t\t\t: Math.floor( 14 * borderRadiusValue ); // Lets assume that the font size is set to 14px; TO get a nicer preview.\n\tconst outlineBorderRadius =\n\t\tbuttonBorderRadiusValue > 0\n\t\t\t? buttonBorderRadiusValue + spacing + borderWidth\n\t\t\t: 0;\n\n\t// To achieve proper expanding and shrinking `RichText` on iOS, there is a need to set a `minWidth`\n\t// value at least on 1 when `RichText` is focused or when is not focused, but `RichText` value is\n\t// different than empty string.\n\tlet minWidth =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? MIN_WIDTH\n\t\t\t: placeholderTextWidth;\n\tif ( width ) {\n\t\t// Set the width of the button.\n\t\tminWidth = Math.floor(\n\t\t\tmaxWidth * ( width / 100 ) - MIN_WIDTH_MARGINS[ width ]\n\t\t);\n\t}\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst placeholderText =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? ''\n\t\t\t: placeholder || __( 'Add text…' );\n\n\tconst backgroundColor = getBackgroundColor();\n\tconst textColor = getTextColor();\n\tconst isFixedWidth = !! width;\n\tconst outLineStyles = [\n\t\tstyles.outline,\n\t\t{\n\t\t\tborderRadius: outlineBorderRadius,\n\t\t\tborderColor: backgroundColor,\n\t\t},\n\t];\n\tconst textStyles = {\n\t\t...richTextStyle.richText,\n\t\tpaddingLeft: isFixedWidth ? 0 : richTextStyle.richText.paddingLeft,\n\t\tpaddingRight: isFixedWidth ? 0 : richTextStyle.richText.paddingRight,\n\t\tcolor: textColor,\n\t};\n\n\treturn (\n\t\t<View onLayout={ onLayout }>\n\t\t\t{ getPlaceholderWidth( placeholderText ) }\n\t\t\t<ColorBackground\n\t\t\t\tborderRadiusValue={ buttonBorderRadiusValue }\n\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t>\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<View pointerEvents=\"none\" style={ outLineStyles } />\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\tsetRef={ onSetRef }\n\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ onChangeText }\n\t\t\t\t\tstyle={ textStyles }\n\t\t\t\t\ttextAlign={ align }\n\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\tstyle?.color || styles.placeholderTextColor.color\n\t\t\t\t\t}\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\tminWidth={ minWidth } // The minimum Button size.\n\t\t\t\t\tmaxWidth={ isFixedWidth ? minWidth : maxWidth } // The width of the screen.\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tisSelected={ isButtonFocused }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tunstableOnFocus={ onUnstableOnFocus }\n\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\tselectionColor={ textColor }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tfontSize={ style?.fontSize }\n\t\t\t\t/>\n\t\t\t</ColorBackground>\n\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ __( 'Edit link' ) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onShowLinkSettings }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ getLinkSettings( false ) }\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Border Settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Border Radius' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tvalue={ borderRadiusValue }\n\t\t\t\t\t\t\t\tonChange={ onChangeBorderRadius }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeBorderRadiusUnit }\n\t\t\t\t\t\t\t\tunit={ borderRadiusUnit }\n\t\t\t\t\t\t\t\tunits={ filterUnitsWithSettings(\n\t\t\t\t\t\t\t\t\t[ 'px', 'em', 'rem' ],\n\t\t\t\t\t\t\t\t\tCSS_UNITS\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<WidthPanel\n\t\t\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t\t\t\t\t{ getLinkSettings( true ) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/edit.native.js"],"names":["View","AccessibilityInfo","Platform","Text","useCallback","useEffect","useState","useRef","useSelect","useDispatch","__","_x","RichText","InspectorControls","BlockControls","store","blockEditorStore","getColorObjectByAttributeValues","getGradientValueBySlug","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","PanelBody","ToolbarGroup","ToolbarButton","LinkSettingsNavigation","UnitControl","getValueAndUnit","BottomSheetSelectControl","CSS_UNITS","filterUnitsWithSettings","useMobileGlobalStylesColors","link","editPostStore","richTextStyle","styles","ColorBackground","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","ButtonEdit","props","isSelected","parentWidth","initialBorderRadius","attributes","style","border","radius","valueUnit","editorSidebarOpened","numOfButtons","select","isEditorSidebarOpened","getBlockCount","getBlockRootClientId","parentId","clientId","blockCount","currentIsEditorSidebarOpened","closeGeneralSidebar","maxWidth","setMaxWidth","isLinkSheetVisible","setIsLinkSheetVisible","isButtonFocused","setIsButtonFocused","placeholderTextWidth","setPlaceholderTextWidth","borderRadiusUnit","setBorderRadiusUnit","richTextRef","colors","gradients","onToggleButtonFocus","onSetMaxWidth","richText","current","OS","blur","isScreenReaderEnabled","then","enabled","focus","linkSettingsActions","onPress","onClearSettings","linkSettingsOptions","url","placeholder","autoFocus","autoFill","openInNewTab","linkRel","noFocusLinkSettingOptions","getBackgroundColor","backgroundColor","gradient","gradientValue","colorProps","colorObject","color","background","defaultButton","getTextColor","textColor","onChangeText","text","onChangeBorderRadius","newRadius","newStyle","getNewStyle","onChangeBorderRadiusUnit","newRadiusUnit","newBorderRadius","getBorderRadiusValue","radiusUnit","onShowLinkSettings","onHideLinkSettings","rel","linkTarget","onLayout","nativeEvent","layout","isParentWidthDidChange","marginRight","spacing","isParentWidthChanged","isWidthChanged","onRemove","onDeleteBlock","onReplace","onPlaceholderTextWidth","textWidth","lines","Math","min","onSetRef","ref","onUnstableOnFocus","onBlur","dismissSheet","getLinkSettings","isCompatibleWithSettings","getPlaceholderWidth","placeholderText","currentBorderRadius","defaultBorderRadius","valueAndUnit","Number","isInteger","parseInt","valueToConvert","parseFloat","mergeBlocks","buttonStyle","align","paddingTop","borderWidth","borderRadiusValue","borderRadius","buttonBorderRadiusValue","floor","outlineBorderRadius","minWidth","isFixedWidth","outLineStyles","outline","borderColor","textStyles","paddingLeft","paddingRight","placeholderTextColor","fontSize"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo, Platform, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\tstore as blockEditorStore,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n\tUnitControl,\n\tgetValueAndUnit,\n\tBottomSheetSelectControl,\n\tCSS_UNITS,\n\tfilterUnitsWithSettings,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport { link } from '@wordpress/icons';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport richTextStyle from './rich-text.scss';\nimport styles from './editor.scss';\nimport ColorBackground from './color-background';\n\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUE = 50;\nconst INITIAL_MAX_WIDTH = 108;\nconst MIN_WIDTH = 40;\n// Map of the percentage width to pixel subtraction that make the buttons fit nicely into columns.\nconst MIN_WIDTH_MARGINS = {\n\t100: 0,\n\t75: styles.button75?.marginLeft,\n\t50: styles.button50?.marginLeft,\n\t25: styles.button25?.marginLeft,\n};\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tlet width = selectedWidth === newWidth ? undefined : newWidth;\n\t\tif ( newWidth === 'auto' ) {\n\t\t\twidth = undefined;\n\t\t}\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\tconst options = [\n\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t{ value: 25, label: '25%' },\n\t\t{ value: 50, label: '50%' },\n\t\t{ value: 75, label: '75%' },\n\t\t{ value: 100, label: '100%' },\n\t];\n\n\tif ( ! selectedWidth ) {\n\t\tselectedWidth = 'auto';\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width Settings' ) }>\n\t\t\t<BottomSheetSelectControl\n\t\t\t\tlabel={ __( 'Button width' ) }\n\t\t\t\tvalue={ selectedWidth }\n\t\t\t\tonChange={ handleChange }\n\t\t\t\toptions={ options }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst { isSelected, parentWidth } = props;\n\tconst initialBorderRadius = props?.attributes?.style?.border?.radius;\n\tconst { valueUnit = 'px' } = getValueAndUnit( initialBorderRadius ) || {};\n\n\tconst { editorSidebarOpened, numOfButtons } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorSidebarOpened } = select( editPostStore );\n\t\t\tconst { getBlockCount, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst blockCount = getBlockCount( parentId );\n\t\t\tconst currentIsEditorSidebarOpened = isEditorSidebarOpened();\n\n\t\t\treturn {\n\t\t\t\teditorSidebarOpened: isSelected && currentIsEditorSidebarOpened,\n\t\t\t\tnumOfButtons: blockCount,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst { closeGeneralSidebar } = useDispatch( editPostStore );\n\tconst [ maxWidth, setMaxWidth ] = useState( INITIAL_MAX_WIDTH );\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ isButtonFocused, setIsButtonFocused ] = useState( true );\n\tconst [ placeholderTextWidth, setPlaceholderTextWidth ] = useState( 0 );\n\tconst [ borderRadiusUnit, setBorderRadiusUnit ] = useState( valueUnit );\n\n\tconst richTextRef = useRef();\n\tconst colors = useMobileGlobalStylesColors();\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\tonToggleButtonFocus( true );\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tonSetMaxWidth( null, true );\n\t}, [ parentWidth ] );\n\n\tuseEffect( () => {\n\t\t// Blur `RichText` on Android when link settings sheet or button settings sheet is opened,\n\t\t// to avoid flashing caret after closing one of them\n\t\tconst richText = richTextRef?.current;\n\t\tif ( Platform.OS === 'android' && richText ) {\n\t\t\tif ( editorSidebarOpened || isLinkSheetVisible ) {\n\t\t\t\trichText.blur();\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t} else {\n\t\t\t\tonToggleButtonFocus( true );\n\t\t\t}\n\t\t}\n\t}, [ editorSidebarOpened, isLinkSheetVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( richTextRef?.current ) {\n\t\t\tif ( ! isSelected && isButtonFocused ) {\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t}\n\n\t\t\tif ( isSelected && ! isButtonFocused ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\tif ( enabled ) {\n\t\t\t\t\t\tonToggleButtonFocus( true );\n\t\t\t\t\t\trichTextRef?.current.focus();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [ isSelected, isButtonFocused ] );\n\n\tconst linkSettingsActions = [\n\t\t{\n\t\t\tlabel: __( 'Remove link' ),\n\t\t\tonPress: onClearSettings,\n\t\t},\n\t];\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: __( 'Button Link URL' ),\n\t\t\tplaceholder: __( 'Add URL' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: false,\n\t\t},\n\t\topenInNewTab: {\n\t\t\tlabel: __( 'Open in new tab' ),\n\t\t},\n\t\tlinkRel: {\n\t\t\tlabel: __( 'Link Rel' ),\n\t\t\tplaceholder: _x( 'None', 'Link rel attribute value placeholder' ),\n\t\t},\n\t};\n\n\tconst noFocusLinkSettingOptions = {\n\t\t...linkSettingsOptions,\n\t\turl: {\n\t\t\t...linkSettingsOptions.url,\n\t\t\tautoFocus: false,\n\t\t},\n\t};\n\n\tfunction getBackgroundColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst { backgroundColor, gradient } = attributes;\n\n\t\t// Return named gradient value if available.\n\t\tconst gradientValue = getGradientValueBySlug( gradients, gradient );\n\n\t\tif ( gradientValue ) {\n\t\t\treturn gradientValue;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.backgroundColor ||\n\t\t\tcolorProps.style?.background ||\n\t\t\tstyle?.backgroundColor ||\n\t\t\tstyles.defaultButton.backgroundColor\n\t\t);\n\t}\n\n\tfunction getTextColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tattributes.textColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.color ||\n\t\t\tstyle?.color ||\n\t\t\tstyles.defaultButton.color\n\t\t);\n\t}\n\n\tfunction onChangeText( value ) {\n\t\tconst { setAttributes } = props;\n\t\tsetAttributes( { text: value } );\n\t}\n\n\tfunction onChangeBorderRadius( newRadius ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newStyle = getNewStyle( style, newRadius, borderRadiusUnit );\n\n\t\tsetAttributes( { style: newStyle } );\n\t}\n\n\tfunction onChangeBorderRadiusUnit( newRadiusUnit ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newBorderRadius = getBorderRadiusValue(\n\t\t\tattributes?.style?.border?.radius\n\t\t);\n\t\tconst newStyle = getNewStyle( style, newBorderRadius, newRadiusUnit );\n\t\tsetAttributes( { style: newStyle } );\n\t\tsetBorderRadiusUnit( newRadiusUnit );\n\t}\n\n\tfunction getNewStyle( style, radius, radiusUnit ) {\n\t\treturn {\n\t\t\t...style,\n\t\t\tborder: {\n\t\t\t\t...style?.border,\n\t\t\t\tradius: `${ radius }${ radiusUnit }`, // Store the value with the unit so that it works as expected.\n\t\t\t},\n\t\t};\n\t}\n\n\tfunction onShowLinkSettings() {\n\t\tsetIsLinkSheetVisible( true );\n\t}\n\n\tfunction onHideLinkSettings() {\n\t\tsetIsLinkSheetVisible( false );\n\t}\n\n\tfunction onToggleButtonFocus( value ) {\n\t\tif ( value !== isButtonFocused ) {\n\t\t\tsetIsButtonFocused( value );\n\t\t}\n\t}\n\n\tfunction onClearSettings() {\n\t\tconst { setAttributes } = props;\n\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\trel: '',\n\t\t\tlinkTarget: '',\n\t\t} );\n\n\t\tonHideLinkSettings();\n\t}\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tonSetMaxWidth( width );\n\t}\n\n\tconst onSetMaxWidth = useCallback(\n\t\t( width, isParentWidthDidChange = false ) => {\n\t\t\tconst { marginRight: spacing } = styles.defaultButton;\n\n\t\t\tconst isParentWidthChanged = isParentWidthDidChange\n\t\t\t\t? isParentWidthDidChange\n\t\t\t\t: maxWidth !== parentWidth;\n\t\t\tconst isWidthChanged = maxWidth !== width;\n\n\t\t\tif ( parentWidth && ! width && isParentWidthChanged ) {\n\t\t\t\tsetMaxWidth( parentWidth - spacing );\n\t\t\t} else if ( ! parentWidth && width && isWidthChanged ) {\n\t\t\t\tsetMaxWidth( width - spacing );\n\t\t\t}\n\t\t},\n\t\t[ maxWidth, parentWidth ]\n\t);\n\n\tfunction onRemove() {\n\t\tconst { onDeleteBlock, onReplace } = props;\n\n\t\tif ( numOfButtons === 1 ) {\n\t\t\tonDeleteBlock();\n\t\t} else {\n\t\t\tonReplace( [] );\n\t\t}\n\t}\n\n\tfunction onPlaceholderTextWidth( { nativeEvent } ) {\n\t\tconst textWidth =\n\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\n\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\tsetPlaceholderTextWidth( Math.min( textWidth, maxWidth ) );\n\t\t}\n\t}\n\n\tconst onSetRef = useCallback(\n\t\t( ref ) => {\n\t\t\trichTextRef.current = ref;\n\t\t},\n\t\t[ richTextRef ]\n\t);\n\n\tconst onUnstableOnFocus = useCallback( () => {\n\t\tonToggleButtonFocus( true );\n\t}, [] );\n\n\tconst onBlur = useCallback( () => {\n\t\tonSetMaxWidth();\n\t}, [] );\n\n\tfunction dismissSheet() {\n\t\tonHideLinkSettings();\n\t\tcloseGeneralSidebar();\n\t}\n\n\tfunction getLinkSettings( isCompatibleWithSettings ) {\n\t\tconst { attributes, setAttributes } = props;\n\t\treturn (\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ attributes.url }\n\t\t\t\trel={ attributes.rel }\n\t\t\t\tlinkTarget={ attributes.linkTarget }\n\t\t\t\tonClose={ dismissSheet }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\twithBottomSheet={ ! isCompatibleWithSettings }\n\t\t\t\thasPicker\n\t\t\t\tactions={ linkSettingsActions }\n\t\t\t\toptions={\n\t\t\t\t\tisCompatibleWithSettings\n\t\t\t\t\t\t? linkSettingsOptions\n\t\t\t\t\t\t: noFocusLinkSettingOptions\n\t\t\t\t}\n\t\t\t\tshowIcon={ ! isCompatibleWithSettings }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\tfunction getPlaceholderWidth( placeholderText ) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ onPlaceholderTextWidth }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tfunction getBorderRadiusValue( currentBorderRadius, defaultBorderRadius ) {\n\t\tconst valueAndUnit = getValueAndUnit( currentBorderRadius );\n\t\tif ( Number.isInteger( parseInt( valueAndUnit?.valueToConvert ) ) ) {\n\t\t\treturn parseFloat( valueAndUnit.valueToConvert );\n\t\t}\n\t\treturn defaultBorderRadius;\n\t}\n\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tsetAttributes,\n\t\tstyle,\n\t} = props;\n\tconst {\n\t\tplaceholder,\n\t\ttext,\n\t\tstyle: buttonStyle,\n\t\turl,\n\t\talign = 'center',\n\t\twidth,\n\t} = attributes;\n\tconst { paddingTop: spacing, borderWidth } = styles.defaultButton;\n\n\tif ( parentWidth === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst currentBorderRadius = buttonStyle?.border?.radius;\n\tconst borderRadiusValue = getBorderRadiusValue(\n\t\tcurrentBorderRadius,\n\t\tstyles.defaultButton.borderRadius\n\t);\n\n\tconst buttonBorderRadiusValue =\n\t\tborderRadiusUnit === 'px' || borderRadiusUnit === '%'\n\t\t\t? borderRadiusValue\n\t\t\t: Math.floor( 14 * borderRadiusValue ); // Lets assume that the font size is set to 14px; TO get a nicer preview.\n\tconst outlineBorderRadius =\n\t\tbuttonBorderRadiusValue > 0\n\t\t\t? buttonBorderRadiusValue + spacing + borderWidth\n\t\t\t: 0;\n\n\t// To achieve proper expanding and shrinking `RichText` on iOS, there is a need to set a `minWidth`\n\t// value at least on 1 when `RichText` is focused or when is not focused, but `RichText` value is\n\t// different than empty string.\n\tlet minWidth =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? MIN_WIDTH\n\t\t\t: placeholderTextWidth;\n\tif ( width ) {\n\t\t// Set the width of the button.\n\t\tminWidth = Math.floor(\n\t\t\tmaxWidth * ( width / 100 ) - MIN_WIDTH_MARGINS[ width ]\n\t\t);\n\t}\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst placeholderText =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? ''\n\t\t\t: placeholder || __( 'Add text…' );\n\n\tconst backgroundColor = getBackgroundColor();\n\tconst textColor = getTextColor();\n\tconst isFixedWidth = !! width;\n\tconst outLineStyles = [\n\t\tstyles.outline,\n\t\t{\n\t\t\tborderRadius: outlineBorderRadius,\n\t\t\tborderColor: backgroundColor,\n\t\t},\n\t];\n\tconst textStyles = {\n\t\t...richTextStyle.richText,\n\t\tpaddingLeft: isFixedWidth ? 0 : richTextStyle.richText.paddingLeft,\n\t\tpaddingRight: isFixedWidth ? 0 : richTextStyle.richText.paddingRight,\n\t\tcolor: textColor,\n\t};\n\n\treturn (\n\t\t<View onLayout={ onLayout }>\n\t\t\t{ getPlaceholderWidth( placeholderText ) }\n\t\t\t<ColorBackground\n\t\t\t\tborderRadiusValue={ buttonBorderRadiusValue }\n\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t>\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<View pointerEvents=\"none\" style={ outLineStyles } />\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\tsetRef={ onSetRef }\n\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ onChangeText }\n\t\t\t\t\tstyle={ textStyles }\n\t\t\t\t\ttextAlign={ align }\n\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\tstyle?.color || styles.placeholderTextColor.color\n\t\t\t\t\t}\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\tminWidth={ minWidth } // The minimum Button size.\n\t\t\t\t\tmaxWidth={ isFixedWidth ? minWidth : maxWidth } // The width of the screen.\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tisSelected={ isButtonFocused }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tunstableOnFocus={ onUnstableOnFocus }\n\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\tselectionColor={ textColor }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tfontSize={ style?.fontSize }\n\t\t\t\t/>\n\t\t\t</ColorBackground>\n\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ __( 'Edit link' ) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onShowLinkSettings }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ getLinkSettings( false ) }\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Border Settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Border Radius' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tvalue={ borderRadiusValue }\n\t\t\t\t\t\t\t\tonChange={ onChangeBorderRadius }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeBorderRadiusUnit }\n\t\t\t\t\t\t\t\tunit={ borderRadiusUnit }\n\t\t\t\t\t\t\t\tunits={ filterUnitsWithSettings(\n\t\t\t\t\t\t\t\t\t[ 'px', 'em', 'rem' ],\n\t\t\t\t\t\t\t\t\tCSS_UNITS\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<WidthPanel\n\t\t\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t\t\t\t\t{ getLinkSettings( true ) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default ButtonEdit;\n"]}