@wordpress/block-library 7.7.0 → 7.10.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 (847) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/audio/edit.js +1 -0
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/index.js +6 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/audio/save.js +2 -1
  7. package/build/audio/save.js.map +1 -1
  8. package/build/avatar/hooks.js +2 -2
  9. package/build/avatar/hooks.js.map +1 -1
  10. package/build/block/edit.js.map +1 -1
  11. package/build/block/edit.native.js.map +1 -1
  12. package/build/button/deprecated.js.map +1 -1
  13. package/build/button/edit.js +1 -1
  14. package/build/button/edit.js.map +1 -1
  15. package/build/button/edit.native.js.map +1 -1
  16. package/build/button/save.js +1 -1
  17. package/build/button/save.js.map +1 -1
  18. package/build/buttons/deprecated.js.map +1 -1
  19. package/build/buttons/edit.js.map +1 -1
  20. package/build/buttons/edit.native.js.map +1 -1
  21. package/build/column/deprecated.js.map +1 -1
  22. package/build/column/edit.js.map +1 -1
  23. package/build/column/edit.native.js.map +1 -1
  24. package/build/columns/deprecated.js.map +1 -1
  25. package/build/columns/edit.js +1 -1
  26. package/build/columns/edit.js.map +1 -1
  27. package/build/columns/edit.native.js +1 -1
  28. package/build/columns/edit.native.js.map +1 -1
  29. package/build/columns/index.js.map +1 -1
  30. package/build/columns/utils.js +1 -1
  31. package/build/columns/utils.js.map +1 -1
  32. package/build/columns/variations.js +2 -2
  33. package/build/columns/variations.js.map +1 -1
  34. package/build/comment-author-name/edit.js +3 -3
  35. package/build/comment-author-name/edit.js.map +1 -1
  36. package/build/comment-author-name/index.js +0 -4
  37. package/build/comment-author-name/index.js.map +1 -1
  38. package/build/comment-date/edit.js +4 -4
  39. package/build/comment-date/edit.js.map +1 -1
  40. package/build/comment-date/index.js +0 -4
  41. package/build/comment-date/index.js.map +1 -1
  42. package/build/comment-edit-link/index.js +0 -4
  43. package/build/comment-edit-link/index.js.map +1 -1
  44. package/build/comment-reply-link/index.js +0 -4
  45. package/build/comment-reply-link/index.js.map +1 -1
  46. package/build/comment-template/index.js +1 -1
  47. package/build/comments/deprecated.js +65 -0
  48. package/build/comments/deprecated.js.map +1 -0
  49. package/build/comments/edit.js +10 -2
  50. package/build/comments/edit.js.map +1 -1
  51. package/build/comments/index.js +5 -2
  52. package/build/comments/index.js.map +1 -1
  53. package/build/comments-pagination/index.js +1 -1
  54. package/build/comments-title/deprecated.js +1 -4
  55. package/build/comments-title/deprecated.js.map +1 -1
  56. package/build/comments-title/edit.js +1 -1
  57. package/build/comments-title/edit.js.map +1 -1
  58. package/build/comments-title/index.js +1 -1
  59. package/build/cover/controls.native.js.map +1 -1
  60. package/build/cover/deprecated.js.map +1 -1
  61. package/build/cover/edit/block-controls.js +5 -22
  62. package/build/cover/edit/block-controls.js.map +1 -1
  63. package/build/cover/edit/cover-placeholder.js +3 -1
  64. package/build/cover/edit/cover-placeholder.js.map +1 -1
  65. package/build/cover/edit/index.js +38 -30
  66. package/build/cover/edit/index.js.map +1 -1
  67. package/build/cover/edit/inspector-controls.js +34 -6
  68. package/build/cover/edit/inspector-controls.js.map +1 -1
  69. package/build/cover/edit.native.js.map +1 -1
  70. package/build/cover/index.js +1 -0
  71. package/build/cover/index.js.map +1 -1
  72. package/build/cover/save.js.map +1 -1
  73. package/build/cover/transforms.js.map +1 -1
  74. package/build/embed/deprecated.js +6 -1
  75. package/build/embed/deprecated.js.map +1 -1
  76. package/build/embed/edit.js.map +1 -1
  77. package/build/embed/edit.native.js.map +1 -1
  78. package/build/embed/embed-controls.native.js.map +1 -1
  79. package/build/embed/embed-preview.js +1 -0
  80. package/build/embed/embed-preview.js.map +1 -1
  81. package/build/embed/icons.js +21 -1
  82. package/build/embed/icons.js.map +1 -1
  83. package/build/embed/index.js +6 -1
  84. package/build/embed/index.js.map +1 -1
  85. package/build/embed/save.js +1 -0
  86. package/build/embed/save.js.map +1 -1
  87. package/build/embed/transforms.js +6 -1
  88. package/build/embed/transforms.js.map +1 -1
  89. package/build/embed/util.js +6 -1
  90. package/build/embed/util.js.map +1 -1
  91. package/build/embed/variations.js +11 -0
  92. package/build/embed/variations.js.map +1 -1
  93. package/build/file/edit.js +1 -1
  94. package/build/file/edit.js.map +1 -1
  95. package/build/file/edit.native.js.map +1 -1
  96. package/build/file/index.js.map +1 -1
  97. package/build/file/save.js +1 -1
  98. package/build/file/save.js.map +1 -1
  99. package/build/gallery/edit.js +10 -18
  100. package/build/gallery/edit.js.map +1 -1
  101. package/build/gallery/gallery.js +1 -1
  102. package/build/gallery/gallery.js.map +1 -1
  103. package/build/gallery/gallery.native.js.map +1 -1
  104. package/build/gallery/index.js.map +1 -1
  105. package/build/gallery/save.js +1 -1
  106. package/build/gallery/save.js.map +1 -1
  107. package/build/gallery/shared.js +27 -10
  108. package/build/gallery/shared.js.map +1 -1
  109. package/build/gallery/transforms.js +32 -22
  110. package/build/gallery/transforms.js.map +1 -1
  111. package/build/gallery/use-get-media.js +7 -18
  112. package/build/gallery/use-get-media.js.map +1 -1
  113. package/build/gallery/v1/edit.js +3 -3
  114. package/build/gallery/v1/edit.js.map +1 -1
  115. package/build/gallery/v1/gallery-image.js +1 -0
  116. package/build/gallery/v1/gallery-image.js.map +1 -1
  117. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  118. package/build/gallery/v1/gallery.js +1 -1
  119. package/build/gallery/v1/gallery.js.map +1 -1
  120. package/build/gallery/v1/save.js +10 -2
  121. package/build/gallery/v1/save.js.map +1 -1
  122. package/build/group/edit.js +1 -3
  123. package/build/group/edit.js.map +1 -1
  124. package/build/group/index.js +1 -0
  125. package/build/group/index.js.map +1 -1
  126. package/build/heading/autogenerate-anchors.js +7 -2
  127. package/build/heading/autogenerate-anchors.js.map +1 -1
  128. package/build/heading/deprecated.js.map +1 -1
  129. package/build/heading/edit.js.map +1 -1
  130. package/build/heading/heading-level-dropdown.js +2 -1
  131. package/build/heading/heading-level-dropdown.js.map +1 -1
  132. package/build/heading/index.js +9 -4
  133. package/build/heading/index.js.map +1 -1
  134. package/build/html/edit.js +11 -20
  135. package/build/html/edit.js.map +1 -1
  136. package/build/html/preview.js +48 -0
  137. package/build/html/preview.js.map +1 -0
  138. package/build/image/deprecated.js.map +1 -1
  139. package/build/image/edit.native.js +2 -1
  140. package/build/image/edit.native.js.map +1 -1
  141. package/build/image/image.js +1 -0
  142. package/build/image/image.js.map +1 -1
  143. package/build/image/index.js +5 -0
  144. package/build/image/index.js.map +1 -1
  145. package/build/image/save.js +1 -0
  146. package/build/image/save.js.map +1 -1
  147. package/build/image/transforms.js.map +1 -1
  148. package/build/image/utils.js +2 -1
  149. package/build/image/utils.js.map +1 -1
  150. package/build/index.js +1 -1
  151. package/build/index.js.map +1 -1
  152. package/build/latest-comments/edit.js.map +1 -1
  153. package/build/latest-posts/edit.js +2 -2
  154. package/build/latest-posts/edit.js.map +1 -1
  155. package/build/latest-posts/edit.native.js.map +1 -1
  156. package/build/list/index.js.map +1 -1
  157. package/build/list/v2/edit.js.map +1 -1
  158. package/build/list/v2/transforms.js +33 -17
  159. package/build/list/v2/transforms.js.map +1 -1
  160. package/build/list-item/hooks/use-backspace.js.map +1 -1
  161. package/build/list-item/hooks/use-enter.js +7 -4
  162. package/build/list-item/hooks/use-enter.js.map +1 -1
  163. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  164. package/build/list-item/hooks/use-outdent-list-item.js +36 -15
  165. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  166. package/build/list-item/hooks/use-space.js.map +1 -1
  167. package/build/media-text/deprecated.js +5 -3
  168. package/build/media-text/deprecated.js.map +1 -1
  169. package/build/media-text/edit.native.js.map +1 -1
  170. package/build/media-text/media-container.js +3 -3
  171. package/build/media-text/media-container.js.map +1 -1
  172. package/build/media-text/media-container.native.js.map +1 -1
  173. package/build/media-text/save.js +3 -1
  174. package/build/media-text/save.js.map +1 -1
  175. package/build/missing/edit.native.js.map +1 -1
  176. package/build/more/edit.js +2 -4
  177. package/build/more/edit.js.map +1 -1
  178. package/build/navigation/deprecated.js.map +1 -1
  179. package/build/navigation/edit/index.js +1 -1
  180. package/build/navigation/edit/index.js.map +1 -1
  181. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  182. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  183. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  184. package/build/navigation/index.js +9 -0
  185. package/build/navigation/index.js.map +1 -1
  186. package/build/navigation/use-navigation-entities.js.map +1 -1
  187. package/build/navigation/use-navigation-menu.js +72 -38
  188. package/build/navigation/use-navigation-menu.js.map +1 -1
  189. package/build/navigation/use-template-part-area-label.js +4 -1
  190. package/build/navigation/use-template-part-area-label.js.map +1 -1
  191. package/build/navigation/view.js +6 -1
  192. package/build/navigation/view.js.map +1 -1
  193. package/build/navigation-link/edit.js +14 -8
  194. package/build/navigation-link/edit.js.map +1 -1
  195. package/build/navigation-link/hooks.js +0 -16
  196. package/build/navigation-link/hooks.js.map +1 -1
  197. package/build/navigation-link/index.js +1 -1
  198. package/build/navigation-link/index.js.map +1 -1
  199. package/build/navigation-submenu/edit.js.map +1 -1
  200. package/build/navigation-submenu/view.js +6 -1
  201. package/build/navigation-submenu/view.js.map +1 -1
  202. package/build/nextpage/edit.js +1 -3
  203. package/build/nextpage/edit.js.map +1 -1
  204. package/build/page-list/convert-to-links-modal.js.map +1 -1
  205. package/build/page-list/edit.js +2 -2
  206. package/build/page-list/edit.js.map +1 -1
  207. package/build/paragraph/deprecated.js +1 -1
  208. package/build/paragraph/deprecated.js.map +1 -1
  209. package/build/pattern/edit.js.map +1 -1
  210. package/build/post-author/edit.js.map +1 -1
  211. package/build/post-comments-form/edit.js +14 -6
  212. package/build/post-comments-form/edit.js.map +1 -1
  213. package/build/post-comments-form/form.js +1 -1
  214. package/build/post-comments-form/form.js.map +1 -1
  215. package/build/post-content/edit.js.map +1 -1
  216. package/build/post-featured-image/edit.js +10 -24
  217. package/build/post-featured-image/edit.js.map +1 -1
  218. package/build/post-navigation-link/index.js +4 -0
  219. package/build/post-navigation-link/index.js.map +1 -1
  220. package/build/post-terms/index.js +1 -1
  221. package/build/post-terms/index.js.map +1 -1
  222. package/build/post-title/index.js +1 -0
  223. package/build/post-title/index.js.map +1 -1
  224. package/build/pullquote/deprecated.js.map +1 -1
  225. package/build/query/edit/index.js +5 -1
  226. package/build/query/edit/index.js.map +1 -1
  227. package/build/query/edit/inspector-controls/index.js +1 -1
  228. package/build/query/edit/inspector-controls/index.js.map +1 -1
  229. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  230. package/build/query/edit/query-toolbar.js +16 -2
  231. package/build/query/edit/query-toolbar.js.map +1 -1
  232. package/build/query/index.js +1 -1
  233. package/build/query/index.js.map +1 -1
  234. package/build/quote/v2/edit.js.map +1 -1
  235. package/build/search/edit.js +1 -1
  236. package/build/search/edit.js.map +1 -1
  237. package/build/search/edit.native.js.map +1 -1
  238. package/build/separator/use-deprecated-opacity.js.map +1 -1
  239. package/build/shortcode/edit.native.js.map +1 -1
  240. package/build/site-logo/edit.js +8 -25
  241. package/build/site-logo/edit.js.map +1 -1
  242. package/build/site-title/edit/level-toolbar.js +2 -1
  243. package/build/site-title/edit/level-toolbar.js.map +1 -1
  244. package/build/social-links/deprecated.js.map +1 -1
  245. package/build/social-links/edit.native.js.map +1 -1
  246. package/build/spacer/controls.js.map +1 -1
  247. package/build/table/deprecated.js.map +1 -1
  248. package/build/table/edit.js +1 -0
  249. package/build/table/edit.js.map +1 -1
  250. package/build/table/index.js +6 -1
  251. package/build/table/index.js.map +1 -1
  252. package/build/table/save.js +2 -1
  253. package/build/table/save.js.map +1 -1
  254. package/build/table/state.js.map +1 -1
  255. package/build/table-of-contents/edit.js.map +1 -1
  256. package/build/tag-cloud/edit.js.map +1 -1
  257. package/build/template-part/edit/advanced-controls.js +4 -1
  258. package/build/template-part/edit/advanced-controls.js.map +1 -1
  259. package/build/template-part/edit/index.js.map +1 -1
  260. package/build/template-part/edit/utils/hooks.js +4 -1
  261. package/build/template-part/edit/utils/hooks.js.map +1 -1
  262. package/build/template-part/index.js +1 -1
  263. package/build/template-part/index.js.map +1 -1
  264. package/build/template-part/variations.js +0 -16
  265. package/build/template-part/variations.js.map +1 -1
  266. package/build/transformationCategories.native.js.map +1 -1
  267. package/build/utils/clean-empty-object.js +5 -3
  268. package/build/utils/clean-empty-object.js.map +1 -1
  269. package/build/video/edit-common-settings.js.map +1 -1
  270. package/build/video/edit.js +1 -0
  271. package/build/video/edit.js.map +1 -1
  272. package/build/video/edit.native.js +43 -0
  273. package/build/video/edit.native.js.map +1 -1
  274. package/build/video/index.js +6 -1
  275. package/build/video/index.js.map +1 -1
  276. package/build/video/save.js +1 -0
  277. package/build/video/save.js.map +1 -1
  278. package/build/video/tracks-editor.js +9 -11
  279. package/build/video/tracks-editor.js.map +1 -1
  280. package/build-module/audio/edit.js +2 -1
  281. package/build-module/audio/edit.js.map +1 -1
  282. package/build-module/audio/index.js +6 -1
  283. package/build-module/audio/index.js.map +1 -1
  284. package/build-module/audio/save.js +3 -2
  285. package/build-module/audio/save.js.map +1 -1
  286. package/build-module/avatar/hooks.js +2 -2
  287. package/build-module/avatar/hooks.js.map +1 -1
  288. package/build-module/block/edit.js.map +1 -1
  289. package/build-module/block/edit.native.js.map +1 -1
  290. package/build-module/button/deprecated.js.map +1 -1
  291. package/build-module/button/edit.js +2 -2
  292. package/build-module/button/edit.js.map +1 -1
  293. package/build-module/button/edit.native.js.map +1 -1
  294. package/build-module/button/save.js +2 -2
  295. package/build-module/button/save.js.map +1 -1
  296. package/build-module/buttons/deprecated.js.map +1 -1
  297. package/build-module/buttons/edit.js.map +1 -1
  298. package/build-module/buttons/edit.native.js.map +1 -1
  299. package/build-module/column/deprecated.js.map +1 -1
  300. package/build-module/column/edit.js.map +1 -1
  301. package/build-module/column/edit.native.js.map +1 -1
  302. package/build-module/columns/deprecated.js.map +1 -1
  303. package/build-module/columns/edit.js +2 -2
  304. package/build-module/columns/edit.js.map +1 -1
  305. package/build-module/columns/edit.native.js +2 -2
  306. package/build-module/columns/edit.native.js.map +1 -1
  307. package/build-module/columns/index.js.map +1 -1
  308. package/build-module/columns/utils.js +2 -2
  309. package/build-module/columns/utils.js.map +1 -1
  310. package/build-module/columns/variations.js +2 -2
  311. package/build-module/columns/variations.js.map +1 -1
  312. package/build-module/comment-author-name/edit.js +3 -3
  313. package/build-module/comment-author-name/edit.js.map +1 -1
  314. package/build-module/comment-author-name/index.js +0 -4
  315. package/build-module/comment-author-name/index.js.map +1 -1
  316. package/build-module/comment-date/edit.js +4 -4
  317. package/build-module/comment-date/edit.js.map +1 -1
  318. package/build-module/comment-date/index.js +0 -4
  319. package/build-module/comment-date/index.js.map +1 -1
  320. package/build-module/comment-edit-link/index.js +0 -4
  321. package/build-module/comment-edit-link/index.js.map +1 -1
  322. package/build-module/comment-reply-link/index.js +0 -4
  323. package/build-module/comment-reply-link/index.js.map +1 -1
  324. package/build-module/comment-template/index.js +1 -1
  325. package/build-module/comments/deprecated.js +54 -0
  326. package/build-module/comments/deprecated.js.map +1 -0
  327. package/build-module/comments/edit.js +10 -2
  328. package/build-module/comments/edit.js.map +1 -1
  329. package/build-module/comments/index.js +4 -2
  330. package/build-module/comments/index.js.map +1 -1
  331. package/build-module/comments-pagination/index.js +1 -1
  332. package/build-module/comments-title/deprecated.js +1 -4
  333. package/build-module/comments-title/deprecated.js.map +1 -1
  334. package/build-module/comments-title/edit.js +1 -1
  335. package/build-module/comments-title/edit.js.map +1 -1
  336. package/build-module/comments-title/index.js +1 -1
  337. package/build-module/cover/controls.native.js.map +1 -1
  338. package/build-module/cover/deprecated.js.map +1 -1
  339. package/build-module/cover/edit/block-controls.js +6 -21
  340. package/build-module/cover/edit/block-controls.js.map +1 -1
  341. package/build-module/cover/edit/cover-placeholder.js +3 -1
  342. package/build-module/cover/edit/cover-placeholder.js.map +1 -1
  343. package/build-module/cover/edit/index.js +39 -31
  344. package/build-module/cover/edit/index.js.map +1 -1
  345. package/build-module/cover/edit/inspector-controls.js +32 -7
  346. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  347. package/build-module/cover/edit.native.js.map +1 -1
  348. package/build-module/cover/index.js +1 -0
  349. package/build-module/cover/index.js.map +1 -1
  350. package/build-module/cover/save.js.map +1 -1
  351. package/build-module/cover/transforms.js.map +1 -1
  352. package/build-module/embed/deprecated.js +6 -1
  353. package/build-module/embed/deprecated.js.map +1 -1
  354. package/build-module/embed/edit.js.map +1 -1
  355. package/build-module/embed/edit.native.js.map +1 -1
  356. package/build-module/embed/embed-controls.native.js.map +1 -1
  357. package/build-module/embed/embed-preview.js +2 -1
  358. package/build-module/embed/embed-preview.js.map +1 -1
  359. package/build-module/embed/icons.js +19 -0
  360. package/build-module/embed/icons.js.map +1 -1
  361. package/build-module/embed/index.js +6 -1
  362. package/build-module/embed/index.js.map +1 -1
  363. package/build-module/embed/save.js +2 -1
  364. package/build-module/embed/save.js.map +1 -1
  365. package/build-module/embed/transforms.js +6 -1
  366. package/build-module/embed/transforms.js.map +1 -1
  367. package/build-module/embed/util.js +6 -1
  368. package/build-module/embed/util.js.map +1 -1
  369. package/build-module/embed/variations.js +12 -1
  370. package/build-module/embed/variations.js.map +1 -1
  371. package/build-module/file/edit.js +2 -2
  372. package/build-module/file/edit.js.map +1 -1
  373. package/build-module/file/edit.native.js.map +1 -1
  374. package/build-module/file/index.js.map +1 -1
  375. package/build-module/file/save.js +2 -2
  376. package/build-module/file/save.js.map +1 -1
  377. package/build-module/gallery/edit.js +11 -18
  378. package/build-module/gallery/edit.js.map +1 -1
  379. package/build-module/gallery/gallery.js +2 -2
  380. package/build-module/gallery/gallery.js.map +1 -1
  381. package/build-module/gallery/gallery.native.js.map +1 -1
  382. package/build-module/gallery/index.js.map +1 -1
  383. package/build-module/gallery/save.js +2 -2
  384. package/build-module/gallery/save.js.map +1 -1
  385. package/build-module/gallery/shared.js +25 -8
  386. package/build-module/gallery/shared.js.map +1 -1
  387. package/build-module/gallery/transforms.js +33 -23
  388. package/build-module/gallery/transforms.js.map +1 -1
  389. package/build-module/gallery/use-get-media.js +6 -16
  390. package/build-module/gallery/use-get-media.js.map +1 -1
  391. package/build-module/gallery/v1/edit.js +4 -4
  392. package/build-module/gallery/v1/edit.js.map +1 -1
  393. package/build-module/gallery/v1/gallery-image.js +2 -1
  394. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  395. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  396. package/build-module/gallery/v1/gallery.js +2 -2
  397. package/build-module/gallery/v1/gallery.js.map +1 -1
  398. package/build-module/gallery/v1/save.js +8 -3
  399. package/build-module/gallery/v1/save.js.map +1 -1
  400. package/build-module/group/edit.js +1 -3
  401. package/build-module/group/edit.js.map +1 -1
  402. package/build-module/group/index.js +1 -0
  403. package/build-module/group/index.js.map +1 -1
  404. package/build-module/heading/autogenerate-anchors.js +5 -2
  405. package/build-module/heading/autogenerate-anchors.js.map +1 -1
  406. package/build-module/heading/deprecated.js.map +1 -1
  407. package/build-module/heading/edit.js.map +1 -1
  408. package/build-module/heading/heading-level-dropdown.js +2 -1
  409. package/build-module/heading/heading-level-dropdown.js.map +1 -1
  410. package/build-module/heading/index.js +9 -4
  411. package/build-module/heading/index.js.map +1 -1
  412. package/build-module/html/edit.js +12 -23
  413. package/build-module/html/edit.js.map +1 -1
  414. package/build-module/html/preview.js +38 -0
  415. package/build-module/html/preview.js.map +1 -0
  416. package/build-module/image/deprecated.js.map +1 -1
  417. package/build-module/image/edit.native.js +2 -1
  418. package/build-module/image/edit.native.js.map +1 -1
  419. package/build-module/image/image.js +2 -1
  420. package/build-module/image/image.js.map +1 -1
  421. package/build-module/image/index.js +5 -0
  422. package/build-module/image/index.js.map +1 -1
  423. package/build-module/image/save.js +2 -1
  424. package/build-module/image/save.js.map +1 -1
  425. package/build-module/image/transforms.js.map +1 -1
  426. package/build-module/image/utils.js +2 -2
  427. package/build-module/image/utils.js.map +1 -1
  428. package/build-module/index.js +1 -1
  429. package/build-module/index.js.map +1 -1
  430. package/build-module/latest-comments/edit.js.map +1 -1
  431. package/build-module/latest-posts/edit.js +3 -3
  432. package/build-module/latest-posts/edit.js.map +1 -1
  433. package/build-module/latest-posts/edit.native.js.map +1 -1
  434. package/build-module/list/index.js.map +1 -1
  435. package/build-module/list/v2/edit.js.map +1 -1
  436. package/build-module/list/v2/transforms.js +32 -17
  437. package/build-module/list/v2/transforms.js.map +1 -1
  438. package/build-module/list-item/hooks/use-backspace.js.map +1 -1
  439. package/build-module/list-item/hooks/use-enter.js +7 -4
  440. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  441. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  442. package/build-module/list-item/hooks/use-outdent-list-item.js +34 -15
  443. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  444. package/build-module/list-item/hooks/use-space.js.map +1 -1
  445. package/build-module/media-text/deprecated.js +3 -1
  446. package/build-module/media-text/deprecated.js.map +1 -1
  447. package/build-module/media-text/edit.native.js.map +1 -1
  448. package/build-module/media-text/media-container.js +3 -1
  449. package/build-module/media-text/media-container.js.map +1 -1
  450. package/build-module/media-text/media-container.native.js.map +1 -1
  451. package/build-module/media-text/save.js +4 -1
  452. package/build-module/media-text/save.js.map +1 -1
  453. package/build-module/missing/edit.native.js.map +1 -1
  454. package/build-module/more/edit.js +2 -4
  455. package/build-module/more/edit.js.map +1 -1
  456. package/build-module/navigation/deprecated.js.map +1 -1
  457. package/build-module/navigation/edit/index.js +1 -1
  458. package/build-module/navigation/edit/index.js.map +1 -1
  459. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  460. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  461. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  462. package/build-module/navigation/index.js +9 -0
  463. package/build-module/navigation/index.js.map +1 -1
  464. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  465. package/build-module/navigation/use-navigation-menu.js +73 -39
  466. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  467. package/build-module/navigation/use-template-part-area-label.js +4 -1
  468. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  469. package/build-module/navigation/view.js +6 -1
  470. package/build-module/navigation/view.js.map +1 -1
  471. package/build-module/navigation-link/edit.js +14 -8
  472. package/build-module/navigation-link/edit.js.map +1 -1
  473. package/build-module/navigation-link/hooks.js +0 -13
  474. package/build-module/navigation-link/hooks.js.map +1 -1
  475. package/build-module/navigation-link/index.js +1 -1
  476. package/build-module/navigation-link/index.js.map +1 -1
  477. package/build-module/navigation-submenu/edit.js.map +1 -1
  478. package/build-module/navigation-submenu/view.js +6 -1
  479. package/build-module/navigation-submenu/view.js.map +1 -1
  480. package/build-module/nextpage/edit.js +1 -3
  481. package/build-module/nextpage/edit.js.map +1 -1
  482. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  483. package/build-module/page-list/edit.js +2 -2
  484. package/build-module/page-list/edit.js.map +1 -1
  485. package/build-module/paragraph/deprecated.js +2 -2
  486. package/build-module/paragraph/deprecated.js.map +1 -1
  487. package/build-module/pattern/edit.js.map +1 -1
  488. package/build-module/post-author/edit.js.map +1 -1
  489. package/build-module/post-comments-form/edit.js +14 -7
  490. package/build-module/post-comments-form/edit.js.map +1 -1
  491. package/build-module/post-comments-form/form.js +2 -2
  492. package/build-module/post-comments-form/form.js.map +1 -1
  493. package/build-module/post-content/edit.js.map +1 -1
  494. package/build-module/post-featured-image/edit.js +10 -23
  495. package/build-module/post-featured-image/edit.js.map +1 -1
  496. package/build-module/post-navigation-link/index.js +4 -0
  497. package/build-module/post-navigation-link/index.js.map +1 -1
  498. package/build-module/post-terms/index.js +1 -1
  499. package/build-module/post-terms/index.js.map +1 -1
  500. package/build-module/post-title/index.js +1 -0
  501. package/build-module/post-title/index.js.map +1 -1
  502. package/build-module/pullquote/deprecated.js.map +1 -1
  503. package/build-module/query/edit/index.js +5 -1
  504. package/build-module/query/edit/index.js.map +1 -1
  505. package/build-module/query/edit/inspector-controls/index.js +1 -1
  506. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  507. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  508. package/build-module/query/edit/query-toolbar.js +14 -2
  509. package/build-module/query/edit/query-toolbar.js.map +1 -1
  510. package/build-module/query/index.js +1 -1
  511. package/build-module/query/index.js.map +1 -1
  512. package/build-module/quote/v2/edit.js.map +1 -1
  513. package/build-module/search/edit.js +2 -2
  514. package/build-module/search/edit.js.map +1 -1
  515. package/build-module/search/edit.native.js.map +1 -1
  516. package/build-module/separator/use-deprecated-opacity.js.map +1 -1
  517. package/build-module/shortcode/edit.native.js.map +1 -1
  518. package/build-module/site-logo/edit.js +8 -24
  519. package/build-module/site-logo/edit.js.map +1 -1
  520. package/build-module/site-title/edit/level-toolbar.js +2 -1
  521. package/build-module/site-title/edit/level-toolbar.js.map +1 -1
  522. package/build-module/social-links/deprecated.js.map +1 -1
  523. package/build-module/social-links/edit.native.js.map +1 -1
  524. package/build-module/spacer/controls.js.map +1 -1
  525. package/build-module/table/deprecated.js.map +1 -1
  526. package/build-module/table/edit.js +2 -1
  527. package/build-module/table/edit.js.map +1 -1
  528. package/build-module/table/index.js +6 -1
  529. package/build-module/table/index.js.map +1 -1
  530. package/build-module/table/save.js +3 -2
  531. package/build-module/table/save.js.map +1 -1
  532. package/build-module/table/state.js.map +1 -1
  533. package/build-module/table-of-contents/edit.js.map +1 -1
  534. package/build-module/tag-cloud/edit.js.map +1 -1
  535. package/build-module/template-part/edit/advanced-controls.js +4 -1
  536. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  537. package/build-module/template-part/edit/index.js.map +1 -1
  538. package/build-module/template-part/edit/utils/hooks.js +4 -1
  539. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  540. package/build-module/template-part/index.js +1 -1
  541. package/build-module/template-part/index.js.map +1 -1
  542. package/build-module/template-part/variations.js +0 -13
  543. package/build-module/template-part/variations.js.map +1 -1
  544. package/build-module/transformationCategories.native.js.map +1 -1
  545. package/build-module/utils/clean-empty-object.js +5 -2
  546. package/build-module/utils/clean-empty-object.js.map +1 -1
  547. package/build-module/video/edit-common-settings.js.map +1 -1
  548. package/build-module/video/edit.js +2 -1
  549. package/build-module/video/edit.js.map +1 -1
  550. package/build-module/video/edit.native.js +42 -1
  551. package/build-module/video/edit.native.js.map +1 -1
  552. package/build-module/video/index.js +6 -1
  553. package/build-module/video/index.js.map +1 -1
  554. package/build-module/video/save.js +2 -1
  555. package/build-module/video/save.js.map +1 -1
  556. package/build-module/video/tracks-editor.js +9 -11
  557. package/build-module/video/tracks-editor.js.map +1 -1
  558. package/build-style/audio/style-rtl.css +0 -3
  559. package/build-style/audio/style.css +0 -3
  560. package/build-style/button/style-rtl.css +5 -5
  561. package/build-style/button/style.css +5 -5
  562. package/build-style/comment-template/style-rtl.css +12 -0
  563. package/build-style/comment-template/style.css +12 -0
  564. package/build-style/common-rtl.css +1 -3
  565. package/build-style/common.css +1 -3
  566. package/build-style/cover/editor-rtl.css +11 -0
  567. package/build-style/cover/editor.css +11 -0
  568. package/build-style/cover/style-rtl.css +1 -2
  569. package/build-style/cover/style.css +1 -2
  570. package/build-style/editor-rtl.css +15 -40
  571. package/build-style/editor.css +15 -40
  572. package/build-style/elements-rtl.css +82 -0
  573. package/build-style/elements.css +82 -0
  574. package/build-style/embed/style-rtl.css +0 -1
  575. package/build-style/embed/style.css +0 -1
  576. package/build-style/file/style-rtl.css +11 -12
  577. package/build-style/file/style.css +11 -12
  578. package/build-style/gallery/style-rtl.css +2 -4
  579. package/build-style/gallery/style.css +2 -4
  580. package/build-style/image/style-rtl.css +0 -3
  581. package/build-style/image/style.css +0 -3
  582. package/build-style/navigation/style-rtl.css +9 -1
  583. package/build-style/navigation/style.css +9 -1
  584. package/build-style/post-comments/style-rtl.css +2 -1
  585. package/build-style/post-comments/style.css +2 -1
  586. package/build-style/post-comments-form/editor-rtl.css +3 -0
  587. package/build-style/post-comments-form/editor.css +3 -0
  588. package/build-style/post-featured-image/editor-rtl.css +0 -27
  589. package/build-style/post-featured-image/editor.css +0 -27
  590. package/build-style/post-template/style-rtl.css +9 -18
  591. package/build-style/post-template/style.css +9 -18
  592. package/build-style/query/editor-rtl.css +1 -1
  593. package/build-style/query/editor.css +1 -1
  594. package/build-style/search/style-rtl.css +9 -11
  595. package/build-style/search/style.css +9 -11
  596. package/build-style/search/theme-rtl.css +5 -0
  597. package/build-style/search/theme.css +5 -0
  598. package/build-style/site-logo/editor-rtl.css +0 -12
  599. package/build-style/site-logo/editor.css +0 -12
  600. package/build-style/style-rtl.css +69 -70
  601. package/build-style/style.css +69 -70
  602. package/build-style/table/style-rtl.css +0 -1
  603. package/build-style/table/style.css +0 -1
  604. package/build-style/theme-rtl.css +5 -0
  605. package/build-style/theme.css +5 -0
  606. package/build-style/video/style-rtl.css +1 -5
  607. package/build-style/video/style.css +1 -5
  608. package/package.json +30 -29
  609. package/src/audio/block.json +6 -1
  610. package/src/audio/edit.js +4 -0
  611. package/src/audio/index.js +1 -2
  612. package/src/audio/save.js +12 -2
  613. package/src/audio/style.scss +0 -2
  614. package/src/avatar/hooks.js +2 -2
  615. package/src/block/edit.js +4 -6
  616. package/src/block/edit.native.js +12 -16
  617. package/src/block/test/edit.native.js +5 -8
  618. package/src/button/deprecated.js +10 -46
  619. package/src/button/edit.js +6 -12
  620. package/src/button/edit.native.js +2 -3
  621. package/src/button/save.js +4 -12
  622. package/src/button/style.scss +10 -5
  623. package/src/buttons/deprecated.js +4 -6
  624. package/src/buttons/edit.js +3 -3
  625. package/src/buttons/edit.native.js +7 -11
  626. package/src/column/deprecated.js +2 -1
  627. package/src/column/edit.js +2 -3
  628. package/src/column/edit.native.js +2 -2
  629. package/src/columns/deprecated.js +4 -2
  630. package/src/columns/edit.js +6 -7
  631. package/src/columns/edit.native.js +12 -16
  632. package/src/columns/index.js +1 -2
  633. package/src/columns/utils.js +5 -3
  634. package/src/columns/variations.js +2 -2
  635. package/src/comment-author-name/block.json +0 -4
  636. package/src/comment-author-name/edit.js +3 -12
  637. package/src/comment-date/block.json +0 -4
  638. package/src/comment-date/edit.js +10 -14
  639. package/src/comment-date/index.php +0 -3
  640. package/src/comment-edit-link/block.json +0 -4
  641. package/src/comment-reply-link/block.json +0 -4
  642. package/src/comment-template/block.json +1 -1
  643. package/src/comment-template/style.scss +14 -0
  644. package/src/comments/block.json +1 -1
  645. package/src/comments/deprecated.js +53 -0
  646. package/src/comments/edit.js +24 -4
  647. package/src/comments/index.js +2 -0
  648. package/src/comments-pagination/block.json +1 -1
  649. package/src/comments-title/block.json +1 -1
  650. package/src/comments-title/deprecated.js +0 -2
  651. package/src/comments-title/edit.js +1 -1
  652. package/src/comments-title/index.php +1 -1
  653. package/src/cover/block.json +1 -0
  654. package/src/cover/controls.native.js +2 -4
  655. package/src/cover/deprecated.js +10 -15
  656. package/src/cover/edit/block-controls.js +15 -40
  657. package/src/cover/edit/cover-placeholder.js +2 -0
  658. package/src/cover/edit/index.js +74 -55
  659. package/src/cover/edit/inspector-controls.js +38 -7
  660. package/src/cover/edit.native.js +8 -13
  661. package/src/cover/editor.scss +13 -0
  662. package/src/cover/index.php +21 -8
  663. package/src/cover/save.js +2 -3
  664. package/src/cover/test/edit.native.js +4 -7
  665. package/src/cover/transforms.js +2 -7
  666. package/src/elements.scss +6 -0
  667. package/src/embed/block.json +6 -1
  668. package/src/embed/edit.js +38 -40
  669. package/src/embed/edit.native.js +46 -49
  670. package/src/embed/embed-controls.native.js +2 -3
  671. package/src/embed/embed-preview.js +8 -1
  672. package/src/embed/icons.js +25 -0
  673. package/src/embed/save.js +10 -2
  674. package/src/embed/style.scss +0 -1
  675. package/src/embed/test/__snapshots__/index.native.js.snap +1 -1
  676. package/src/embed/test/index.native.js +24 -50
  677. package/src/embed/variations.js +10 -0
  678. package/src/file/edit.js +6 -6
  679. package/src/file/edit.native.js +14 -25
  680. package/src/file/index.js +1 -2
  681. package/src/file/save.js +2 -2
  682. package/src/file/style.scss +16 -15
  683. package/src/freeform/editor.scss +0 -2
  684. package/src/gallery/edit.js +16 -27
  685. package/src/gallery/gallery.js +9 -2
  686. package/src/gallery/gallery.native.js +2 -4
  687. package/src/gallery/index.js +2 -4
  688. package/src/gallery/index.php +5 -1
  689. package/src/gallery/save.js +5 -1
  690. package/src/gallery/shared.js +22 -9
  691. package/src/gallery/test/__snapshots__/index.native.js.snap +2 -2
  692. package/src/gallery/test/helpers.native.js +11 -198
  693. package/src/gallery/test/index.native.js +37 -63
  694. package/src/gallery/transforms.js +28 -13
  695. package/src/gallery/use-get-media.js +11 -28
  696. package/src/gallery/v1/edit.js +18 -24
  697. package/src/gallery/v1/gallery-image.js +10 -11
  698. package/src/gallery/v1/gallery-image.native.js +8 -17
  699. package/src/gallery/v1/gallery.js +8 -2
  700. package/src/gallery/v1/save.js +20 -3
  701. package/src/group/block.json +1 -0
  702. package/src/group/edit.js +1 -3
  703. package/src/heading/autogenerate-anchors.js +8 -5
  704. package/src/heading/deprecated.js +6 -21
  705. package/src/heading/edit.js +2 -3
  706. package/src/heading/heading-level-dropdown.js +1 -0
  707. package/src/heading/index.js +8 -2
  708. package/src/html/edit.js +10 -40
  709. package/src/html/preview.js +46 -0
  710. package/src/image/block.json +5 -0
  711. package/src/image/deprecated.js +6 -29
  712. package/src/image/edit.native.js +15 -26
  713. package/src/image/image.js +33 -38
  714. package/src/image/save.js +10 -2
  715. package/src/image/style.scss +0 -2
  716. package/src/image/test/edit.native.js +51 -19
  717. package/src/image/transforms.js +4 -3
  718. package/src/image/utils.js +2 -2
  719. package/src/index.js +1 -1
  720. package/src/latest-comments/edit.js +2 -6
  721. package/src/latest-posts/edit.js +7 -12
  722. package/src/latest-posts/edit.native.js +10 -15
  723. package/src/list/index.js +1 -2
  724. package/src/list/test/migrate.js +1 -2
  725. package/src/list/v2/edit.js +6 -9
  726. package/src/list/v2/transforms.js +22 -7
  727. package/src/list-item/hooks/use-backspace.js +2 -3
  728. package/src/list-item/hooks/use-enter.js +11 -9
  729. package/src/list-item/hooks/use-indent-list-item.js +2 -3
  730. package/src/list-item/hooks/use-outdent-list-item.js +50 -24
  731. package/src/list-item/hooks/use-space.js +2 -3
  732. package/src/media-text/deprecated.js +6 -3
  733. package/src/media-text/edit.native.js +2 -5
  734. package/src/media-text/media-container.js +1 -1
  735. package/src/media-text/media-container.native.js +6 -9
  736. package/src/media-text/save.js +2 -1
  737. package/src/missing/edit.native.js +2 -3
  738. package/src/missing/test/edit-integration.native.js +2 -3
  739. package/src/missing/test/edit.native.js +6 -9
  740. package/src/more/edit.js +9 -11
  741. package/src/navigation/block.json +9 -0
  742. package/src/navigation/deprecated.js +2 -5
  743. package/src/navigation/edit/index.js +25 -36
  744. package/src/navigation/edit/navigation-menu-delete-control.js +2 -3
  745. package/src/navigation/edit/unsaved-inner-blocks.js +31 -30
  746. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -3
  747. package/src/navigation/style.scss +11 -2
  748. package/src/navigation/test/use-navigation-menu.js +241 -0
  749. package/src/navigation/use-navigation-entities.js +11 -13
  750. package/src/navigation/use-navigation-menu.js +95 -82
  751. package/src/navigation/use-template-part-area-label.js +8 -7
  752. package/src/navigation/view.js +6 -1
  753. package/src/navigation-link/edit.js +24 -20
  754. package/src/navigation-link/hooks.js +0 -14
  755. package/src/navigation-link/index.js +1 -1
  756. package/src/navigation-link/test/__snapshots__/hooks.js.snap +0 -93
  757. package/src/navigation-link/test/edit.js +2 -4
  758. package/src/navigation-link/test/hooks.js +0 -12
  759. package/src/navigation-submenu/edit.js +10 -20
  760. package/src/navigation-submenu/view.js +6 -1
  761. package/src/nextpage/edit.js +1 -3
  762. package/src/page-list/convert-to-links-modal.js +51 -54
  763. package/src/page-list/edit.js +9 -11
  764. package/src/page-list/test/convert-to-links-modal.js +6 -12
  765. package/src/paragraph/deprecated.js +2 -2
  766. package/src/pattern/edit.js +2 -4
  767. package/src/post-author/edit.js +2 -3
  768. package/src/post-comments/index.php +1 -1
  769. package/src/post-comments/style.scss +7 -3
  770. package/src/post-comments-form/edit.js +24 -10
  771. package/src/post-comments-form/editor.scss +4 -0
  772. package/src/post-comments-form/form.js +2 -2
  773. package/src/post-comments-form/index.php +1 -1
  774. package/src/post-content/edit.js +2 -3
  775. package/src/post-featured-image/edit.js +14 -30
  776. package/src/post-featured-image/editor.scss +0 -29
  777. package/src/post-featured-image/index.php +4 -2
  778. package/src/post-navigation-link/block.json +4 -0
  779. package/src/post-template/index.php +23 -17
  780. package/src/post-template/style.scss +1 -7
  781. package/src/post-terms/index.js +1 -1
  782. package/src/post-title/block.json +1 -0
  783. package/src/pullquote/deprecated.js +2 -1
  784. package/src/query/edit/index.js +10 -10
  785. package/src/query/edit/inspector-controls/index.js +1 -1
  786. package/src/query/edit/inspector-controls/parent-control.js +2 -3
  787. package/src/query/edit/query-toolbar.js +25 -5
  788. package/src/query/editor.scss +1 -1
  789. package/src/query/index.js +1 -1
  790. package/src/query-no-results/index.php +10 -8
  791. package/src/quote/v2/edit.js +4 -6
  792. package/src/quote/v2/test/migrate.js +1 -2
  793. package/src/search/edit.js +8 -14
  794. package/src/search/edit.native.js +4 -6
  795. package/src/search/index.php +12 -10
  796. package/src/search/style.scss +11 -9
  797. package/src/search/theme.scss +5 -0
  798. package/src/separator/use-deprecated-opacity.js +2 -4
  799. package/src/shortcode/edit.native.js +4 -3
  800. package/src/shortcode/test/edit.native.js +2 -5
  801. package/src/site-logo/edit.js +5 -28
  802. package/src/site-logo/editor.scss +0 -14
  803. package/src/site-title/edit/level-toolbar.js +1 -0
  804. package/src/social-link/index.php +16 -0
  805. package/src/social-links/deprecated.js +4 -2
  806. package/src/social-links/edit.native.js +3 -5
  807. package/src/spacer/controls.js +2 -3
  808. package/src/spacer/test/index.native.js +10 -21
  809. package/src/style.scss +1 -0
  810. package/src/table/block.json +6 -1
  811. package/src/table/deprecated.js +4 -8
  812. package/src/table/edit.js +2 -0
  813. package/src/table/save.js +6 -1
  814. package/src/table/state.js +2 -4
  815. package/src/table/style.scss +0 -1
  816. package/src/table-of-contents/edit.js +6 -10
  817. package/src/tag-cloud/edit.js +4 -7
  818. package/src/template-part/edit/advanced-controls.js +4 -4
  819. package/src/template-part/edit/index.js +6 -10
  820. package/src/template-part/edit/utils/hooks.js +8 -7
  821. package/src/template-part/index.js +1 -1
  822. package/src/template-part/variations.js +0 -11
  823. package/src/transformationCategories.native.js +3 -3
  824. package/src/utils/clean-empty-object.js +8 -2
  825. package/src/video/block.json +6 -1
  826. package/src/video/edit-common-settings.js +2 -8
  827. package/src/video/edit.js +4 -0
  828. package/src/video/edit.native.js +38 -16
  829. package/src/video/index.js +1 -2
  830. package/src/video/save.js +10 -2
  831. package/src/video/style.scss +0 -2
  832. package/src/video/tracks-editor.js +1 -1
  833. package/build/gallery/use-short-code-transform.js +0 -64
  834. package/build/gallery/use-short-code-transform.js.map +0 -1
  835. package/build/navigation-link/fallback-variations.js +0 -75
  836. package/build/navigation-link/fallback-variations.js.map +0 -1
  837. package/build/template-part/fallback-variations.js +0 -59
  838. package/build/template-part/fallback-variations.js.map +0 -1
  839. package/build-module/gallery/use-short-code-transform.js +0 -54
  840. package/build-module/gallery/use-short-code-transform.js.map +0 -1
  841. package/build-module/navigation-link/fallback-variations.js +0 -65
  842. package/build-module/navigation-link/fallback-variations.js.map +0 -1
  843. package/build-module/template-part/fallback-variations.js +0 -47
  844. package/build-module/template-part/fallback-variations.js.map +0 -1
  845. package/src/gallery/use-short-code-transform.js +0 -55
  846. package/src/navigation-link/fallback-variations.js +0 -65
  847. package/src/template-part/fallback-variations.js +0 -51
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","map","widthValue","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","linkTarget","placeholder","rel","style","text","url","onSetLinkRel","value","onToggleOpenInNewTab","newLinkTarget","updatedRel","setButtonText","newText","replace","onKeyDown","event","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","__experimentalElementButtonClassName","link","displayShortcut","linkOff","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__experimentalElementButtonClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\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 {\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t} = attributes;\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\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( { ref, onKeyDown } );\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 }` ]: width,\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__experimentalElementButtonClassName\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\tposition=\"bottom center\"\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\tanchorRef={ ref?.current }\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>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\tvalue={ { url, opensInNewTab } }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL = '',\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: newURL } );\n\n\t\t\t\t\t\t\tif ( opensInNewTab !== newOpensInNewTab ) {\n\t\t\t\t\t\t\t\tonToggleOpenInNewTab( newOpensInNewTab );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ onSetLinkRel }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","map","widthValue","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","linkTarget","placeholder","rel","style","text","url","onSetLinkRel","value","onToggleOpenInNewTab","newLinkTarget","updatedRel","setButtonText","newText","replace","onKeyDown","event","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","link","displayShortcut","linkOff","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';\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\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( { ref, onKeyDown } );\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\tposition=\"bottom center\"\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\tanchorRef={ ref?.current }\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>\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 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/edit.native.js"],"names":["MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","styles","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","editPostStore","getBlockCount","getBlockRootClientId","blockEditorStore","parentId","clientId","blockCount","currentIsEditorSidebarOpened","closeGeneralSidebar","maxWidth","setMaxWidth","isLinkSheetVisible","setIsLinkSheetVisible","isButtonFocused","setIsButtonFocused","placeholderTextWidth","setPlaceholderTextWidth","borderRadiusUnit","setBorderRadiusUnit","richTextRef","colors","gradients","onToggleButtonFocus","onSetMaxWidth","richText","current","Platform","OS","blur","AccessibilityInfo","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","richTextStyle","paddingLeft","paddingRight","placeholderTextColor","fontSize","link","CSS_UNITS"],"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 } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\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":["MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","styles","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","editPostStore","getBlockCount","getBlockRootClientId","blockEditorStore","parentId","clientId","blockCount","currentIsEditorSidebarOpened","closeGeneralSidebar","maxWidth","setMaxWidth","isLinkSheetVisible","setIsLinkSheetVisible","isButtonFocused","setIsButtonFocused","placeholderTextWidth","setPlaceholderTextWidth","borderRadiusUnit","setBorderRadiusUnit","richTextRef","colors","gradients","onToggleButtonFocus","onSetMaxWidth","richText","current","Platform","OS","blur","AccessibilityInfo","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","richTextStyle","paddingLeft","paddingRight","placeholderTextColor","fontSize","link","CSS_UNITS"],"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"]}
@@ -49,7 +49,7 @@ function save(_ref) {
49
49
  // For backwards compatibility add style that isn't provided via
50
50
  // block support.
51
51
  '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
52
- }, _blockEditor.__experimentalElementButtonClassName);
52
+ }, (0, _blockEditor.__experimentalGetElementClassName)('button'));
53
53
  const buttonStyle = { ...borderProps.style,
54
54
  ...colorProps.style,
55
55
  ...spacingProps.style
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/save.js"],"names":["save","attributes","className","fontSize","linkTarget","rel","style","text","title","url","width","borderProps","colorProps","spacingProps","buttonClasses","border","radius","__experimentalElementButtonClassName","buttonStyle","wrapperClasses","typography","useBlockProps"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAUe,SAASA,IAAT,OAA2C;AAAA;;AAAA,MAA5B;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAA4B;AACzD,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,UAFK;AAGLC,IAAAA,GAHK;AAILC,IAAAA,KAJK;AAKLC,IAAAA,IALK;AAMLC,IAAAA,KANK;AAOLC,IAAAA,GAPK;AAQLC,IAAAA;AARK,MASFT,UATJ;;AAWA,MAAK,CAAEM,IAAP,EAAc;AACb,WAAO,IAAP;AACA;;AAED,QAAMI,WAAW,GAAG,0DAA2BV,UAA3B,CAApB;AACA,QAAMW,UAAU,GAAG,yDAA0BX,UAA1B,CAAnB;AACA,QAAMY,YAAY,GAAG,2DAA4BZ,UAA5B,CAArB;AACA,QAAMa,aAAa,GAAG,yBACrB,uBADqB,EAErBF,UAAU,CAACV,SAFU,EAGrBS,WAAW,CAACT,SAHS,EAIrB;AACC;AACA;AACA,wBAAoB,CAAAI,KAAK,SAAL,IAAAA,KAAK,WAAL,6BAAAA,KAAK,CAAES,MAAP,gEAAeC,MAAf,MAA0B;AAH/C,GAJqB,EASrBC,iDATqB,CAAtB;AAWA,QAAMC,WAAW,GAAG,EACnB,GAAGP,WAAW,CAACL,KADI;AAEnB,OAAGM,UAAU,CAACN,KAFK;AAGnB,OAAGO,YAAY,CAACP;AAHG,GAApB,CA9ByD,CAoCzD;AACA;AACA;;AAEA,QAAMa,cAAc,GAAG,yBAAYjB,SAAZ,EAAuB;AAC7C,KAAG,2CAA2CQ,KAAO,EAArD,GAA0DA,KADb;AAE7C,KAAG,sBAAH,GAA4BP,QAAQ,KAAIG,KAAJ,aAAIA,KAAJ,4CAAIA,KAAK,CAAEc,UAAX,sDAAI,kBAAmBjB,QAAvB;AAFS,GAAvB,CAAvB;AAKA,SACC,mCAAUkB,2BAAcrB,IAAd,CAAoB;AAAEE,IAAAA,SAAS,EAAEiB;AAAb,GAApB,CAAV,EACC,4BAAC,qBAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,GADT;AAEC,IAAA,SAAS,EAAGL,aAFb;AAGC,IAAA,IAAI,EAAGL,GAHR;AAIC,IAAA,KAAK,EAAGD,KAJT;AAKC,IAAA,KAAK,EAAGU,WALT;AAMC,IAAA,KAAK,EAAGX,IANT;AAOC,IAAA,MAAM,EAAGH,UAPV;AAQC,IAAA,GAAG,EAAGC;AARP,IADD,CADD;AAcA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\t__experimentalElementButtonClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes, className } ) {\n\tconst {\n\t\tfontSize,\n\t\tlinkTarget,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\ttitle,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\n\tif ( ! text ) {\n\t\treturn null;\n\t}\n\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\tconst buttonClasses = classnames(\n\t\t'wp-block-button__link',\n\t\tcolorProps.className,\n\t\tborderProps.className,\n\t\t{\n\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t// block support.\n\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t},\n\t\t__experimentalElementButtonClassName\n\t);\n\tconst buttonStyle = {\n\t\t...borderProps.style,\n\t\t...colorProps.style,\n\t\t...spacingProps.style,\n\t};\n\n\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t// if it had already been assigned, for the sake of backward-compatibility.\n\t// A title will no longer be assigned for new or updated button block links.\n\n\tconst wrapperClasses = classnames( className, {\n\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t} );\n\n\treturn (\n\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"a\"\n\t\t\t\tclassName={ buttonClasses }\n\t\t\t\thref={ url }\n\t\t\t\ttitle={ title }\n\t\t\t\tstyle={ buttonStyle }\n\t\t\t\tvalue={ text }\n\t\t\t\ttarget={ linkTarget }\n\t\t\t\trel={ rel }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/save.js"],"names":["save","attributes","className","fontSize","linkTarget","rel","style","text","title","url","width","borderProps","colorProps","spacingProps","buttonClasses","border","radius","buttonStyle","wrapperClasses","typography","useBlockProps"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAUe,SAASA,IAAT,OAA2C;AAAA;;AAAA,MAA5B;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAA4B;AACzD,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,UAAZ;AAAwBC,IAAAA,GAAxB;AAA6BC,IAAAA,KAA7B;AAAoCC,IAAAA,IAApC;AAA0CC,IAAAA,KAA1C;AAAiDC,IAAAA,GAAjD;AAAsDC,IAAAA;AAAtD,MACLT,UADD;;AAGA,MAAK,CAAEM,IAAP,EAAc;AACb,WAAO,IAAP;AACA;;AAED,QAAMI,WAAW,GAAG,0DAA2BV,UAA3B,CAApB;AACA,QAAMW,UAAU,GAAG,yDAA0BX,UAA1B,CAAnB;AACA,QAAMY,YAAY,GAAG,2DAA4BZ,UAA5B,CAArB;AACA,QAAMa,aAAa,GAAG,yBACrB,uBADqB,EAErBF,UAAU,CAACV,SAFU,EAGrBS,WAAW,CAACT,SAHS,EAIrB;AACC;AACA;AACA,wBAAoB,CAAAI,KAAK,SAAL,IAAAA,KAAK,WAAL,6BAAAA,KAAK,CAAES,MAAP,gEAAeC,MAAf,MAA0B;AAH/C,GAJqB,EASrB,oDAAmC,QAAnC,CATqB,CAAtB;AAWA,QAAMC,WAAW,GAAG,EACnB,GAAGN,WAAW,CAACL,KADI;AAEnB,OAAGM,UAAU,CAACN,KAFK;AAGnB,OAAGO,YAAY,CAACP;AAHG,GAApB,CAtByD,CA4BzD;AACA;AACA;;AAEA,QAAMY,cAAc,GAAG,yBAAYhB,SAAZ,EAAuB;AAC7C,KAAG,2CAA2CQ,KAAO,EAArD,GAA0DA,KADb;AAE7C,KAAG,sBAAH,GAA4BP,QAAQ,KAAIG,KAAJ,aAAIA,KAAJ,4CAAIA,KAAK,CAAEa,UAAX,sDAAI,kBAAmBhB,QAAvB;AAFS,GAAvB,CAAvB;AAKA,SACC,mCAAUiB,2BAAcpB,IAAd,CAAoB;AAAEE,IAAAA,SAAS,EAAEgB;AAAb,GAApB,CAAV,EACC,4BAAC,qBAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,GADT;AAEC,IAAA,SAAS,EAAGJ,aAFb;AAGC,IAAA,IAAI,EAAGL,GAHR;AAIC,IAAA,KAAK,EAAGD,KAJT;AAKC,IAAA,KAAK,EAAGS,WALT;AAMC,IAAA,KAAK,EAAGV,IANT;AAOC,IAAA,MAAM,EAAGH,UAPV;AAQC,IAAA,GAAG,EAAGC;AARP,IADD,CADD;AAcA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes, className } ) {\n\tconst { fontSize, linkTarget, rel, style, text, title, url, width } =\n\t\tattributes;\n\n\tif ( ! text ) {\n\t\treturn null;\n\t}\n\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\tconst buttonClasses = classnames(\n\t\t'wp-block-button__link',\n\t\tcolorProps.className,\n\t\tborderProps.className,\n\t\t{\n\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t// block support.\n\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t},\n\t\t__experimentalGetElementClassName( 'button' )\n\t);\n\tconst buttonStyle = {\n\t\t...borderProps.style,\n\t\t...colorProps.style,\n\t\t...spacingProps.style,\n\t};\n\n\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t// if it had already been assigned, for the sake of backward-compatibility.\n\t// A title will no longer be assigned for new or updated button block links.\n\n\tconst wrapperClasses = classnames( className, {\n\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t} );\n\n\treturn (\n\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"a\"\n\t\t\t\tclassName={ buttonClasses }\n\t\t\t\thref={ url }\n\t\t\t\ttitle={ title }\n\t\t\t\tstyle={ buttonStyle }\n\t\t\t\tvalue={ text }\n\t\t\t\ttarget={ linkTarget }\n\t\t\t\trel={ rel }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/buttons/deprecated.js"],"names":["migrateWithLayout","attributes","layout","contentJustification","orientation","updatedAttributes","Object","assign","type","justifyContent","deprecated","default","supports","anchor","align","__experimentalExposeControlsToChildren","spacing","blockGap","margin","__experimentalDefaultControls","isEligible","migrate","save","useBlockProps","className","includes","undefined"],"mappings":";;;;;;;;;;;AAGA;;AAIA;;AAPA;AACA;AACA;;AAEA;AACA;AACA;;AAGA;AACA;AACA;AACA,MAAMA,iBAAiB,GAAKC,UAAF,IAAkB;AAC3C,MAAK,CAAC,CAAEA,UAAU,CAACC,MAAnB,EAA4B;AAC3B,WAAOD,UAAP;AACA;;AAED,QAAM;AACLE,IAAAA,oBADK;AAELC,IAAAA,WAFK;AAGL,OAAGC;AAHE,MAIFJ,UAJJ;;AAMA,MAAKE,oBAAoB,IAAIC,WAA7B,EAA2C;AAC1CE,IAAAA,MAAM,CAACC,MAAP,CAAeF,iBAAf,EAAkC;AACjCH,MAAAA,MAAM,EAAE;AACPM,QAAAA,IAAI,EAAE,MADC;AAEP,YAAKL,oBAAoB,IAAI;AAC5BM,UAAAA,cAAc,EAAEN;AADY,SAA7B,CAFO;AAKP,YAAKC,WAAW,IAAI;AAAEA,UAAAA;AAAF,SAApB;AALO;AADyB,KAAlC;AASA;;AAED,SAAOC,iBAAP;AACA,CAxBD;;AA0BA,MAAMK,UAAU,GAAG,CAClB;AACCT,EAAAA,UAAU,EAAE;AACXE,IAAAA,oBAAoB,EAAE;AACrBK,MAAAA,IAAI,EAAE;AADe,KADX;AAIXJ,IAAAA,WAAW,EAAE;AACZI,MAAAA,IAAI,EAAE,QADM;AAEZG,MAAAA,OAAO,EAAE;AAFG;AAJF,GADb;AAUCC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,MAAM,EAAE,IADC;AAETC,IAAAA,KAAK,EAAE,CAAE,MAAF,EAAU,MAAV,CAFE;AAGTC,IAAAA,sCAAsC,EAAE,IAH/B;AAITC,IAAAA,OAAO,EAAE;AACRC,MAAAA,QAAQ,EAAE,IADF;AAERC,MAAAA,MAAM,EAAE,CAAE,KAAF,EAAS,QAAT,CAFA;AAGRC,MAAAA,6BAA6B,EAAE;AAC9BF,QAAAA,QAAQ,EAAE;AADoB;AAHvB;AAJA,GAVX;AAsBCG,EAAAA,UAAU,EAAE;AAAA,QAAE;AAAEjB,MAAAA,oBAAF;AAAwBC,MAAAA;AAAxB,KAAF;AAAA,WACX,CAAC,CAAED,oBAAH,IAA2B,CAAC,CAAEC,WADnB;AAAA,GAtBb;AAwBCiB,EAAAA,OAAO,EAAErB,iBAxBV;;AAyBCsB,EAAAA,IAAI,QAA0D;AAAA,QAAxD;AAAErB,MAAAA,UAAU,EAAE;AAAEE,QAAAA,oBAAF;AAAwBC,QAAAA;AAAxB;AAAd,KAAwD;AAC7D,WACC,mCACMmB,2BAAcD,IAAd,CAAoB;AACxBE,MAAAA,SAAS,EAAE,yBAAY;AACtB,SAAG,4BAA4BrB,oBAAsB,EAArD,GAA0DA,oBADpC;AAEtB,uBAAeC,WAAW,KAAK;AAFT,OAAZ;AADa,KAApB,CADN,EAQC,4BAAC,wBAAD,CAAa,OAAb,OARD,CADD;AAYA;;AAtCF,CADkB,EAyClB;AACCQ,EAAAA,QAAQ,EAAE;AACTE,IAAAA,KAAK,EAAE,CAAE,QAAF,EAAY,MAAZ,EAAoB,OAApB,CADE;AAETD,IAAAA,MAAM,EAAE;AAFC,GADX;;AAKCS,EAAAA,IAAI,GAAG;AACN,WACC,yCACC,4BAAC,wBAAD,CAAa,OAAb,OADD,CADD;AAKA,GAXF;;AAYCF,EAAAA,UAAU,QAAc;AAAA,QAAZ;AAAEN,MAAAA;AAAF,KAAY;AACvB,WAAOA,KAAK,IAAI,CAAE,QAAF,EAAY,MAAZ,EAAoB,OAApB,EAA8BW,QAA9B,CAAwCX,KAAxC,CAAhB;AACA,GAdF;;AAeCO,EAAAA,OAAO,CAAEpB,UAAF,EAAe;AACrB,WAAOD,iBAAiB,CAAE,EACzB,GAAGC,UADsB;AAEzBa,MAAAA,KAAK,EAAEY,SAFkB;AAGzB;AACA;AACA;AACA;AACA;AACA;AACAvB,MAAAA,oBAAoB,EAAEF,UAAU,CAACa;AATR,KAAF,CAAxB;AAWA;;AA3BF,CAzCkB,CAAnB;eAwEeJ,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * @param {Object} attributes Block's attributes.\n */\nconst migrateWithLayout = ( attributes ) => {\n\tif ( !! attributes.layout ) {\n\t\treturn attributes;\n\t}\n\n\tconst {\n\t\tcontentJustification,\n\t\torientation,\n\t\t...updatedAttributes\n\t} = attributes;\n\n\tif ( contentJustification || orientation ) {\n\t\tObject.assign( updatedAttributes, {\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\t...( contentJustification && {\n\t\t\t\t\tjustifyContent: contentJustification,\n\t\t\t\t} ),\n\t\t\t\t...( orientation && { orientation } ),\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn updatedAttributes;\n};\n\nconst deprecated = [\n\t{\n\t\tattributes: {\n\t\t\tcontentJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\torientation: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'horizontal',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\t__experimentalExposeControlsToChildren: true,\n\t\t\tspacing: {\n\t\t\t\tblockGap: true,\n\t\t\t\tmargin: [ 'top', 'bottom' ],\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tblockGap: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tisEligible: ( { contentJustification, orientation } ) =>\n\t\t\t!! contentJustification || !! orientation,\n\t\tmigrate: migrateWithLayout,\n\t\tsave( { attributes: { contentJustification, orientation } } ) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\t\tclassName: classnames( {\n\t\t\t\t\t\t\t[ `is-content-justification-${ contentJustification }` ]: contentJustification,\n\t\t\t\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: [ 'center', 'left', 'right' ],\n\t\t\tanchor: true,\n\t\t},\n\t\tsave() {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tisEligible( { align } ) {\n\t\t\treturn align && [ 'center', 'left', 'right' ].includes( align );\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\treturn migrateWithLayout( {\n\t\t\t\t...attributes,\n\t\t\t\talign: undefined,\n\t\t\t\t// Floating Buttons blocks shouldn't have been supported in the\n\t\t\t\t// first place. Most users using them probably expected them to\n\t\t\t\t// act like content justification controls, so these blocks are\n\t\t\t\t// migrated to use content justification.\n\t\t\t\t// As for center-aligned Buttons blocks, the content justification\n\t\t\t\t// equivalent will create an identical end result in most cases.\n\t\t\t\tcontentJustification: attributes.align,\n\t\t\t} );\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/buttons/deprecated.js"],"names":["migrateWithLayout","attributes","layout","contentJustification","orientation","updatedAttributes","Object","assign","type","justifyContent","deprecated","default","supports","anchor","align","__experimentalExposeControlsToChildren","spacing","blockGap","margin","__experimentalDefaultControls","isEligible","migrate","save","useBlockProps","className","includes","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * @param {Object} attributes Block's attributes.\n */\nconst migrateWithLayout = ( attributes ) => {\n\tif ( !! attributes.layout ) {\n\t\treturn attributes;\n\t}\n\n\tconst { contentJustification, orientation, ...updatedAttributes } =\n\t\tattributes;\n\n\tif ( contentJustification || orientation ) {\n\t\tObject.assign( updatedAttributes, {\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\t...( contentJustification && {\n\t\t\t\t\tjustifyContent: contentJustification,\n\t\t\t\t} ),\n\t\t\t\t...( orientation && { orientation } ),\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn updatedAttributes;\n};\n\nconst deprecated = [\n\t{\n\t\tattributes: {\n\t\t\tcontentJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\torientation: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'horizontal',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\t__experimentalExposeControlsToChildren: true,\n\t\t\tspacing: {\n\t\t\t\tblockGap: true,\n\t\t\t\tmargin: [ 'top', 'bottom' ],\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tblockGap: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tisEligible: ( { contentJustification, orientation } ) =>\n\t\t\t!! contentJustification || !! orientation,\n\t\tmigrate: migrateWithLayout,\n\t\tsave( { attributes: { contentJustification, orientation } } ) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\t\tclassName: classnames( {\n\t\t\t\t\t\t\t[ `is-content-justification-${ contentJustification }` ]:\n\t\t\t\t\t\t\t\tcontentJustification,\n\t\t\t\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: [ 'center', 'left', 'right' ],\n\t\t\tanchor: true,\n\t\t},\n\t\tsave() {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tisEligible( { align } ) {\n\t\t\treturn align && [ 'center', 'left', 'right' ].includes( align );\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\treturn migrateWithLayout( {\n\t\t\t\t...attributes,\n\t\t\t\talign: undefined,\n\t\t\t\t// Floating Buttons blocks shouldn't have been supported in the\n\t\t\t\t// first place. Most users using them probably expected them to\n\t\t\t\t// act like content justification controls, so these blocks are\n\t\t\t\t// migrated to use content justification.\n\t\t\t\t// As for center-aligned Buttons blocks, the content justification\n\t\t\t\t// equivalent will create an identical end result in most cases.\n\t\t\t\tcontentJustification: attributes.align,\n\t\t\t} );\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","DEFAULT_BLOCK","name","attributesToCopy","ButtonsEdit","attributes","layout","blockProps","preferredStyle","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","template","className","__experimentalLayout","templateInsertUpdatesSelection"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAEC,YAAF,CAAvB;AAEA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,IAAI,EAAEF,YADe;AAErBG,EAAAA,gBAAgB,EAAE,CACjB,iBADiB,EAEjB,QAFiB,EAGjB,WAHiB,EAIjB,YAJiB,EAKjB,UALiB,EAMjB,UANiB,EAOjB,OAPiB,EAQjB,WARiB,EASjB,OATiB;AAFG,CAAtB;;AAeA,SAASC,WAAT,OAAwD;AAAA,MAAlC;AAAEC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,MAAM,GAAG;AAAX;AAAd,GAAkC;AACvD,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAMC,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAAGD,MAAM,CACtCE,kBADsC,CAAN,CAE/BC,WAF+B,GAEjBC,sCAFhB;;AAGA,WAAOH,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEI,KAAjC,0DAAO,sBAAmCd,YAAnC,CAAP;AACA,GALsB,EAKpB,EALoB,CAAvB;AAOA,QAAMe,gBAAgB,GAAG,sCAAqBR,UAArB,EAAiC;AACzDS,IAAAA,aAAa,EAAEjB,cAD0C;AAEzDkB,IAAAA,0BAA0B,EAAEhB,aAF6B;AAGzDiB,IAAAA,0BAA0B,EAAE,IAH6B;AAIzDC,IAAAA,QAAQ,EAAE,CACT,CACCnB,YADD,EAEC;AAAEoB,MAAAA,SAAS,EAAEZ,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAJ+C;AAUzDa,IAAAA,oBAAoB,EAAEf,MAVmC;AAWzDgB,IAAAA,8BAA8B,EAAE;AAXyB,GAAjC,CAAzB;AAcA,SACC,qDACC,mCAAUP,gBAAV,CADD,CADD;AAKA;;eAEcX,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nconst DEFAULT_BLOCK = {\n\tname: buttonBlockName,\n\tattributesToCopy: [\n\t\t'backgroundColor',\n\t\t'border',\n\t\t'className',\n\t\t'fontFamily',\n\t\t'fontSize',\n\t\t'gradient',\n\t\t'style',\n\t\t'textColor',\n\t\t'width',\n\t],\n};\n\nfunction ButtonsEdit( { attributes: { layout = {} } } ) {\n\tconst blockProps = useBlockProps();\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations = select(\n\t\t\tblockEditorStore\n\t\t).getSettings().__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t__experimentalDirectInsert: true,\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\tbuttonBlockName,\n\t\t\t\t{ className: preferredStyle && `is-style-${ preferredStyle }` },\n\t\t\t],\n\t\t],\n\t\t__experimentalLayout: layout,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nexport default ButtonsEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","DEFAULT_BLOCK","name","attributesToCopy","ButtonsEdit","attributes","layout","blockProps","preferredStyle","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","template","className","__experimentalLayout","templateInsertUpdatesSelection"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAEC,YAAF,CAAvB;AAEA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,IAAI,EAAEF,YADe;AAErBG,EAAAA,gBAAgB,EAAE,CACjB,iBADiB,EAEjB,QAFiB,EAGjB,WAHiB,EAIjB,YAJiB,EAKjB,UALiB,EAMjB,UANiB,EAOjB,OAPiB,EAQjB,WARiB,EASjB,OATiB;AAFG,CAAtB;;AAeA,SAASC,WAAT,OAAwD;AAAA,MAAlC;AAAEC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,MAAM,GAAG;AAAX;AAAd,GAAkC;AACvD,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAMC,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAC7BD,MAAM,CAAEE,kBAAF,CAAN,CAA2BC,WAA3B,GACEC,sCAFH;;AAGA,WAAOH,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEI,KAAjC,0DAAO,sBAAmCd,YAAnC,CAAP;AACA,GALsB,EAKpB,EALoB,CAAvB;AAOA,QAAMe,gBAAgB,GAAG,sCAAqBR,UAArB,EAAiC;AACzDS,IAAAA,aAAa,EAAEjB,cAD0C;AAEzDkB,IAAAA,0BAA0B,EAAEhB,aAF6B;AAGzDiB,IAAAA,0BAA0B,EAAE,IAH6B;AAIzDC,IAAAA,QAAQ,EAAE,CACT,CACCnB,YADD,EAEC;AAAEoB,MAAAA,SAAS,EAAEZ,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAJ+C;AAUzDa,IAAAA,oBAAoB,EAAEf,MAVmC;AAWzDgB,IAAAA,8BAA8B,EAAE;AAXyB,GAAjC,CAAzB;AAcA,SACC,qDACC,mCAAUP,gBAAV,CADD,CADD;AAKA;;eAEcX,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nconst DEFAULT_BLOCK = {\n\tname: buttonBlockName,\n\tattributesToCopy: [\n\t\t'backgroundColor',\n\t\t'border',\n\t\t'className',\n\t\t'fontFamily',\n\t\t'fontSize',\n\t\t'gradient',\n\t\t'style',\n\t\t'textColor',\n\t\t'width',\n\t],\n};\n\nfunction ButtonsEdit( { attributes: { layout = {} } } ) {\n\tconst blockProps = useBlockProps();\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t__experimentalDirectInsert: true,\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\tbuttonBlockName,\n\t\t\t\t{ className: preferredStyle && `is-style-${ preferredStyle }` },\n\t\t\t],\n\t\t],\n\t\t__experimentalLayout: layout,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nexport default ButtonsEdit;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/buttons/edit.native.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","layoutProp","type","alignments","ButtonsEdit","attributes","layout","align","clientId","isSelected","setAttributes","blockWidth","name","resizeObserver","sizes","maxWidth","setMaxWidth","marginLeft","spacing","styles","layoutBlockSupport","defaultBlockLayout","default","usedLayout","justifyContent","isInnerButtonSelected","shouldDelete","select","getBlockCount","getBlockParents","getSelectedBlockClientId","blockEditorStore","selectedBlockClientId","selectedBlockParents","preferredStyle","preferredStyleVariations","getSettings","__experimentalPreferredStyleVariations","value","getBlockOrder","insertBlock","removeBlock","selectBlock","width","isFullWidth","alignmentHelpers","isFullWidthBlock","onAddNextButton","selectedId","order","selectedButtonIndex","findIndex","i","index","length","insertedBlock","renderFooterAppender","appenderContainer","justifyControls","remove","shouldRenderFooterAppender","position","isAlternate","className","current","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tJustifyContentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { createBlock, getBlockSupport } from '@wordpress/blocks';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button/';\nimport styles from './editor.scss';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nconst layoutProp = { type: 'default', alignments: [] };\n\nexport default function ButtonsEdit( {\n\tattributes: { layout, align },\n\tclientId,\n\tisSelected,\n\tsetAttributes,\n\tblockWidth,\n\tname,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\t// Extract attributes from block layout\n\tconst layoutBlockSupport = getBlockSupport( name, '__experimentalLayout' );\n\tconst defaultBlockLayout = layoutBlockSupport?.default;\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { justifyContent } = usedLayout;\n\n\tconst { isInnerButtonSelected, shouldDelete } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst selectedBlockParents = getBlockParents(\n\t\t\t\tselectedBlockClientId,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisInnerButtonSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\t\t// The purpose of `shouldDelete` check is giving the ability to\n\t\t\t\t// pass to mobile toolbar function called `onDelete` which removes\n\t\t\t\t// the whole `Buttons` container along with the last inner button\n\t\t\t\t// when there is exactly one button.\n\t\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations = select(\n\t\t\tblockEditorStore\n\t\t).getSettings().__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { insertBlock, removeBlock, selectBlock } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tconst { isFullWidth } = alignmentHelpers;\n\n\t\tif ( width ) {\n\t\t\tconst isFullWidthBlock = isFullWidth( align );\n\t\t\tsetMaxWidth( isFullWidthBlock ? blockWidth : width );\n\t\t}\n\t}, [ sizes, align ] );\n\n\tconst onAddNextButton = useCallback(\n\t\tdebounce( ( selectedId ) => {\n\t\t\tconst order = getBlockOrder( clientId );\n\t\t\tconst selectedButtonIndex = order.findIndex(\n\t\t\t\t( i ) => i === selectedId\n\t\t\t);\n\n\t\t\tconst index =\n\t\t\t\tselectedButtonIndex === -1\n\t\t\t\t\t? order.length + 1\n\t\t\t\t\t: selectedButtonIndex;\n\n\t\t\tconst insertedBlock = createBlock( 'core/button' );\n\n\t\t\tinsertBlock( insertedBlock, index, clientId );\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t}, 200 ),\n\t\t[]\n\t);\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View style={ styles.appenderContainer }>\n\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\tisFloating={ true }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t/>\n\t\t</View>\n\t) );\n\n\tconst justifyControls = [ 'left', 'center', 'right' ];\n\n\tconst remove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\tconst shouldRenderFooterAppender = isSelected || isInnerButtonSelected;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<JustifyContentControl\n\t\t\t\t\t\tallowedControls={ justifyControls }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t...usedLayout,\n\t\t\t\t\t\t\t\t\tjustifyContent: value,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tposition: 'bottom right',\n\t\t\t\t\t\t\tisAlternate: true,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\ttemplate={ [\n\t\t\t\t\t[\n\t\t\t\t\t\tbuttonBlockName,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\tpreferredStyle &&\n\t\t\t\t\t\t\t\t`is-style-${ preferredStyle }`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t] }\n\t\t\t\trenderFooterAppender={\n\t\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t\t}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\thorizontalAlignment={ justifyContent }\n\t\t\t\tonDeleteBlock={ shouldDelete ? remove : undefined }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t\tparentWidth={ maxWidth } // This value controls the width of that the buttons are able to expand to.\n\t\t\t\tmarginHorizontal={ spacing }\n\t\t\t\tmarginVertical={ spacing }\n\t\t\t\t__experimentalLayout={ layoutProp }\n\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/buttons/edit.native.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","layoutProp","type","alignments","ButtonsEdit","attributes","layout","align","clientId","isSelected","setAttributes","blockWidth","name","resizeObserver","sizes","maxWidth","setMaxWidth","marginLeft","spacing","styles","layoutBlockSupport","defaultBlockLayout","default","usedLayout","justifyContent","isInnerButtonSelected","shouldDelete","select","getBlockCount","getBlockParents","getSelectedBlockClientId","blockEditorStore","selectedBlockClientId","selectedBlockParents","preferredStyle","preferredStyleVariations","getSettings","__experimentalPreferredStyleVariations","value","getBlockOrder","insertBlock","removeBlock","selectBlock","width","isFullWidth","alignmentHelpers","isFullWidthBlock","onAddNextButton","selectedId","order","selectedButtonIndex","findIndex","i","index","length","insertedBlock","renderFooterAppender","appenderContainer","justifyControls","remove","shouldRenderFooterAppender","position","isAlternate","className","current","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tJustifyContentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { createBlock, getBlockSupport } from '@wordpress/blocks';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button/';\nimport styles from './editor.scss';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nconst layoutProp = { type: 'default', alignments: [] };\n\nexport default function ButtonsEdit( {\n\tattributes: { layout, align },\n\tclientId,\n\tisSelected,\n\tsetAttributes,\n\tblockWidth,\n\tname,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\t// Extract attributes from block layout\n\tconst layoutBlockSupport = getBlockSupport( name, '__experimentalLayout' );\n\tconst defaultBlockLayout = layoutBlockSupport?.default;\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { justifyContent } = usedLayout;\n\n\tconst { isInnerButtonSelected, shouldDelete } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, getBlockParents, getSelectedBlockClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst selectedBlockParents = getBlockParents(\n\t\t\t\tselectedBlockClientId,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisInnerButtonSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\t\t// The purpose of `shouldDelete` check is giving the ability to\n\t\t\t\t// pass to mobile toolbar function called `onDelete` which removes\n\t\t\t\t// the whole `Buttons` container along with the last inner button\n\t\t\t\t// when there is exactly one button.\n\t\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { insertBlock, removeBlock, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tconst { isFullWidth } = alignmentHelpers;\n\n\t\tif ( width ) {\n\t\t\tconst isFullWidthBlock = isFullWidth( align );\n\t\t\tsetMaxWidth( isFullWidthBlock ? blockWidth : width );\n\t\t}\n\t}, [ sizes, align ] );\n\n\tconst onAddNextButton = useCallback(\n\t\tdebounce( ( selectedId ) => {\n\t\t\tconst order = getBlockOrder( clientId );\n\t\t\tconst selectedButtonIndex = order.findIndex(\n\t\t\t\t( i ) => i === selectedId\n\t\t\t);\n\n\t\t\tconst index =\n\t\t\t\tselectedButtonIndex === -1\n\t\t\t\t\t? order.length + 1\n\t\t\t\t\t: selectedButtonIndex;\n\n\t\t\tconst insertedBlock = createBlock( 'core/button' );\n\n\t\t\tinsertBlock( insertedBlock, index, clientId );\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t}, 200 ),\n\t\t[]\n\t);\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View style={ styles.appenderContainer }>\n\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\tisFloating={ true }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t/>\n\t\t</View>\n\t) );\n\n\tconst justifyControls = [ 'left', 'center', 'right' ];\n\n\tconst remove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\tconst shouldRenderFooterAppender = isSelected || isInnerButtonSelected;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<JustifyContentControl\n\t\t\t\t\t\tallowedControls={ justifyControls }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t...usedLayout,\n\t\t\t\t\t\t\t\t\tjustifyContent: value,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tposition: 'bottom right',\n\t\t\t\t\t\t\tisAlternate: true,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\ttemplate={ [\n\t\t\t\t\t[\n\t\t\t\t\t\tbuttonBlockName,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\tpreferredStyle &&\n\t\t\t\t\t\t\t\t`is-style-${ preferredStyle }`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t] }\n\t\t\t\trenderFooterAppender={\n\t\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t\t}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\thorizontalAlignment={ justifyContent }\n\t\t\t\tonDeleteBlock={ shouldDelete ? remove : undefined }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t\tparentWidth={ maxWidth } // This value controls the width of that the buttons are able to expand to.\n\t\t\t\tmarginHorizontal={ spacing }\n\t\t\t\tmarginVertical={ spacing }\n\t\t\t\t__experimentalLayout={ layoutProp }\n\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/column/deprecated.js"],"names":["deprecated","attributes","verticalAlignment","type","width","min","max","isEligible","isFinite","migrate","save","wrapperClasses","style","flexBasis"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,UAAU,GAAG,CAClB;AACCC,EAAAA,UAAU,EAAE;AACXC,IAAAA,iBAAiB,EAAE;AAClBC,MAAAA,IAAI,EAAE;AADY,KADR;AAIXC,IAAAA,KAAK,EAAE;AACND,MAAAA,IAAI,EAAE,QADA;AAENE,MAAAA,GAAG,EAAE,CAFC;AAGNC,MAAAA,GAAG,EAAE;AAHC;AAJI,GADb;;AAWCC,EAAAA,UAAU,OAAc;AAAA,QAAZ;AAAEH,MAAAA;AAAF,KAAY;AACvB,WAAOI,QAAQ,CAAEJ,KAAF,CAAf;AACA,GAbF;;AAcCK,EAAAA,OAAO,CAAER,UAAF,EAAe;AACrB,WAAO,EACN,GAAGA,UADG;AAENG,MAAAA,KAAK,EAAG,GAAGH,UAAU,CAACG,KAAO;AAFvB,KAAP;AAIA,GAnBF;;AAoBCM,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAET,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAEC,MAAAA,iBAAF;AAAqBE,MAAAA;AAArB,QAA+BH,UAArC;AAEA,UAAMU,cAAc,GAAG,yBAAY;AAClC,OAAG,yBAAyBT,iBAAmB,EAA/C,GAAoDA;AADlB,KAAZ,CAAvB;AAIA,UAAMU,KAAK,GAAG;AAAEC,MAAAA,SAAS,EAAET,KAAK,GAAG;AAArB,KAAd;AAEA,WACC;AAAK,MAAA,SAAS,EAAGO,cAAjB;AAAkC,MAAA,KAAK,EAAGC;AAA1C,OACC,4BAAC,wBAAD,CAAa,OAAb,OADD,CADD;AAKA;;AAlCF,CADkB,CAAnB;eAuCeZ,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks } from '@wordpress/block-editor';\n\nconst deprecated = [\n\t{\n\t\tattributes: {\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 100,\n\t\t\t},\n\t\t},\n\t\tisEligible( { width } ) {\n\t\t\treturn isFinite( width );\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\twidth: `${ attributes.width }%`,\n\t\t\t};\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { verticalAlignment, width } = attributes;\n\n\t\t\tconst wrapperClasses = classnames( {\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t\t} );\n\n\t\t\tconst style = { flexBasis: width + '%' };\n\n\t\t\treturn (\n\t\t\t\t<div className={ wrapperClasses } style={ style }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/column/deprecated.js"],"names":["deprecated","attributes","verticalAlignment","type","width","min","max","isEligible","isFinite","migrate","save","wrapperClasses","style","flexBasis"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,UAAU,GAAG,CAClB;AACCC,EAAAA,UAAU,EAAE;AACXC,IAAAA,iBAAiB,EAAE;AAClBC,MAAAA,IAAI,EAAE;AADY,KADR;AAIXC,IAAAA,KAAK,EAAE;AACND,MAAAA,IAAI,EAAE,QADA;AAENE,MAAAA,GAAG,EAAE,CAFC;AAGNC,MAAAA,GAAG,EAAE;AAHC;AAJI,GADb;;AAWCC,EAAAA,UAAU,OAAc;AAAA,QAAZ;AAAEH,MAAAA;AAAF,KAAY;AACvB,WAAOI,QAAQ,CAAEJ,KAAF,CAAf;AACA,GAbF;;AAcCK,EAAAA,OAAO,CAAER,UAAF,EAAe;AACrB,WAAO,EACN,GAAGA,UADG;AAENG,MAAAA,KAAK,EAAG,GAAGH,UAAU,CAACG,KAAO;AAFvB,KAAP;AAIA,GAnBF;;AAoBCM,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAET,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAEC,MAAAA,iBAAF;AAAqBE,MAAAA;AAArB,QAA+BH,UAArC;AAEA,UAAMU,cAAc,GAAG,yBAAY;AAClC,OAAG,yBAAyBT,iBAAmB,EAA/C,GACCA;AAFiC,KAAZ,CAAvB;AAKA,UAAMU,KAAK,GAAG;AAAEC,MAAAA,SAAS,EAAET,KAAK,GAAG;AAArB,KAAd;AAEA,WACC;AAAK,MAAA,SAAS,EAAGO,cAAjB;AAAkC,MAAA,KAAK,EAAGC;AAA1C,OACC,4BAAC,wBAAD,CAAa,OAAb,OADD,CADD;AAKA;;AAnCF,CADkB,CAAnB;eAwCeZ,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks } from '@wordpress/block-editor';\n\nconst deprecated = [\n\t{\n\t\tattributes: {\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\twidth: {\n\t\t\t\ttype: 'number',\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 100,\n\t\t\t},\n\t\t},\n\t\tisEligible( { width } ) {\n\t\t\treturn isFinite( width );\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\twidth: `${ attributes.width }%`,\n\t\t\t};\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { verticalAlignment, width } = attributes;\n\n\t\t\tconst wrapperClasses = classnames( {\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\tconst style = { flexBasis: width + '%' };\n\n\t\t\treturn (\n\t\t\t\t<div className={ wrapperClasses } style={ style }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/column/edit.js"],"names":["ColumnEdit","attributes","verticalAlignment","width","templateLock","allowedBlocks","setAttributes","clientId","classes","units","availableUnits","columnsIds","hasChildBlocks","rootClientId","select","getBlockOrder","getBlockRootClientId","blockEditorStore","rootId","length","updateBlockAttributes","updateAlignment","value","widthWithUnit","Number","isFinite","blockProps","className","style","flexBasis","undefined","columnsCount","currentColumnPosition","indexOf","label","innerBlocksProps","renderAppender","InnerBlocks","ButtonBlockAppender","nextWidth","parseFloat"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\tPanelBody,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { sprintf, __ } from '@wordpress/i18n';\n\nfunction ColumnEdit( {\n\tattributes: {\n\t\tverticalAlignment,\n\t\twidth,\n\t\ttemplateLock = false,\n\t\tallowedBlocks,\n\t},\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst classes = classnames( 'block-core-columns', {\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t} );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst { columnsIds, hasChildBlocks, rootClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder, getBlockRootClientId } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\tconst rootId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\thasChildBlocks: getBlockOrder( clientId ).length > 0,\n\t\t\t\trootClientId: rootId,\n\t\t\t\tcolumnsIds: getBlockOrder( rootId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst updateAlignment = ( value ) => {\n\t\t// Update own alignment.\n\t\tsetAttributes( { verticalAlignment: value } );\n\t\t// Reset parent Columns block.\n\t\tupdateBlockAttributes( rootClientId, {\n\t\t\tverticalAlignment: null,\n\t\t} );\n\t};\n\n\tconst widthWithUnit = Number.isFinite( width ) ? width + '%' : width;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t\tstyle: widthWithUnit ? { flexBasis: widthWithUnit } : undefined,\n\t} );\n\n\tconst columnsCount = columnsIds.length;\n\tconst currentColumnPosition = columnsIds.indexOf( clientId ) + 1;\n\n\tconst label = sprintf(\n\t\t/* translators: 1: Block label (i.e. \"Block: Column\"), 2: Position of the selected block, 3: Total number of sibling blocks of the same type */\n\t\t__( '%1$s (%2$d of %3$d)' ),\n\t\tblockProps[ 'aria-label' ],\n\t\tcurrentColumnPosition,\n\t\tcolumnsCount\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ ...blockProps, 'aria-label': label },\n\t\t{\n\t\t\ttemplateLock,\n\t\t\tallowedBlocks,\n\t\t\trenderAppender: hasChildBlocks\n\t\t\t\t? undefined\n\t\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tlabelPosition=\"edge\"\n\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth ) ? '0' : nextWidth;\n\t\t\t\t\t\t\tsetAttributes( { width: nextWidth } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nexport default ColumnEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/column/edit.js"],"names":["ColumnEdit","attributes","verticalAlignment","width","templateLock","allowedBlocks","setAttributes","clientId","classes","units","availableUnits","columnsIds","hasChildBlocks","rootClientId","select","getBlockOrder","getBlockRootClientId","blockEditorStore","rootId","length","updateBlockAttributes","updateAlignment","value","widthWithUnit","Number","isFinite","blockProps","className","style","flexBasis","undefined","columnsCount","currentColumnPosition","indexOf","label","innerBlocksProps","renderAppender","InnerBlocks","ButtonBlockAppender","nextWidth","parseFloat"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\tPanelBody,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { sprintf, __ } from '@wordpress/i18n';\n\nfunction ColumnEdit( {\n\tattributes: {\n\t\tverticalAlignment,\n\t\twidth,\n\t\ttemplateLock = false,\n\t\tallowedBlocks,\n\t},\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst classes = classnames( 'block-core-columns', {\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t} );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst { columnsIds, hasChildBlocks, rootClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\thasChildBlocks: getBlockOrder( clientId ).length > 0,\n\t\t\t\trootClientId: rootId,\n\t\t\t\tcolumnsIds: getBlockOrder( rootId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst updateAlignment = ( value ) => {\n\t\t// Update own alignment.\n\t\tsetAttributes( { verticalAlignment: value } );\n\t\t// Reset parent Columns block.\n\t\tupdateBlockAttributes( rootClientId, {\n\t\t\tverticalAlignment: null,\n\t\t} );\n\t};\n\n\tconst widthWithUnit = Number.isFinite( width ) ? width + '%' : width;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t\tstyle: widthWithUnit ? { flexBasis: widthWithUnit } : undefined,\n\t} );\n\n\tconst columnsCount = columnsIds.length;\n\tconst currentColumnPosition = columnsIds.indexOf( clientId ) + 1;\n\n\tconst label = sprintf(\n\t\t/* translators: 1: Block label (i.e. \"Block: Column\"), 2: Position of the selected block, 3: Total number of sibling blocks of the same type */\n\t\t__( '%1$s (%2$d of %3$d)' ),\n\t\tblockProps[ 'aria-label' ],\n\t\tcurrentColumnPosition,\n\t\tcolumnsCount\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ ...blockProps, 'aria-label': label },\n\t\t{\n\t\t\ttemplateLock,\n\t\t\tallowedBlocks,\n\t\t\trenderAppender: hasChildBlocks\n\t\t\t\t? undefined\n\t\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tlabelPosition=\"edge\"\n\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth ) ? '0' : nextWidth;\n\t\t\t\t\t\t\tsetAttributes( { width: nextWidth } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nexport default ColumnEdit;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/column/edit.native.js"],"names":["ColumnEdit","attributes","setAttributes","hasChildren","isSelected","getStylesFromColorScheme","isParentSelected","contentStyle","columns","selectedColumnIndex","parentAlignment","clientId","blockWidth","verticalAlignment","width","valueUnit","screenWidth","Math","floor","Dimensions","get","widthUnit","setWidthUnit","units","availableUnits","updateAlignment","alignment","onChangeWidth","nextWidth","widthWithUnit","onChangeUnit","nextUnit","widthWithoutUnit","parseFloat","onChange","renderAppender","columnWidth","isFullWidth","styles","columnAppender","fullwidthColumnAppender","fullwidthHasInnerColumnAppender","hasInnerColumnAppender","columnPlaceholder","columnPlaceholderDark","columnPlaceholderNotSelected","undefined","innerBlocksBottomSpace","ColumnEditWrapper","props","getVerticalAlignmentRemap","flexBase","select","getBlockCount","getBlockRootClientId","getSelectedBlockClientId","getBlocks","getBlockOrder","getBlockAttributes","blockEditorStore","selectedBlockClientId","parentId","blockOrder","indexOf","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport ColumnsPreview from './column-preview';\nimport {\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from '../columns/utils';\n\nfunction ColumnEdit( {\n\tattributes,\n\tsetAttributes,\n\thasChildren,\n\tisSelected,\n\tgetStylesFromColorScheme,\n\tisParentSelected,\n\tcontentStyle,\n\tcolumns,\n\tselectedColumnIndex,\n\tparentAlignment,\n\tclientId,\n\tblockWidth,\n} ) {\n\tif ( ! contentStyle ) {\n\t\tcontentStyle = { [ clientId ]: {} };\n\t}\n\n\tconst { verticalAlignment, width } = attributes;\n\tconst { valueUnit = '%' } = getValueAndUnit( width ) || {};\n\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\tconst [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst updateAlignment = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tuseEffect( () => {\n\t\tsetWidthUnit( valueUnit );\n\t}, [ valueUnit ] );\n\n\tuseEffect( () => {\n\t\tif ( ! verticalAlignment && parentAlignment ) {\n\t\t\tupdateAlignment( parentAlignment );\n\t\t}\n\t}, [] );\n\n\tconst onChangeWidth = ( nextWidth ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );\n\n\t\tsetAttributes( {\n\t\t\twidth: widthWithUnit,\n\t\t} );\n\t};\n\n\tconst onChangeUnit = ( nextUnit ) => {\n\t\tsetWidthUnit( nextUnit );\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\twidth || getWidths( columns )[ selectedColumnIndex ]\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\twidth: getWidthWithUnit( widthWithoutUnit, nextUnit ),\n\t\t} );\n\t};\n\n\tconst onChange = ( nextWidth ) => {\n\t\tif ( isPercentageUnit( widthUnit ) || ! widthUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth );\n\t};\n\n\tconst renderAppender = useCallback( () => {\n\t\tconst { width: columnWidth } = contentStyle[ clientId ];\n\t\tconst isFullWidth = columnWidth === screenWidth;\n\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.columnAppender,\n\t\t\t\t\t\tisFullWidth && styles.fullwidthColumnAppender,\n\t\t\t\t\t\tisFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.fullwidthHasInnerColumnAppender,\n\t\t\t\t\t\t! isFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.hasInnerColumnAppender,\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}, [ contentStyle[ clientId ], screenWidth, isSelected, hasChildren ] );\n\n\tif ( ! isSelected && ! hasChildren ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\t! isParentSelected &&\n\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\tstyles.columnPlaceholder,\n\t\t\t\t\t\t\tstyles.columnPlaceholderDark\n\t\t\t\t\t\t),\n\t\t\t\t\tstyles.columnPlaceholderNotSelected,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonComplete={ onChangeWidth }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetWidths( columns )[ selectedColumnIndex ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tpreview={\n\t\t\t\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\t\t\t\tcolumnWidths={ getWidths(\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tselectedColumnIndex={\n\t\t\t\t\t\t\t\t\t\t\tselectedColumnIndex\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\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<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\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</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisSelected && hasChildren && styles.innerBlocksBottomSpace,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\tparentWidth={ contentStyle[ clientId ].width }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nfunction ColumnEditWrapper( props ) {\n\tconst { verticalAlignment } = props.attributes;\n\n\tconst getVerticalAlignmentRemap = ( alignment ) => {\n\t\tif ( ! alignment ) return styles.flexBase;\n\t\treturn {\n\t\t\t...styles.flexBase,\n\t\t\t...styles[ `is-vertically-aligned-${ alignment }` ],\n\t\t};\n\t};\n\n\treturn (\n\t\t<View style={ getVerticalAlignmentRemap( verticalAlignment ) }>\n\t\t\t<ColumnEdit { ...props } />\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isSelected = selectedBlockClientId === clientId;\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst hasChildren = !! getBlockCount( clientId );\n\t\tconst isParentSelected =\n\t\t\tselectedBlockClientId && selectedBlockClientId === parentId;\n\n\t\tconst blockOrder = getBlockOrder( parentId );\n\n\t\tconst selectedColumnIndex = blockOrder.indexOf( clientId );\n\t\tconst columns = getBlocks( parentId );\n\n\t\tconst parentAlignment = getBlockAttributes( parentId )\n\t\t\t?.verticalAlignment;\n\n\t\treturn {\n\t\t\thasChildren,\n\t\t\tisParentSelected,\n\t\t\tisSelected,\n\t\t\tselectedColumnIndex,\n\t\t\tcolumns,\n\t\t\tparentAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ColumnEditWrapper );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/column/edit.native.js"],"names":["ColumnEdit","attributes","setAttributes","hasChildren","isSelected","getStylesFromColorScheme","isParentSelected","contentStyle","columns","selectedColumnIndex","parentAlignment","clientId","blockWidth","verticalAlignment","width","valueUnit","screenWidth","Math","floor","Dimensions","get","widthUnit","setWidthUnit","units","availableUnits","updateAlignment","alignment","onChangeWidth","nextWidth","widthWithUnit","onChangeUnit","nextUnit","widthWithoutUnit","parseFloat","onChange","renderAppender","columnWidth","isFullWidth","styles","columnAppender","fullwidthColumnAppender","fullwidthHasInnerColumnAppender","hasInnerColumnAppender","columnPlaceholder","columnPlaceholderDark","columnPlaceholderNotSelected","undefined","innerBlocksBottomSpace","ColumnEditWrapper","props","getVerticalAlignmentRemap","flexBase","select","getBlockCount","getBlockRootClientId","getSelectedBlockClientId","getBlocks","getBlockOrder","getBlockAttributes","blockEditorStore","selectedBlockClientId","parentId","blockOrder","indexOf","withPreferredColorScheme"],"mappings":";;;;;;;;;AAUA;;AAPA;;AAKA;;AACA;;AAEA;;AAQA;;AAOA;;AAIA;;AACA;;AACA;;AAhCA;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;AASA,SAASA,UAAT,OAaI;AAAA,MAbiB;AACpBC,IAAAA,UADoB;AAEpBC,IAAAA,aAFoB;AAGpBC,IAAAA,WAHoB;AAIpBC,IAAAA,UAJoB;AAKpBC,IAAAA,wBALoB;AAMpBC,IAAAA,gBANoB;AAOpBC,IAAAA,YAPoB;AAQpBC,IAAAA,OARoB;AASpBC,IAAAA,mBAToB;AAUpBC,IAAAA,eAVoB;AAWpBC,IAAAA,QAXoB;AAYpBC,IAAAA;AAZoB,GAajB;;AACH,MAAK,CAAEL,YAAP,EAAsB;AACrBA,IAAAA,YAAY,GAAG;AAAE,OAAEI,QAAF,GAAc;AAAhB,KAAf;AACA;;AAED,QAAM;AAAEE,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAA+Bb,UAArC;AACA,QAAM;AAAEc,IAAAA,SAAS,GAAG;AAAd,MAAsB,iCAAiBD,KAAjB,KAA4B,EAAxD;AAEA,QAAME,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAYC,wBAAWC,GAAX,CAAgB,QAAhB,EAA2BN,KAAvC,CAApB;AAEA,QAAM,CAAEO,SAAF,EAAaC,YAAb,IAA8B,uBAAUP,SAAS,IAAI,GAAvB,CAApC;AAEA,QAAMQ,KAAK,GAAG,8CAAgB;AAC7BC,IAAAA,cAAc,EAAE,6BAAY,eAAZ,KAAiC,CAChD,GADgD,EAEhD,IAFgD,EAGhD,IAHgD,EAIhD,KAJgD,EAKhD,IALgD;AADpB,GAAhB,CAAd;;AAUA,QAAMC,eAAe,GAAKC,SAAF,IAAiB;AACxCxB,IAAAA,aAAa,CAAE;AAAEW,MAAAA,iBAAiB,EAAEa;AAArB,KAAF,CAAb;AACA,GAFD;;AAIA,0BAAW,MAAM;AAChBJ,IAAAA,YAAY,CAAEP,SAAF,CAAZ;AACA,GAFD,EAEG,CAAEA,SAAF,CAFH;AAIA,0BAAW,MAAM;AAChB,QAAK,CAAEF,iBAAF,IAAuBH,eAA5B,EAA8C;AAC7Ce,MAAAA,eAAe,CAAEf,eAAF,CAAf;AACA;AACD,GAJD,EAIG,EAJH;;AAMA,QAAMiB,aAAa,GAAKC,SAAF,IAAiB;AACtC,UAAMC,aAAa,GAAG,6BAAkBD,SAAlB,EAA6BP,SAA7B,CAAtB;AAEAnB,IAAAA,aAAa,CAAE;AACdY,MAAAA,KAAK,EAAEe;AADO,KAAF,CAAb;AAGA,GAND;;AAQA,QAAMC,YAAY,GAAKC,QAAF,IAAgB;AACpCT,IAAAA,YAAY,CAAES,QAAF,CAAZ;AACA,UAAMC,gBAAgB,GAAGC,UAAU,CAClCnB,KAAK,IAAI,sBAAWN,OAAX,EAAsBC,mBAAtB,CADyB,CAAnC;AAIAP,IAAAA,aAAa,CAAE;AACdY,MAAAA,KAAK,EAAE,6BAAkBkB,gBAAlB,EAAoCD,QAApC;AADO,KAAF,CAAb;AAGA,GATD;;AAWA,QAAMG,QAAQ,GAAKN,SAAF,IAAiB;AACjC,QAAK,6BAAkBP,SAAlB,KAAiC,CAAEA,SAAxC,EAAoD;AACnD;AACA;;AACDM,IAAAA,aAAa,CAAEC,SAAF,CAAb;AACA,GALD;;AAOA,QAAMO,cAAc,GAAG,0BAAa,MAAM;AACzC,UAAM;AAAErB,MAAAA,KAAK,EAAEsB;AAAT,QAAyB7B,YAAY,CAAEI,QAAF,CAA3C;AACA,UAAM0B,WAAW,GAAGD,WAAW,KAAKpB,WAApC;;AAEA,QAAKZ,UAAL,EAAkB;AACjB,aACC,4BAAC,iBAAD;AACC,QAAA,KAAK,EAAG,CACPkC,gBAAOC,cADA,EAEPF,WAAW,IAAIC,gBAAOE,uBAFf,EAGPH,WAAW,IACVlC,WADD,IAECmC,gBAAOG,+BALD,EAMP,CAAEJ,WAAF,IACClC,WADD,IAECmC,gBAAOI,sBARD;AADT,SAYC,4BAAC,wBAAD,CAAa,mBAAb,OAZD,CADD;AAgBA;;AACD,WAAO,IAAP;AACA,GAvBsB,EAuBpB,CAAEnC,YAAY,CAAEI,QAAF,CAAd,EAA4BK,WAA5B,EAAyCZ,UAAzC,EAAqDD,WAArD,CAvBoB,CAAvB;;AAyBA,MAAK,CAAEC,UAAF,IAAgB,CAAED,WAAvB,EAAqC;AACpC,WACC,4BAAC,iBAAD;AACC,MAAA,KAAK,EAAG,CACP,CAAEG,gBAAF,IACCD,wBAAwB,CACvBiC,gBAAOK,iBADgB,EAEvBL,gBAAOM,qBAFgB,CAFlB,EAMPN,gBAAOO,4BANA,EAOPtC,YAAY,CAAEI,QAAF,CAPL;AADT,MADD;AAaA;;AAED,SACC,qDACGP,UAAU,IACX,qDACC,4BAAC,0BAAD,QACC,4BAAC,0CAAD;AACC,IAAA,QAAQ,EAAGqB,eADZ;AAEC,IAAA,KAAK,EAAGZ;AAFT,IADD,CADD,EAOC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,iBAAJ;AAAnB,KACC,4BAAC,uBAAD;AACC,IAAA,KAAK,EAAG,cAAI,OAAJ,CADT;AAEC,IAAA,GAAG,EAAG,CAFP;AAGC,IAAA,GAAG,EACF,6BAAkBQ,SAAlB,IACG,GADH,GAEGyB,SANL;AAQC,IAAA,QAAQ,EAAGZ,QARZ;AASC,IAAA,UAAU,EAAGP,aATd;AAUC,IAAA,YAAY,EAAGG,YAVhB;AAWC,IAAA,KAAK,EACJ,sBAAWtB,OAAX,EAAsBC,mBAAtB,CAZF;AAcC,IAAA,IAAI,EAAGY,SAdR;AAeC,IAAA,KAAK,EAAGE,KAfT;AAgBC,IAAA,OAAO,EACN,4BAAC,sBAAD;AACC,MAAA,YAAY,EAAG,sBACdf,OADc,EAEd,KAFc,CADhB;AAKC,MAAA,mBAAmB,EAClBC;AANF;AAjBF,IADD,CADD,EA+BC,4BAAC,qBAAD,QACC,4BAAC,gCAAD;AACC,IAAA,KAAK,EAAG,cACP,8DADO;AADT,IADD,CA/BD,CAPD,CAFF,EAkDC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,CACPL,UAAU,IAAID,WAAd,IAA6BmC,gBAAOS,sBAD7B,EAEPxC,YAAY,CAAEI,QAAF,CAFL;AADT,KAMC,4BAAC,wBAAD;AACC,IAAA,cAAc,EAAGwB,cADlB;AAEC,IAAA,WAAW,EAAG5B,YAAY,CAAEI,QAAF,CAAZ,CAAyBG,KAFxC;AAGC,IAAA,UAAU,EAAGF;AAHd,IAND,CAlDD,CADD;AAiEA;;AAED,SAASoC,iBAAT,CAA4BC,KAA5B,EAAoC;AACnC,QAAM;AAAEpC,IAAAA;AAAF,MAAwBoC,KAAK,CAAChD,UAApC;;AAEA,QAAMiD,yBAAyB,GAAKxB,SAAF,IAAiB;AAClD,QAAK,CAAEA,SAAP,EAAmB,OAAOY,gBAAOa,QAAd;AACnB,WAAO,EACN,GAAGb,gBAAOa,QADJ;AAEN,SAAGb,gBAAS,yBAAyBZ,SAAW,EAA7C;AAFG,KAAP;AAIA,GAND;;AAQA,SACC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGwB,yBAAyB,CAAErC,iBAAF;AAAvC,KACC,4BAAC,UAAD,EAAiBoC,KAAjB,CADD,CADD;AAKA;;eAEc,sBAAS,CACvB,sBAAY,CAAEG,MAAF,YAA4B;AAAA;;AAAA,MAAlB;AAAEzC,IAAAA;AAAF,GAAkB;AACvC,QAAM;AACL0C,IAAAA,aADK;AAELC,IAAAA,oBAFK;AAGLC,IAAAA,wBAHK;AAILC,IAAAA,SAJK;AAKLC,IAAAA,aALK;AAMLC,IAAAA;AANK,MAOFN,MAAM,CAAEO,kBAAF,CAPV;AASA,QAAMC,qBAAqB,GAAGL,wBAAwB,EAAtD;AACA,QAAMnD,UAAU,GAAGwD,qBAAqB,KAAKjD,QAA7C;AAEA,QAAMkD,QAAQ,GAAGP,oBAAoB,CAAE3C,QAAF,CAArC;AACA,QAAMR,WAAW,GAAG,CAAC,CAAEkD,aAAa,CAAE1C,QAAF,CAApC;AACA,QAAML,gBAAgB,GACrBsD,qBAAqB,IAAIA,qBAAqB,KAAKC,QADpD;AAGA,QAAMC,UAAU,GAAGL,aAAa,CAAEI,QAAF,CAAhC;AAEA,QAAMpD,mBAAmB,GAAGqD,UAAU,CAACC,OAAX,CAAoBpD,QAApB,CAA5B;AACA,QAAMH,OAAO,GAAGgD,SAAS,CAAEK,QAAF,CAAzB;AAEA,QAAMnD,eAAe,0BACpBgD,kBAAkB,CAAEG,QAAF,CADE,wDACpB,oBAAgChD,iBADjC;AAGA,SAAO;AACNV,IAAAA,WADM;AAENG,IAAAA,gBAFM;AAGNF,IAAAA,UAHM;AAINK,IAAAA,mBAJM;AAKND,IAAAA,OALM;AAMNE,IAAAA;AANM,GAAP;AAQA,CAlCD,CADuB,EAoCvBsD,iCApCuB,CAAT,EAqCVhB,iBArCU,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport ColumnsPreview from './column-preview';\nimport {\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from '../columns/utils';\n\nfunction ColumnEdit( {\n\tattributes,\n\tsetAttributes,\n\thasChildren,\n\tisSelected,\n\tgetStylesFromColorScheme,\n\tisParentSelected,\n\tcontentStyle,\n\tcolumns,\n\tselectedColumnIndex,\n\tparentAlignment,\n\tclientId,\n\tblockWidth,\n} ) {\n\tif ( ! contentStyle ) {\n\t\tcontentStyle = { [ clientId ]: {} };\n\t}\n\n\tconst { verticalAlignment, width } = attributes;\n\tconst { valueUnit = '%' } = getValueAndUnit( width ) || {};\n\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\tconst [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst updateAlignment = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tuseEffect( () => {\n\t\tsetWidthUnit( valueUnit );\n\t}, [ valueUnit ] );\n\n\tuseEffect( () => {\n\t\tif ( ! verticalAlignment && parentAlignment ) {\n\t\t\tupdateAlignment( parentAlignment );\n\t\t}\n\t}, [] );\n\n\tconst onChangeWidth = ( nextWidth ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );\n\n\t\tsetAttributes( {\n\t\t\twidth: widthWithUnit,\n\t\t} );\n\t};\n\n\tconst onChangeUnit = ( nextUnit ) => {\n\t\tsetWidthUnit( nextUnit );\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\twidth || getWidths( columns )[ selectedColumnIndex ]\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\twidth: getWidthWithUnit( widthWithoutUnit, nextUnit ),\n\t\t} );\n\t};\n\n\tconst onChange = ( nextWidth ) => {\n\t\tif ( isPercentageUnit( widthUnit ) || ! widthUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth );\n\t};\n\n\tconst renderAppender = useCallback( () => {\n\t\tconst { width: columnWidth } = contentStyle[ clientId ];\n\t\tconst isFullWidth = columnWidth === screenWidth;\n\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.columnAppender,\n\t\t\t\t\t\tisFullWidth && styles.fullwidthColumnAppender,\n\t\t\t\t\t\tisFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.fullwidthHasInnerColumnAppender,\n\t\t\t\t\t\t! isFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.hasInnerColumnAppender,\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}, [ contentStyle[ clientId ], screenWidth, isSelected, hasChildren ] );\n\n\tif ( ! isSelected && ! hasChildren ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\t! isParentSelected &&\n\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\tstyles.columnPlaceholder,\n\t\t\t\t\t\t\tstyles.columnPlaceholderDark\n\t\t\t\t\t\t),\n\t\t\t\t\tstyles.columnPlaceholderNotSelected,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonComplete={ onChangeWidth }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetWidths( columns )[ selectedColumnIndex ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tpreview={\n\t\t\t\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\t\t\t\tcolumnWidths={ getWidths(\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tselectedColumnIndex={\n\t\t\t\t\t\t\t\t\t\t\tselectedColumnIndex\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\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<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\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</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisSelected && hasChildren && styles.innerBlocksBottomSpace,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\tparentWidth={ contentStyle[ clientId ].width }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nfunction ColumnEditWrapper( props ) {\n\tconst { verticalAlignment } = props.attributes;\n\n\tconst getVerticalAlignmentRemap = ( alignment ) => {\n\t\tif ( ! alignment ) return styles.flexBase;\n\t\treturn {\n\t\t\t...styles.flexBase,\n\t\t\t...styles[ `is-vertically-aligned-${ alignment }` ],\n\t\t};\n\t};\n\n\treturn (\n\t\t<View style={ getVerticalAlignmentRemap( verticalAlignment ) }>\n\t\t\t<ColumnEdit { ...props } />\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isSelected = selectedBlockClientId === clientId;\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst hasChildren = !! getBlockCount( clientId );\n\t\tconst isParentSelected =\n\t\t\tselectedBlockClientId && selectedBlockClientId === parentId;\n\n\t\tconst blockOrder = getBlockOrder( parentId );\n\n\t\tconst selectedColumnIndex = blockOrder.indexOf( clientId );\n\t\tconst columns = getBlocks( parentId );\n\n\t\tconst parentAlignment =\n\t\t\tgetBlockAttributes( parentId )?.verticalAlignment;\n\n\t\treturn {\n\t\t\thasChildren,\n\t\t\tisParentSelected,\n\t\t\tisSelected,\n\t\t\tselectedColumnIndex,\n\t\t\tcolumns,\n\t\t\tparentAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ColumnEditWrapper );\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/deprecated.js"],"names":["getDeprecatedLayoutColumn","originalContent","doc","document","implementation","createHTMLDocument","columnMatch","body","innerHTML","classListItem","firstChild","classList","match","Number","migrateCustomColors","attributes","customTextColor","customBackgroundColor","style","color","text","background","isStackedOnMobile","verticalAlignment","type","backgroundColor","textColor","migrate","save","backgroundClass","textClass","className","undefined","columns","default","isEligible","innerBlocks","isFastPassEligible","some","innerBlock","test","reduce","accumulator","columnIndex","push","migratedInnerBlocks","map","columnBlocks","wrapperClasses"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { InnerBlocks, getColorClassName } from '@wordpress/block-editor';\n\n/**\n * Given an HTML string for a deprecated columns inner block, returns the\n * column index to which the migrated inner block should be assigned. Returns\n * undefined if the inner block was not assigned to a column.\n *\n * @param {string} originalContent Deprecated Columns inner block HTML.\n *\n * @return {?number} Column to which inner block is to be assigned.\n */\nfunction getDeprecatedLayoutColumn( originalContent ) {\n\tlet { doc } = getDeprecatedLayoutColumn;\n\tif ( ! doc ) {\n\t\tdoc = document.implementation.createHTMLDocument( '' );\n\t\tgetDeprecatedLayoutColumn.doc = doc;\n\t}\n\n\tlet columnMatch;\n\n\tdoc.body.innerHTML = originalContent;\n\tfor ( const classListItem of doc.body.firstChild.classList ) {\n\t\tif (\n\t\t\t( columnMatch = classListItem.match( /^layout-column-(\\d+)$/ ) )\n\t\t) {\n\t\t\treturn Number( columnMatch[ 1 ] ) - 1;\n\t\t}\n\t}\n}\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customTextColor && ! attributes.customBackgroundColor ) {\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\treturn {\n\t\t...omit( attributes, [ 'customTextColor', 'customBackgroundColor' ] ),\n\t\tstyle,\n\t\tisStackedOnMobile: true,\n\t};\n};\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\tverticalAlignment: {\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\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\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tverticalAlignment,\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\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 textClass = getColorClassName( 'color', textColor );\n\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t\t} );\n\n\t\t\tconst style = {\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\tclassName={ className ? className : undefined }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\tcolumns: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 2,\n\t\t\t},\n\t\t},\n\t\tisEligible( attributes, innerBlocks ) {\n\t\t\t// Since isEligible is called on every valid instance of the\n\t\t\t// Columns block and a deprecation is the unlikely case due to\n\t\t\t// its subsequent migration, optimize for the `false` condition\n\t\t\t// by performing a naive, inaccurate pass at inner blocks.\n\t\t\tconst isFastPassEligible = innerBlocks.some( ( innerBlock ) =>\n\t\t\t\t/layout-column-\\d+/.test( innerBlock.originalContent )\n\t\t\t);\n\n\t\t\tif ( ! isFastPassEligible ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Only if the fast pass is considered eligible is the more\n\t\t\t// accurate, durable, slower condition performed.\n\t\t\treturn innerBlocks.some(\n\t\t\t\t( innerBlock ) =>\n\t\t\t\t\tgetDeprecatedLayoutColumn( innerBlock.originalContent ) !==\n\t\t\t\t\tundefined\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes, innerBlocks ) {\n\t\t\tconst columns = innerBlocks.reduce( ( accumulator, innerBlock ) => {\n\t\t\t\tconst { originalContent } = innerBlock;\n\n\t\t\t\tlet columnIndex = getDeprecatedLayoutColumn( originalContent );\n\t\t\t\tif ( columnIndex === undefined ) {\n\t\t\t\t\tcolumnIndex = 0;\n\t\t\t\t}\n\n\t\t\t\tif ( ! accumulator[ columnIndex ] ) {\n\t\t\t\t\taccumulator[ columnIndex ] = [];\n\t\t\t\t}\n\n\t\t\t\taccumulator[ columnIndex ].push( innerBlock );\n\n\t\t\t\treturn accumulator;\n\t\t\t}, [] );\n\n\t\t\tconst migratedInnerBlocks = columns.map( ( columnBlocks ) =>\n\t\t\t\tcreateBlock( 'core/column', {}, columnBlocks )\n\t\t\t);\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\t...omit( attributes, [ 'columns' ] ),\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t},\n\t\t\t\tmigratedInnerBlocks,\n\t\t\t];\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { columns } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div className={ `has-${ columns }-columns` }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\tcolumns: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 2,\n\t\t\t},\n\t\t},\n\t\tmigrate( attributes, innerBlocks ) {\n\t\t\tattributes = {\n\t\t\t\t...omit( attributes, [ 'columns' ] ),\n\t\t\t\tisStackedOnMobile: true,\n\t\t\t};\n\n\t\t\treturn [ attributes, innerBlocks ];\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { verticalAlignment, columns } = attributes;\n\n\t\t\tconst wrapperClasses = classnames( `has-${ columns }-columns`, {\n\t\t\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div className={ wrapperClasses }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/columns/deprecated.js"],"names":["getDeprecatedLayoutColumn","originalContent","doc","document","implementation","createHTMLDocument","columnMatch","body","innerHTML","classListItem","firstChild","classList","match","Number","migrateCustomColors","attributes","customTextColor","customBackgroundColor","style","color","text","background","isStackedOnMobile","verticalAlignment","type","backgroundColor","textColor","migrate","save","backgroundClass","textClass","className","undefined","columns","default","isEligible","innerBlocks","isFastPassEligible","some","innerBlock","test","reduce","accumulator","columnIndex","push","migratedInnerBlocks","map","columnBlocks","wrapperClasses"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { InnerBlocks, getColorClassName } from '@wordpress/block-editor';\n\n/**\n * Given an HTML string for a deprecated columns inner block, returns the\n * column index to which the migrated inner block should be assigned. Returns\n * undefined if the inner block was not assigned to a column.\n *\n * @param {string} originalContent Deprecated Columns inner block HTML.\n *\n * @return {?number} Column to which inner block is to be assigned.\n */\nfunction getDeprecatedLayoutColumn( originalContent ) {\n\tlet { doc } = getDeprecatedLayoutColumn;\n\tif ( ! doc ) {\n\t\tdoc = document.implementation.createHTMLDocument( '' );\n\t\tgetDeprecatedLayoutColumn.doc = doc;\n\t}\n\n\tlet columnMatch;\n\n\tdoc.body.innerHTML = originalContent;\n\tfor ( const classListItem of doc.body.firstChild.classList ) {\n\t\tif (\n\t\t\t( columnMatch = classListItem.match( /^layout-column-(\\d+)$/ ) )\n\t\t) {\n\t\t\treturn Number( columnMatch[ 1 ] ) - 1;\n\t\t}\n\t}\n}\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customTextColor && ! attributes.customBackgroundColor ) {\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\treturn {\n\t\t...omit( attributes, [ 'customTextColor', 'customBackgroundColor' ] ),\n\t\tstyle,\n\t\tisStackedOnMobile: true,\n\t};\n};\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\tverticalAlignment: {\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\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\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tverticalAlignment,\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\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 textClass = getColorClassName( 'color', textColor );\n\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\tconst style = {\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\tclassName={ className ? className : undefined }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\tcolumns: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 2,\n\t\t\t},\n\t\t},\n\t\tisEligible( attributes, innerBlocks ) {\n\t\t\t// Since isEligible is called on every valid instance of the\n\t\t\t// Columns block and a deprecation is the unlikely case due to\n\t\t\t// its subsequent migration, optimize for the `false` condition\n\t\t\t// by performing a naive, inaccurate pass at inner blocks.\n\t\t\tconst isFastPassEligible = innerBlocks.some( ( innerBlock ) =>\n\t\t\t\t/layout-column-\\d+/.test( innerBlock.originalContent )\n\t\t\t);\n\n\t\t\tif ( ! isFastPassEligible ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Only if the fast pass is considered eligible is the more\n\t\t\t// accurate, durable, slower condition performed.\n\t\t\treturn innerBlocks.some(\n\t\t\t\t( innerBlock ) =>\n\t\t\t\t\tgetDeprecatedLayoutColumn( innerBlock.originalContent ) !==\n\t\t\t\t\tundefined\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes, innerBlocks ) {\n\t\t\tconst columns = innerBlocks.reduce( ( accumulator, innerBlock ) => {\n\t\t\t\tconst { originalContent } = innerBlock;\n\n\t\t\t\tlet columnIndex = getDeprecatedLayoutColumn( originalContent );\n\t\t\t\tif ( columnIndex === undefined ) {\n\t\t\t\t\tcolumnIndex = 0;\n\t\t\t\t}\n\n\t\t\t\tif ( ! accumulator[ columnIndex ] ) {\n\t\t\t\t\taccumulator[ columnIndex ] = [];\n\t\t\t\t}\n\n\t\t\t\taccumulator[ columnIndex ].push( innerBlock );\n\n\t\t\t\treturn accumulator;\n\t\t\t}, [] );\n\n\t\t\tconst migratedInnerBlocks = columns.map( ( columnBlocks ) =>\n\t\t\t\tcreateBlock( 'core/column', {}, columnBlocks )\n\t\t\t);\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\t...omit( attributes, [ 'columns' ] ),\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t},\n\t\t\t\tmigratedInnerBlocks,\n\t\t\t];\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { columns } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div className={ `has-${ columns }-columns` }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\tcolumns: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 2,\n\t\t\t},\n\t\t},\n\t\tmigrate( attributes, innerBlocks ) {\n\t\t\tattributes = {\n\t\t\t\t...omit( attributes, [ 'columns' ] ),\n\t\t\t\tisStackedOnMobile: true,\n\t\t\t};\n\n\t\t\treturn [ attributes, innerBlocks ];\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { verticalAlignment, columns } = attributes;\n\n\t\t\tconst wrapperClasses = classnames( `has-${ columns }-columns`, {\n\t\t\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div className={ wrapperClasses }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}
@@ -172,7 +172,7 @@ const ColumnsEditContainerWrapper = (0, _data.withDispatch)((dispatch, ownProps,
172
172
  })];
173
173
  } else {
174
174
  // The removed column will be the last of the inner blocks.
175
- innerBlocks = (0, _lodash.dropRight)(innerBlocks, previousColumns - newColumns);
175
+ innerBlocks = innerBlocks.slice(0, -(previousColumns - newColumns));
176
176
 
177
177
  if (hasExplicitWidths) {
178
178
  // Redistribute as if block is already removed.