@wordpress/block-library 7.19.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (761) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/audio/edit.native.js +1 -3
  3. package/build/audio/edit.native.js.map +1 -1
  4. package/build/audio/index.js +2 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/avatar/edit.js +1 -0
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/avatar/user-control.js +1 -0
  9. package/build/avatar/user-control.js.map +1 -1
  10. package/build/block/edit.js +14 -2
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js +14 -6
  13. package/build/block/edit.native.js.map +1 -1
  14. package/build/block/index.js +1 -2
  15. package/build/block/index.js.map +1 -1
  16. package/build/button/edit.native.js.map +1 -1
  17. package/build/code/transforms.js +1 -1
  18. package/build/code/transforms.js.map +1 -1
  19. package/build/columns/edit.js +1 -0
  20. package/build/columns/edit.js.map +1 -1
  21. package/build/columns/edit.native.js +13 -30
  22. package/build/columns/edit.native.js.map +1 -1
  23. package/build/comment-author-avatar/edit.js +1 -0
  24. package/build/comment-author-avatar/edit.js.map +1 -1
  25. package/build/cover/edit/inspector-controls.js +2 -0
  26. package/build/cover/edit/inspector-controls.js.map +1 -1
  27. package/build/cover/edit.native.js +24 -16
  28. package/build/cover/edit.native.js.map +1 -1
  29. package/build/embed/embed-controls.native.js +1 -0
  30. package/build/embed/embed-controls.native.js.map +1 -1
  31. package/build/embed/embed-preview.native.js +1 -3
  32. package/build/embed/embed-preview.native.js.map +1 -1
  33. package/build/file/inspector.js +1 -0
  34. package/build/file/inspector.js.map +1 -1
  35. package/build/gallery/edit.js +25 -13
  36. package/build/gallery/edit.js.map +1 -1
  37. package/build/gallery/gallery.native.js +1 -3
  38. package/build/gallery/gallery.native.js.map +1 -1
  39. package/build/gallery/shared.js +4 -10
  40. package/build/gallery/shared.js.map +1 -1
  41. package/build/gallery/transforms.js +1 -7
  42. package/build/gallery/transforms.js.map +1 -1
  43. package/build/gallery/use-get-media.js +1 -1
  44. package/build/gallery/use-get-media.js.map +1 -1
  45. package/build/gallery/use-get-media.native.js +3 -1
  46. package/build/gallery/use-get-media.native.js.map +1 -1
  47. package/build/gallery/v1/edit.js +22 -15
  48. package/build/gallery/v1/edit.js.map +1 -1
  49. package/build/gallery/v1/gallery.native.js +1 -3
  50. package/build/gallery/v1/gallery.native.js.map +1 -1
  51. package/build/gallery/v1/shared.js +4 -1
  52. package/build/gallery/v1/shared.js.map +1 -1
  53. package/build/group/edit.js +1 -2
  54. package/build/group/edit.js.map +1 -1
  55. package/build/group/index.js +3 -1
  56. package/build/group/index.js.map +1 -1
  57. package/build/group/placeholder.js +5 -26
  58. package/build/group/placeholder.js.map +1 -1
  59. package/build/heading/deprecated.js +152 -69
  60. package/build/heading/deprecated.js.map +1 -1
  61. package/build/heading/index.js +1 -2
  62. package/build/heading/index.js.map +1 -1
  63. package/build/heading/transforms.js +1 -2
  64. package/build/heading/transforms.js.map +1 -1
  65. package/build/html/index.js +1 -1
  66. package/build/image/edit.js +8 -5
  67. package/build/image/edit.js.map +1 -1
  68. package/build/image/edit.native.js +3 -2
  69. package/build/image/edit.native.js.map +1 -1
  70. package/build/image/image.js +12 -8
  71. package/build/image/image.js.map +1 -1
  72. package/build/index.js +3 -1
  73. package/build/index.js.map +1 -1
  74. package/build/latest-comments/edit.js +1 -0
  75. package/build/latest-comments/edit.js.map +1 -1
  76. package/build/latest-posts/edit.js +2 -0
  77. package/build/latest-posts/edit.js.map +1 -1
  78. package/build/list/transforms.js +1 -9
  79. package/build/list/transforms.js.map +1 -1
  80. package/build/list/utils.js +5 -2
  81. package/build/list/utils.js.map +1 -1
  82. package/build/list-item/index.js +4 -1
  83. package/build/list-item/index.js.map +1 -1
  84. package/build/list-item/transforms.js +22 -0
  85. package/build/list-item/transforms.js.map +1 -0
  86. package/build/list-item/utils.js +77 -1
  87. package/build/list-item/utils.js.map +1 -1
  88. package/build/media-text/edit.js +4 -2
  89. package/build/media-text/edit.js.map +1 -1
  90. package/build/navigation/edit/are-blocks-dirty.js +52 -0
  91. package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
  92. package/build/navigation/edit/index.js +95 -116
  93. package/build/navigation/edit/index.js.map +1 -1
  94. package/build/navigation/edit/menu-inspector-controls.js +72 -0
  95. package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
  96. package/build/navigation/edit/navigation-menu-selector.js +5 -10
  97. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  98. package/build/navigation/edit/unsaved-inner-blocks.js +11 -7
  99. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  100. package/build/navigation/view-modal.js +6 -2
  101. package/build/navigation/view-modal.js.map +1 -1
  102. package/build/navigation-link/edit.js +42 -298
  103. package/build/navigation-link/edit.js.map +1 -1
  104. package/build/navigation-link/link-ui.js +222 -0
  105. package/build/navigation-link/link-ui.js.map +1 -0
  106. package/build/navigation-link/transforms.js +12 -0
  107. package/build/navigation-link/transforms.js.map +1 -1
  108. package/build/navigation-link/update-attributes.js +108 -0
  109. package/build/navigation-link/update-attributes.js.map +1 -0
  110. package/build/navigation-submenu/edit.js +42 -173
  111. package/build/navigation-submenu/edit.js.map +1 -1
  112. package/build/page-list/constants.js +15 -0
  113. package/build/page-list/constants.js.map +1 -0
  114. package/build/page-list/convert-to-links-modal.js +22 -86
  115. package/build/page-list/convert-to-links-modal.js.map +1 -1
  116. package/build/page-list/convert-to-navigation-links.js +76 -0
  117. package/build/page-list/convert-to-navigation-links.js.map +1 -0
  118. package/build/page-list/edit.js +142 -78
  119. package/build/page-list/edit.js.map +1 -1
  120. package/build/page-list/index.js +6 -1
  121. package/build/page-list/index.js.map +1 -1
  122. package/build/page-list-item/edit.js +87 -0
  123. package/build/page-list-item/edit.js.map +1 -0
  124. package/build/page-list-item/index.js +85 -0
  125. package/build/page-list-item/index.js.map +1 -0
  126. package/build/page-list-item/init.js +16 -0
  127. package/build/page-list-item/init.js.map +1 -0
  128. package/build/paragraph/index.js +1 -7
  129. package/build/paragraph/index.js.map +1 -1
  130. package/build/post-author/edit.js +3 -2
  131. package/build/post-author/edit.js.map +1 -1
  132. package/build/post-featured-image/overlay.js +1 -0
  133. package/build/post-featured-image/overlay.js.map +1 -1
  134. package/build/post-template/index.js +8 -0
  135. package/build/post-template/index.js.map +1 -1
  136. package/build/preformatted/transforms.js +3 -1
  137. package/build/preformatted/transforms.js.map +1 -1
  138. package/build/query/deprecated.js +192 -21
  139. package/build/query/deprecated.js.map +1 -1
  140. package/build/query/edit/inspector-controls/index.js +1 -0
  141. package/build/query/edit/inspector-controls/index.js.map +1 -1
  142. package/build/query/edit/query-placeholder.js +3 -19
  143. package/build/query/edit/query-placeholder.js.map +1 -1
  144. package/build/query/index.js +0 -8
  145. package/build/query/index.js.map +1 -1
  146. package/build/query/utils.js +0 -8
  147. package/build/query/utils.js.map +1 -1
  148. package/build/rss/edit.js +3 -0
  149. package/build/rss/edit.js.map +1 -1
  150. package/build/search/edit.native.js +22 -22
  151. package/build/search/edit.native.js.map +1 -1
  152. package/build/search/index.js +9 -1
  153. package/build/search/index.js.map +1 -1
  154. package/build/site-logo/edit.js +17 -9
  155. package/build/site-logo/edit.js.map +1 -1
  156. package/build/site-logo/index.js +1 -0
  157. package/build/site-logo/index.js.map +1 -1
  158. package/build/site-title/index.js +1 -0
  159. package/build/site-title/index.js.map +1 -1
  160. package/build/social-link/social-list.js +4 -12
  161. package/build/social-link/social-list.js.map +1 -1
  162. package/build/table/edit.js +3 -1
  163. package/build/table/edit.js.map +1 -1
  164. package/build/table/index.js +17 -1
  165. package/build/table/index.js.map +1 -1
  166. package/build/table/save.js +4 -2
  167. package/build/table/save.js.map +1 -1
  168. package/build/table/state.js +24 -12
  169. package/build/table/state.js.map +1 -1
  170. package/build/table/transforms.js +3 -2
  171. package/build/table/transforms.js.map +1 -1
  172. package/build/table-of-contents/edit.js +2 -2
  173. package/build/table-of-contents/edit.js.map +1 -1
  174. package/build/tag-cloud/edit.js +2 -1
  175. package/build/tag-cloud/edit.js.map +1 -1
  176. package/build/template-part/edit/selection-modal.js +5 -2
  177. package/build/template-part/edit/selection-modal.js.map +1 -1
  178. package/build/template-part/edit/utils/hooks.js +2 -6
  179. package/build/template-part/edit/utils/hooks.js.map +1 -1
  180. package/build/text-columns/edit.js +1 -0
  181. package/build/text-columns/edit.js.map +1 -1
  182. package/build/utils/transformation-categories.native.js +1 -1
  183. package/build/utils/transformation-categories.native.js.map +1 -1
  184. package/build/video/edit.js +1 -1
  185. package/build/video/edit.js.map +1 -1
  186. package/build/video/edit.native.js +1 -3
  187. package/build/video/edit.native.js.map +1 -1
  188. package/build-module/audio/edit.native.js +1 -2
  189. package/build-module/audio/edit.native.js.map +1 -1
  190. package/build-module/audio/index.js +2 -1
  191. package/build-module/audio/index.js.map +1 -1
  192. package/build-module/avatar/edit.js +1 -0
  193. package/build-module/avatar/edit.js.map +1 -1
  194. package/build-module/avatar/user-control.js +1 -0
  195. package/build-module/avatar/user-control.js.map +1 -1
  196. package/build-module/block/edit.js +14 -2
  197. package/build-module/block/edit.js.map +1 -1
  198. package/build-module/block/edit.native.js +14 -6
  199. package/build-module/block/edit.native.js.map +1 -1
  200. package/build-module/block/index.js +1 -2
  201. package/build-module/block/index.js.map +1 -1
  202. package/build-module/button/edit.native.js +2 -1
  203. package/build-module/button/edit.native.js.map +1 -1
  204. package/build-module/code/transforms.js +1 -1
  205. package/build-module/code/transforms.js.map +1 -1
  206. package/build-module/columns/edit.js +1 -0
  207. package/build-module/columns/edit.js.map +1 -1
  208. package/build-module/columns/edit.native.js +13 -29
  209. package/build-module/columns/edit.native.js.map +1 -1
  210. package/build-module/comment-author-avatar/edit.js +1 -0
  211. package/build-module/comment-author-avatar/edit.js.map +1 -1
  212. package/build-module/cover/edit/inspector-controls.js +2 -0
  213. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  214. package/build-module/cover/edit.native.js +22 -14
  215. package/build-module/cover/edit.native.js.map +1 -1
  216. package/build-module/embed/embed-controls.native.js +2 -1
  217. package/build-module/embed/embed-controls.native.js.map +1 -1
  218. package/build-module/embed/embed-preview.native.js +1 -2
  219. package/build-module/embed/embed-preview.native.js.map +1 -1
  220. package/build-module/file/inspector.js +1 -0
  221. package/build-module/file/inspector.js.map +1 -1
  222. package/build-module/gallery/edit.js +25 -12
  223. package/build-module/gallery/edit.js.map +1 -1
  224. package/build-module/gallery/gallery.native.js +1 -2
  225. package/build-module/gallery/gallery.native.js.map +1 -1
  226. package/build-module/gallery/shared.js +5 -11
  227. package/build-module/gallery/shared.js.map +1 -1
  228. package/build-module/gallery/transforms.js +1 -6
  229. package/build-module/gallery/transforms.js.map +1 -1
  230. package/build-module/gallery/use-get-media.js +1 -1
  231. package/build-module/gallery/use-get-media.js.map +1 -1
  232. package/build-module/gallery/use-get-media.native.js +3 -1
  233. package/build-module/gallery/use-get-media.native.js.map +1 -1
  234. package/build-module/gallery/v1/edit.js +23 -16
  235. package/build-module/gallery/v1/edit.js.map +1 -1
  236. package/build-module/gallery/v1/gallery.native.js +1 -2
  237. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  238. package/build-module/gallery/v1/shared.js +5 -2
  239. package/build-module/gallery/v1/shared.js.map +1 -1
  240. package/build-module/group/edit.js +1 -3
  241. package/build-module/group/edit.js.map +1 -1
  242. package/build-module/group/index.js +3 -1
  243. package/build-module/group/index.js.map +1 -1
  244. package/build-module/group/placeholder.js +5 -26
  245. package/build-module/group/placeholder.js.map +1 -1
  246. package/build-module/heading/deprecated.js +152 -69
  247. package/build-module/heading/deprecated.js.map +1 -1
  248. package/build-module/heading/index.js +1 -2
  249. package/build-module/heading/index.js.map +1 -1
  250. package/build-module/heading/transforms.js +1 -2
  251. package/build-module/heading/transforms.js.map +1 -1
  252. package/build-module/html/index.js +1 -1
  253. package/build-module/image/edit.js +9 -6
  254. package/build-module/image/edit.js.map +1 -1
  255. package/build-module/image/edit.native.js +2 -1
  256. package/build-module/image/edit.native.js.map +1 -1
  257. package/build-module/image/image.js +13 -9
  258. package/build-module/image/image.js.map +1 -1
  259. package/build-module/index.js +2 -1
  260. package/build-module/index.js.map +1 -1
  261. package/build-module/latest-comments/edit.js +1 -0
  262. package/build-module/latest-comments/edit.js.map +1 -1
  263. package/build-module/latest-posts/edit.js +2 -0
  264. package/build-module/latest-posts/edit.js.map +1 -1
  265. package/build-module/list/transforms.js +1 -9
  266. package/build-module/list/transforms.js.map +1 -1
  267. package/build-module/list/utils.js +5 -2
  268. package/build-module/list/utils.js.map +1 -1
  269. package/build-module/list-item/index.js +3 -1
  270. package/build-module/list-item/index.js.map +1 -1
  271. package/build-module/list-item/transforms.js +13 -0
  272. package/build-module/list-item/transforms.js.map +1 -0
  273. package/build-module/list-item/utils.js +78 -1
  274. package/build-module/list-item/utils.js.map +1 -1
  275. package/build-module/media-text/edit.js +5 -3
  276. package/build-module/media-text/edit.js.map +1 -1
  277. package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
  278. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
  279. package/build-module/navigation/edit/index.js +95 -117
  280. package/build-module/navigation/edit/index.js.map +1 -1
  281. package/build-module/navigation/edit/menu-inspector-controls.js +59 -0
  282. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
  283. package/build-module/navigation/edit/navigation-menu-selector.js +6 -11
  284. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  285. package/build-module/navigation/edit/unsaved-inner-blocks.js +9 -6
  286. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  287. package/build-module/navigation/view-modal.js +6 -2
  288. package/build-module/navigation/view-modal.js.map +1 -1
  289. package/build-module/navigation-link/edit.js +46 -299
  290. package/build-module/navigation-link/edit.js.map +1 -1
  291. package/build-module/navigation-link/link-ui.js +206 -0
  292. package/build-module/navigation-link/link-ui.js.map +1 -0
  293. package/build-module/navigation-link/transforms.js +12 -0
  294. package/build-module/navigation-link/transforms.js.map +1 -1
  295. package/build-module/navigation-link/update-attributes.js +97 -0
  296. package/build-module/navigation-link/update-attributes.js.map +1 -0
  297. package/build-module/navigation-submenu/edit.js +47 -175
  298. package/build-module/navigation-submenu/edit.js.map +1 -1
  299. package/build-module/page-list/constants.js +6 -0
  300. package/build-module/page-list/constants.js.map +1 -0
  301. package/build-module/page-list/convert-to-links-modal.js +20 -81
  302. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  303. package/build-module/page-list/convert-to-navigation-links.js +66 -0
  304. package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
  305. package/build-module/page-list/edit.js +144 -82
  306. package/build-module/page-list/edit.js.map +1 -1
  307. package/build-module/page-list/index.js +6 -1
  308. package/build-module/page-list/index.js.map +1 -1
  309. package/build-module/page-list-item/edit.js +74 -0
  310. package/build-module/page-list-item/edit.js.map +1 -0
  311. package/build-module/page-list-item/index.js +68 -0
  312. package/build-module/page-list-item/index.js.map +1 -0
  313. package/build-module/page-list-item/init.js +6 -0
  314. package/build-module/page-list-item/init.js.map +1 -0
  315. package/build-module/paragraph/index.js +1 -7
  316. package/build-module/paragraph/index.js.map +1 -1
  317. package/build-module/post-author/edit.js +3 -2
  318. package/build-module/post-author/edit.js.map +1 -1
  319. package/build-module/post-featured-image/overlay.js +1 -0
  320. package/build-module/post-featured-image/overlay.js.map +1 -1
  321. package/build-module/post-template/index.js +8 -0
  322. package/build-module/post-template/index.js.map +1 -1
  323. package/build-module/preformatted/transforms.js +3 -1
  324. package/build-module/preformatted/transforms.js.map +1 -1
  325. package/build-module/query/deprecated.js +185 -21
  326. package/build-module/query/deprecated.js.map +1 -1
  327. package/build-module/query/edit/inspector-controls/index.js +1 -0
  328. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  329. package/build-module/query/edit/query-placeholder.js +3 -19
  330. package/build-module/query/edit/query-placeholder.js.map +1 -1
  331. package/build-module/query/index.js +0 -8
  332. package/build-module/query/index.js.map +1 -1
  333. package/build-module/query/utils.js +0 -8
  334. package/build-module/query/utils.js.map +1 -1
  335. package/build-module/rss/edit.js +3 -0
  336. package/build-module/rss/edit.js.map +1 -1
  337. package/build-module/search/edit.native.js +20 -20
  338. package/build-module/search/edit.native.js.map +1 -1
  339. package/build-module/search/index.js +8 -1
  340. package/build-module/search/index.js.map +1 -1
  341. package/build-module/site-logo/edit.js +17 -8
  342. package/build-module/site-logo/edit.js.map +1 -1
  343. package/build-module/site-logo/index.js +1 -0
  344. package/build-module/site-logo/index.js.map +1 -1
  345. package/build-module/site-title/index.js +1 -0
  346. package/build-module/site-title/index.js.map +1 -1
  347. package/build-module/social-link/social-list.js +2 -11
  348. package/build-module/social-link/social-list.js.map +1 -1
  349. package/build-module/table/edit.js +3 -1
  350. package/build-module/table/edit.js.map +1 -1
  351. package/build-module/table/index.js +17 -1
  352. package/build-module/table/index.js.map +1 -1
  353. package/build-module/table/save.js +4 -2
  354. package/build-module/table/save.js.map +1 -1
  355. package/build-module/table/state.js +25 -13
  356. package/build-module/table/state.js.map +1 -1
  357. package/build-module/table/transforms.js +3 -2
  358. package/build-module/table/transforms.js.map +1 -1
  359. package/build-module/table-of-contents/edit.js +2 -2
  360. package/build-module/table-of-contents/edit.js.map +1 -1
  361. package/build-module/tag-cloud/edit.js +3 -2
  362. package/build-module/tag-cloud/edit.js.map +1 -1
  363. package/build-module/template-part/edit/selection-modal.js +6 -3
  364. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  365. package/build-module/template-part/edit/utils/hooks.js +3 -7
  366. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  367. package/build-module/text-columns/edit.js +1 -0
  368. package/build-module/text-columns/edit.js.map +1 -1
  369. package/build-module/utils/transformation-categories.native.js +1 -1
  370. package/build-module/utils/transformation-categories.native.js.map +1 -1
  371. package/build-module/video/edit.js +1 -1
  372. package/build-module/video/edit.js.map +1 -1
  373. package/build-module/video/edit.native.js +1 -2
  374. package/build-module/video/edit.native.js.map +1 -1
  375. package/build-style/archives/editor-rtl.css +12 -0
  376. package/build-style/archives/editor.css +12 -0
  377. package/build-style/archives/style-rtl.css +12 -0
  378. package/build-style/archives/style.css +12 -0
  379. package/build-style/audio/editor-rtl.css +12 -0
  380. package/build-style/audio/editor.css +12 -0
  381. package/build-style/audio/style-rtl.css +12 -0
  382. package/build-style/audio/style.css +12 -0
  383. package/build-style/audio/theme-rtl.css +12 -0
  384. package/build-style/audio/theme.css +12 -0
  385. package/build-style/avatar/editor-rtl.css +12 -0
  386. package/build-style/avatar/editor.css +12 -0
  387. package/build-style/avatar/style-rtl.css +12 -0
  388. package/build-style/avatar/style.css +12 -0
  389. package/build-style/block/editor-rtl.css +22 -0
  390. package/build-style/block/editor.css +22 -0
  391. package/build-style/button/editor-rtl.css +12 -0
  392. package/build-style/button/editor.css +12 -0
  393. package/build-style/button/style-rtl.css +12 -0
  394. package/build-style/button/style.css +12 -0
  395. package/build-style/buttons/editor-rtl.css +12 -0
  396. package/build-style/buttons/editor.css +12 -0
  397. package/build-style/buttons/style-rtl.css +12 -0
  398. package/build-style/buttons/style.css +12 -0
  399. package/build-style/calendar/style-rtl.css +12 -0
  400. package/build-style/calendar/style.css +12 -0
  401. package/build-style/categories/editor-rtl.css +12 -0
  402. package/build-style/categories/editor.css +12 -0
  403. package/build-style/categories/style-rtl.css +12 -0
  404. package/build-style/categories/style.css +12 -0
  405. package/build-style/classic-rtl.css +12 -0
  406. package/build-style/classic.css +12 -0
  407. package/build-style/code/editor-rtl.css +12 -0
  408. package/build-style/code/editor.css +12 -0
  409. package/build-style/code/style-rtl.css +12 -0
  410. package/build-style/code/style.css +12 -0
  411. package/build-style/code/theme-rtl.css +12 -0
  412. package/build-style/code/theme.css +12 -0
  413. package/build-style/columns/editor-rtl.css +12 -0
  414. package/build-style/columns/editor.css +12 -0
  415. package/build-style/columns/style-rtl.css +12 -0
  416. package/build-style/columns/style.css +12 -0
  417. package/build-style/comment-author-avatar/editor-rtl.css +12 -0
  418. package/build-style/comment-author-avatar/editor.css +12 -0
  419. package/build-style/comment-content/style-rtl.css +12 -0
  420. package/build-style/comment-content/style.css +12 -0
  421. package/build-style/comment-template/style-rtl.css +12 -0
  422. package/build-style/comment-template/style.css +12 -0
  423. package/build-style/comments/editor-rtl.css +12 -0
  424. package/build-style/comments/editor.css +12 -0
  425. package/build-style/comments/style-rtl.css +12 -0
  426. package/build-style/comments/style.css +12 -0
  427. package/build-style/comments-pagination/editor-rtl.css +12 -0
  428. package/build-style/comments-pagination/editor.css +12 -0
  429. package/build-style/comments-pagination/style-rtl.css +12 -0
  430. package/build-style/comments-pagination/style.css +12 -0
  431. package/build-style/comments-pagination-numbers/editor-rtl.css +12 -0
  432. package/build-style/comments-pagination-numbers/editor.css +12 -0
  433. package/build-style/comments-title/editor-rtl.css +12 -0
  434. package/build-style/comments-title/editor.css +12 -0
  435. package/build-style/common-rtl.css +17 -1
  436. package/build-style/common.css +17 -1
  437. package/build-style/cover/editor-rtl.css +12 -0
  438. package/build-style/cover/editor.css +12 -0
  439. package/build-style/cover/style-rtl.css +14 -1
  440. package/build-style/cover/style.css +14 -1
  441. package/build-style/editor-elements-rtl.css +12 -0
  442. package/build-style/editor-elements.css +12 -0
  443. package/build-style/editor-rtl.css +39 -20
  444. package/build-style/editor.css +39 -20
  445. package/build-style/elements-rtl.css +12 -0
  446. package/build-style/elements.css +12 -0
  447. package/build-style/embed/editor-rtl.css +12 -0
  448. package/build-style/embed/editor.css +12 -0
  449. package/build-style/embed/style-rtl.css +12 -0
  450. package/build-style/embed/style.css +12 -0
  451. package/build-style/embed/theme-rtl.css +12 -0
  452. package/build-style/embed/theme.css +12 -0
  453. package/build-style/file/editor-rtl.css +12 -0
  454. package/build-style/file/editor.css +12 -0
  455. package/build-style/file/style-rtl.css +12 -0
  456. package/build-style/file/style.css +12 -0
  457. package/build-style/freeform/editor-rtl.css +12 -0
  458. package/build-style/freeform/editor.css +12 -0
  459. package/build-style/gallery/editor-rtl.css +13 -1
  460. package/build-style/gallery/editor.css +13 -1
  461. package/build-style/gallery/style-rtl.css +16 -2
  462. package/build-style/gallery/style.css +16 -2
  463. package/build-style/gallery/theme-rtl.css +12 -0
  464. package/build-style/gallery/theme.css +12 -0
  465. package/build-style/group/editor-rtl.css +12 -0
  466. package/build-style/group/editor.css +12 -0
  467. package/build-style/group/style-rtl.css +12 -0
  468. package/build-style/group/style.css +12 -0
  469. package/build-style/group/theme-rtl.css +12 -0
  470. package/build-style/group/theme.css +12 -0
  471. package/build-style/heading/style-rtl.css +12 -0
  472. package/build-style/heading/style.css +12 -0
  473. package/build-style/html/editor-rtl.css +12 -0
  474. package/build-style/html/editor.css +12 -0
  475. package/build-style/image/editor-rtl.css +12 -9
  476. package/build-style/image/editor.css +12 -9
  477. package/build-style/image/style-rtl.css +12 -0
  478. package/build-style/image/style.css +12 -0
  479. package/build-style/image/theme-rtl.css +12 -0
  480. package/build-style/image/theme.css +12 -0
  481. package/build-style/latest-comments/style-rtl.css +12 -0
  482. package/build-style/latest-comments/style.css +12 -0
  483. package/build-style/latest-posts/editor-rtl.css +12 -0
  484. package/build-style/latest-posts/editor.css +12 -0
  485. package/build-style/latest-posts/style-rtl.css +12 -0
  486. package/build-style/latest-posts/style.css +12 -0
  487. package/build-style/list/style-rtl.css +12 -0
  488. package/build-style/list/style.css +12 -0
  489. package/build-style/media-text/editor-rtl.css +12 -0
  490. package/build-style/media-text/editor.css +12 -0
  491. package/build-style/media-text/style-rtl.css +12 -0
  492. package/build-style/media-text/style.css +12 -0
  493. package/build-style/more/editor-rtl.css +12 -0
  494. package/build-style/more/editor.css +12 -0
  495. package/build-style/navigation/editor-rtl.css +12 -0
  496. package/build-style/navigation/editor.css +12 -0
  497. package/build-style/navigation/style-rtl.css +12 -0
  498. package/build-style/navigation/style.css +12 -0
  499. package/build-style/navigation-link/editor-rtl.css +12 -0
  500. package/build-style/navigation-link/editor.css +12 -0
  501. package/build-style/navigation-link/style-rtl.css +12 -0
  502. package/build-style/navigation-link/style.css +12 -0
  503. package/build-style/navigation-submenu/editor-rtl.css +12 -0
  504. package/build-style/navigation-submenu/editor.css +12 -0
  505. package/build-style/nextpage/editor-rtl.css +12 -0
  506. package/build-style/nextpage/editor.css +12 -0
  507. package/build-style/page-list/editor-rtl.css +12 -0
  508. package/build-style/page-list/editor.css +12 -0
  509. package/build-style/page-list/style-rtl.css +12 -0
  510. package/build-style/page-list/style.css +12 -0
  511. package/build-style/paragraph/editor-rtl.css +12 -0
  512. package/build-style/paragraph/editor.css +12 -0
  513. package/build-style/paragraph/style-rtl.css +12 -0
  514. package/build-style/paragraph/style.css +12 -0
  515. package/build-style/post-author/style-rtl.css +12 -0
  516. package/build-style/post-author/style.css +12 -0
  517. package/build-style/post-comments-form/editor-rtl.css +12 -0
  518. package/build-style/post-comments-form/editor.css +12 -0
  519. package/build-style/post-comments-form/style-rtl.css +12 -0
  520. package/build-style/post-comments-form/style.css +12 -0
  521. package/build-style/post-date/style-rtl.css +12 -0
  522. package/build-style/post-date/style.css +12 -0
  523. package/build-style/post-excerpt/editor-rtl.css +12 -0
  524. package/build-style/post-excerpt/editor.css +12 -0
  525. package/build-style/post-excerpt/style-rtl.css +12 -0
  526. package/build-style/post-excerpt/style.css +12 -0
  527. package/build-style/post-featured-image/editor-rtl.css +12 -0
  528. package/build-style/post-featured-image/editor.css +12 -0
  529. package/build-style/post-featured-image/style-rtl.css +12 -0
  530. package/build-style/post-featured-image/style.css +12 -0
  531. package/build-style/post-navigation-link/style-rtl.css +12 -0
  532. package/build-style/post-navigation-link/style.css +12 -0
  533. package/build-style/post-template/editor-rtl.css +12 -0
  534. package/build-style/post-template/editor.css +12 -0
  535. package/build-style/post-template/style-rtl.css +12 -0
  536. package/build-style/post-template/style.css +12 -0
  537. package/build-style/post-terms/style-rtl.css +12 -0
  538. package/build-style/post-terms/style.css +12 -0
  539. package/build-style/post-title/style-rtl.css +12 -0
  540. package/build-style/post-title/style.css +12 -0
  541. package/build-style/preformatted/style-rtl.css +12 -0
  542. package/build-style/preformatted/style.css +12 -0
  543. package/build-style/pullquote/editor-rtl.css +12 -0
  544. package/build-style/pullquote/editor.css +12 -0
  545. package/build-style/pullquote/style-rtl.css +12 -0
  546. package/build-style/pullquote/style.css +12 -0
  547. package/build-style/pullquote/theme-rtl.css +12 -0
  548. package/build-style/pullquote/theme.css +12 -0
  549. package/build-style/query/editor-rtl.css +12 -0
  550. package/build-style/query/editor.css +12 -0
  551. package/build-style/query-pagination/editor-rtl.css +12 -0
  552. package/build-style/query-pagination/editor.css +12 -0
  553. package/build-style/query-pagination/style-rtl.css +12 -0
  554. package/build-style/query-pagination/style.css +12 -0
  555. package/build-style/query-pagination-numbers/editor-rtl.css +12 -0
  556. package/build-style/query-pagination-numbers/editor.css +12 -0
  557. package/build-style/query-title/style-rtl.css +12 -0
  558. package/build-style/query-title/style.css +12 -0
  559. package/build-style/quote/style-rtl.css +12 -0
  560. package/build-style/quote/style.css +12 -0
  561. package/build-style/quote/theme-rtl.css +12 -0
  562. package/build-style/quote/theme.css +12 -0
  563. package/build-style/read-more/style-rtl.css +12 -0
  564. package/build-style/read-more/style.css +12 -0
  565. package/build-style/reset-rtl.css +12 -0
  566. package/build-style/reset.css +12 -0
  567. package/build-style/rss/editor-rtl.css +12 -0
  568. package/build-style/rss/editor.css +12 -0
  569. package/build-style/rss/style-rtl.css +12 -0
  570. package/build-style/rss/style.css +12 -0
  571. package/build-style/search/editor-rtl.css +12 -0
  572. package/build-style/search/editor.css +12 -0
  573. package/build-style/search/style-rtl.css +12 -0
  574. package/build-style/search/style.css +12 -0
  575. package/build-style/search/theme-rtl.css +12 -0
  576. package/build-style/search/theme.css +12 -0
  577. package/build-style/separator/editor-rtl.css +12 -0
  578. package/build-style/separator/editor.css +12 -0
  579. package/build-style/separator/style-rtl.css +12 -0
  580. package/build-style/separator/style.css +12 -0
  581. package/build-style/separator/theme-rtl.css +12 -0
  582. package/build-style/separator/theme.css +12 -0
  583. package/build-style/shortcode/editor-rtl.css +13 -1
  584. package/build-style/shortcode/editor.css +13 -1
  585. package/build-style/site-logo/editor-rtl.css +12 -0
  586. package/build-style/site-logo/editor.css +12 -0
  587. package/build-style/site-logo/style-rtl.css +12 -0
  588. package/build-style/site-logo/style.css +12 -0
  589. package/build-style/site-tagline/editor-rtl.css +12 -0
  590. package/build-style/site-tagline/editor.css +12 -0
  591. package/build-style/site-title/editor-rtl.css +12 -0
  592. package/build-style/site-title/editor.css +12 -0
  593. package/build-style/site-title/style-rtl.css +12 -0
  594. package/build-style/site-title/style.css +12 -0
  595. package/build-style/social-link/editor-rtl.css +12 -0
  596. package/build-style/social-link/editor.css +12 -0
  597. package/build-style/social-links/editor-rtl.css +12 -0
  598. package/build-style/social-links/editor.css +12 -0
  599. package/build-style/social-links/style-rtl.css +12 -0
  600. package/build-style/social-links/style.css +12 -0
  601. package/build-style/spacer/editor-rtl.css +12 -0
  602. package/build-style/spacer/editor.css +12 -0
  603. package/build-style/spacer/style-rtl.css +12 -0
  604. package/build-style/spacer/style.css +12 -0
  605. package/build-style/style-rtl.css +23 -5
  606. package/build-style/style.css +23 -5
  607. package/build-style/table/editor-rtl.css +12 -8
  608. package/build-style/table/editor.css +12 -8
  609. package/build-style/table/style-rtl.css +12 -0
  610. package/build-style/table/style.css +12 -0
  611. package/build-style/table/theme-rtl.css +12 -0
  612. package/build-style/table/theme.css +12 -0
  613. package/build-style/tag-cloud/style-rtl.css +12 -0
  614. package/build-style/tag-cloud/style.css +12 -0
  615. package/build-style/template-part/editor-rtl.css +27 -1
  616. package/build-style/template-part/editor.css +27 -1
  617. package/build-style/template-part/theme-rtl.css +12 -0
  618. package/build-style/template-part/theme.css +12 -0
  619. package/build-style/text-columns/editor-rtl.css +12 -0
  620. package/build-style/text-columns/editor.css +12 -0
  621. package/build-style/text-columns/style-rtl.css +12 -0
  622. package/build-style/text-columns/style.css +12 -0
  623. package/build-style/theme-rtl.css +12 -0
  624. package/build-style/theme.css +12 -0
  625. package/build-style/verse/style-rtl.css +12 -0
  626. package/build-style/verse/style.css +12 -0
  627. package/build-style/video/editor-rtl.css +12 -0
  628. package/build-style/video/editor.css +12 -0
  629. package/build-style/video/style-rtl.css +14 -1
  630. package/build-style/video/style.css +14 -1
  631. package/build-style/video/theme-rtl.css +12 -0
  632. package/build-style/video/theme.css +12 -0
  633. package/package.json +32 -30
  634. package/src/audio/edit.native.js +1 -2
  635. package/src/audio/index.js +1 -0
  636. package/src/avatar/edit.js +1 -0
  637. package/src/avatar/user-control.js +1 -0
  638. package/src/block/block.json +1 -2
  639. package/src/block/edit.js +14 -3
  640. package/src/block/edit.native.js +24 -12
  641. package/src/block/editor.scss +17 -0
  642. package/src/block/index.php +1 -2
  643. package/src/block/test/edit.native.js +28 -32
  644. package/src/button/edit.native.js +1 -0
  645. package/src/buttons/test/edit.native.js +40 -51
  646. package/src/code/transforms.js +3 -1
  647. package/src/columns/edit.js +1 -0
  648. package/src/columns/edit.native.js +18 -26
  649. package/src/comment-author-avatar/edit.js +1 -0
  650. package/src/cover/edit/inspector-controls.js +2 -0
  651. package/src/cover/edit.native.js +32 -19
  652. package/src/cover/test/edit.native.js +73 -126
  653. package/src/embed/embed-controls.native.js +1 -0
  654. package/src/embed/embed-preview.native.js +1 -2
  655. package/src/embed/test/index.native.js +237 -231
  656. package/src/file/inspector.js +1 -0
  657. package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
  658. package/src/gallery/edit.js +15 -5
  659. package/src/gallery/gallery.native.js +1 -2
  660. package/src/gallery/shared.js +7 -11
  661. package/src/gallery/transforms.js +1 -6
  662. package/src/gallery/use-get-media.js +1 -1
  663. package/src/gallery/use-get-media.native.js +2 -1
  664. package/src/gallery/v1/edit.js +8 -7
  665. package/src/gallery/v1/gallery.native.js +1 -2
  666. package/src/gallery/v1/shared.js +7 -2
  667. package/src/group/block.json +3 -1
  668. package/src/group/edit.js +2 -6
  669. package/src/group/placeholder.js +6 -25
  670. package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
  671. package/src/heading/block.json +1 -2
  672. package/src/heading/deprecated.js +209 -136
  673. package/src/heading/index.php +52 -0
  674. package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
  675. package/src/heading/test/index.native.js +44 -0
  676. package/src/home-link/index.php +1 -1
  677. package/src/html/block.json +1 -1
  678. package/src/image/edit.js +7 -2
  679. package/src/image/edit.native.js +2 -1
  680. package/src/image/editor.scss +0 -11
  681. package/src/image/image.js +13 -8
  682. package/src/image/test/edit.native.js +14 -10
  683. package/src/index.js +2 -0
  684. package/src/latest-comments/edit.js +1 -0
  685. package/src/latest-posts/edit.js +2 -0
  686. package/src/list/test/edit.native.js +53 -45
  687. package/src/list/transforms.js +0 -11
  688. package/src/list/utils.js +6 -2
  689. package/src/list-item/index.js +2 -0
  690. package/src/list-item/transforms.js +17 -0
  691. package/src/list-item/utils.js +10 -1
  692. package/src/media-text/edit.js +5 -3
  693. package/src/missing/test/edit-integration.native.js +10 -12
  694. package/src/navigation/edit/are-blocks-dirty.js +51 -0
  695. package/src/navigation/edit/index.js +230 -298
  696. package/src/navigation/edit/menu-inspector-controls.js +78 -0
  697. package/src/navigation/edit/navigation-menu-selector.js +5 -16
  698. package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
  699. package/src/navigation/edit/unsaved-inner-blocks.js +12 -7
  700. package/src/navigation/index.php +57 -10
  701. package/src/navigation/view-modal.js +11 -1
  702. package/src/navigation-link/edit.js +58 -329
  703. package/src/navigation-link/index.php +32 -0
  704. package/src/navigation-link/link-ui.js +213 -0
  705. package/src/navigation-link/test/edit.js +23 -82
  706. package/src/navigation-link/transforms.js +14 -0
  707. package/src/navigation-link/update-attributes.js +99 -0
  708. package/src/navigation-submenu/edit.js +57 -177
  709. package/src/navigation-submenu/index.php +40 -0
  710. package/src/page-list/block.json +6 -1
  711. package/src/page-list/constants.js +8 -0
  712. package/src/page-list/convert-to-links-modal.js +19 -76
  713. package/src/page-list/convert-to-navigation-links.js +60 -0
  714. package/src/page-list/edit.js +179 -118
  715. package/src/page-list/index.php +9 -0
  716. package/src/page-list/test/convert-to-links-modal.js +28 -34
  717. package/src/page-list-item/block.json +51 -0
  718. package/src/page-list-item/edit.js +94 -0
  719. package/src/page-list-item/index.js +24 -0
  720. package/src/page-list-item/init.js +6 -0
  721. package/src/paragraph/index.js +0 -6
  722. package/src/post-author/edit.js +3 -2
  723. package/src/post-content/index.php +1 -2
  724. package/src/post-featured-image/index.php +7 -2
  725. package/src/post-featured-image/overlay.js +1 -0
  726. package/src/post-template/block.json +8 -0
  727. package/src/preformatted/transforms.js +4 -1
  728. package/src/query/block.json +0 -8
  729. package/src/query/deprecated.js +257 -86
  730. package/src/query/edit/inspector-controls/index.js +1 -0
  731. package/src/query/edit/query-placeholder.js +4 -16
  732. package/src/rss/edit.js +3 -0
  733. package/src/search/edit.native.js +31 -27
  734. package/src/search/index.js +5 -1
  735. package/src/shortcode/test/edit.native.js +15 -18
  736. package/src/site-logo/edit.js +13 -5
  737. package/src/site-logo/index.js +1 -0
  738. package/src/site-title/index.js +1 -0
  739. package/src/social-link/social-list.js +2 -7
  740. package/src/social-link/test/index.native.js +10 -16
  741. package/src/social-links/test/edit.native.js +4 -3
  742. package/src/spacer/test/index.native.js +39 -36
  743. package/src/table/block.json +15 -0
  744. package/src/table/edit.js +2 -1
  745. package/src/table/editor.scss +0 -4
  746. package/src/table/index.js +1 -0
  747. package/src/table/save.js +5 -1
  748. package/src/table/state.js +22 -7
  749. package/src/table/transforms.js +2 -1
  750. package/src/table-of-contents/edit.js +2 -2
  751. package/src/tag-cloud/edit.js +3 -2
  752. package/src/template-part/edit/selection-modal.js +4 -3
  753. package/src/template-part/edit/utils/hooks.js +7 -3
  754. package/src/template-part/editor.scss +20 -2
  755. package/src/template-part/index.php +1 -2
  756. package/src/text-columns/edit.js +1 -0
  757. package/src/utils/transformation-categories.native.js +1 -0
  758. package/src/video/edit.js +1 -1
  759. package/src/video/edit.native.js +1 -2
  760. package/test/babel-plugin.js +35 -35
  761. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/edit.native.js"],"names":["View","AccessibilityInfo","Platform","Text","useCallback","useEffect","useState","useRef","useSelect","useDispatch","__","_x","RichText","InspectorControls","BlockControls","store","blockEditorStore","getColorObjectByAttributeValues","getGradientValueBySlug","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","PanelBody","ToolbarGroup","ToolbarButton","LinkSettingsNavigation","UnitControl","getValueAndUnit","BottomSheetSelectControl","CSS_UNITS","filterUnitsWithSettings","useMobileGlobalStylesColors","link","editPostStore","richTextStyle","styles","ColorBackground","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","ButtonEdit","props","isSelected","parentWidth","initialBorderRadius","attributes","style","border","radius","valueUnit","editorSidebarOpened","numOfButtons","select","isEditorSidebarOpened","getBlockCount","getBlockRootClientId","parentId","clientId","blockCount","currentIsEditorSidebarOpened","closeGeneralSidebar","maxWidth","setMaxWidth","isLinkSheetVisible","setIsLinkSheetVisible","isButtonFocused","setIsButtonFocused","placeholderTextWidth","setPlaceholderTextWidth","borderRadiusUnit","setBorderRadiusUnit","richTextRef","colors","gradients","onToggleButtonFocus","onSetMaxWidth","richText","current","OS","blur","isScreenReaderEnabled","then","enabled","focus","linkSettingsActions","onPress","onClearSettings","linkSettingsOptions","url","placeholder","autoFocus","autoFill","openInNewTab","linkRel","noFocusLinkSettingOptions","getBackgroundColor","backgroundColor","gradient","gradientValue","colorProps","colorObject","color","background","defaultButton","getTextColor","textColor","onChangeText","text","onChangeBorderRadius","newRadius","newStyle","getNewStyle","onChangeBorderRadiusUnit","newRadiusUnit","newBorderRadius","getBorderRadiusValue","radiusUnit","onShowLinkSettings","onHideLinkSettings","rel","linkTarget","onLayout","nativeEvent","layout","isParentWidthDidChange","marginRight","spacing","isParentWidthChanged","isWidthChanged","onRemove","onDeleteBlock","onReplace","onPlaceholderTextWidth","textWidth","lines","Math","min","onSetRef","ref","onUnstableOnFocus","onBlur","dismissSheet","getLinkSettings","isCompatibleWithSettings","getPlaceholderWidth","placeholderText","currentBorderRadius","defaultBorderRadius","valueAndUnit","Number","isInteger","parseInt","valueToConvert","parseFloat","mergeBlocks","buttonStyle","align","paddingTop","borderWidth","borderRadiusValue","borderRadius","buttonBorderRadiusValue","floor","outlineBorderRadius","minWidth","isFixedWidth","outLineStyles","outline","borderColor","textStyles","paddingLeft","paddingRight","placeholderTextColor","fontSize"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo, Platform, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\tstore as blockEditorStore,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n\tUnitControl,\n\tgetValueAndUnit,\n\tBottomSheetSelectControl,\n\tCSS_UNITS,\n\tfilterUnitsWithSettings,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport { link } from '@wordpress/icons';\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport richTextStyle from './rich-text.scss';\nimport styles from './editor.scss';\nimport ColorBackground from './color-background';\n\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUE = 50;\nconst INITIAL_MAX_WIDTH = 108;\nconst MIN_WIDTH = 40;\n// Map of the percentage width to pixel subtraction that make the buttons fit nicely into columns.\nconst MIN_WIDTH_MARGINS = {\n\t100: 0,\n\t75: styles.button75?.marginLeft,\n\t50: styles.button50?.marginLeft,\n\t25: styles.button25?.marginLeft,\n};\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tlet width = selectedWidth === newWidth ? undefined : newWidth;\n\t\tif ( newWidth === 'auto' ) {\n\t\t\twidth = undefined;\n\t\t}\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\tconst options = [\n\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t{ value: 25, label: '25%' },\n\t\t{ value: 50, label: '50%' },\n\t\t{ value: 75, label: '75%' },\n\t\t{ value: 100, label: '100%' },\n\t];\n\n\tif ( ! selectedWidth ) {\n\t\tselectedWidth = 'auto';\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width Settings' ) }>\n\t\t\t<BottomSheetSelectControl\n\t\t\t\tlabel={ __( 'Button width' ) }\n\t\t\t\tvalue={ selectedWidth }\n\t\t\t\tonChange={ handleChange }\n\t\t\t\toptions={ options }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst { isSelected, parentWidth } = props;\n\tconst initialBorderRadius = props?.attributes?.style?.border?.radius;\n\tconst { valueUnit = 'px' } = getValueAndUnit( initialBorderRadius ) || {};\n\n\tconst { editorSidebarOpened, numOfButtons } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorSidebarOpened } = select( editPostStore );\n\t\t\tconst { getBlockCount, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst blockCount = getBlockCount( parentId );\n\t\t\tconst currentIsEditorSidebarOpened = isEditorSidebarOpened();\n\n\t\t\treturn {\n\t\t\t\teditorSidebarOpened: isSelected && currentIsEditorSidebarOpened,\n\t\t\t\tnumOfButtons: blockCount,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst { closeGeneralSidebar } = useDispatch( editPostStore );\n\tconst [ maxWidth, setMaxWidth ] = useState( INITIAL_MAX_WIDTH );\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ isButtonFocused, setIsButtonFocused ] = useState( true );\n\tconst [ placeholderTextWidth, setPlaceholderTextWidth ] = useState( 0 );\n\tconst [ borderRadiusUnit, setBorderRadiusUnit ] = useState( valueUnit );\n\n\tconst richTextRef = useRef();\n\tconst colors = useMobileGlobalStylesColors();\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\tonToggleButtonFocus( true );\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tonSetMaxWidth( null, true );\n\t}, [ parentWidth ] );\n\n\tuseEffect( () => {\n\t\t// Blur `RichText` on Android when link settings sheet or button settings sheet is opened,\n\t\t// to avoid flashing caret after closing one of them\n\t\tconst richText = richTextRef?.current;\n\t\tif ( Platform.OS === 'android' && richText ) {\n\t\t\tif ( editorSidebarOpened || isLinkSheetVisible ) {\n\t\t\t\trichText.blur();\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t} else {\n\t\t\t\tonToggleButtonFocus( true );\n\t\t\t}\n\t\t}\n\t}, [ editorSidebarOpened, isLinkSheetVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( richTextRef?.current ) {\n\t\t\tif ( ! isSelected && isButtonFocused ) {\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t}\n\n\t\t\tif ( isSelected && ! isButtonFocused ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\tif ( enabled ) {\n\t\t\t\t\t\tonToggleButtonFocus( true );\n\t\t\t\t\t\trichTextRef?.current.focus();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [ isSelected, isButtonFocused ] );\n\n\tconst linkSettingsActions = [\n\t\t{\n\t\t\tlabel: __( 'Remove link' ),\n\t\t\tonPress: onClearSettings,\n\t\t},\n\t];\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: __( 'Button Link URL' ),\n\t\t\tplaceholder: __( 'Add URL' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: false,\n\t\t},\n\t\topenInNewTab: {\n\t\t\tlabel: __( 'Open in new tab' ),\n\t\t},\n\t\tlinkRel: {\n\t\t\tlabel: __( 'Link Rel' ),\n\t\t\tplaceholder: _x( 'None', 'Link rel attribute value placeholder' ),\n\t\t},\n\t};\n\n\tconst noFocusLinkSettingOptions = {\n\t\t...linkSettingsOptions,\n\t\turl: {\n\t\t\t...linkSettingsOptions.url,\n\t\t\tautoFocus: false,\n\t\t},\n\t};\n\n\tfunction getBackgroundColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst { backgroundColor, gradient } = attributes;\n\n\t\t// Return named gradient value if available.\n\t\tconst gradientValue = getGradientValueBySlug( gradients, gradient );\n\n\t\tif ( gradientValue ) {\n\t\t\treturn gradientValue;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.backgroundColor ||\n\t\t\tcolorProps.style?.background ||\n\t\t\tstyle?.backgroundColor ||\n\t\t\tstyles.defaultButton.backgroundColor\n\t\t);\n\t}\n\n\tfunction getTextColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tattributes.textColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.color ||\n\t\t\tstyle?.color ||\n\t\t\tstyles.defaultButton.color\n\t\t);\n\t}\n\n\tfunction onChangeText( value ) {\n\t\tconst { setAttributes } = props;\n\t\tsetAttributes( { text: value } );\n\t}\n\n\tfunction onChangeBorderRadius( newRadius ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newStyle = getNewStyle( style, newRadius, borderRadiusUnit );\n\n\t\tsetAttributes( { style: newStyle } );\n\t}\n\n\tfunction onChangeBorderRadiusUnit( newRadiusUnit ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newBorderRadius = getBorderRadiusValue(\n\t\t\tattributes?.style?.border?.radius\n\t\t);\n\t\tconst newStyle = getNewStyle( style, newBorderRadius, newRadiusUnit );\n\t\tsetAttributes( { style: newStyle } );\n\t\tsetBorderRadiusUnit( newRadiusUnit );\n\t}\n\n\tfunction getNewStyle( style, radius, radiusUnit ) {\n\t\treturn {\n\t\t\t...style,\n\t\t\tborder: {\n\t\t\t\t...style?.border,\n\t\t\t\tradius: `${ radius }${ radiusUnit }`, // Store the value with the unit so that it works as expected.\n\t\t\t},\n\t\t};\n\t}\n\n\tfunction onShowLinkSettings() {\n\t\tsetIsLinkSheetVisible( true );\n\t}\n\n\tfunction onHideLinkSettings() {\n\t\tsetIsLinkSheetVisible( false );\n\t}\n\n\tfunction onToggleButtonFocus( value ) {\n\t\tif ( value !== isButtonFocused ) {\n\t\t\tsetIsButtonFocused( value );\n\t\t}\n\t}\n\n\tfunction onClearSettings() {\n\t\tconst { setAttributes } = props;\n\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\trel: '',\n\t\t\tlinkTarget: '',\n\t\t} );\n\n\t\tonHideLinkSettings();\n\t}\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tonSetMaxWidth( width );\n\t}\n\n\tconst onSetMaxWidth = useCallback(\n\t\t( width, isParentWidthDidChange = false ) => {\n\t\t\tconst { marginRight: spacing } = styles.defaultButton;\n\n\t\t\tconst isParentWidthChanged = isParentWidthDidChange\n\t\t\t\t? isParentWidthDidChange\n\t\t\t\t: maxWidth !== parentWidth;\n\t\t\tconst isWidthChanged = maxWidth !== width;\n\n\t\t\tif ( parentWidth && ! width && isParentWidthChanged ) {\n\t\t\t\tsetMaxWidth( parentWidth - spacing );\n\t\t\t} else if ( ! parentWidth && width && isWidthChanged ) {\n\t\t\t\tsetMaxWidth( width - spacing );\n\t\t\t}\n\t\t},\n\t\t[ maxWidth, parentWidth ]\n\t);\n\n\tfunction onRemove() {\n\t\tconst { onDeleteBlock, onReplace } = props;\n\n\t\tif ( numOfButtons === 1 ) {\n\t\t\tonDeleteBlock();\n\t\t} else {\n\t\t\tonReplace( [] );\n\t\t}\n\t}\n\n\tfunction onPlaceholderTextWidth( { nativeEvent } ) {\n\t\tconst textWidth =\n\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\n\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\tsetPlaceholderTextWidth( Math.min( textWidth, maxWidth ) );\n\t\t}\n\t}\n\n\tconst onSetRef = useCallback(\n\t\t( ref ) => {\n\t\t\trichTextRef.current = ref;\n\t\t},\n\t\t[ richTextRef ]\n\t);\n\n\tconst onUnstableOnFocus = useCallback( () => {\n\t\tonToggleButtonFocus( true );\n\t}, [] );\n\n\tconst onBlur = useCallback( () => {\n\t\tonSetMaxWidth();\n\t}, [] );\n\n\tfunction dismissSheet() {\n\t\tonHideLinkSettings();\n\t\tcloseGeneralSidebar();\n\t}\n\n\tfunction getLinkSettings( isCompatibleWithSettings ) {\n\t\tconst { attributes, setAttributes } = props;\n\t\treturn (\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ attributes.url }\n\t\t\t\trel={ attributes.rel }\n\t\t\t\tlinkTarget={ attributes.linkTarget }\n\t\t\t\tonClose={ dismissSheet }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\twithBottomSheet={ ! isCompatibleWithSettings }\n\t\t\t\thasPicker\n\t\t\t\tactions={ linkSettingsActions }\n\t\t\t\toptions={\n\t\t\t\t\tisCompatibleWithSettings\n\t\t\t\t\t\t? linkSettingsOptions\n\t\t\t\t\t\t: noFocusLinkSettingOptions\n\t\t\t\t}\n\t\t\t\tshowIcon={ ! isCompatibleWithSettings }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\tfunction getPlaceholderWidth( placeholderText ) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ onPlaceholderTextWidth }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tfunction getBorderRadiusValue( currentBorderRadius, defaultBorderRadius ) {\n\t\tconst valueAndUnit = getValueAndUnit( currentBorderRadius );\n\t\tif ( Number.isInteger( parseInt( valueAndUnit?.valueToConvert ) ) ) {\n\t\t\treturn parseFloat( valueAndUnit.valueToConvert );\n\t\t}\n\t\treturn defaultBorderRadius;\n\t}\n\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tsetAttributes,\n\t\tstyle,\n\t} = props;\n\tconst {\n\t\tplaceholder,\n\t\ttext,\n\t\tstyle: buttonStyle,\n\t\turl,\n\t\talign = 'center',\n\t\twidth,\n\t} = attributes;\n\tconst { paddingTop: spacing, borderWidth } = styles.defaultButton;\n\n\tif ( parentWidth === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst currentBorderRadius = buttonStyle?.border?.radius;\n\tconst borderRadiusValue = getBorderRadiusValue(\n\t\tcurrentBorderRadius,\n\t\tstyles.defaultButton.borderRadius\n\t);\n\n\tconst buttonBorderRadiusValue =\n\t\tborderRadiusUnit === 'px' || borderRadiusUnit === '%'\n\t\t\t? borderRadiusValue\n\t\t\t: Math.floor( 14 * borderRadiusValue ); // Lets assume that the font size is set to 14px; TO get a nicer preview.\n\tconst outlineBorderRadius =\n\t\tbuttonBorderRadiusValue > 0\n\t\t\t? buttonBorderRadiusValue + spacing + borderWidth\n\t\t\t: 0;\n\n\t// To achieve proper expanding and shrinking `RichText` on iOS, there is a need to set a `minWidth`\n\t// value at least on 1 when `RichText` is focused or when is not focused, but `RichText` value is\n\t// different than empty string.\n\tlet minWidth =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? MIN_WIDTH\n\t\t\t: placeholderTextWidth;\n\tif ( width ) {\n\t\t// Set the width of the button.\n\t\tminWidth = Math.floor(\n\t\t\tmaxWidth * ( width / 100 ) - MIN_WIDTH_MARGINS[ width ]\n\t\t);\n\t}\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst placeholderText =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? ''\n\t\t\t: placeholder || __( 'Add text…' );\n\n\tconst backgroundColor = getBackgroundColor();\n\tconst textColor = getTextColor();\n\tconst isFixedWidth = !! width;\n\tconst outLineStyles = [\n\t\tstyles.outline,\n\t\t{\n\t\t\tborderRadius: outlineBorderRadius,\n\t\t\tborderColor: backgroundColor,\n\t\t},\n\t];\n\tconst textStyles = {\n\t\t...richTextStyle.richText,\n\t\tpaddingLeft: isFixedWidth ? 0 : richTextStyle.richText.paddingLeft,\n\t\tpaddingRight: isFixedWidth ? 0 : richTextStyle.richText.paddingRight,\n\t\tcolor: textColor,\n\t};\n\n\treturn (\n\t\t<View onLayout={ onLayout }>\n\t\t\t{ getPlaceholderWidth( placeholderText ) }\n\t\t\t<ColorBackground\n\t\t\t\tborderRadiusValue={ buttonBorderRadiusValue }\n\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t>\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<View pointerEvents=\"none\" style={ outLineStyles } />\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\tsetRef={ onSetRef }\n\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ onChangeText }\n\t\t\t\t\tstyle={ textStyles }\n\t\t\t\t\ttextAlign={ align }\n\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\tstyle?.color || styles.placeholderTextColor.color\n\t\t\t\t\t}\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\tminWidth={ minWidth } // The minimum Button size.\n\t\t\t\t\tmaxWidth={ isFixedWidth ? minWidth : maxWidth } // The width of the screen.\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tisSelected={ isButtonFocused }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tunstableOnFocus={ onUnstableOnFocus }\n\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\tselectionColor={ textColor }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tfontSize={ style?.fontSize }\n\t\t\t\t/>\n\t\t\t</ColorBackground>\n\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ __( 'Edit link' ) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onShowLinkSettings }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ getLinkSettings( false ) }\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Border Settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Border Radius' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tvalue={ borderRadiusValue }\n\t\t\t\t\t\t\t\tonChange={ onChangeBorderRadius }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeBorderRadiusUnit }\n\t\t\t\t\t\t\t\tunit={ borderRadiusUnit }\n\t\t\t\t\t\t\t\tunits={ filterUnitsWithSettings(\n\t\t\t\t\t\t\t\t\t[ 'px', 'em', 'rem' ],\n\t\t\t\t\t\t\t\t\tCSS_UNITS\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<WidthPanel\n\t\t\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t\t\t\t\t{ getLinkSettings( true ) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/edit.native.js"],"names":["View","AccessibilityInfo","Platform","Text","useCallback","useEffect","useState","useRef","useSelect","useDispatch","__","_x","RichText","InspectorControls","BlockControls","store","blockEditorStore","getColorObjectByAttributeValues","getGradientValueBySlug","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","PanelBody","ToolbarGroup","ToolbarButton","LinkSettingsNavigation","UnitControl","getValueAndUnit","BottomSheetSelectControl","CSS_UNITS","filterUnitsWithSettings","useMobileGlobalStylesColors","link","editPostStore","richTextStyle","styles","ColorBackground","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","ButtonEdit","props","isSelected","parentWidth","initialBorderRadius","attributes","style","border","radius","valueUnit","editorSidebarOpened","numOfButtons","select","isEditorSidebarOpened","getBlockCount","getBlockRootClientId","parentId","clientId","blockCount","currentIsEditorSidebarOpened","closeGeneralSidebar","maxWidth","setMaxWidth","isLinkSheetVisible","setIsLinkSheetVisible","isButtonFocused","setIsButtonFocused","placeholderTextWidth","setPlaceholderTextWidth","borderRadiusUnit","setBorderRadiusUnit","richTextRef","colors","gradients","onToggleButtonFocus","onSetMaxWidth","richText","current","OS","blur","isScreenReaderEnabled","then","enabled","focus","linkSettingsActions","onPress","onClearSettings","linkSettingsOptions","url","placeholder","autoFocus","autoFill","openInNewTab","linkRel","noFocusLinkSettingOptions","getBackgroundColor","backgroundColor","gradient","gradientValue","colorProps","colorObject","color","background","defaultButton","getTextColor","textColor","onChangeText","text","onChangeBorderRadius","newRadius","newStyle","getNewStyle","onChangeBorderRadiusUnit","newRadiusUnit","newBorderRadius","getBorderRadiusValue","radiusUnit","onShowLinkSettings","onHideLinkSettings","rel","linkTarget","onLayout","nativeEvent","layout","isParentWidthDidChange","marginRight","spacing","isParentWidthChanged","isWidthChanged","onRemove","onDeleteBlock","onReplace","onPlaceholderTextWidth","textWidth","lines","Math","min","onSetRef","ref","onUnstableOnFocus","onBlur","dismissSheet","getLinkSettings","isCompatibleWithSettings","getPlaceholderWidth","placeholderText","currentBorderRadius","defaultBorderRadius","valueAndUnit","Number","isInteger","parseInt","valueToConvert","parseFloat","mergeBlocks","buttonStyle","align","paddingTop","borderWidth","borderRadiusValue","borderRadius","buttonBorderRadiusValue","floor","outlineBorderRadius","minWidth","isFixedWidth","outLineStyles","outline","borderColor","textStyles","paddingLeft","paddingRight","placeholderTextColor","fontSize"],"mappings":";;;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,iBAAf,EAAkCC,QAAlC,EAA4CC,IAA5C,QAAwD,cAAxD;AAEA;AACA;AACA;;AACA,SAASC,WAAT,EAAsBC,SAAtB,EAAiCC,QAAjC,EAA2CC,MAA3C,QAAyD,oBAAzD;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SACCC,QADD,EAECC,iBAFD,EAGCC,aAHD,EAICC,KAAK,IAAIC,gBAJV,EAKCC,+BALD,EAMCC,sBAND,EAOCC,sCAAsC,IAAIC,wBAP3C,QAQO,yBARP;AASA,SACCC,SADD,EAECC,YAFD,EAGCC,aAHD,EAICC,sBAJD,EAKCC,WALD,EAMCC,eAND,EAOCC,wBAPD,EAQCC,SARD,EASCC,uBATD,EAUCC,2BAVD,QAWO,uBAXP;AAYA,SAASC,IAAT,QAAqB,kBAArB,C,CACA;;AACA,SAAShB,KAAK,IAAIiB,aAAlB,QAAuC,sBAAvC;AAEA;AACA;AACA;;AACA,OAAOC,aAAP,MAA0B,kBAA1B;AACA,OAAOC,MAAP,MAAmB,eAAnB;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AAEA,MAAMC,uBAAuB,GAAG,CAAhC;AACA,MAAMC,uBAAuB,GAAG,EAAhC;AACA,MAAMC,iBAAiB,GAAG,GAA1B;AACA,MAAMC,SAAS,GAAG,EAAlB,C,CACA;;AACA,MAAMC,iBAAiB,GAAG;AACzB,OAAK,CADoB;AAEzB,wBAAIN,MAAM,CAACO,QAAX,mDAAI,eAAiBC,UAFI;AAGzB,yBAAIR,MAAM,CAACS,QAAX,oDAAI,gBAAiBD,UAHI;AAIzB,yBAAIR,MAAM,CAACU,QAAX,oDAAI,gBAAiBF;AAJI,CAA1B;;AAOA,SAASG,UAAT,OAAwD;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAAmC;;AACvD,WAASC,YAAT,CAAuBC,QAAvB,EAAkC;AACjC;AACA,QAAIC,KAAK,GAAGJ,aAAa,KAAKG,QAAlB,GAA6BE,SAA7B,GAAyCF,QAArD;;AACA,QAAKA,QAAQ,KAAK,MAAlB,EAA2B;AAC1BC,MAAAA,KAAK,GAAGC,SAAR;AACA,KALgC,CAMjC;;;AACAJ,IAAAA,aAAa,CAAE;AAAEG,MAAAA;AAAF,KAAF,CAAb;AACA;;AAED,QAAME,OAAO,GAAG,CACf;AAAEC,IAAAA,KAAK,EAAE,MAAT;AAAiBC,IAAAA,KAAK,EAAE5C,EAAE,CAAE,MAAF;AAA1B,GADe,EAEf;AAAE2C,IAAAA,KAAK,EAAE,EAAT;AAAaC,IAAAA,KAAK,EAAE;AAApB,GAFe,EAGf;AAAED,IAAAA,KAAK,EAAE,EAAT;AAAaC,IAAAA,KAAK,EAAE;AAApB,GAHe,EAIf;AAAED,IAAAA,KAAK,EAAE,EAAT;AAAaC,IAAAA,KAAK,EAAE;AAApB,GAJe,EAKf;AAAED,IAAAA,KAAK,EAAE,GAAT;AAAcC,IAAAA,KAAK,EAAE;AAArB,GALe,CAAhB;;AAQA,MAAK,CAAER,aAAP,EAAuB;AACtBA,IAAAA,aAAa,GAAG,MAAhB;AACA;;AAED,SACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGpC,EAAE,CAAE,gBAAF;AAArB,KACC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,cAAF,CADX;AAEC,IAAA,KAAK,EAAGoC,aAFT;AAGC,IAAA,QAAQ,EAAGE,YAHZ;AAIC,IAAA,OAAO,EAAGI;AAJX,IADD,CADD;AAUA;;AAED,SAASG,UAAT,CAAqBC,KAArB,EAA6B;AAAA;;AAC5B,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA8BF,KAApC;AACA,QAAMG,mBAAmB,GAAGH,KAAH,aAAGA,KAAH,4CAAGA,KAAK,CAAEI,UAAV,+EAAG,kBAAmBC,KAAtB,oFAAG,sBAA0BC,MAA7B,2DAAG,uBAAkCC,MAA9D;AACA,QAAM;AAAEC,IAAAA,SAAS,GAAG;AAAd,MAAuBtC,eAAe,CAAEiC,mBAAF,CAAf,IAA0C,EAAvE;AAEA,QAAM;AAAEM,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAAwC1D,SAAS,CACpD2D,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAA4BD,MAAM,CAAEnC,aAAF,CAAxC;AACA,UAAM;AAAEqC,MAAAA,aAAF;AAAiBC,MAAAA;AAAjB,QACLH,MAAM,CAAEnD,gBAAF,CADP;AAEA,UAAMuD,QAAQ,GAAGD,oBAAoB,CAAEE,QAAF,CAArC;AACA,UAAMC,UAAU,GAAGJ,aAAa,CAAEE,QAAF,CAAhC;AACA,UAAMG,4BAA4B,GAAGN,qBAAqB,EAA1D;AAEA,WAAO;AACNH,MAAAA,mBAAmB,EAAER,UAAU,IAAIiB,4BAD7B;AAENR,MAAAA,YAAY,EAAEO;AAFR,KAAP;AAIA,GAbqD,EActD,CAAED,QAAF,EAAYf,UAAZ,CAdsD,CAAvD;AAiBA,QAAM;AAAEkB,IAAAA;AAAF,MAA0BlE,WAAW,CAAEuB,aAAF,CAA3C;AACA,QAAM,CAAE4C,QAAF,EAAYC,WAAZ,IAA4BvE,QAAQ,CAAEgC,iBAAF,CAA1C;AACA,QAAM,CAAEwC,kBAAF,EAAsBC,qBAAtB,IAAgDzE,QAAQ,CAAE,KAAF,CAA9D;AACA,QAAM,CAAE0E,eAAF,EAAmBC,kBAAnB,IAA0C3E,QAAQ,CAAE,IAAF,CAAxD;AACA,QAAM,CAAE4E,oBAAF,EAAwBC,uBAAxB,IAAoD7E,QAAQ,CAAE,CAAF,CAAlE;AACA,QAAM,CAAE8E,gBAAF,EAAoBC,mBAApB,IAA4C/E,QAAQ,CAAE0D,SAAF,CAA1D;AAEA,QAAMsB,WAAW,GAAG/E,MAAM,EAA1B;AACA,QAAMgF,MAAM,GAAGzD,2BAA2B,EAA1C;AACA,QAAM0D,SAAS,GAAG1D,2BAA2B,CAAE,WAAF,CAA7C;AAEAzB,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKoD,UAAL,EAAkB;AACjBgC,MAAAA,mBAAmB,CAAE,IAAF,CAAnB;AACA;AACD,GAJQ,EAIN,CAAEhC,UAAF,CAJM,CAAT;AAMApD,EAAAA,SAAS,CAAE,MAAM;AAChBqF,IAAAA,aAAa,CAAE,IAAF,EAAQ,IAAR,CAAb;AACA,GAFQ,EAEN,CAAEhC,WAAF,CAFM,CAAT;AAIArD,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA;AACA,UAAMsF,QAAQ,GAAGL,WAAH,aAAGA,WAAH,uBAAGA,WAAW,CAAEM,OAA9B;;AACA,QAAK1F,QAAQ,CAAC2F,EAAT,KAAgB,SAAhB,IAA6BF,QAAlC,EAA6C;AAC5C,UAAK1B,mBAAmB,IAAIa,kBAA5B,EAAiD;AAChDa,QAAAA,QAAQ,CAACG,IAAT;AACAL,QAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACA,OAHD,MAGO;AACNA,QAAAA,mBAAmB,CAAE,IAAF,CAAnB;AACA;AACD;AACD,GAZQ,EAYN,CAAExB,mBAAF,EAAuBa,kBAAvB,CAZM,CAAT;AAcAzE,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKiF,WAAL,aAAKA,WAAL,eAAKA,WAAW,CAAEM,OAAlB,EAA4B;AAC3B,UAAK,CAAEnC,UAAF,IAAgBuB,eAArB,EAAuC;AACtCS,QAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACA;;AAED,UAAKhC,UAAU,IAAI,CAAEuB,eAArB,EAAuC;AACtC/E,QAAAA,iBAAiB,CAAC8F,qBAAlB,GAA0CC,IAA1C,CAAkDC,OAAF,IAAe;AAC9D,cAAKA,OAAL,EAAe;AACdR,YAAAA,mBAAmB,CAAE,IAAF,CAAnB;AACAH,YAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEM,OAAb,CAAqBM,KAArB;AACA;AACD,SALD;AAMA;AACD;AACD,GAfQ,EAeN,CAAEzC,UAAF,EAAcuB,eAAd,CAfM,CAAT;AAiBA,QAAMmB,mBAAmB,GAAG,CAC3B;AACC7C,IAAAA,KAAK,EAAE5C,EAAE,CAAE,aAAF,CADV;AAEC0F,IAAAA,OAAO,EAAEC;AAFV,GAD2B,CAA5B;AAOA,QAAMC,mBAAmB,GAAG;AAC3BC,IAAAA,GAAG,EAAE;AACJjD,MAAAA,KAAK,EAAE5C,EAAE,CAAE,iBAAF,CADL;AAEJ8F,MAAAA,WAAW,EAAE9F,EAAE,CAAE,SAAF,CAFX;AAGJ+F,MAAAA,SAAS,EAAE,IAHP;AAIJC,MAAAA,QAAQ,EAAE;AAJN,KADsB;AAO3BC,IAAAA,YAAY,EAAE;AACbrD,MAAAA,KAAK,EAAE5C,EAAE,CAAE,iBAAF;AADI,KAPa;AAU3BkG,IAAAA,OAAO,EAAE;AACRtD,MAAAA,KAAK,EAAE5C,EAAE,CAAE,UAAF,CADD;AAER8F,MAAAA,WAAW,EAAE7F,EAAE,CAAE,MAAF,EAAU,sCAAV;AAFP;AAVkB,GAA5B;AAgBA,QAAMkG,yBAAyB,GAAG,EACjC,GAAGP,mBAD8B;AAEjCC,IAAAA,GAAG,EAAE,EACJ,GAAGD,mBAAmB,CAACC,GADnB;AAEJE,MAAAA,SAAS,EAAE;AAFP;AAF4B,GAAlC;;AAQA,WAASK,kBAAT,GAA8B;AAAA;;AAC7B,UAAM;AAAElD,MAAAA,UAAF;AAAcC,MAAAA;AAAd,QAAwBL,KAA9B;AACA,UAAM;AAAEuD,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAgCpD,UAAtC,CAF6B,CAI7B;;AACA,UAAMqD,aAAa,GAAG/F,sBAAsB,CAAEsE,SAAF,EAAawB,QAAb,CAA5C;;AAEA,QAAKC,aAAL,EAAqB;AACpB,aAAOA,aAAP;AACA;;AAED,UAAMC,UAAU,GAAG9F,wBAAwB,CAAEwC,UAAF,CAA3C,CAX6B,CAa7B;AACA;;AACA,UAAMuD,WAAW,GAAGlG,+BAA+B,CAClDsE,MADkD,EAElDwB,eAFkD,CAAnD;AAKA,WACC,CAAAI,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEC,KAAb,2BACAF,UAAU,CAACrD,KADX,sDACA,kBAAkBkD,eADlB,4BAEAG,UAAU,CAACrD,KAFX,uDAEA,mBAAkBwD,UAFlB,MAGAxD,KAHA,aAGAA,KAHA,uBAGAA,KAAK,CAAEkD,eAHP,KAIA7E,MAAM,CAACoF,aAAP,CAAqBP,eALtB;AAOA;;AAED,WAASQ,YAAT,GAAwB;AAAA;;AACvB,UAAM;AAAE3D,MAAAA,UAAF;AAAcC,MAAAA;AAAd,QAAwBL,KAA9B;AACA,UAAM0D,UAAU,GAAG9F,wBAAwB,CAAEwC,UAAF,CAA3C,CAFuB,CAIvB;AACA;;AACA,UAAMuD,WAAW,GAAGlG,+BAA+B,CAClDsE,MADkD,EAElD3B,UAAU,CAAC4D,SAFuC,CAAnD;AAKA,WACC,CAAAL,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEC,KAAb,4BACAF,UAAU,CAACrD,KADX,uDACA,mBAAkBuD,KADlB,MAEAvD,KAFA,aAEAA,KAFA,uBAEAA,KAAK,CAAEuD,KAFP,KAGAlF,MAAM,CAACoF,aAAP,CAAqBF,KAJtB;AAMA;;AAED,WAASK,YAAT,CAAuBpE,KAAvB,EAA+B;AAC9B,UAAM;AAAEN,MAAAA;AAAF,QAAoBS,KAA1B;AACAT,IAAAA,aAAa,CAAE;AAAE2E,MAAAA,IAAI,EAAErE;AAAR,KAAF,CAAb;AACA;;AAED,WAASsE,oBAAT,CAA+BC,SAA/B,EAA2C;AAC1C,UAAM;AAAE7E,MAAAA,aAAF;AAAiBa,MAAAA;AAAjB,QAAgCJ,KAAtC;AACA,UAAM;AAAEK,MAAAA;AAAF,QAAYD,UAAlB;AACA,UAAMiE,QAAQ,GAAGC,WAAW,CAAEjE,KAAF,EAAS+D,SAAT,EAAoBxC,gBAApB,CAA5B;AAEArC,IAAAA,aAAa,CAAE;AAAEc,MAAAA,KAAK,EAAEgE;AAAT,KAAF,CAAb;AACA;;AAED,WAASE,wBAAT,CAAmCC,aAAnC,EAAmD;AAAA;;AAClD,UAAM;AAAEjF,MAAAA,aAAF;AAAiBa,MAAAA;AAAjB,QAAgCJ,KAAtC;AACA,UAAM;AAAEK,MAAAA;AAAF,QAAYD,UAAlB;AACA,UAAMqE,eAAe,GAAGC,oBAAoB,CAC3CtE,UAD2C,aAC3CA,UAD2C,4CAC3CA,UAAU,CAAEC,KAD+B,+EAC3C,kBAAmBC,MADwB,0DAC3C,sBAA2BC,MADgB,CAA5C;AAGA,UAAM8D,QAAQ,GAAGC,WAAW,CAAEjE,KAAF,EAASoE,eAAT,EAA0BD,aAA1B,CAA5B;AACAjF,IAAAA,aAAa,CAAE;AAAEc,MAAAA,KAAK,EAAEgE;AAAT,KAAF,CAAb;AACAxC,IAAAA,mBAAmB,CAAE2C,aAAF,CAAnB;AACA;;AAED,WAASF,WAAT,CAAsBjE,KAAtB,EAA6BE,MAA7B,EAAqCoE,UAArC,EAAkD;AACjD,WAAO,EACN,GAAGtE,KADG;AAENC,MAAAA,MAAM,EAAE,EACP,IAAGD,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEC,MAAV,CADO;AAEPC,QAAAA,MAAM,EAAG,GAAGA,MAAQ,GAAGoE,UAAY,EAF5B,CAE+B;;AAF/B;AAFF,KAAP;AAOA;;AAED,WAASC,kBAAT,GAA8B;AAC7BrD,IAAAA,qBAAqB,CAAE,IAAF,CAArB;AACA;;AAED,WAASsD,kBAAT,GAA8B;AAC7BtD,IAAAA,qBAAqB,CAAE,KAAF,CAArB;AACA;;AAED,WAASU,mBAAT,CAA8BpC,KAA9B,EAAsC;AACrC,QAAKA,KAAK,KAAK2B,eAAf,EAAiC;AAChCC,MAAAA,kBAAkB,CAAE5B,KAAF,CAAlB;AACA;AACD;;AAED,WAASgD,eAAT,GAA2B;AAC1B,UAAM;AAAEtD,MAAAA;AAAF,QAAoBS,KAA1B;AAEAT,IAAAA,aAAa,CAAE;AACdwD,MAAAA,GAAG,EAAE,EADS;AAEd+B,MAAAA,GAAG,EAAE,EAFS;AAGdC,MAAAA,UAAU,EAAE;AAHE,KAAF,CAAb;AAMAF,IAAAA,kBAAkB;AAClB;;AAED,WAASG,QAAT,QAAqC;AAAA,QAAlB;AAAEC,MAAAA;AAAF,KAAkB;AACpC,UAAM;AAAEvF,MAAAA;AAAF,QAAYuF,WAAW,CAACC,MAA9B;AACAhD,IAAAA,aAAa,CAAExC,KAAF,CAAb;AACA;;AAED,QAAMwC,aAAa,GAAGtF,WAAW,CAChC,UAAE8C,KAAF,EAA6C;AAAA,QAApCyF,sBAAoC,uEAAX,KAAW;AAC5C,UAAM;AAAEC,MAAAA,WAAW,EAAEC;AAAf,QAA2B3G,MAAM,CAACoF,aAAxC;AAEA,UAAMwB,oBAAoB,GAAGH,sBAAsB,GAChDA,sBADgD,GAEhD/D,QAAQ,KAAKlB,WAFhB;AAGA,UAAMqF,cAAc,GAAGnE,QAAQ,KAAK1B,KAApC;;AAEA,QAAKQ,WAAW,IAAI,CAAER,KAAjB,IAA0B4F,oBAA/B,EAAsD;AACrDjE,MAAAA,WAAW,CAAEnB,WAAW,GAAGmF,OAAhB,CAAX;AACA,KAFD,MAEO,IAAK,CAAEnF,WAAF,IAAiBR,KAAjB,IAA0B6F,cAA/B,EAAgD;AACtDlE,MAAAA,WAAW,CAAE3B,KAAK,GAAG2F,OAAV,CAAX;AACA;AACD,GAd+B,EAehC,CAAEjE,QAAF,EAAYlB,WAAZ,CAfgC,CAAjC;;AAkBA,WAASsF,QAAT,GAAoB;AACnB,UAAM;AAAEC,MAAAA,aAAF;AAAiBC,MAAAA;AAAjB,QAA+B1F,KAArC;;AAEA,QAAKU,YAAY,KAAK,CAAtB,EAA0B;AACzB+E,MAAAA,aAAa;AACb,KAFD,MAEO;AACNC,MAAAA,SAAS,CAAE,EAAF,CAAT;AACA;AACD;;AAED,WAASC,sBAAT,QAAmD;AAAA,QAAlB;AAAEV,MAAAA;AAAF,KAAkB;AAClD,UAAMW,SAAS,GACdX,WAAW,CAACY,KAAZ,CAAmB,CAAnB,KAA0BZ,WAAW,CAACY,KAAZ,CAAmB,CAAnB,EAAuBnG,KADlD;;AAGA,QAAKkG,SAAS,IAAIA,SAAS,KAAKlE,oBAAhC,EAAuD;AACtDC,MAAAA,uBAAuB,CAAEmE,IAAI,CAACC,GAAL,CAAUH,SAAV,EAAqBxE,QAArB,CAAF,CAAvB;AACA;AACD;;AAED,QAAM4E,QAAQ,GAAGpJ,WAAW,CACzBqJ,GAAF,IAAW;AACVnE,IAAAA,WAAW,CAACM,OAAZ,GAAsB6D,GAAtB;AACA,GAH0B,EAI3B,CAAEnE,WAAF,CAJ2B,CAA5B;AAOA,QAAMoE,iBAAiB,GAAGtJ,WAAW,CAAE,MAAM;AAC5CqF,IAAAA,mBAAmB,CAAE,IAAF,CAAnB;AACA,GAFoC,EAElC,EAFkC,CAArC;AAIA,QAAMkE,MAAM,GAAGvJ,WAAW,CAAE,MAAM;AACjCsF,IAAAA,aAAa;AACb,GAFyB,EAEvB,EAFuB,CAA1B;;AAIA,WAASkE,YAAT,GAAwB;AACvBvB,IAAAA,kBAAkB;AAClB1D,IAAAA,mBAAmB;AACnB;;AAED,WAASkF,eAAT,CAA0BC,wBAA1B,EAAqD;AACpD,UAAM;AAAElG,MAAAA,UAAF;AAAcb,MAAAA;AAAd,QAAgCS,KAAtC;AACA,WACC,cAAC,sBAAD;AACC,MAAA,SAAS,EAAGsB,kBADb;AAEC,MAAA,GAAG,EAAGlB,UAAU,CAAC2C,GAFlB;AAGC,MAAA,GAAG,EAAG3C,UAAU,CAAC0E,GAHlB;AAIC,MAAA,UAAU,EAAG1E,UAAU,CAAC2E,UAJzB;AAKC,MAAA,OAAO,EAAGqB,YALX;AAMC,MAAA,aAAa,EAAG7G,aANjB;AAOC,MAAA,eAAe,EAAG,CAAE+G,wBAPrB;AAQC,MAAA,SAAS,MARV;AASC,MAAA,OAAO,EAAG3D,mBATX;AAUC,MAAA,OAAO,EACN2D,wBAAwB,GACrBxD,mBADqB,GAErBO,yBAbL;AAeC,MAAA,QAAQ,EAAG,CAAEiD;AAfd,MADD;AAmBA,GAxS2B,CA0S5B;AACA;;;AACA,WAASC,mBAAT,CAA8BC,eAA9B,EAAgD;AAC/C,WACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG9H,MAAM,CAACsE,WADhB;AAEC,MAAA,YAAY,EAAG2C;AAFhB,OAIGa,eAJH,CADD;AAQA;;AAED,WAAS9B,oBAAT,CAA+B+B,mBAA/B,EAAoDC,mBAApD,EAA0E;AACzE,UAAMC,YAAY,GAAGzI,eAAe,CAAEuI,mBAAF,CAApC;;AACA,QAAKG,MAAM,CAACC,SAAP,CAAkBC,QAAQ,CAAEH,YAAF,aAAEA,YAAF,uBAAEA,YAAY,CAAEI,cAAhB,CAA1B,CAAL,EAAoE;AACnE,aAAOC,UAAU,CAAEL,YAAY,CAACI,cAAf,CAAjB;AACA;;AACD,WAAOL,mBAAP;AACA;;AAED,QAAM;AACLtG,IAAAA,UADK;AAELY,IAAAA,QAFK;AAGL0E,IAAAA,SAHK;AAILuB,IAAAA,WAJK;AAKL1H,IAAAA,aALK;AAMLc,IAAAA;AANK,MAOFL,KAPJ;AAQA,QAAM;AACLgD,IAAAA,WADK;AAELkB,IAAAA,IAFK;AAGL7D,IAAAA,KAAK,EAAE6G,WAHF;AAILnE,IAAAA,GAJK;AAKLoE,IAAAA,KAAK,GAAG,QALH;AAMLzH,IAAAA;AANK,MAOFU,UAPJ;AAQA,QAAM;AAAEgH,IAAAA,UAAU,EAAE/B,OAAd;AAAuBgC,IAAAA;AAAvB,MAAuC3I,MAAM,CAACoF,aAApD;;AAEA,MAAK5D,WAAW,KAAK,CAArB,EAAyB;AACxB,WAAO,IAAP;AACA;;AAED,QAAMuG,mBAAmB,GAAGS,WAAH,aAAGA,WAAH,8CAAGA,WAAW,CAAE5G,MAAhB,wDAAG,oBAAqBC,MAAjD;AACA,QAAM+G,iBAAiB,GAAG5C,oBAAoB,CAC7C+B,mBAD6C,EAE7C/H,MAAM,CAACoF,aAAP,CAAqByD,YAFwB,CAA9C;AAKA,QAAMC,uBAAuB,GAC5B5F,gBAAgB,KAAK,IAArB,IAA6BA,gBAAgB,KAAK,GAAlD,GACG0F,iBADH,GAEGxB,IAAI,CAAC2B,KAAL,CAAY,KAAKH,iBAAjB,CAHJ,CA3V4B,CA8Vc;;AAC1C,QAAMI,mBAAmB,GACxBF,uBAAuB,GAAG,CAA1B,GACGA,uBAAuB,GAAGnC,OAA1B,GAAoCgC,WADvC,GAEG,CAHJ,CA/V4B,CAoW5B;AACA;AACA;;AACA,MAAIM,QAAQ,GACXnG,eAAe,IAAM,CAAEA,eAAF,IAAqB0C,IAArB,IAA6BA,IAAI,KAAK,EAA3D,GACGnF,SADH,GAEG2C,oBAHJ;;AAIA,MAAKhC,KAAL,EAAa;AACZ;AACAiI,IAAAA,QAAQ,GAAG7B,IAAI,CAAC2B,KAAL,CACVrG,QAAQ,IAAK1B,KAAK,GAAG,GAAb,CAAR,GAA6BV,iBAAiB,CAAEU,KAAF,CADpC,CAAX;AAGA,GAhX2B,CAiX5B;AACA;AACA;;;AACA,QAAM8G,eAAe,GACpBhF,eAAe,IAAM,CAAEA,eAAF,IAAqB0C,IAArB,IAA6BA,IAAI,KAAK,EAA3D,GACG,EADH,GAEGlB,WAAW,IAAI9F,EAAE,CAAE,WAAF,CAHrB;AAKA,QAAMqG,eAAe,GAAGD,kBAAkB,EAA1C;AACA,QAAMU,SAAS,GAAGD,YAAY,EAA9B;AACA,QAAM6D,YAAY,GAAG,CAAC,CAAElI,KAAxB;AACA,QAAMmI,aAAa,GAAG,CACrBnJ,MAAM,CAACoJ,OADc,EAErB;AACCP,IAAAA,YAAY,EAAEG,mBADf;AAECK,IAAAA,WAAW,EAAExE;AAFd,GAFqB,CAAtB;AAOA,QAAMyE,UAAU,GAAG,EAClB,GAAGvJ,aAAa,CAAC0D,QADC;AAElB8F,IAAAA,WAAW,EAAEL,YAAY,GAAG,CAAH,GAAOnJ,aAAa,CAAC0D,QAAd,CAAuB8F,WAFrC;AAGlBC,IAAAA,YAAY,EAAEN,YAAY,GAAG,CAAH,GAAOnJ,aAAa,CAAC0D,QAAd,CAAuB+F,YAHtC;AAIlBtE,IAAAA,KAAK,EAAEI;AAJW,GAAnB;AAOA,SACC,cAAC,IAAD;AAAM,IAAA,QAAQ,EAAGgB;AAAjB,KACGuB,mBAAmB,CAAEC,eAAF,CADtB,EAEC,cAAC,eAAD;AACC,IAAA,iBAAiB,EAAGgB,uBADrB;AAEC,IAAA,eAAe,EAAGjE,eAFnB;AAGC,IAAA,UAAU,EAAGtD;AAHd,KAKGA,UAAU,IACX,cAAC,IAAD;AAAM,IAAA,aAAa,EAAC,MAApB;AAA2B,IAAA,KAAK,EAAG4H;AAAnC,IANF,EAQC,cAAC,QAAD;AACC,IAAA,MAAM,EAAG7B,QADV;AAEC,IAAA,WAAW,EAAGQ,eAFf;AAGC,IAAA,KAAK,EAAGtC,IAHT;AAIC,IAAA,QAAQ,EAAGD,YAJZ;AAKC,IAAA,KAAK,EAAG+D,UALT;AAMC,IAAA,SAAS,EAAGb,KANb;AAOC,IAAA,oBAAoB,EACnB,CAAA9G,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEuD,KAAP,KAAgBlF,MAAM,CAACyJ,oBAAP,CAA4BvE,KAR9C;AAUC,IAAA,UAAU,EAAC,MAVZ;AAWC,IAAA,OAAO,EAAC,GAXT;AAYC,IAAA,QAAQ,EAAG+D,QAZZ,CAYuB;AAZvB;AAaC,IAAA,QAAQ,EAAGC,YAAY,GAAGD,QAAH,GAAcvG,QAbtC,CAaiD;AAbjD;AAcC,IAAA,EAAE,EAAGJ,QAdN;AAeC,IAAA,UAAU,EAAGQ,eAfd;AAgBC,IAAA,4BAA4B,MAhB7B;AAiBC,IAAA,eAAe,EAAG0E,iBAjBnB;AAkBC,IAAA,8BAA8B,EAAG,CAAEjG,UAlBpC;AAmBC,IAAA,cAAc,EAAG+D,SAnBlB;AAoBC,IAAA,MAAM,EAAGmC,MApBV;AAqBC,IAAA,SAAS,EAAGT,SArBb;AAsBC,IAAA,QAAQ,EAAGF,QAtBZ;AAuBC,IAAA,OAAO,EAAGyB,WAvBX;AAwBC,IAAA,QAAQ,EAAG5G,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAE+H;AAxBnB,IARD,CAFD,EAsCGnI,UAAU,IACX,8BACC,cAAC,aAAD,QACC,cAAC,YAAD,QACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAG/C,EAAE,CAAE,WAAF,CADX;AAEC,IAAA,IAAI,EAAGqB,IAFR;AAGC,IAAA,OAAO,EAAGqG,kBAHX;AAIC,IAAA,QAAQ,EAAG7B;AAJZ,IADD,CADD,CADD,EAWGsD,eAAe,CAAE,KAAF,CAXlB,EAYC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGnJ,EAAE,CAAE,iBAAF;AAArB,KACC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,eAAF,CADX;AAEC,IAAA,GAAG,EAAG0B,uBAFP;AAGC,IAAA,GAAG,EAAGC,uBAHP;AAIC,IAAA,KAAK,EAAGyI,iBAJT;AAKC,IAAA,QAAQ,EAAGnD,oBALZ;AAMC,IAAA,YAAY,EAAGI,wBANhB;AAOC,IAAA,IAAI,EAAG3C,gBAPR;AAQC,IAAA,KAAK,EAAGvD,uBAAuB,CAC9B,CAAE,IAAF,EAAQ,IAAR,EAAc,KAAd,CAD8B,EAE9BD,SAF8B;AARhC,IADD,CADD,EAgBC,cAAC,UAAD;AACC,IAAA,aAAa,EAAGsB,KADjB;AAEC,IAAA,aAAa,EAAGH;AAFjB,IAhBD,EAoBC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGrC,EAAE,CAAE,eAAF;AAArB,KACGmJ,eAAe,CAAE,IAAF,CADlB,CApBD,CAZD,CAvCF,CADD;AAgFA;;AAED,eAAetG,UAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo, Platform, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\tstore as blockEditorStore,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n\tUnitControl,\n\tgetValueAndUnit,\n\tBottomSheetSelectControl,\n\tCSS_UNITS,\n\tfilterUnitsWithSettings,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport { link } from '@wordpress/icons';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport richTextStyle from './rich-text.scss';\nimport styles from './editor.scss';\nimport ColorBackground from './color-background';\n\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUE = 50;\nconst INITIAL_MAX_WIDTH = 108;\nconst MIN_WIDTH = 40;\n// Map of the percentage width to pixel subtraction that make the buttons fit nicely into columns.\nconst MIN_WIDTH_MARGINS = {\n\t100: 0,\n\t75: styles.button75?.marginLeft,\n\t50: styles.button50?.marginLeft,\n\t25: styles.button25?.marginLeft,\n};\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tlet width = selectedWidth === newWidth ? undefined : newWidth;\n\t\tif ( newWidth === 'auto' ) {\n\t\t\twidth = undefined;\n\t\t}\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\tconst options = [\n\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t{ value: 25, label: '25%' },\n\t\t{ value: 50, label: '50%' },\n\t\t{ value: 75, label: '75%' },\n\t\t{ value: 100, label: '100%' },\n\t];\n\n\tif ( ! selectedWidth ) {\n\t\tselectedWidth = 'auto';\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width Settings' ) }>\n\t\t\t<BottomSheetSelectControl\n\t\t\t\tlabel={ __( 'Button width' ) }\n\t\t\t\tvalue={ selectedWidth }\n\t\t\t\tonChange={ handleChange }\n\t\t\t\toptions={ options }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst { isSelected, parentWidth } = props;\n\tconst initialBorderRadius = props?.attributes?.style?.border?.radius;\n\tconst { valueUnit = 'px' } = getValueAndUnit( initialBorderRadius ) || {};\n\n\tconst { editorSidebarOpened, numOfButtons } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorSidebarOpened } = select( editPostStore );\n\t\t\tconst { getBlockCount, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst blockCount = getBlockCount( parentId );\n\t\t\tconst currentIsEditorSidebarOpened = isEditorSidebarOpened();\n\n\t\t\treturn {\n\t\t\t\teditorSidebarOpened: isSelected && currentIsEditorSidebarOpened,\n\t\t\t\tnumOfButtons: blockCount,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst { closeGeneralSidebar } = useDispatch( editPostStore );\n\tconst [ maxWidth, setMaxWidth ] = useState( INITIAL_MAX_WIDTH );\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ isButtonFocused, setIsButtonFocused ] = useState( true );\n\tconst [ placeholderTextWidth, setPlaceholderTextWidth ] = useState( 0 );\n\tconst [ borderRadiusUnit, setBorderRadiusUnit ] = useState( valueUnit );\n\n\tconst richTextRef = useRef();\n\tconst colors = useMobileGlobalStylesColors();\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\tonToggleButtonFocus( true );\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tonSetMaxWidth( null, true );\n\t}, [ parentWidth ] );\n\n\tuseEffect( () => {\n\t\t// Blur `RichText` on Android when link settings sheet or button settings sheet is opened,\n\t\t// to avoid flashing caret after closing one of them\n\t\tconst richText = richTextRef?.current;\n\t\tif ( Platform.OS === 'android' && richText ) {\n\t\t\tif ( editorSidebarOpened || isLinkSheetVisible ) {\n\t\t\t\trichText.blur();\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t} else {\n\t\t\t\tonToggleButtonFocus( true );\n\t\t\t}\n\t\t}\n\t}, [ editorSidebarOpened, isLinkSheetVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( richTextRef?.current ) {\n\t\t\tif ( ! isSelected && isButtonFocused ) {\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t}\n\n\t\t\tif ( isSelected && ! isButtonFocused ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\tif ( enabled ) {\n\t\t\t\t\t\tonToggleButtonFocus( true );\n\t\t\t\t\t\trichTextRef?.current.focus();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [ isSelected, isButtonFocused ] );\n\n\tconst linkSettingsActions = [\n\t\t{\n\t\t\tlabel: __( 'Remove link' ),\n\t\t\tonPress: onClearSettings,\n\t\t},\n\t];\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: __( 'Button Link URL' ),\n\t\t\tplaceholder: __( 'Add URL' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: false,\n\t\t},\n\t\topenInNewTab: {\n\t\t\tlabel: __( 'Open in new tab' ),\n\t\t},\n\t\tlinkRel: {\n\t\t\tlabel: __( 'Link Rel' ),\n\t\t\tplaceholder: _x( 'None', 'Link rel attribute value placeholder' ),\n\t\t},\n\t};\n\n\tconst noFocusLinkSettingOptions = {\n\t\t...linkSettingsOptions,\n\t\turl: {\n\t\t\t...linkSettingsOptions.url,\n\t\t\tautoFocus: false,\n\t\t},\n\t};\n\n\tfunction getBackgroundColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst { backgroundColor, gradient } = attributes;\n\n\t\t// Return named gradient value if available.\n\t\tconst gradientValue = getGradientValueBySlug( gradients, gradient );\n\n\t\tif ( gradientValue ) {\n\t\t\treturn gradientValue;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.backgroundColor ||\n\t\t\tcolorProps.style?.background ||\n\t\t\tstyle?.backgroundColor ||\n\t\t\tstyles.defaultButton.backgroundColor\n\t\t);\n\t}\n\n\tfunction getTextColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tattributes.textColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.color ||\n\t\t\tstyle?.color ||\n\t\t\tstyles.defaultButton.color\n\t\t);\n\t}\n\n\tfunction onChangeText( value ) {\n\t\tconst { setAttributes } = props;\n\t\tsetAttributes( { text: value } );\n\t}\n\n\tfunction onChangeBorderRadius( newRadius ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newStyle = getNewStyle( style, newRadius, borderRadiusUnit );\n\n\t\tsetAttributes( { style: newStyle } );\n\t}\n\n\tfunction onChangeBorderRadiusUnit( newRadiusUnit ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newBorderRadius = getBorderRadiusValue(\n\t\t\tattributes?.style?.border?.radius\n\t\t);\n\t\tconst newStyle = getNewStyle( style, newBorderRadius, newRadiusUnit );\n\t\tsetAttributes( { style: newStyle } );\n\t\tsetBorderRadiusUnit( newRadiusUnit );\n\t}\n\n\tfunction getNewStyle( style, radius, radiusUnit ) {\n\t\treturn {\n\t\t\t...style,\n\t\t\tborder: {\n\t\t\t\t...style?.border,\n\t\t\t\tradius: `${ radius }${ radiusUnit }`, // Store the value with the unit so that it works as expected.\n\t\t\t},\n\t\t};\n\t}\n\n\tfunction onShowLinkSettings() {\n\t\tsetIsLinkSheetVisible( true );\n\t}\n\n\tfunction onHideLinkSettings() {\n\t\tsetIsLinkSheetVisible( false );\n\t}\n\n\tfunction onToggleButtonFocus( value ) {\n\t\tif ( value !== isButtonFocused ) {\n\t\t\tsetIsButtonFocused( value );\n\t\t}\n\t}\n\n\tfunction onClearSettings() {\n\t\tconst { setAttributes } = props;\n\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\trel: '',\n\t\t\tlinkTarget: '',\n\t\t} );\n\n\t\tonHideLinkSettings();\n\t}\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tonSetMaxWidth( width );\n\t}\n\n\tconst onSetMaxWidth = useCallback(\n\t\t( width, isParentWidthDidChange = false ) => {\n\t\t\tconst { marginRight: spacing } = styles.defaultButton;\n\n\t\t\tconst isParentWidthChanged = isParentWidthDidChange\n\t\t\t\t? isParentWidthDidChange\n\t\t\t\t: maxWidth !== parentWidth;\n\t\t\tconst isWidthChanged = maxWidth !== width;\n\n\t\t\tif ( parentWidth && ! width && isParentWidthChanged ) {\n\t\t\t\tsetMaxWidth( parentWidth - spacing );\n\t\t\t} else if ( ! parentWidth && width && isWidthChanged ) {\n\t\t\t\tsetMaxWidth( width - spacing );\n\t\t\t}\n\t\t},\n\t\t[ maxWidth, parentWidth ]\n\t);\n\n\tfunction onRemove() {\n\t\tconst { onDeleteBlock, onReplace } = props;\n\n\t\tif ( numOfButtons === 1 ) {\n\t\t\tonDeleteBlock();\n\t\t} else {\n\t\t\tonReplace( [] );\n\t\t}\n\t}\n\n\tfunction onPlaceholderTextWidth( { nativeEvent } ) {\n\t\tconst textWidth =\n\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\n\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\tsetPlaceholderTextWidth( Math.min( textWidth, maxWidth ) );\n\t\t}\n\t}\n\n\tconst onSetRef = useCallback(\n\t\t( ref ) => {\n\t\t\trichTextRef.current = ref;\n\t\t},\n\t\t[ richTextRef ]\n\t);\n\n\tconst onUnstableOnFocus = useCallback( () => {\n\t\tonToggleButtonFocus( true );\n\t}, [] );\n\n\tconst onBlur = useCallback( () => {\n\t\tonSetMaxWidth();\n\t}, [] );\n\n\tfunction dismissSheet() {\n\t\tonHideLinkSettings();\n\t\tcloseGeneralSidebar();\n\t}\n\n\tfunction getLinkSettings( isCompatibleWithSettings ) {\n\t\tconst { attributes, setAttributes } = props;\n\t\treturn (\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ attributes.url }\n\t\t\t\trel={ attributes.rel }\n\t\t\t\tlinkTarget={ attributes.linkTarget }\n\t\t\t\tonClose={ dismissSheet }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\twithBottomSheet={ ! isCompatibleWithSettings }\n\t\t\t\thasPicker\n\t\t\t\tactions={ linkSettingsActions }\n\t\t\t\toptions={\n\t\t\t\t\tisCompatibleWithSettings\n\t\t\t\t\t\t? linkSettingsOptions\n\t\t\t\t\t\t: noFocusLinkSettingOptions\n\t\t\t\t}\n\t\t\t\tshowIcon={ ! isCompatibleWithSettings }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\tfunction getPlaceholderWidth( placeholderText ) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ onPlaceholderTextWidth }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tfunction getBorderRadiusValue( currentBorderRadius, defaultBorderRadius ) {\n\t\tconst valueAndUnit = getValueAndUnit( currentBorderRadius );\n\t\tif ( Number.isInteger( parseInt( valueAndUnit?.valueToConvert ) ) ) {\n\t\t\treturn parseFloat( valueAndUnit.valueToConvert );\n\t\t}\n\t\treturn defaultBorderRadius;\n\t}\n\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tsetAttributes,\n\t\tstyle,\n\t} = props;\n\tconst {\n\t\tplaceholder,\n\t\ttext,\n\t\tstyle: buttonStyle,\n\t\turl,\n\t\talign = 'center',\n\t\twidth,\n\t} = attributes;\n\tconst { paddingTop: spacing, borderWidth } = styles.defaultButton;\n\n\tif ( parentWidth === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst currentBorderRadius = buttonStyle?.border?.radius;\n\tconst borderRadiusValue = getBorderRadiusValue(\n\t\tcurrentBorderRadius,\n\t\tstyles.defaultButton.borderRadius\n\t);\n\n\tconst buttonBorderRadiusValue =\n\t\tborderRadiusUnit === 'px' || borderRadiusUnit === '%'\n\t\t\t? borderRadiusValue\n\t\t\t: Math.floor( 14 * borderRadiusValue ); // Lets assume that the font size is set to 14px; TO get a nicer preview.\n\tconst outlineBorderRadius =\n\t\tbuttonBorderRadiusValue > 0\n\t\t\t? buttonBorderRadiusValue + spacing + borderWidth\n\t\t\t: 0;\n\n\t// To achieve proper expanding and shrinking `RichText` on iOS, there is a need to set a `minWidth`\n\t// value at least on 1 when `RichText` is focused or when is not focused, but `RichText` value is\n\t// different than empty string.\n\tlet minWidth =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? MIN_WIDTH\n\t\t\t: placeholderTextWidth;\n\tif ( width ) {\n\t\t// Set the width of the button.\n\t\tminWidth = Math.floor(\n\t\t\tmaxWidth * ( width / 100 ) - MIN_WIDTH_MARGINS[ width ]\n\t\t);\n\t}\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst placeholderText =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? ''\n\t\t\t: placeholder || __( 'Add text…' );\n\n\tconst backgroundColor = getBackgroundColor();\n\tconst textColor = getTextColor();\n\tconst isFixedWidth = !! width;\n\tconst outLineStyles = [\n\t\tstyles.outline,\n\t\t{\n\t\t\tborderRadius: outlineBorderRadius,\n\t\t\tborderColor: backgroundColor,\n\t\t},\n\t];\n\tconst textStyles = {\n\t\t...richTextStyle.richText,\n\t\tpaddingLeft: isFixedWidth ? 0 : richTextStyle.richText.paddingLeft,\n\t\tpaddingRight: isFixedWidth ? 0 : richTextStyle.richText.paddingRight,\n\t\tcolor: textColor,\n\t};\n\n\treturn (\n\t\t<View onLayout={ onLayout }>\n\t\t\t{ getPlaceholderWidth( placeholderText ) }\n\t\t\t<ColorBackground\n\t\t\t\tborderRadiusValue={ buttonBorderRadiusValue }\n\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t>\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<View pointerEvents=\"none\" style={ outLineStyles } />\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\tsetRef={ onSetRef }\n\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ onChangeText }\n\t\t\t\t\tstyle={ textStyles }\n\t\t\t\t\ttextAlign={ align }\n\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\tstyle?.color || styles.placeholderTextColor.color\n\t\t\t\t\t}\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\tminWidth={ minWidth } // The minimum Button size.\n\t\t\t\t\tmaxWidth={ isFixedWidth ? minWidth : maxWidth } // The width of the screen.\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tisSelected={ isButtonFocused }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tunstableOnFocus={ onUnstableOnFocus }\n\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\tselectionColor={ textColor }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tfontSize={ style?.fontSize }\n\t\t\t\t/>\n\t\t\t</ColorBackground>\n\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ __( 'Edit link' ) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onShowLinkSettings }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ getLinkSettings( false ) }\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Border Settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Border Radius' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tvalue={ borderRadiusValue }\n\t\t\t\t\t\t\t\tonChange={ onChangeBorderRadius }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeBorderRadiusUnit }\n\t\t\t\t\t\t\t\tunit={ borderRadiusUnit }\n\t\t\t\t\t\t\t\tunits={ filterUnitsWithSettings(\n\t\t\t\t\t\t\t\t\t[ 'px', 'em', 'rem' ],\n\t\t\t\t\t\t\t\t\tCSS_UNITS\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<WidthPanel\n\t\t\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t\t\t\t\t{ getLinkSettings( true ) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
@@ -41,7 +41,7 @@ const transforms = {
41
41
  content
42
42
  } = _ref2;
43
43
  return createBlock('core/paragraph', {
44
- content
44
+ content: content.replace(/\n/g, '<br>')
45
45
  });
46
46
  }
47
47
  }]
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/code/transforms.js"],"names":["createBlock","transforms","from","type","regExp","transform","blocks","content","isMatch","node","nodeName","children","length","firstChild","schema","pre","code","to"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AAEA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,OAFT;AAGCC,IAAAA,SAAS,EAAE,MAAML,WAAW,CAAE,WAAF;AAH7B,GADK,EAML;AACCG,IAAAA,IAAI,EAAE,OADP;AAECG,IAAAA,MAAM,EAAE,CAAE,WAAF,EAAe,gBAAf,CAFT;AAGCD,IAAAA,SAAS,EAAE,QAAmB;AAAA,UAAjB;AAAEE,QAAAA;AAAF,OAAiB;AAC7B,aAAOP,WAAW,CAAE,WAAF,EAAe;AAChCO,QAAAA;AADgC,OAAf,CAAlB;AAGA;AAPF,GANK,EAeL;AACCJ,IAAAA,IAAI,EAAE,KADP;AAECK,IAAAA,OAAO,EAAIC,IAAF,IACRA,IAAI,CAACC,QAAL,KAAkB,KAAlB,IACAD,IAAI,CAACE,QAAL,CAAcC,MAAd,KAAyB,CADzB,IAEAH,IAAI,CAACI,UAAL,CAAgBH,QAAhB,KAA6B,MAL/B;AAMCI,IAAAA,MAAM,EAAE;AACPC,MAAAA,GAAG,EAAE;AACJJ,QAAAA,QAAQ,EAAE;AACTK,UAAAA,IAAI,EAAE;AACLL,YAAAA,QAAQ,EAAE;AACT,uBAAS;AADA;AADL;AADG;AADN;AADE;AANT,GAfK,CADY;AAmClBM,EAAAA,EAAE,EAAE,CACH;AACCd,IAAAA,IAAI,EAAE,OADP;AAECG,IAAAA,MAAM,EAAE,CAAE,gBAAF,CAFT;AAGCD,IAAAA,SAAS,EAAE,SAAmB;AAAA,UAAjB;AAAEE,QAAAA;AAAF,OAAiB;AAC7B,aAAOP,WAAW,CAAE,gBAAF,EAAoB;AAAEO,QAAAA;AAAF,OAApB,CAAlB;AACA;AALF,GADG;AAnCc,CAAnB;AA8CA,eAAeN,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'enter',\n\t\t\tregExp: /^```$/,\n\t\t\ttransform: () => createBlock( 'core/code' ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/html', 'core/paragraph' ],\n\t\t\ttransform: ( { content } ) => {\n\t\t\t\treturn createBlock( 'core/code', {\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'PRE' &&\n\t\t\t\tnode.children.length === 1 &&\n\t\t\t\tnode.firstChild.nodeName === 'CODE',\n\t\t\tschema: {\n\t\t\t\tpre: {\n\t\t\t\t\tchildren: {\n\t\t\t\t\t\tcode: {\n\t\t\t\t\t\t\tchildren: {\n\t\t\t\t\t\t\t\t'#text': {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { content } ) => {\n\t\t\t\treturn createBlock( 'core/paragraph', { content } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/code/transforms.js"],"names":["createBlock","transforms","from","type","regExp","transform","blocks","content","isMatch","node","nodeName","children","length","firstChild","schema","pre","code","to","replace"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AAEA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,OAFT;AAGCC,IAAAA,SAAS,EAAE,MAAML,WAAW,CAAE,WAAF;AAH7B,GADK,EAML;AACCG,IAAAA,IAAI,EAAE,OADP;AAECG,IAAAA,MAAM,EAAE,CAAE,WAAF,EAAe,gBAAf,CAFT;AAGCD,IAAAA,SAAS,EAAE,QAAmB;AAAA,UAAjB;AAAEE,QAAAA;AAAF,OAAiB;AAC7B,aAAOP,WAAW,CAAE,WAAF,EAAe;AAChCO,QAAAA;AADgC,OAAf,CAAlB;AAGA;AAPF,GANK,EAeL;AACCJ,IAAAA,IAAI,EAAE,KADP;AAECK,IAAAA,OAAO,EAAIC,IAAF,IACRA,IAAI,CAACC,QAAL,KAAkB,KAAlB,IACAD,IAAI,CAACE,QAAL,CAAcC,MAAd,KAAyB,CADzB,IAEAH,IAAI,CAACI,UAAL,CAAgBH,QAAhB,KAA6B,MAL/B;AAMCI,IAAAA,MAAM,EAAE;AACPC,MAAAA,GAAG,EAAE;AACJJ,QAAAA,QAAQ,EAAE;AACTK,UAAAA,IAAI,EAAE;AACLL,YAAAA,QAAQ,EAAE;AACT,uBAAS;AADA;AADL;AADG;AADN;AADE;AANT,GAfK,CADY;AAmClBM,EAAAA,EAAE,EAAE,CACH;AACCd,IAAAA,IAAI,EAAE,OADP;AAECG,IAAAA,MAAM,EAAE,CAAE,gBAAF,CAFT;AAGCD,IAAAA,SAAS,EAAE,SAAmB;AAAA,UAAjB;AAAEE,QAAAA;AAAF,OAAiB;AAC7B,aAAOP,WAAW,CAAE,gBAAF,EAAoB;AACrCO,QAAAA,OAAO,EAAEA,OAAO,CAACW,OAAR,CAAiB,KAAjB,EAAwB,MAAxB;AAD4B,OAApB,CAAlB;AAGA;AAPF,GADG;AAnCc,CAAnB;AAgDA,eAAejB,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'enter',\n\t\t\tregExp: /^```$/,\n\t\t\ttransform: () => createBlock( 'core/code' ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/html', 'core/paragraph' ],\n\t\t\ttransform: ( { content } ) => {\n\t\t\t\treturn createBlock( 'core/code', {\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'PRE' &&\n\t\t\t\tnode.children.length === 1 &&\n\t\t\t\tnode.firstChild.nodeName === 'CODE',\n\t\t\tschema: {\n\t\t\t\tpre: {\n\t\t\t\t\tchildren: {\n\t\t\t\t\t\tcode: {\n\t\t\t\t\t\t\tchildren: {\n\t\t\t\t\t\t\t\t'#text': {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { content } ) => {\n\t\t\t\treturn createBlock( 'core/paragraph', {\n\t\t\t\t\tcontent: content.replace( /\\n/g, '<br>' ),\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -66,6 +66,7 @@ function ColumnsEditContainer(_ref) {
66
66
  onChange: updateAlignment,
67
67
  value: verticalAlignment
68
68
  })), createElement(InspectorControls, null, createElement(PanelBody, null, createElement(RangeControl, {
69
+ __nextHasNoMarginBottom: true,
69
70
  label: __('Columns'),
70
71
  value: count,
71
72
  onChange: value => updateColumns(count, value),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/edit.js"],"names":["classnames","get","__","Notice","PanelBody","RangeControl","ToggleControl","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","withDispatch","useDispatch","useSelect","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","ALLOWED_BLOCKS","ColumnsEditContainer","attributes","setAttributes","updateAlignment","updateColumns","clientId","isStackedOnMobile","verticalAlignment","count","select","getBlockCount","classes","blockProps","className","innerBlocksProps","allowedBlocks","orientation","renderAppender","value","Math","max","ColumnsEditContainerWrapper","dispatch","ownProps","registry","updateBlockAttributes","getBlockOrder","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","length","map","width","slice","Placeholder","name","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","nextVariation","ColumnsEdit","props","hasInnerBlocks","Component"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,MADD,EAECC,SAFD,EAGCC,YAHD,EAICC,aAJD,QAKO,uBALP;AAOA,SACCC,iBADD,EAECC,mBAFD,EAGCC,aAHD,EAICC,6BAJD,EAKCC,kCALD,EAMCC,aAND,EAOCC,KAAK,IAAIC,gBAPV,QAQO,yBARP;AASA,SAASC,YAAT,EAAuBC,WAAvB,EAAoCC,SAApC,QAAqD,iBAArD;AACA,SACCC,WADD,EAECC,mCAFD,EAGCN,KAAK,IAAIO,WAHV,QAIO,mBAJP;AAMA;AACA;AACA;;AACA,SACCC,8BADD,EAECC,qBAFD,EAGCC,4BAHD,EAICC,gBAJD,QAKO,SALP;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,cAAc,GAAG,CAAE,aAAF,CAAvB;;AAEA,SAASC,oBAAT,OAMI;AAAA,MAN2B;AAC9BC,IAAAA,UAD8B;AAE9BC,IAAAA,aAF8B;AAG9BC,IAAAA,eAH8B;AAI9BC,IAAAA,aAJ8B;AAK9BC,IAAAA;AAL8B,GAM3B;AACH,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAA2CN,UAAjD;AAEA,QAAM;AAAEO,IAAAA;AAAF,MAAYjB,SAAS,CACxBkB,MAAF,IAAc;AACb,WAAO;AACND,MAAAA,KAAK,EAAEC,MAAM,CAAErB,gBAAF,CAAN,CAA2BsB,aAA3B,CAA0CL,QAA1C;AADD,KAAP;AAGA,GALyB,EAM1B,CAAEA,QAAF,CAN0B,CAA3B;AASA,QAAMM,OAAO,GAAGrC,UAAU,CAAE;AAC3B,KAAG,0BAA0BiC,iBAAmB,EAAhD,GAAqDA,iBAD1B;AAE3B,KAAG,0BAAH,GAAgC,CAAED;AAFP,GAAF,CAA1B;AAKA,QAAMM,UAAU,GAAG1B,aAAa,CAAE;AACjC2B,IAAAA,SAAS,EAAEF;AADsB,GAAF,CAAhC;AAGA,QAAMG,gBAAgB,GAAGhC,mBAAmB,CAAE8B,UAAF,EAAc;AACzDG,IAAAA,aAAa,EAAEhB,cAD0C;AAEzDiB,IAAAA,WAAW,EAAE,YAF4C;AAGzDC,IAAAA,cAAc,EAAE;AAHyC,GAAd,CAA5C;AAMA,SACC,8BACC,cAAC,aAAD,QACC,cAAC,6BAAD;AACC,IAAA,QAAQ,EAAGd,eADZ;AAEC,IAAA,KAAK,EAAGI;AAFT,IADD,CADD,EAOC,cAAC,iBAAD,QACC,cAAC,SAAD,QACC,cAAC,YAAD;AACC,IAAA,KAAK,EAAG/B,EAAE,CAAE,SAAF,CADX;AAEC,IAAA,KAAK,EAAGgC,KAFT;AAGC,IAAA,QAAQ,EAAKU,KAAF,IAAad,aAAa,CAAEI,KAAF,EAASU,KAAT,CAHtC;AAIC,IAAA,GAAG,EAAG,CAJP;AAKC,IAAA,GAAG,EAAGC,IAAI,CAACC,GAAL,CAAU,CAAV,EAAaZ,KAAb;AALP,IADD,EAQGA,KAAK,GAAG,CAAR,IACD,cAAC,MAAD;AAAQ,IAAA,MAAM,EAAC,SAAf;AAAyB,IAAA,aAAa,EAAG;AAAzC,KACGhC,EAAE,CACH,iFADG,CADL,CATF,EAeC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,iBAAF,CADX;AAEC,IAAA,OAAO,EAAG8B,iBAFX;AAGC,IAAA,QAAQ,EAAG,MACVJ,aAAa,CAAE;AACdI,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AAJf,IAfD,CADD,CAPD,EAkCC,qBAAUQ,gBAAV,CAlCD,CADD;AAsCA;;AAED,MAAMO,2BAA2B,GAAGhC,YAAY,CAC/C,CAAEiC,QAAF,EAAYC,QAAZ,EAAsBC,QAAtB,MAAsC;AACrC;AACF;AACA;AACA;AACA;AACA;AACA;AACErB,EAAAA,eAAe,CAAEI,iBAAF,EAAsB;AACpC,UAAM;AAAEF,MAAAA,QAAF;AAAYH,MAAAA;AAAZ,QAA8BqB,QAApC;AACA,UAAM;AAAEE,MAAAA;AAAF,QAA4BH,QAAQ,CAAElC,gBAAF,CAA1C;AACA,UAAM;AAAEsC,MAAAA;AAAF,QAAoBF,QAAQ,CAACf,MAAT,CAAiBrB,gBAAjB,CAA1B,CAHoC,CAKpC;;AACAc,IAAAA,aAAa,CAAE;AAAEK,MAAAA;AAAF,KAAF,CAAb,CANoC,CAQpC;;AACA,UAAMoB,mBAAmB,GAAGD,aAAa,CAAErB,QAAF,CAAzC;AACAsB,IAAAA,mBAAmB,CAACC,OAApB,CAA+BC,kBAAF,IAA0B;AACtDJ,MAAAA,qBAAqB,CAAEI,kBAAF,EAAsB;AAC1CtB,QAAAA;AAD0C,OAAtB,CAArB;AAGA,KAJD;AAKA,GAvBoC;;AAyBrC;AACF;AACA;AACA;AACA;AACA;AACA;AACEH,EAAAA,aAAa,CAAE0B,eAAF,EAAmBC,UAAnB,EAAgC;AAC5C,UAAM;AAAE1B,MAAAA;AAAF,QAAekB,QAArB;AACA,UAAM;AAAES,MAAAA;AAAF,QAAyBV,QAAQ,CAAElC,gBAAF,CAAvC;AACA,UAAM;AAAE6C,MAAAA;AAAF,QAAgBT,QAAQ,CAACf,MAAT,CAAiBrB,gBAAjB,CAAtB;AAEA,QAAI8C,WAAW,GAAGD,SAAS,CAAE5B,QAAF,CAA3B;AACA,UAAM8B,iBAAiB,GACtBxC,8BAA8B,CAAEuC,WAAF,CAD/B,CAN4C,CAS5C;;AACA,UAAME,cAAc,GAAGL,UAAU,GAAGD,eAApC;;AAEA,QAAKM,cAAc,IAAID,iBAAvB,EAA2C;AAC1C;AACA;AACA,YAAME,cAAc,GAAGvC,gBAAgB,CAAE,MAAMiC,UAAR,CAAvC,CAH0C,CAK1C;AACA;;AACA,YAAMO,MAAM,GAAGzC,4BAA4B,CAC1CqC,WAD0C,EAE1C,MAAMG,cAFoC,CAA3C;AAKAH,MAAAA,WAAW,GAAG,CACb,GAAGtC,qBAAqB,CAAEsC,WAAF,EAAeI,MAAf,CADX,EAEb,GAAGC,KAAK,CAACC,IAAN,CAAY;AACdC,QAAAA,MAAM,EAAEV,UAAU,GAAGD;AADP,OAAZ,EAECY,GAFD,CAEM,MAAM;AACd,eAAOlD,WAAW,CAAE,aAAF,EAAiB;AAClCmD,UAAAA,KAAK,EAAG,GAAGN,cAAgB;AADO,SAAjB,CAAlB;AAGA,OANE,CAFU,CAAd;AAUA,KAtBD,MAsBO,IAAKD,cAAL,EAAsB;AAC5BF,MAAAA,WAAW,GAAG,CACb,GAAGA,WADU,EAEb,GAAGK,KAAK,CAACC,IAAN,CAAY;AACdC,QAAAA,MAAM,EAAEV,UAAU,GAAGD;AADP,OAAZ,EAECY,GAFD,CAEM,MAAM;AACd,eAAOlD,WAAW,CAAE,aAAF,CAAlB;AACA,OAJE,CAFU,CAAd;AAQA,KATM,MASA;AACN;AACA0C,MAAAA,WAAW,GAAGA,WAAW,CAACU,KAAZ,CACb,CADa,EAEb,EAAGd,eAAe,GAAGC,UAArB,CAFa,CAAd;;AAKA,UAAKI,iBAAL,EAAyB;AACxB;AACA,cAAMG,MAAM,GAAGzC,4BAA4B,CAC1CqC,WAD0C,EAE1C,GAF0C,CAA3C;AAKAA,QAAAA,WAAW,GAAGtC,qBAAqB,CAAEsC,WAAF,EAAeI,MAAf,CAAnC;AACA;AACD;;AAEDN,IAAAA,kBAAkB,CAAE3B,QAAF,EAAY6B,WAAZ,CAAlB;AACA;;AA9FoC,CAAtC,CAD+C,CAAZ,CAiGjClC,oBAjGiC,CAApC;;AAmGA,SAAS6C,WAAT,QAA0D;AAAA,MAApC;AAAExC,IAAAA,QAAF;AAAYyC,IAAAA,IAAZ;AAAkB5C,IAAAA;AAAlB,GAAoC;AACzD,QAAM;AAAE6C,IAAAA,SAAF;AAAaC,IAAAA,gBAAb;AAA+BC,IAAAA;AAA/B,MAA8C1D,SAAS,CAC1DkB,MAAF,IAAc;AACb,UAAM;AACLyC,MAAAA,kBADK;AAELC,MAAAA,YAFK;AAGLC,MAAAA;AAHK,QAIF3C,MAAM,CAAEf,WAAF,CAJV;AAMA,WAAO;AACNqD,MAAAA,SAAS,EAAEI,YAAY,CAAEL,IAAF,CADjB;AAENE,MAAAA,gBAAgB,EAAEI,wBAAwB,CAAEN,IAAF,EAAQ,OAAR,CAFpC;AAGNG,MAAAA,UAAU,EAAEC,kBAAkB,CAAEJ,IAAF,EAAQ,OAAR;AAHxB,KAAP;AAKA,GAb2D,EAc5D,CAAEA,IAAF,CAd4D,CAA7D;AAgBA,QAAM;AAAEd,IAAAA;AAAF,MAAyB1C,WAAW,CAAEF,gBAAF,CAA1C;AACA,QAAMwB,UAAU,GAAG1B,aAAa,EAAhC;AAEA,SACC,qBAAU0B,UAAV,EACC,cAAC,kCAAD;AACC,IAAA,IAAI,EAAGrC,GAAG,CAAEwE,SAAF,EAAa,CAAE,MAAF,EAAU,KAAV,CAAb,CADX;AAEC,IAAA,KAAK,EAAGxE,GAAG,CAAEwE,SAAF,EAAa,CAAE,OAAF,CAAb,CAFZ;AAGC,IAAA,UAAU,EAAGE,UAHd;AAIC,IAAA,QAAQ,EAAG,YAAwC;AAAA,UAAtCI,aAAsC,uEAAtBL,gBAAsB;;AAClD,UAAKK,aAAa,CAACpD,UAAnB,EAAgC;AAC/BC,QAAAA,aAAa,CAAEmD,aAAa,CAACpD,UAAhB,CAAb;AACA;;AACD,UAAKoD,aAAa,CAACnB,WAAnB,EAAiC;AAChCF,QAAAA,kBAAkB,CACjB3B,QADiB,EAEjBZ,mCAAmC,CAClC4D,aAAa,CAACnB,WADoB,CAFlB,EAKjB,IALiB,CAAlB;AAOA;AACD,KAjBF;AAkBC,IAAA,SAAS;AAlBV,IADD,CADD;AAwBA;;AAED,MAAMoB,WAAW,GAAKC,KAAF,IAAa;AAChC,QAAM;AAAElD,IAAAA;AAAF,MAAekD,KAArB;AACA,QAAMC,cAAc,GAAGjE,SAAS,CAC7BkB,MAAF,IACCA,MAAM,CAAErB,gBAAF,CAAN,CAA2B6C,SAA3B,CAAsC5B,QAAtC,EAAiDoC,MAAjD,GAA0D,CAF5B,EAG/B,CAAEpC,QAAF,CAH+B,CAAhC;AAKA,QAAMoD,SAAS,GAAGD,cAAc,GAC7BnC,2BAD6B,GAE7BwB,WAFH;AAIA,SAAO,cAAC,SAAD,EAAgBU,KAAhB,CAAP;AACA,CAZD;;AAcA,eAAeD,WAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tsetAttributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tclientId,\n} ) {\n\tconst { isStackedOnMobile, verticalAlignment } = attributes;\n\n\tconst { count } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tcount: select( blockEditorStore ).getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst classes = classnames( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\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>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\tonChange={ ( value ) => updateColumns( count, value ) }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\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\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Updates the column count, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column count.\n\t\t * @param {number} newColumns New column count.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t} )\n)( ColumnsEditContainer );\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ get( blockType, [ 'icon', 'src' ] ) }\n\t\t\t\tlabel={ get( blockType, [ 'title' ] ) }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks\n\t\t? ColumnsEditContainerWrapper\n\t\t: Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/columns/edit.js"],"names":["classnames","get","__","Notice","PanelBody","RangeControl","ToggleControl","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","withDispatch","useDispatch","useSelect","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","ALLOWED_BLOCKS","ColumnsEditContainer","attributes","setAttributes","updateAlignment","updateColumns","clientId","isStackedOnMobile","verticalAlignment","count","select","getBlockCount","classes","blockProps","className","innerBlocksProps","allowedBlocks","orientation","renderAppender","value","Math","max","ColumnsEditContainerWrapper","dispatch","ownProps","registry","updateBlockAttributes","getBlockOrder","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","length","map","width","slice","Placeholder","name","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","nextVariation","ColumnsEdit","props","hasInnerBlocks","Component"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tsetAttributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tclientId,\n} ) {\n\tconst { isStackedOnMobile, verticalAlignment } = attributes;\n\n\tconst { count } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tcount: select( blockEditorStore ).getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst classes = classnames( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\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>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\tonChange={ ( value ) => updateColumns( count, value ) }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\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\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Updates the column count, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column count.\n\t\t * @param {number} newColumns New column count.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t} )\n)( ColumnsEditContainer );\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ get( blockType, [ 'icon', 'src' ] ) }\n\t\t\t\tlabel={ get( blockType, [ 'title' ] ) }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks\n\t\t? ColumnsEditContainerWrapper\n\t\t: Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"]}
@@ -5,7 +5,6 @@ import { createElement, Fragment } from "@wordpress/element";
5
5
  * External dependencies
6
6
  */
7
7
  import { View, Dimensions } from 'react-native';
8
- import { map } from 'lodash';
9
8
  /**
10
9
  * WordPress dependencies
11
10
  */
@@ -243,16 +242,6 @@ const ColumnsEditContainerWrapper = withDispatch((dispatch, ownProps, registry)
243
242
  });
244
243
  },
245
244
 
246
- updateBlockSettings(settings) {
247
- const {
248
- clientId
249
- } = ownProps;
250
- const {
251
- updateBlockListSettings
252
- } = dispatch(blockEditorStore);
253
- updateBlockListSettings(clientId, settings);
254
- },
255
-
256
245
  /**
257
246
  * Updates the column columnCount, including necessary revisions to child Column
258
247
  * blocks to grant required or redistribute available space.
@@ -360,7 +349,7 @@ const ColumnsEdit = props => {
360
349
  const {
361
350
  columnCount,
362
351
  isDefaultColumns,
363
- innerWidths = [],
352
+ innerBlocks,
364
353
  hasParents,
365
354
  parentBlockAlignment,
366
355
  editorSidebarOpened
@@ -376,29 +365,24 @@ const ColumnsEdit = props => {
376
365
  const {
377
366
  isEditorSidebarOpened
378
367
  } = select('core/edit-post');
379
- const innerBlocks = getBlocks(clientId);
380
- const isContentEmpty = map(innerBlocks, innerBlock => innerBlock.innerBlocks.length);
381
- const innerColumnsWidths = innerBlocks.map(inn => ({
382
- clientId: inn.clientId,
383
- attributes: {
384
- width: inn.attributes.width
385
- }
386
- }));
368
+ const innerBlocksList = getBlocks(clientId);
369
+ const isContentEmpty = innerBlocksList.every(innerBlock => innerBlock.innerBlocks.length === 0);
387
370
  const parents = getBlockParents(clientId, true);
388
371
  return {
389
372
  columnCount: getBlockCount(clientId),
390
- isDefaultColumns: !isContentEmpty.filter(Boolean).length,
391
- innerWidths: innerColumnsWidths,
392
- hasParents: !!parents.length,
373
+ isDefaultColumns: isContentEmpty,
374
+ innerBlocks: innerBlocksList,
375
+ hasParents: parents.length > 0,
393
376
  parentBlockAlignment: (_getBlockAttributes = getBlockAttributes(parents[0])) === null || _getBlockAttributes === void 0 ? void 0 : _getBlockAttributes.align,
394
377
  editorSidebarOpened: isSelected && isEditorSidebarOpened()
395
378
  };
396
379
  }, [clientId, isSelected]);
397
- const memoizedInnerWidths = useMemo(() => {
398
- return innerWidths;
399
- }, [// The JSON.stringify is used because innerWidth is always a new reference.
400
- // The innerBlocks is a new reference after each attribute change of any nested block.
401
- JSON.stringify(innerWidths)]);
380
+ const innerWidths = useMemo(() => innerBlocks.map(inn => ({
381
+ clientId: inn.clientId,
382
+ attributes: {
383
+ width: inn.attributes.width
384
+ }
385
+ })), [innerBlocks]);
402
386
  const [isVisible, setIsVisible] = useState(false);
403
387
  useEffect(() => {
404
388
  if (isSelected && isDefaultColumns) {
@@ -413,7 +397,7 @@ const ColumnsEdit = props => {
413
397
  style: style
414
398
  }, createElement(ColumnsEditContainerWrapper, _extends({
415
399
  columnCount: columnCount,
416
- innerWidths: memoizedInnerWidths,
400
+ innerWidths: innerWidths,
417
401
  hasParents: hasParents,
418
402
  parentBlockAlignment: parentBlockAlignment,
419
403
  editorSidebarOpened: editorSidebarOpened
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["View","Dimensions","map","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","GlobalStylesContext","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSetting","store","blockEditorStore","withDispatch","useSelect","useEffect","useState","useContext","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","column","label","clientId","length","undefined","onChangeColumnsNum","value","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","updateBlockSettings","settings","updateBlockListSettings","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","isContentEmpty","innerBlock","innerColumnsWidths","inn","parents","filter","Boolean","memoizedInnerWidths","JSON","stringify","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\nimport { map } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\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\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel=\"Width\"\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\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\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</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\tupdateBlockSettings( settings ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { updateBlockListSettings } = dispatch( blockEditorStore );\n\t\t\tupdateBlockListSettings( clientId, settings );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerWidths = [],\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = map(\n\t\t\t\tinnerBlocks,\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length\n\t\t\t);\n\n\t\t\tconst innerColumnsWidths = innerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) );\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: ! isContentEmpty.filter( Boolean ).length,\n\t\t\t\tinnerWidths: innerColumnsWidths,\n\t\t\t\thasParents: !! parents.length,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst memoizedInnerWidths = useMemo( () => {\n\t\treturn innerWidths;\n\t}, [\n\t\t// The JSON.stringify is used because innerWidth is always a new reference.\n\t\t// The innerBlocks is a new reference after each attribute change of any nested block.\n\t\tJSON.stringify( innerWidths ),\n\t] );\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ memoizedInnerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["View","Dimensions","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","GlobalStylesContext","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSetting","store","blockEditorStore","withDispatch","useSelect","useEffect","useState","useContext","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","clientId","length","undefined","onChangeColumnsNum","value","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","innerBlocksList","isContentEmpty","every","innerBlock","parents","inn","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\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\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel=\"Width\"\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\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\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</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerBlocks,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\n\t\t\tconst innerBlocksList = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = innerBlocksList.every(\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length === 0\n\t\t\t);\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: isContentEmpty,\n\t\t\t\tinnerBlocks: innerBlocksList,\n\t\t\t\thasParents: parents.length > 0,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst innerWidths = useMemo(\n\t\t() =>\n\t\t\tinnerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ innerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"]}
@@ -45,6 +45,7 @@ export default function Edit(_ref) {
45
45
  const inspectorControls = createElement(InspectorControls, null, createElement(PanelBody, {
46
46
  title: __('Avatar Settings')
47
47
  }, createElement(RangeControl, {
48
+ __nextHasNoMarginBottom: true,
48
49
  label: __('Image size'),
49
50
  onChange: newWidth => setAttributes({
50
51
  width: newWidth,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/comment-author-avatar/edit.js"],"names":["InspectorControls","useBlockProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","store","blockEditorStore","PanelBody","ResizableBox","RangeControl","useEntityProp","useSelect","__","isRTL","Edit","attributes","context","commentId","setAttributes","isSelected","height","width","avatars","authorName","avatarUrls","Object","values","sizes","keys","minSize","maxSize","length","blockProps","spacingProps","maxSizeBuffer","Math","floor","avatarURL","select","getSettings","__experimentalDiscussionSettings","inspectorControls","newWidth","resizableAvatar","event","direction","elt","delta","parseInt","top","right","bottom","left"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,iBADD,EAECC,aAFD,EAGCC,wCAAwC,IAAIC,eAH7C,EAICC,KAAK,IAAIC,gBAJV,QAKO,yBALP;AAMA,SAASC,SAAT,EAAoBC,YAApB,EAAkCC,YAAlC,QAAsD,uBAAtD;AACA,SAASC,aAAT,QAA8B,sBAA9B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,EAAaC,KAAb,QAA0B,iBAA1B;AAEA,eAAe,SAASC,IAAT,OAKX;AAAA,MAL0B;AAC7BC,IAAAA,UAD6B;AAE7BC,IAAAA,OAAO,EAAE;AAAEC,MAAAA;AAAF,KAFoB;AAG7BC,IAAAA,aAH6B;AAI7BC,IAAAA;AAJ6B,GAK1B;AACH,QAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAoBN,UAA1B;AAEA,QAAM,CAAEO,OAAF,IAAcZ,aAAa,CAChC,MADgC,EAEhC,SAFgC,EAGhC,oBAHgC,EAIhCO,SAJgC,CAAjC;AAOA,QAAM,CAAEM,UAAF,IAAiBb,aAAa,CACnC,MADmC,EAEnC,SAFmC,EAGnC,aAHmC,EAInCO,SAJmC,CAApC;AAMA,QAAMO,UAAU,GAAGF,OAAO,GAAGG,MAAM,CAACC,MAAP,CAAeJ,OAAf,CAAH,GAA8B,IAAxD;AACA,QAAMK,KAAK,GAAGL,OAAO,GAAGG,MAAM,CAACG,IAAP,CAAaN,OAAb,CAAH,GAA4B,IAAjD;AACA,QAAMO,OAAO,GAAGF,KAAK,GAAGA,KAAK,CAAE,CAAF,CAAR,GAAgB,EAArC;AACA,QAAMG,OAAO,GAAGH,KAAK,GAAGA,KAAK,CAAEA,KAAK,CAACI,MAAN,GAAe,CAAjB,CAAR,GAA+B,EAApD;AACA,QAAMC,UAAU,GAAG9B,aAAa,EAAhC;AACA,QAAM+B,YAAY,GAAG7B,eAAe,CAAEW,UAAF,CAApC;AACA,QAAMmB,aAAa,GAAGC,IAAI,CAACC,KAAL,CAAYN,OAAO,GAAG,GAAtB,CAAtB;AACA,QAAM;AAAEO,IAAAA;AAAF,MAAgB1B,SAAS,CAAI2B,MAAF,IAAc;AAC9C,UAAM;AAAEC,MAAAA;AAAF,QAAkBD,MAAM,CAAEhC,gBAAF,CAA9B;AACA,UAAM;AAAEkC,MAAAA;AAAF,QAAuCD,WAAW,EAAxD;AACA,WAAOC,gCAAP;AACA,GAJ8B,CAA/B;AAMA,QAAMC,iBAAiB,GACtB,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAG7B,EAAE,CAAE,iBAAF;AAArB,KACC,cAAC,YAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,YAAF,CADX;AAEC,IAAA,QAAQ,EAAK8B,QAAF,IACVxB,aAAa,CAAE;AACdG,MAAAA,KAAK,EAAEqB,QADO;AAEdtB,MAAAA,MAAM,EAAEsB;AAFM,KAAF,CAHf;AAQC,IAAA,GAAG,EAAGb,OARP;AASC,IAAA,GAAG,EAAGK,aATP;AAUC,IAAA,eAAe,EAAGb,KAVnB;AAWC,IAAA,KAAK,EAAGA;AAXT,IADD,CADD,CADD;AAoBA,QAAMsB,eAAe,GACpB,cAAC,YAAD;AACC,IAAA,IAAI,EAAG;AACNtB,MAAAA,KADM;AAEND,MAAAA;AAFM,KADR;AAKC,IAAA,UAAU,EAAGD,UALd;AAMC,IAAA,YAAY,EAAG,CAAEyB,KAAF,EAASC,SAAT,EAAoBC,GAApB,EAAyBC,KAAzB,KAAoC;AAClD7B,MAAAA,aAAa,CAAE;AACdE,QAAAA,MAAM,EAAE4B,QAAQ,CAAE5B,MAAM,GAAG2B,KAAK,CAAC3B,MAAjB,EAAyB,EAAzB,CADF;AAEdC,QAAAA,KAAK,EAAE2B,QAAQ,CAAE3B,KAAK,GAAG0B,KAAK,CAAC1B,KAAhB,EAAuB,EAAvB;AAFD,OAAF,CAAb;AAIA,KAXF;AAYC,IAAA,eAAe,MAZhB;AAaC,IAAA,MAAM,EAAG;AACR4B,MAAAA,GAAG,EAAE,KADG;AAERC,MAAAA,KAAK,EAAE,CAAErC,KAAK,EAFN;AAGRsC,MAAAA,MAAM,EAAE,IAHA;AAIRC,MAAAA,IAAI,EAAEvC,KAAK;AAJH,KAbV;AAmBC,IAAA,QAAQ,EAAGgB,OAnBZ;AAoBC,IAAA,QAAQ,EAAGK;AApBZ,KAsBC;AACC,IAAA,GAAG,EACFV,UAAU,GAAGA,UAAU,CAAEA,UAAU,CAACO,MAAX,GAAoB,CAAtB,CAAb,GAAyCM,SAFrD;AAIC,IAAA,GAAG,EAAI,GAAGd,UAAY,IAAIX,EAAE,CAAE,QAAF,CAAc;AAJ3C,KAKMoB,UALN,EAtBD,CADD;AAiCA,SACC,8BACGS,iBADH,EAEC,qBAAUR,YAAV,EAA2BU,eAA3B,CAFD,CADD;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PanelBody, ResizableBox, RangeControl } from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\n\nexport default function Edit( {\n\tattributes,\n\tcontext: { commentId },\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { height, width } = attributes;\n\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst blockProps = useBlockProps();\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\tconst { avatarURL } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings;\n\t} );\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Avatar Settings' ) }>\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\twidth: newWidth,\n\t\t\t\t\t\t\theight: newWidth,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tmin={ minSize }\n\t\t\t\t\tmax={ maxSizeBuffer }\n\t\t\t\t\tinitialPosition={ width }\n\t\t\t\t\tvalue={ width }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst resizableAvatar = (\n\t\t<ResizableBox\n\t\t\tsize={ {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: parseInt( height + delta.height, 10 ),\n\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tlockAspectRatio\n\t\t\tenable={ {\n\t\t\t\ttop: false,\n\t\t\t\tright: ! isRTL(),\n\t\t\t\tbottom: true,\n\t\t\t\tleft: isRTL(),\n\t\t\t} }\n\t\t\tminWidth={ minSize }\n\t\t\tmaxWidth={ maxSizeBuffer }\n\t\t>\n\t\t\t<img\n\t\t\t\tsrc={\n\t\t\t\t\tavatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : avatarURL\n\t\t\t\t}\n\t\t\t\talt={ `${ authorName } ${ __( 'Avatar' ) }` }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</ResizableBox>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...spacingProps }>{ resizableAvatar }</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/comment-author-avatar/edit.js"],"names":["InspectorControls","useBlockProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","store","blockEditorStore","PanelBody","ResizableBox","RangeControl","useEntityProp","useSelect","__","isRTL","Edit","attributes","context","commentId","setAttributes","isSelected","height","width","avatars","authorName","avatarUrls","Object","values","sizes","keys","minSize","maxSize","length","blockProps","spacingProps","maxSizeBuffer","Math","floor","avatarURL","select","getSettings","__experimentalDiscussionSettings","inspectorControls","newWidth","resizableAvatar","event","direction","elt","delta","parseInt","top","right","bottom","left"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PanelBody, ResizableBox, RangeControl } from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\n\nexport default function Edit( {\n\tattributes,\n\tcontext: { commentId },\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { height, width } = attributes;\n\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst blockProps = useBlockProps();\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\tconst { avatarURL } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings;\n\t} );\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Avatar Settings' ) }>\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\twidth: newWidth,\n\t\t\t\t\t\t\theight: newWidth,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tmin={ minSize }\n\t\t\t\t\tmax={ maxSizeBuffer }\n\t\t\t\t\tinitialPosition={ width }\n\t\t\t\t\tvalue={ width }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst resizableAvatar = (\n\t\t<ResizableBox\n\t\t\tsize={ {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: parseInt( height + delta.height, 10 ),\n\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tlockAspectRatio\n\t\t\tenable={ {\n\t\t\t\ttop: false,\n\t\t\t\tright: ! isRTL(),\n\t\t\t\tbottom: true,\n\t\t\t\tleft: isRTL(),\n\t\t\t} }\n\t\t\tminWidth={ minSize }\n\t\t\tmaxWidth={ maxSizeBuffer }\n\t\t>\n\t\t\t<img\n\t\t\t\tsrc={\n\t\t\t\t\tavatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : avatarURL\n\t\t\t\t}\n\t\t\t\talt={ `${ authorName } ${ __( 'Avatar' ) }` }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</ResizableBox>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...spacingProps }>{ resizableAvatar }</div>\n\t\t</>\n\t);\n}\n"]}
@@ -132,6 +132,7 @@ export default function CoverInspectorControls(_ref2) {
132
132
  checked: isRepeated,
133
133
  onChange: toggleIsRepeated
134
134
  })), showFocalPointPicker && createElement(FocalPointPicker, {
135
+ __nextHasNoMarginBottom: true,
135
136
  label: __('Focal point picker'),
136
137
  url: url,
137
138
  value: focalPoint,
@@ -198,6 +199,7 @@ export default function CoverInspectorControls(_ref2) {
198
199
  isShownByDefault: true,
199
200
  panelId: clientId
200
201
  }, createElement(RangeControl, {
202
+ __nextHasNoMarginBottom: true,
201
203
  label: __('Overlay opacity'),
202
204
  value: dimRatio,
203
205
  onChange: newDimRation => setAttributes({