@wordpress/block-library 7.5.0 → 7.8.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 (946) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +3 -2
  3. package/babel-plugin.js +154 -0
  4. package/build/audio/edit.js +1 -1
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/audio/index.js +6 -1
  7. package/build/audio/index.js.map +1 -1
  8. package/build/avatar/hooks.js +2 -2
  9. package/build/avatar/hooks.js.map +1 -1
  10. package/build/block/edit.js +10 -9
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js.map +1 -1
  13. package/build/button/deprecated.js +175 -35
  14. package/build/button/deprecated.js.map +1 -1
  15. package/build/button/edit.js +1 -1
  16. package/build/button/edit.js.map +1 -1
  17. package/build/button/edit.native.js.map +1 -1
  18. package/build/button/index.js +25 -1
  19. package/build/button/index.js.map +1 -1
  20. package/build/button/save.js +1 -1
  21. package/build/button/save.js.map +1 -1
  22. package/build/buttons/deprecated.js.map +1 -1
  23. package/build/buttons/edit.js.map +1 -1
  24. package/build/buttons/edit.native.js.map +1 -1
  25. package/build/categories/edit.js +1 -1
  26. package/build/categories/edit.js.map +1 -1
  27. package/build/categories/index.js +1 -1
  28. package/build/column/deprecated.js.map +1 -1
  29. package/build/column/edit.js.map +1 -1
  30. package/build/column/edit.native.js.map +1 -1
  31. package/build/columns/deprecated.js.map +1 -1
  32. package/build/columns/edit.js +1 -1
  33. package/build/columns/edit.js.map +1 -1
  34. package/build/columns/edit.native.js +1 -1
  35. package/build/columns/edit.native.js.map +1 -1
  36. package/build/columns/index.js +3 -1
  37. package/build/columns/index.js.map +1 -1
  38. package/build/columns/utils.js +1 -1
  39. package/build/columns/utils.js.map +1 -1
  40. package/build/comment-author-avatar/index.js +1 -0
  41. package/build/comment-author-avatar/index.js.map +1 -1
  42. package/build/comment-author-name/edit.js +4 -2
  43. package/build/comment-author-name/edit.js.map +1 -1
  44. package/build/comment-date/edit.js +1 -1
  45. package/build/comment-date/edit.js.map +1 -1
  46. package/build/comments-title/deprecated.js +110 -0
  47. package/build/comments-title/deprecated.js.map +1 -0
  48. package/build/comments-title/edit.js +35 -37
  49. package/build/comments-title/edit.js.map +1 -1
  50. package/build/comments-title/index.js +5 -8
  51. package/build/comments-title/index.js.map +1 -1
  52. package/build/cover/controls.native.js +2 -3
  53. package/build/cover/controls.native.js.map +1 -1
  54. package/build/cover/deprecated.js +212 -207
  55. package/build/cover/deprecated.js.map +1 -1
  56. package/build/cover/edit/block-controls.js +108 -0
  57. package/build/cover/edit/block-controls.js.map +1 -0
  58. package/build/cover/edit/cover-placeholder.js +49 -0
  59. package/build/cover/edit/cover-placeholder.js.map +1 -0
  60. package/build/cover/edit/index.js +336 -0
  61. package/build/cover/edit/index.js.map +1 -0
  62. package/build/cover/edit/inspector-controls.js +252 -0
  63. package/build/cover/edit/inspector-controls.js.map +1 -0
  64. package/build/cover/edit/resizable-cover.js +67 -0
  65. package/build/cover/edit/resizable-cover.js.map +1 -0
  66. package/build/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  67. package/build/cover/edit/use-cover-is-dark.js.map +1 -0
  68. package/build/cover/edit.native.js +0 -1
  69. package/build/cover/edit.native.js.map +1 -1
  70. package/build/cover/focal-point-settings-button.native.js.map +1 -1
  71. package/build/cover/save.js +18 -5
  72. package/build/cover/save.js.map +1 -1
  73. package/build/cover/shared.js +15 -9
  74. package/build/cover/shared.js.map +1 -1
  75. package/build/cover/transforms.js.map +1 -1
  76. package/build/embed/deprecated.js +6 -1
  77. package/build/embed/deprecated.js.map +1 -1
  78. package/build/embed/edit.js.map +1 -1
  79. package/build/embed/edit.native.js.map +1 -1
  80. package/build/embed/embed-controls.native.js.map +1 -1
  81. package/build/embed/embed-preview.js +1 -1
  82. package/build/embed/embed-preview.js.map +1 -1
  83. package/build/embed/index.js +6 -1
  84. package/build/embed/index.js.map +1 -1
  85. package/build/embed/transforms.js +6 -1
  86. package/build/embed/transforms.js.map +1 -1
  87. package/build/embed/util.js +6 -1
  88. package/build/embed/util.js.map +1 -1
  89. package/build/file/edit.js +1 -1
  90. package/build/file/edit.js.map +1 -1
  91. package/build/file/edit.native.js +0 -1
  92. package/build/file/edit.native.js.map +1 -1
  93. package/build/file/index.js.map +1 -1
  94. package/build/file/save.js +9 -1
  95. package/build/file/save.js.map +1 -1
  96. package/build/gallery/edit.js +3 -2
  97. package/build/gallery/edit.js.map +1 -1
  98. package/build/gallery/gallery.js +1 -1
  99. package/build/gallery/gallery.js.map +1 -1
  100. package/build/gallery/gallery.native.js.map +1 -1
  101. package/build/gallery/gap-styles.js +14 -4
  102. package/build/gallery/gap-styles.js.map +1 -1
  103. package/build/gallery/index.js +1 -1
  104. package/build/gallery/index.js.map +1 -1
  105. package/build/gallery/shared.js +29 -12
  106. package/build/gallery/shared.js.map +1 -1
  107. package/build/gallery/use-get-media.js +2 -1
  108. package/build/gallery/use-get-media.js.map +1 -1
  109. package/build/gallery/use-short-code-transform.js +19 -18
  110. package/build/gallery/use-short-code-transform.js.map +1 -1
  111. package/build/gallery/v1/edit.js.map +1 -1
  112. package/build/gallery/v1/gallery-image.js.map +1 -1
  113. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  114. package/build/gallery/v1/gallery.js +1 -1
  115. package/build/gallery/v1/gallery.js.map +1 -1
  116. package/build/heading/autogenerate-anchors.js +7 -2
  117. package/build/heading/autogenerate-anchors.js.map +1 -1
  118. package/build/heading/deprecated.js.map +1 -1
  119. package/build/heading/edit.js +6 -2
  120. package/build/heading/edit.js.map +1 -1
  121. package/build/heading/index.js +1 -0
  122. package/build/heading/index.js.map +1 -1
  123. package/build/heading/transforms.js +1 -0
  124. package/build/heading/transforms.js.map +1 -1
  125. package/build/image/deprecated.js.map +1 -1
  126. package/build/image/edit.js +5 -56
  127. package/build/image/edit.js.map +1 -1
  128. package/build/image/edit.native.js +56 -4
  129. package/build/image/edit.native.js.map +1 -1
  130. package/build/image/image.js +4 -14
  131. package/build/image/image.js.map +1 -1
  132. package/build/image/index.js +5 -0
  133. package/build/image/index.js.map +1 -1
  134. package/build/image/transforms.js.map +1 -1
  135. package/build/image/utils.js +2 -1
  136. package/build/image/utils.js.map +1 -1
  137. package/build/index.js +46 -10
  138. package/build/index.js.map +1 -1
  139. package/build/is-block-metadata-experimental.js +18 -0
  140. package/build/is-block-metadata-experimental.js.map +1 -0
  141. package/build/latest-comments/edit.js.map +1 -1
  142. package/build/latest-posts/edit.js +31 -5
  143. package/build/latest-posts/edit.js.map +1 -1
  144. package/build/latest-posts/edit.native.js.map +1 -1
  145. package/build/list/index.js.map +1 -1
  146. package/build/list/transforms.js +6 -0
  147. package/build/list/transforms.js.map +1 -1
  148. package/build/list/v2/edit.js +2 -1
  149. package/build/list/v2/edit.js.map +1 -1
  150. package/build/list/v2/migrate.js +1 -0
  151. package/build/list/v2/migrate.js.map +1 -1
  152. package/build/list/v2/transforms.js +46 -9
  153. package/build/list/v2/transforms.js.map +1 -1
  154. package/build/list-item/edit.js +7 -9
  155. package/build/list-item/edit.js.map +1 -1
  156. package/build/list-item/hooks/index.js +24 -0
  157. package/build/list-item/hooks/index.js.map +1 -1
  158. package/build/list-item/hooks/use-backspace.js +59 -0
  159. package/build/list-item/hooks/use-backspace.js.map +1 -0
  160. package/build/list-item/hooks/use-enter.js +6 -9
  161. package/build/list-item/hooks/use-enter.js.map +1 -1
  162. package/build/list-item/hooks/use-indent-list-item.js +33 -39
  163. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  164. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  165. package/build/list-item/hooks/use-space.js +54 -0
  166. package/build/list-item/hooks/use-space.js.map +1 -0
  167. package/build/list-item/hooks/use-split.js +44 -0
  168. package/build/list-item/hooks/use-split.js.map +1 -0
  169. package/build/list-item/index.js +1 -0
  170. package/build/list-item/index.js.map +1 -1
  171. package/build/list-item/utils.js +1 -1
  172. package/build/list-item/utils.js.map +1 -1
  173. package/build/media-text/deprecated.js +5 -3
  174. package/build/media-text/deprecated.js.map +1 -1
  175. package/build/media-text/edit.native.js +2 -1
  176. package/build/media-text/edit.native.js.map +1 -1
  177. package/build/media-text/media-container.js +3 -3
  178. package/build/media-text/media-container.js.map +1 -1
  179. package/build/media-text/media-container.native.js +2 -4
  180. package/build/media-text/media-container.native.js.map +1 -1
  181. package/build/media-text/save.js +3 -1
  182. package/build/media-text/save.js.map +1 -1
  183. package/build/media-text/transforms.js +137 -8
  184. package/build/media-text/transforms.js.map +1 -1
  185. package/build/missing/edit.native.js.map +1 -1
  186. package/build/navigation/deprecated.js.map +1 -1
  187. package/build/navigation/edit/index.js +86 -81
  188. package/build/navigation/edit/index.js.map +1 -1
  189. package/build/navigation/edit/inner-blocks.js +1 -5
  190. package/build/navigation/edit/inner-blocks.js.map +1 -1
  191. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  192. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  193. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  194. package/build/navigation/use-navigation-entities.js +3 -3
  195. package/build/navigation/use-navigation-entities.js.map +1 -1
  196. package/build/navigation/use-navigation-menu.js +130 -38
  197. package/build/navigation/use-navigation-menu.js.map +1 -1
  198. package/build/navigation/use-template-part-area-label.js +4 -1
  199. package/build/navigation/use-template-part-area-label.js.map +1 -1
  200. package/build/navigation-link/edit.js +44 -12
  201. package/build/navigation-link/edit.js.map +1 -1
  202. package/build/navigation-link/fallback-variations.js +1 -1
  203. package/build/navigation-link/fallback-variations.js.map +1 -1
  204. package/build/navigation-link/hooks.js +1 -1
  205. package/build/navigation-link/hooks.js.map +1 -1
  206. package/build/navigation-submenu/edit.js.map +1 -1
  207. package/build/page-list/convert-to-links-modal.js +1 -1
  208. package/build/page-list/convert-to-links-modal.js.map +1 -1
  209. package/build/page-list/edit.js +1 -1
  210. package/build/page-list/edit.js.map +1 -1
  211. package/build/paragraph/deprecated.js +1 -1
  212. package/build/paragraph/deprecated.js.map +1 -1
  213. package/build/pattern/edit.js.map +1 -1
  214. package/build/post-author/edit.js +1 -1
  215. package/build/post-author/edit.js.map +1 -1
  216. package/build/post-author-name/index.js +4 -0
  217. package/build/post-author-name/index.js.map +1 -1
  218. package/build/post-author-name/transforms.js +41 -0
  219. package/build/post-author-name/transforms.js.map +1 -0
  220. package/build/post-comment/index.js +1 -0
  221. package/build/post-comment/index.js.map +1 -1
  222. package/build/post-comments/edit.js +34 -16
  223. package/build/post-comments/edit.js.map +1 -1
  224. package/build/post-comments-count/index.js +1 -0
  225. package/build/post-comments-count/index.js.map +1 -1
  226. package/build/post-comments-form/form.js +12 -2
  227. package/build/post-comments-form/form.js.map +1 -1
  228. package/build/post-comments-link/index.js +1 -0
  229. package/build/post-comments-link/index.js.map +1 -1
  230. package/build/post-content/edit.js.map +1 -1
  231. package/build/post-date/edit.js +13 -7
  232. package/build/post-date/edit.js.map +1 -1
  233. package/build/post-featured-image/edit.js +11 -25
  234. package/build/post-featured-image/edit.js.map +1 -1
  235. package/build/post-navigation-link/index.js +4 -0
  236. package/build/post-navigation-link/index.js.map +1 -1
  237. package/build/post-template/edit.js +7 -2
  238. package/build/post-template/edit.js.map +1 -1
  239. package/build/post-terms/edit.js +11 -2
  240. package/build/post-terms/edit.js.map +1 -1
  241. package/build/post-terms/hooks.js +33 -0
  242. package/build/post-terms/hooks.js.map +1 -0
  243. package/build/post-terms/index.js +12 -5
  244. package/build/post-terms/index.js.map +1 -1
  245. package/build/post-title/index.js +1 -1
  246. package/build/post-title/index.js.map +1 -1
  247. package/build/pullquote/deprecated.js.map +1 -1
  248. package/build/pullquote/edit.js +1 -1
  249. package/build/pullquote/edit.js.map +1 -1
  250. package/build/pullquote/edit.native.js +1 -1
  251. package/build/pullquote/edit.native.js.map +1 -1
  252. package/build/query/edit/index.js +5 -1
  253. package/build/query/edit/index.js.map +1 -1
  254. package/build/query/edit/inspector-controls/index.js +26 -17
  255. package/build/query/edit/inspector-controls/index.js.map +1 -1
  256. package/build/query/edit/inspector-controls/parent-control.js +148 -0
  257. package/build/query/edit/inspector-controls/parent-control.js.map +1 -0
  258. package/build/query/edit/inspector-controls/sticky-control.js +41 -0
  259. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -0
  260. package/build/query/edit/query-toolbar.js +16 -2
  261. package/build/query/edit/query-toolbar.js.map +1 -1
  262. package/build/query/index.js +2 -1
  263. package/build/query/index.js.map +1 -1
  264. package/build/query/utils.js +28 -2
  265. package/build/query/utils.js.map +1 -1
  266. package/build/query-title/index.js +1 -1
  267. package/build/query-title/index.js.map +1 -1
  268. package/build/query-title/variations.js +1 -1
  269. package/build/query-title/variations.js.map +1 -1
  270. package/build/quote/edit.js +3 -2
  271. package/build/quote/edit.js.map +1 -1
  272. package/build/quote/v2/edit.js +1 -1
  273. package/build/quote/v2/edit.js.map +1 -1
  274. package/build/search/edit.js +2 -1
  275. package/build/search/edit.js.map +1 -1
  276. package/build/search/edit.native.js.map +1 -1
  277. package/build/search/index.js +4 -0
  278. package/build/search/index.js.map +1 -1
  279. package/build/separator/use-deprecated-opacity.js.map +1 -1
  280. package/build/shortcode/edit.native.js +16 -13
  281. package/build/shortcode/edit.native.js.map +1 -1
  282. package/build/site-logo/edit.js +4 -13
  283. package/build/site-logo/edit.js.map +1 -1
  284. package/build/social-links/deprecated.js.map +1 -1
  285. package/build/social-links/edit.js +2 -2
  286. package/build/social-links/edit.js.map +1 -1
  287. package/build/social-links/edit.native.js.map +1 -1
  288. package/build/spacer/controls.js.map +1 -1
  289. package/build/table/deprecated.js.map +1 -1
  290. package/build/table/edit.js +15 -2
  291. package/build/table/edit.js.map +1 -1
  292. package/build/table/index.js +6 -1
  293. package/build/table/index.js.map +1 -1
  294. package/build/table/state.js.map +1 -1
  295. package/build/table-of-contents/edit.js +145 -65
  296. package/build/table-of-contents/edit.js.map +1 -1
  297. package/build/table-of-contents/index.js +13 -3
  298. package/build/table-of-contents/index.js.map +1 -1
  299. package/build/table-of-contents/list.js +16 -9
  300. package/build/table-of-contents/list.js.map +1 -1
  301. package/build/table-of-contents/save.js +40 -0
  302. package/build/table-of-contents/save.js.map +1 -0
  303. package/build/table-of-contents/utils.js +11 -77
  304. package/build/table-of-contents/utils.js.map +1 -1
  305. package/build/tag-cloud/edit.js.map +1 -1
  306. package/build/template-part/edit/advanced-controls.js +4 -1
  307. package/build/template-part/edit/advanced-controls.js.map +1 -1
  308. package/build/template-part/edit/index.js +7 -3
  309. package/build/template-part/edit/index.js.map +1 -1
  310. package/build/template-part/edit/inner-blocks.js +3 -8
  311. package/build/template-part/edit/inner-blocks.js.map +1 -1
  312. package/build/template-part/edit/utils/hooks.js +4 -1
  313. package/build/template-part/edit/utils/hooks.js.map +1 -1
  314. package/build/transformationCategories.native.js.map +1 -1
  315. package/build/video/edit-common-settings.js.map +1 -1
  316. package/build/video/edit.js +1 -1
  317. package/build/video/edit.js.map +1 -1
  318. package/build/video/edit.native.js +43 -0
  319. package/build/video/edit.native.js.map +1 -1
  320. package/build/video/index.js +6 -1
  321. package/build/video/index.js.map +1 -1
  322. package/build-module/audio/edit.js +2 -2
  323. package/build-module/audio/edit.js.map +1 -1
  324. package/build-module/audio/index.js +6 -1
  325. package/build-module/audio/index.js.map +1 -1
  326. package/build-module/avatar/hooks.js +2 -2
  327. package/build-module/avatar/hooks.js.map +1 -1
  328. package/build-module/block/edit.js +11 -10
  329. package/build-module/block/edit.js.map +1 -1
  330. package/build-module/block/edit.native.js.map +1 -1
  331. package/build-module/button/deprecated.js +175 -35
  332. package/build-module/button/deprecated.js.map +1 -1
  333. package/build-module/button/edit.js +2 -2
  334. package/build-module/button/edit.js.map +1 -1
  335. package/build-module/button/edit.native.js.map +1 -1
  336. package/build-module/button/index.js +25 -1
  337. package/build-module/button/index.js.map +1 -1
  338. package/build-module/button/save.js +2 -2
  339. package/build-module/button/save.js.map +1 -1
  340. package/build-module/buttons/deprecated.js.map +1 -1
  341. package/build-module/buttons/edit.js.map +1 -1
  342. package/build-module/buttons/edit.native.js.map +1 -1
  343. package/build-module/categories/edit.js +1 -1
  344. package/build-module/categories/edit.js.map +1 -1
  345. package/build-module/categories/index.js +1 -1
  346. package/build-module/column/deprecated.js.map +1 -1
  347. package/build-module/column/edit.js.map +1 -1
  348. package/build-module/column/edit.native.js.map +1 -1
  349. package/build-module/columns/deprecated.js.map +1 -1
  350. package/build-module/columns/edit.js +2 -2
  351. package/build-module/columns/edit.js.map +1 -1
  352. package/build-module/columns/edit.native.js +2 -2
  353. package/build-module/columns/edit.native.js.map +1 -1
  354. package/build-module/columns/index.js +3 -1
  355. package/build-module/columns/index.js.map +1 -1
  356. package/build-module/columns/utils.js +2 -2
  357. package/build-module/columns/utils.js.map +1 -1
  358. package/build-module/comment-author-avatar/index.js +1 -0
  359. package/build-module/comment-author-avatar/index.js.map +1 -1
  360. package/build-module/comment-author-name/edit.js +4 -2
  361. package/build-module/comment-author-name/edit.js.map +1 -1
  362. package/build-module/comment-date/edit.js +1 -1
  363. package/build-module/comment-date/edit.js.map +1 -1
  364. package/build-module/comments-title/deprecated.js +102 -0
  365. package/build-module/comments-title/deprecated.js.map +1 -0
  366. package/build-module/comments-title/edit.js +38 -40
  367. package/build-module/comments-title/edit.js.map +1 -1
  368. package/build-module/comments-title/index.js +4 -8
  369. package/build-module/comments-title/index.js.map +1 -1
  370. package/build-module/cover/controls.native.js +2 -3
  371. package/build-module/cover/controls.native.js.map +1 -1
  372. package/build-module/cover/deprecated.js +206 -198
  373. package/build-module/cover/deprecated.js.map +1 -1
  374. package/build-module/cover/edit/block-controls.js +99 -0
  375. package/build-module/cover/edit/block-controls.js.map +1 -0
  376. package/build-module/cover/edit/cover-placeholder.js +38 -0
  377. package/build-module/cover/edit/cover-placeholder.js.map +1 -0
  378. package/build-module/cover/edit/index.js +310 -0
  379. package/build-module/cover/edit/index.js.map +1 -0
  380. package/build-module/cover/edit/inspector-controls.js +240 -0
  381. package/build-module/cover/edit/inspector-controls.js.map +1 -0
  382. package/build-module/cover/edit/resizable-cover.js +55 -0
  383. package/build-module/cover/edit/resizable-cover.js.map +1 -0
  384. package/build-module/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  385. package/build-module/cover/edit/use-cover-is-dark.js.map +1 -0
  386. package/build-module/cover/edit.native.js +0 -1
  387. package/build-module/cover/edit.native.js.map +1 -1
  388. package/build-module/cover/focal-point-settings-button.native.js.map +1 -1
  389. package/build-module/cover/save.js +19 -6
  390. package/build-module/cover/save.js.map +1 -1
  391. package/build-module/cover/shared.js +11 -5
  392. package/build-module/cover/shared.js.map +1 -1
  393. package/build-module/cover/transforms.js.map +1 -1
  394. package/build-module/embed/deprecated.js +6 -1
  395. package/build-module/embed/deprecated.js.map +1 -1
  396. package/build-module/embed/edit.js.map +1 -1
  397. package/build-module/embed/edit.native.js.map +1 -1
  398. package/build-module/embed/embed-controls.native.js.map +1 -1
  399. package/build-module/embed/embed-preview.js +2 -2
  400. package/build-module/embed/embed-preview.js.map +1 -1
  401. package/build-module/embed/index.js +6 -1
  402. package/build-module/embed/index.js.map +1 -1
  403. package/build-module/embed/transforms.js +6 -1
  404. package/build-module/embed/transforms.js.map +1 -1
  405. package/build-module/embed/util.js +6 -1
  406. package/build-module/embed/util.js.map +1 -1
  407. package/build-module/file/edit.js +2 -2
  408. package/build-module/file/edit.js.map +1 -1
  409. package/build-module/file/edit.native.js +0 -1
  410. package/build-module/file/edit.native.js.map +1 -1
  411. package/build-module/file/index.js.map +1 -1
  412. package/build-module/file/save.js +7 -2
  413. package/build-module/file/save.js.map +1 -1
  414. package/build-module/gallery/edit.js +4 -3
  415. package/build-module/gallery/edit.js.map +1 -1
  416. package/build-module/gallery/gallery.js +2 -2
  417. package/build-module/gallery/gallery.js.map +1 -1
  418. package/build-module/gallery/gallery.native.js.map +1 -1
  419. package/build-module/gallery/gap-styles.js +14 -4
  420. package/build-module/gallery/gap-styles.js.map +1 -1
  421. package/build-module/gallery/index.js +1 -1
  422. package/build-module/gallery/index.js.map +1 -1
  423. package/build-module/gallery/shared.js +27 -10
  424. package/build-module/gallery/shared.js.map +1 -1
  425. package/build-module/gallery/use-get-media.js +2 -1
  426. package/build-module/gallery/use-get-media.js.map +1 -1
  427. package/build-module/gallery/use-short-code-transform.js +19 -18
  428. package/build-module/gallery/use-short-code-transform.js.map +1 -1
  429. package/build-module/gallery/v1/edit.js.map +1 -1
  430. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  431. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  432. package/build-module/gallery/v1/gallery.js +2 -2
  433. package/build-module/gallery/v1/gallery.js.map +1 -1
  434. package/build-module/heading/autogenerate-anchors.js +5 -2
  435. package/build-module/heading/autogenerate-anchors.js.map +1 -1
  436. package/build-module/heading/deprecated.js.map +1 -1
  437. package/build-module/heading/edit.js +6 -2
  438. package/build-module/heading/edit.js.map +1 -1
  439. package/build-module/heading/index.js +1 -0
  440. package/build-module/heading/index.js.map +1 -1
  441. package/build-module/heading/transforms.js +1 -0
  442. package/build-module/heading/transforms.js.map +1 -1
  443. package/build-module/image/deprecated.js.map +1 -1
  444. package/build-module/image/edit.js +4 -52
  445. package/build-module/image/edit.js.map +1 -1
  446. package/build-module/image/edit.native.js +57 -6
  447. package/build-module/image/edit.native.js.map +1 -1
  448. package/build-module/image/image.js +6 -16
  449. package/build-module/image/image.js.map +1 -1
  450. package/build-module/image/index.js +5 -0
  451. package/build-module/image/index.js.map +1 -1
  452. package/build-module/image/transforms.js.map +1 -1
  453. package/build-module/image/utils.js +2 -2
  454. package/build-module/image/utils.js.map +1 -1
  455. package/build-module/index.js +42 -10
  456. package/build-module/index.js.map +1 -1
  457. package/build-module/is-block-metadata-experimental.js +16 -0
  458. package/build-module/is-block-metadata-experimental.js.map +1 -0
  459. package/build-module/latest-comments/edit.js.map +1 -1
  460. package/build-module/latest-posts/edit.js +31 -7
  461. package/build-module/latest-posts/edit.js.map +1 -1
  462. package/build-module/latest-posts/edit.native.js.map +1 -1
  463. package/build-module/list/index.js.map +1 -1
  464. package/build-module/list/transforms.js +6 -0
  465. package/build-module/list/transforms.js.map +1 -1
  466. package/build-module/list/v2/edit.js +2 -1
  467. package/build-module/list/v2/edit.js.map +1 -1
  468. package/build-module/list/v2/migrate.js +1 -3
  469. package/build-module/list/v2/migrate.js.map +1 -1
  470. package/build-module/list/v2/transforms.js +46 -9
  471. package/build-module/list/v2/transforms.js.map +1 -1
  472. package/build-module/list-item/edit.js +8 -9
  473. package/build-module/list-item/edit.js.map +1 -1
  474. package/build-module/list-item/hooks/index.js +3 -0
  475. package/build-module/list-item/hooks/index.js.map +1 -1
  476. package/build-module/list-item/hooks/use-backspace.js +44 -0
  477. package/build-module/list-item/hooks/use-backspace.js.map +1 -0
  478. package/build-module/list-item/hooks/use-enter.js +6 -9
  479. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  480. package/build-module/list-item/hooks/use-indent-list-item.js +33 -38
  481. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  482. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  483. package/build-module/list-item/hooks/use-space.js +40 -0
  484. package/build-module/list-item/hooks/use-space.js.map +1 -0
  485. package/build-module/list-item/hooks/use-split.js +33 -0
  486. package/build-module/list-item/hooks/use-split.js.map +1 -0
  487. package/build-module/list-item/index.js +1 -0
  488. package/build-module/list-item/index.js.map +1 -1
  489. package/build-module/list-item/utils.js +1 -1
  490. package/build-module/list-item/utils.js.map +1 -1
  491. package/build-module/media-text/deprecated.js +3 -1
  492. package/build-module/media-text/deprecated.js.map +1 -1
  493. package/build-module/media-text/edit.native.js +2 -1
  494. package/build-module/media-text/edit.native.js.map +1 -1
  495. package/build-module/media-text/media-container.js +3 -1
  496. package/build-module/media-text/media-container.js.map +1 -1
  497. package/build-module/media-text/media-container.native.js +2 -4
  498. package/build-module/media-text/media-container.native.js.map +1 -1
  499. package/build-module/media-text/save.js +4 -1
  500. package/build-module/media-text/save.js.map +1 -1
  501. package/build-module/media-text/transforms.js +137 -8
  502. package/build-module/media-text/transforms.js.map +1 -1
  503. package/build-module/missing/edit.native.js.map +1 -1
  504. package/build-module/navigation/deprecated.js.map +1 -1
  505. package/build-module/navigation/edit/index.js +87 -82
  506. package/build-module/navigation/edit/index.js.map +1 -1
  507. package/build-module/navigation/edit/inner-blocks.js +2 -6
  508. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  509. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  510. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  511. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  512. package/build-module/navigation/use-navigation-entities.js +1 -1
  513. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  514. package/build-module/navigation/use-navigation-menu.js +130 -38
  515. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  516. package/build-module/navigation/use-template-part-area-label.js +4 -1
  517. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  518. package/build-module/navigation-link/edit.js +44 -13
  519. package/build-module/navigation-link/edit.js.map +1 -1
  520. package/build-module/navigation-link/fallback-variations.js +1 -1
  521. package/build-module/navigation-link/fallback-variations.js.map +1 -1
  522. package/build-module/navigation-link/hooks.js +2 -2
  523. package/build-module/navigation-link/hooks.js.map +1 -1
  524. package/build-module/navigation-submenu/edit.js.map +1 -1
  525. package/build-module/page-list/convert-to-links-modal.js +1 -1
  526. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  527. package/build-module/page-list/edit.js +1 -1
  528. package/build-module/page-list/edit.js.map +1 -1
  529. package/build-module/paragraph/deprecated.js +2 -2
  530. package/build-module/paragraph/deprecated.js.map +1 -1
  531. package/build-module/pattern/edit.js.map +1 -1
  532. package/build-module/post-author/edit.js +1 -1
  533. package/build-module/post-author/edit.js.map +1 -1
  534. package/build-module/post-author-name/index.js +3 -0
  535. package/build-module/post-author-name/index.js.map +1 -1
  536. package/build-module/post-author-name/transforms.js +32 -0
  537. package/build-module/post-author-name/transforms.js.map +1 -0
  538. package/build-module/post-comment/index.js +1 -0
  539. package/build-module/post-comment/index.js.map +1 -1
  540. package/build-module/post-comments/edit.js +35 -16
  541. package/build-module/post-comments/edit.js.map +1 -1
  542. package/build-module/post-comments-count/index.js +1 -0
  543. package/build-module/post-comments-count/index.js.map +1 -1
  544. package/build-module/post-comments-form/form.js +8 -2
  545. package/build-module/post-comments-form/form.js.map +1 -1
  546. package/build-module/post-comments-link/index.js +1 -0
  547. package/build-module/post-comments-link/index.js.map +1 -1
  548. package/build-module/post-content/edit.js.map +1 -1
  549. package/build-module/post-date/edit.js +15 -9
  550. package/build-module/post-date/edit.js.map +1 -1
  551. package/build-module/post-featured-image/edit.js +11 -24
  552. package/build-module/post-featured-image/edit.js.map +1 -1
  553. package/build-module/post-navigation-link/index.js +4 -0
  554. package/build-module/post-navigation-link/index.js.map +1 -1
  555. package/build-module/post-template/edit.js +7 -2
  556. package/build-module/post-template/edit.js.map +1 -1
  557. package/build-module/post-terms/edit.js +10 -3
  558. package/build-module/post-terms/edit.js.map +1 -1
  559. package/build-module/post-terms/hooks.js +25 -0
  560. package/build-module/post-terms/hooks.js.map +1 -0
  561. package/build-module/post-terms/index.js +10 -8
  562. package/build-module/post-terms/index.js.map +1 -1
  563. package/build-module/post-title/index.js +1 -1
  564. package/build-module/post-title/index.js.map +1 -1
  565. package/build-module/pullquote/deprecated.js.map +1 -1
  566. package/build-module/pullquote/edit.js +2 -2
  567. package/build-module/pullquote/edit.js.map +1 -1
  568. package/build-module/pullquote/edit.native.js +2 -2
  569. package/build-module/pullquote/edit.native.js.map +1 -1
  570. package/build-module/query/edit/index.js +5 -1
  571. package/build-module/query/edit/index.js.map +1 -1
  572. package/build-module/query/edit/inspector-controls/index.js +24 -17
  573. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  574. package/build-module/query/edit/inspector-controls/parent-control.js +135 -0
  575. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -0
  576. package/build-module/query/edit/inspector-controls/sticky-control.js +31 -0
  577. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -0
  578. package/build-module/query/edit/query-toolbar.js +14 -2
  579. package/build-module/query/edit/query-toolbar.js.map +1 -1
  580. package/build-module/query/index.js +2 -1
  581. package/build-module/query/index.js.map +1 -1
  582. package/build-module/query/utils.js +21 -0
  583. package/build-module/query/utils.js.map +1 -1
  584. package/build-module/query-title/index.js +1 -1
  585. package/build-module/query-title/index.js.map +1 -1
  586. package/build-module/query-title/variations.js +2 -2
  587. package/build-module/query-title/variations.js.map +1 -1
  588. package/build-module/quote/edit.js +4 -3
  589. package/build-module/quote/edit.js.map +1 -1
  590. package/build-module/quote/v2/edit.js +2 -2
  591. package/build-module/quote/v2/edit.js.map +1 -1
  592. package/build-module/search/edit.js +3 -2
  593. package/build-module/search/edit.js.map +1 -1
  594. package/build-module/search/edit.native.js.map +1 -1
  595. package/build-module/search/index.js +4 -0
  596. package/build-module/search/index.js.map +1 -1
  597. package/build-module/separator/use-deprecated-opacity.js.map +1 -1
  598. package/build-module/shortcode/edit.native.js +17 -13
  599. package/build-module/shortcode/edit.native.js.map +1 -1
  600. package/build-module/site-logo/edit.js +4 -12
  601. package/build-module/site-logo/edit.js.map +1 -1
  602. package/build-module/social-links/deprecated.js.map +1 -1
  603. package/build-module/social-links/edit.js +2 -2
  604. package/build-module/social-links/edit.js.map +1 -1
  605. package/build-module/social-links/edit.native.js.map +1 -1
  606. package/build-module/spacer/controls.js.map +1 -1
  607. package/build-module/table/deprecated.js.map +1 -1
  608. package/build-module/table/edit.js +17 -4
  609. package/build-module/table/edit.js.map +1 -1
  610. package/build-module/table/index.js +6 -1
  611. package/build-module/table/index.js.map +1 -1
  612. package/build-module/table/state.js.map +1 -1
  613. package/build-module/table-of-contents/edit.js +144 -68
  614. package/build-module/table-of-contents/edit.js.map +1 -1
  615. package/build-module/table-of-contents/index.js +12 -3
  616. package/build-module/table-of-contents/index.js.map +1 -1
  617. package/build-module/table-of-contents/list.js +18 -10
  618. package/build-module/table-of-contents/list.js.map +1 -1
  619. package/build-module/table-of-contents/save.js +28 -0
  620. package/build-module/table-of-contents/save.js.map +1 -0
  621. package/build-module/table-of-contents/utils.js +11 -73
  622. package/build-module/table-of-contents/utils.js.map +1 -1
  623. package/build-module/tag-cloud/edit.js.map +1 -1
  624. package/build-module/template-part/edit/advanced-controls.js +4 -1
  625. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  626. package/build-module/template-part/edit/index.js +8 -4
  627. package/build-module/template-part/edit/index.js.map +1 -1
  628. package/build-module/template-part/edit/inner-blocks.js +4 -9
  629. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  630. package/build-module/template-part/edit/utils/hooks.js +4 -1
  631. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  632. package/build-module/transformationCategories.native.js.map +1 -1
  633. package/build-module/video/edit-common-settings.js.map +1 -1
  634. package/build-module/video/edit.js +2 -2
  635. package/build-module/video/edit.js.map +1 -1
  636. package/build-module/video/edit.native.js +42 -1
  637. package/build-module/video/edit.native.js.map +1 -1
  638. package/build-module/video/index.js +6 -1
  639. package/build-module/video/index.js.map +1 -1
  640. package/build-style/audio/style-rtl.css +0 -3
  641. package/build-style/audio/style.css +0 -3
  642. package/build-style/button/style-rtl.css +0 -5
  643. package/build-style/button/style.css +0 -5
  644. package/build-style/common-rtl.css +1 -3
  645. package/build-style/common.css +1 -3
  646. package/build-style/cover/editor-rtl.css +11 -0
  647. package/build-style/cover/editor.css +11 -0
  648. package/build-style/cover/style-rtl.css +33 -25
  649. package/build-style/cover/style.css +33 -25
  650. package/build-style/editor-rtl.css +15 -45
  651. package/build-style/editor.css +15 -45
  652. package/build-style/embed/style-rtl.css +0 -1
  653. package/build-style/embed/style.css +0 -1
  654. package/build-style/file/style-rtl.css +9 -7
  655. package/build-style/file/style.css +9 -7
  656. package/build-style/gallery/style-rtl.css +2 -4
  657. package/build-style/gallery/style.css +2 -4
  658. package/build-style/image/editor-rtl.css +1 -1
  659. package/build-style/image/editor.css +1 -1
  660. package/build-style/image/style-rtl.css +0 -3
  661. package/build-style/image/style.css +0 -3
  662. package/build-style/post-comments/style-rtl.css +22 -0
  663. package/build-style/post-comments/style.css +22 -0
  664. package/build-style/post-comments-form/style-rtl.css +1 -3
  665. package/build-style/post-comments-form/style.css +1 -3
  666. package/build-style/post-featured-image/editor-rtl.css +0 -27
  667. package/build-style/post-featured-image/editor.css +0 -27
  668. package/build-style/search/style-rtl.css +4 -4
  669. package/build-style/search/style.css +4 -4
  670. package/build-style/separator/editor-rtl.css +1 -0
  671. package/build-style/separator/editor.css +1 -0
  672. package/build-style/site-logo/editor-rtl.css +0 -12
  673. package/build-style/site-logo/editor.css +0 -12
  674. package/build-style/site-logo/style-rtl.css +4 -0
  675. package/build-style/site-logo/style.css +4 -0
  676. package/build-style/style-rtl.css +77 -64
  677. package/build-style/style.css +77 -64
  678. package/build-style/table/style-rtl.css +0 -1
  679. package/build-style/table/style.css +0 -1
  680. package/build-style/video/editor-rtl.css +2 -5
  681. package/build-style/video/editor.css +2 -5
  682. package/build-style/video/style-rtl.css +1 -5
  683. package/build-style/video/style.css +1 -5
  684. package/build-types/table-of-contents/list.d.ts +12 -0
  685. package/build-types/table-of-contents/list.d.ts.map +1 -0
  686. package/build-types/table-of-contents/utils.d.ts +24 -0
  687. package/build-types/table-of-contents/utils.d.ts.map +1 -0
  688. package/package.json +32 -30
  689. package/src/audio/block.json +6 -1
  690. package/src/audio/edit.js +4 -2
  691. package/src/audio/index.js +1 -2
  692. package/src/audio/style.scss +0 -2
  693. package/src/avatar/block.json +0 -1
  694. package/src/avatar/hooks.js +9 -6
  695. package/src/avatar/index.php +2 -2
  696. package/src/block/edit.js +43 -48
  697. package/src/block/edit.native.js +12 -16
  698. package/src/block/test/edit.native.js +6 -9
  699. package/src/button/block.json +25 -1
  700. package/src/button/deprecated.js +145 -36
  701. package/src/button/edit.js +7 -11
  702. package/src/button/edit.native.js +2 -3
  703. package/src/button/save.js +5 -11
  704. package/src/button/style.scss +0 -5
  705. package/src/buttons/deprecated.js +4 -6
  706. package/src/buttons/edit.js +3 -3
  707. package/src/buttons/edit.native.js +7 -11
  708. package/src/buttons/test/__snapshots__/edit.native.js.snap +1 -1
  709. package/src/buttons/test/edit.native.js +1 -1
  710. package/src/categories/block.json +1 -1
  711. package/src/categories/edit.js +1 -1
  712. package/src/column/deprecated.js +2 -1
  713. package/src/column/edit.js +2 -3
  714. package/src/column/edit.native.js +2 -2
  715. package/src/columns/block.json +3 -1
  716. package/src/columns/deprecated.js +4 -2
  717. package/src/columns/edit.js +6 -7
  718. package/src/columns/edit.native.js +12 -16
  719. package/src/columns/index.js +1 -2
  720. package/src/columns/utils.js +5 -3
  721. package/src/comment-author-avatar/block.json +1 -0
  722. package/src/comment-author-name/edit.js +2 -2
  723. package/src/comment-date/edit.js +1 -1
  724. package/src/comments-title/block.json +0 -6
  725. package/src/comments-title/deprecated.js +34 -0
  726. package/src/comments-title/edit.js +44 -100
  727. package/src/comments-title/index.js +3 -1
  728. package/src/comments-title/index.php +41 -23
  729. package/src/cover/controls.native.js +3 -6
  730. package/src/cover/deprecated.js +237 -195
  731. package/src/cover/edit/block-controls.js +110 -0
  732. package/src/cover/edit/cover-placeholder.js +39 -0
  733. package/src/cover/edit/index.js +396 -0
  734. package/src/cover/edit/inspector-controls.js +317 -0
  735. package/src/cover/edit/resizable-cover.js +55 -0
  736. package/src/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  737. package/src/cover/edit.native.js +8 -14
  738. package/src/cover/editor.scss +14 -1
  739. package/src/cover/focal-point-settings-button.native.js +1 -1
  740. package/src/cover/index.php +20 -37
  741. package/src/cover/save.js +28 -16
  742. package/src/cover/shared.js +5 -3
  743. package/src/cover/style.scss +27 -22
  744. package/src/cover/test/block-controls.js +62 -0
  745. package/src/cover/test/edit.native.js +4 -7
  746. package/src/cover/transforms.js +2 -7
  747. package/src/embed/block.json +6 -1
  748. package/src/embed/edit.js +38 -40
  749. package/src/embed/edit.native.js +46 -49
  750. package/src/embed/embed-controls.native.js +2 -3
  751. package/src/embed/embed-preview.js +4 -2
  752. package/src/embed/style.scss +0 -1
  753. package/src/embed/test/index.native.js +24 -50
  754. package/src/file/edit.js +7 -5
  755. package/src/file/edit.native.js +14 -26
  756. package/src/file/index.js +1 -2
  757. package/src/file/save.js +14 -2
  758. package/src/file/style.scss +15 -14
  759. package/src/gallery/block.json +1 -1
  760. package/src/gallery/edit.js +10 -7
  761. package/src/gallery/gallery.js +2 -2
  762. package/src/gallery/gallery.native.js +2 -4
  763. package/src/gallery/gap-styles.js +21 -6
  764. package/src/gallery/index.js +2 -4
  765. package/src/gallery/index.php +23 -12
  766. package/src/gallery/shared.js +25 -11
  767. package/src/gallery/test/index.native.js +18 -34
  768. package/src/gallery/use-get-media.js +2 -1
  769. package/src/gallery/use-short-code-transform.js +19 -16
  770. package/src/gallery/v1/edit.js +15 -20
  771. package/src/gallery/v1/gallery-image.js +6 -11
  772. package/src/gallery/v1/gallery-image.native.js +8 -17
  773. package/src/gallery/v1/gallery.js +2 -2
  774. package/src/heading/autogenerate-anchors.js +8 -5
  775. package/src/heading/block.json +1 -0
  776. package/src/heading/deprecated.js +6 -21
  777. package/src/heading/edit.js +7 -5
  778. package/src/image/block.json +5 -0
  779. package/src/image/deprecated.js +6 -29
  780. package/src/image/edit.js +0 -44
  781. package/src/image/edit.native.js +74 -25
  782. package/src/image/editor.scss +1 -1
  783. package/src/image/image.js +41 -51
  784. package/src/image/style.scss +0 -2
  785. package/src/image/styles.native.scss +11 -0
  786. package/src/image/test/edit.native.js +7 -7
  787. package/src/image/transforms.js +4 -3
  788. package/src/image/utils.js +2 -2
  789. package/src/index.js +51 -28
  790. package/src/is-block-metadata-experimental.js +19 -0
  791. package/src/latest-comments/edit.js +2 -6
  792. package/src/latest-posts/edit.js +33 -9
  793. package/src/latest-posts/edit.native.js +10 -15
  794. package/src/latest-posts/index.php +12 -6
  795. package/src/list/index.js +1 -2
  796. package/src/list/test/migrate.js +1 -2
  797. package/src/list/transforms.js +7 -0
  798. package/src/list/v2/edit.js +7 -9
  799. package/src/list/v2/migrate.js +1 -1
  800. package/src/list/v2/transforms.js +35 -0
  801. package/src/list-item/block.json +2 -1
  802. package/src/list-item/edit.js +17 -10
  803. package/src/list-item/hooks/index.js +3 -0
  804. package/src/list-item/hooks/use-backspace.js +51 -0
  805. package/src/list-item/hooks/use-enter.js +8 -16
  806. package/src/list-item/hooks/use-indent-list-item.js +49 -63
  807. package/src/list-item/hooks/use-outdent-list-item.js +2 -3
  808. package/src/list-item/hooks/use-space.js +47 -0
  809. package/src/list-item/hooks/use-split.js +33 -0
  810. package/src/list-item/utils.js +1 -1
  811. package/src/media-text/deprecated.js +6 -3
  812. package/src/media-text/edit.native.js +5 -6
  813. package/src/media-text/media-container.js +1 -1
  814. package/src/media-text/media-container.native.js +8 -13
  815. package/src/media-text/save.js +2 -1
  816. package/src/media-text/transforms.js +154 -0
  817. package/src/missing/edit.native.js +2 -3
  818. package/src/missing/test/edit-integration.native.js +2 -3
  819. package/src/missing/test/edit.native.js +6 -9
  820. package/src/navigation/deprecated.js +2 -5
  821. package/src/navigation/edit/index.js +195 -201
  822. package/src/navigation/edit/inner-blocks.js +1 -8
  823. package/src/navigation/edit/navigation-menu-delete-control.js +2 -3
  824. package/src/navigation/edit/unsaved-inner-blocks.js +31 -30
  825. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -3
  826. package/src/navigation/index.php +40 -0
  827. package/src/navigation/test/use-navigation-menu.js +236 -0
  828. package/src/navigation/use-navigation-entities.js +12 -14
  829. package/src/navigation/use-navigation-menu.js +152 -82
  830. package/src/navigation/use-template-part-area-label.js +8 -7
  831. package/src/navigation-link/edit.js +59 -25
  832. package/src/navigation-link/fallback-variations.js +1 -1
  833. package/src/navigation-link/hooks.js +2 -2
  834. package/src/navigation-link/test/__snapshots__/hooks.js.snap +4 -4
  835. package/src/navigation-link/test/edit.js +2 -24
  836. package/src/navigation-submenu/edit.js +10 -20
  837. package/src/page-list/convert-to-links-modal.js +52 -55
  838. package/src/page-list/edit.js +7 -10
  839. package/src/page-list/test/convert-to-links-modal.js +6 -12
  840. package/src/paragraph/deprecated.js +2 -2
  841. package/src/pattern/edit.js +2 -4
  842. package/src/post-author/edit.js +26 -25
  843. package/src/post-author/index.php +3 -2
  844. package/src/post-author-name/block.json +1 -0
  845. package/src/post-author-name/index.js +2 -0
  846. package/src/post-author-name/index.php +1 -1
  847. package/src/post-author-name/transforms.js +25 -0
  848. package/src/post-comment/block.json +1 -0
  849. package/src/post-comments/edit.js +54 -22
  850. package/src/post-comments/index.php +1 -1
  851. package/src/post-comments/style.scss +26 -0
  852. package/src/post-comments-count/block.json +1 -0
  853. package/src/post-comments-form/form.js +12 -5
  854. package/src/post-comments-form/index.php +1 -1
  855. package/src/post-comments-form/style.scss +1 -4
  856. package/src/post-comments-link/block.json +1 -0
  857. package/src/post-content/edit.js +2 -3
  858. package/src/post-date/edit.js +4 -3
  859. package/src/post-featured-image/edit.js +15 -31
  860. package/src/post-featured-image/editor.scss +0 -29
  861. package/src/post-navigation-link/block.json +4 -0
  862. package/src/post-template/edit.js +5 -0
  863. package/src/post-template/index.php +30 -0
  864. package/src/post-terms/edit.js +19 -0
  865. package/src/post-terms/hooks.js +27 -0
  866. package/src/post-terms/index.js +14 -7
  867. package/src/post-terms/index.php +40 -2
  868. package/src/post-title/index.js +1 -1
  869. package/src/pullquote/deprecated.js +2 -1
  870. package/src/pullquote/edit.js +2 -2
  871. package/src/pullquote/edit.native.js +2 -2
  872. package/src/query/block.json +2 -1
  873. package/src/query/edit/index.js +10 -10
  874. package/src/query/edit/inspector-controls/index.js +25 -11
  875. package/src/query/edit/inspector-controls/parent-control.js +132 -0
  876. package/src/query/edit/inspector-controls/sticky-control.js +25 -0
  877. package/src/query/edit/query-toolbar.js +25 -5
  878. package/src/query/utils.js +22 -0
  879. package/src/query-pagination/index.php +0 -1
  880. package/src/query-title/index.js +1 -1
  881. package/src/query-title/variations.js +2 -2
  882. package/src/quote/edit.js +5 -2
  883. package/src/quote/v2/edit.js +8 -8
  884. package/src/quote/v2/test/migrate.js +1 -2
  885. package/src/search/block.json +4 -0
  886. package/src/search/edit.js +10 -13
  887. package/src/search/edit.native.js +4 -6
  888. package/src/search/index.php +29 -16
  889. package/src/search/style.scss +2 -1
  890. package/src/separator/editor.scss +1 -0
  891. package/src/separator/use-deprecated-opacity.js +2 -4
  892. package/src/shortcode/edit.native.js +30 -15
  893. package/src/shortcode/style.native.scss +11 -4
  894. package/src/shortcode/test/__snapshots__/edit.native.js.snap +9 -0
  895. package/src/shortcode/test/edit.native.js +55 -40
  896. package/src/site-logo/edit.js +4 -18
  897. package/src/site-logo/editor.scss +0 -14
  898. package/src/site-logo/style.scss +6 -0
  899. package/src/social-links/deprecated.js +4 -2
  900. package/src/social-links/edit.js +11 -10
  901. package/src/social-links/edit.native.js +3 -5
  902. package/src/spacer/controls.js +2 -3
  903. package/src/spacer/test/index.native.js +10 -21
  904. package/src/table/block.json +6 -1
  905. package/src/table/deprecated.js +4 -8
  906. package/src/table/edit.js +19 -4
  907. package/src/table/state.js +2 -4
  908. package/src/table/style.scss +0 -1
  909. package/src/table-of-contents/block.json +9 -2
  910. package/src/table-of-contents/edit.js +166 -77
  911. package/src/table-of-contents/index.js +2 -0
  912. package/src/table-of-contents/list.tsx +46 -0
  913. package/src/table-of-contents/save.js +25 -0
  914. package/src/table-of-contents/utils.ts +71 -0
  915. package/src/tag-cloud/block.json +1 -1
  916. package/src/tag-cloud/edit.js +4 -7
  917. package/src/template-part/edit/advanced-controls.js +4 -4
  918. package/src/template-part/edit/index.js +31 -25
  919. package/src/template-part/edit/inner-blocks.js +2 -10
  920. package/src/template-part/edit/utils/hooks.js +8 -7
  921. package/src/transformationCategories.native.js +3 -3
  922. package/src/video/block.json +6 -1
  923. package/src/video/edit-common-settings.js +2 -8
  924. package/src/video/edit.js +4 -2
  925. package/src/video/edit.native.js +38 -16
  926. package/src/video/editor.scss +3 -6
  927. package/src/video/index.js +1 -2
  928. package/src/video/style.scss +0 -2
  929. package/test/babel-plugin.js +67 -0
  930. package/tsconfig.json +11 -0
  931. package/tsconfig.tsbuildinfo +1 -0
  932. package/build/cover/edit.js +0 -598
  933. package/build/cover/edit.js.map +0 -1
  934. package/build/cover/use-cover-is-dark.js.map +0 -1
  935. package/build/post-terms/variations.js +0 -37
  936. package/build/post-terms/variations.js.map +0 -1
  937. package/build-module/cover/edit.js +0 -575
  938. package/build-module/cover/edit.js.map +0 -1
  939. package/build-module/cover/use-cover-is-dark.js.map +0 -1
  940. package/build-module/post-terms/variations.js +0 -27
  941. package/build-module/post-terms/variations.js.map +0 -1
  942. package/src/cover/edit.js +0 -757
  943. package/src/post-terms/variations.js +0 -28
  944. package/src/table-of-contents/index.php +0 -346
  945. package/src/table-of-contents/list.js +0 -28
  946. package/src/table-of-contents/utils.js +0 -126
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/column/edit.native.js"],"names":["ColumnEdit","attributes","setAttributes","hasChildren","isSelected","getStylesFromColorScheme","isParentSelected","contentStyle","columns","selectedColumnIndex","parentAlignment","clientId","blockWidth","verticalAlignment","width","valueUnit","screenWidth","Math","floor","Dimensions","get","widthUnit","setWidthUnit","units","availableUnits","updateAlignment","alignment","onChangeWidth","nextWidth","widthWithUnit","onChangeUnit","nextUnit","widthWithoutUnit","parseFloat","onChange","renderAppender","columnWidth","isFullWidth","styles","columnAppender","fullwidthColumnAppender","fullwidthHasInnerColumnAppender","hasInnerColumnAppender","columnPlaceholder","columnPlaceholderDark","columnPlaceholderNotSelected","undefined","innerBlocksBottomSpace","ColumnEditWrapper","props","getVerticalAlignmentRemap","flexBase","select","getBlockCount","getBlockRootClientId","getSelectedBlockClientId","getBlocks","getBlockOrder","getBlockAttributes","blockEditorStore","selectedBlockClientId","parentId","blockOrder","indexOf","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport ColumnsPreview from './column-preview';\nimport {\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from '../columns/utils';\n\nfunction ColumnEdit( {\n\tattributes,\n\tsetAttributes,\n\thasChildren,\n\tisSelected,\n\tgetStylesFromColorScheme,\n\tisParentSelected,\n\tcontentStyle,\n\tcolumns,\n\tselectedColumnIndex,\n\tparentAlignment,\n\tclientId,\n\tblockWidth,\n} ) {\n\tif ( ! contentStyle ) {\n\t\tcontentStyle = { [ clientId ]: {} };\n\t}\n\n\tconst { verticalAlignment, width } = attributes;\n\tconst { valueUnit = '%' } = getValueAndUnit( width ) || {};\n\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\tconst [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst updateAlignment = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tuseEffect( () => {\n\t\tsetWidthUnit( valueUnit );\n\t}, [ valueUnit ] );\n\n\tuseEffect( () => {\n\t\tif ( ! verticalAlignment && parentAlignment ) {\n\t\t\tupdateAlignment( parentAlignment );\n\t\t}\n\t}, [] );\n\n\tconst onChangeWidth = ( nextWidth ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );\n\n\t\tsetAttributes( {\n\t\t\twidth: widthWithUnit,\n\t\t} );\n\t};\n\n\tconst onChangeUnit = ( nextUnit ) => {\n\t\tsetWidthUnit( nextUnit );\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\twidth || getWidths( columns )[ selectedColumnIndex ]\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\twidth: getWidthWithUnit( widthWithoutUnit, nextUnit ),\n\t\t} );\n\t};\n\n\tconst onChange = ( nextWidth ) => {\n\t\tif ( isPercentageUnit( widthUnit ) || ! widthUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth );\n\t};\n\n\tconst renderAppender = useCallback( () => {\n\t\tconst { width: columnWidth } = contentStyle[ clientId ];\n\t\tconst isFullWidth = columnWidth === screenWidth;\n\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.columnAppender,\n\t\t\t\t\t\tisFullWidth && styles.fullwidthColumnAppender,\n\t\t\t\t\t\tisFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.fullwidthHasInnerColumnAppender,\n\t\t\t\t\t\t! isFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.hasInnerColumnAppender,\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}, [ contentStyle[ clientId ], screenWidth, isSelected, hasChildren ] );\n\n\tif ( ! isSelected && ! hasChildren ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\t! isParentSelected &&\n\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\tstyles.columnPlaceholder,\n\t\t\t\t\t\t\tstyles.columnPlaceholderDark\n\t\t\t\t\t\t),\n\t\t\t\t\tstyles.columnPlaceholderNotSelected,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonComplete={ onChangeWidth }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetWidths( columns )[ selectedColumnIndex ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tpreview={\n\t\t\t\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\t\t\t\tcolumnWidths={ getWidths(\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tselectedColumnIndex={\n\t\t\t\t\t\t\t\t\t\t\tselectedColumnIndex\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisSelected && hasChildren && styles.innerBlocksBottomSpace,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\tparentWidth={ contentStyle[ clientId ].width }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nfunction ColumnEditWrapper( props ) {\n\tconst { verticalAlignment } = props.attributes;\n\n\tconst getVerticalAlignmentRemap = ( alignment ) => {\n\t\tif ( ! alignment ) return styles.flexBase;\n\t\treturn {\n\t\t\t...styles.flexBase,\n\t\t\t...styles[ `is-vertically-aligned-${ alignment }` ],\n\t\t};\n\t};\n\n\treturn (\n\t\t<View style={ getVerticalAlignmentRemap( verticalAlignment ) }>\n\t\t\t<ColumnEdit { ...props } />\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isSelected = selectedBlockClientId === clientId;\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst hasChildren = !! getBlockCount( clientId );\n\t\tconst isParentSelected =\n\t\t\tselectedBlockClientId && selectedBlockClientId === parentId;\n\n\t\tconst blockOrder = getBlockOrder( parentId );\n\n\t\tconst selectedColumnIndex = blockOrder.indexOf( clientId );\n\t\tconst columns = getBlocks( parentId );\n\n\t\tconst parentAlignment = getBlockAttributes( parentId )\n\t\t\t?.verticalAlignment;\n\n\t\treturn {\n\t\t\thasChildren,\n\t\t\tisParentSelected,\n\t\t\tisSelected,\n\t\t\tselectedColumnIndex,\n\t\t\tcolumns,\n\t\t\tparentAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ColumnEditWrapper );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/column/edit.native.js"],"names":["ColumnEdit","attributes","setAttributes","hasChildren","isSelected","getStylesFromColorScheme","isParentSelected","contentStyle","columns","selectedColumnIndex","parentAlignment","clientId","blockWidth","verticalAlignment","width","valueUnit","screenWidth","Math","floor","Dimensions","get","widthUnit","setWidthUnit","units","availableUnits","updateAlignment","alignment","onChangeWidth","nextWidth","widthWithUnit","onChangeUnit","nextUnit","widthWithoutUnit","parseFloat","onChange","renderAppender","columnWidth","isFullWidth","styles","columnAppender","fullwidthColumnAppender","fullwidthHasInnerColumnAppender","hasInnerColumnAppender","columnPlaceholder","columnPlaceholderDark","columnPlaceholderNotSelected","undefined","innerBlocksBottomSpace","ColumnEditWrapper","props","getVerticalAlignmentRemap","flexBase","select","getBlockCount","getBlockRootClientId","getSelectedBlockClientId","getBlocks","getBlockOrder","getBlockAttributes","blockEditorStore","selectedBlockClientId","parentId","blockOrder","indexOf","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport ColumnsPreview from './column-preview';\nimport {\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from '../columns/utils';\n\nfunction ColumnEdit( {\n\tattributes,\n\tsetAttributes,\n\thasChildren,\n\tisSelected,\n\tgetStylesFromColorScheme,\n\tisParentSelected,\n\tcontentStyle,\n\tcolumns,\n\tselectedColumnIndex,\n\tparentAlignment,\n\tclientId,\n\tblockWidth,\n} ) {\n\tif ( ! contentStyle ) {\n\t\tcontentStyle = { [ clientId ]: {} };\n\t}\n\n\tconst { verticalAlignment, width } = attributes;\n\tconst { valueUnit = '%' } = getValueAndUnit( width ) || {};\n\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\tconst [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst updateAlignment = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tuseEffect( () => {\n\t\tsetWidthUnit( valueUnit );\n\t}, [ valueUnit ] );\n\n\tuseEffect( () => {\n\t\tif ( ! verticalAlignment && parentAlignment ) {\n\t\t\tupdateAlignment( parentAlignment );\n\t\t}\n\t}, [] );\n\n\tconst onChangeWidth = ( nextWidth ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );\n\n\t\tsetAttributes( {\n\t\t\twidth: widthWithUnit,\n\t\t} );\n\t};\n\n\tconst onChangeUnit = ( nextUnit ) => {\n\t\tsetWidthUnit( nextUnit );\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\twidth || getWidths( columns )[ selectedColumnIndex ]\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\twidth: getWidthWithUnit( widthWithoutUnit, nextUnit ),\n\t\t} );\n\t};\n\n\tconst onChange = ( nextWidth ) => {\n\t\tif ( isPercentageUnit( widthUnit ) || ! widthUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth );\n\t};\n\n\tconst renderAppender = useCallback( () => {\n\t\tconst { width: columnWidth } = contentStyle[ clientId ];\n\t\tconst isFullWidth = columnWidth === screenWidth;\n\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.columnAppender,\n\t\t\t\t\t\tisFullWidth && styles.fullwidthColumnAppender,\n\t\t\t\t\t\tisFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.fullwidthHasInnerColumnAppender,\n\t\t\t\t\t\t! isFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.hasInnerColumnAppender,\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}, [ contentStyle[ clientId ], screenWidth, isSelected, hasChildren ] );\n\n\tif ( ! isSelected && ! hasChildren ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\t! isParentSelected &&\n\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\tstyles.columnPlaceholder,\n\t\t\t\t\t\t\tstyles.columnPlaceholderDark\n\t\t\t\t\t\t),\n\t\t\t\t\tstyles.columnPlaceholderNotSelected,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonComplete={ onChangeWidth }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetWidths( columns )[ selectedColumnIndex ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tpreview={\n\t\t\t\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\t\t\t\tcolumnWidths={ getWidths(\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tselectedColumnIndex={\n\t\t\t\t\t\t\t\t\t\t\tselectedColumnIndex\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisSelected && hasChildren && styles.innerBlocksBottomSpace,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\tparentWidth={ contentStyle[ clientId ].width }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nfunction ColumnEditWrapper( props ) {\n\tconst { verticalAlignment } = props.attributes;\n\n\tconst getVerticalAlignmentRemap = ( alignment ) => {\n\t\tif ( ! alignment ) return styles.flexBase;\n\t\treturn {\n\t\t\t...styles.flexBase,\n\t\t\t...styles[ `is-vertically-aligned-${ alignment }` ],\n\t\t};\n\t};\n\n\treturn (\n\t\t<View style={ getVerticalAlignmentRemap( verticalAlignment ) }>\n\t\t\t<ColumnEdit { ...props } />\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isSelected = selectedBlockClientId === clientId;\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst hasChildren = !! getBlockCount( clientId );\n\t\tconst isParentSelected =\n\t\t\tselectedBlockClientId && selectedBlockClientId === parentId;\n\n\t\tconst blockOrder = getBlockOrder( parentId );\n\n\t\tconst selectedColumnIndex = blockOrder.indexOf( clientId );\n\t\tconst columns = getBlocks( parentId );\n\n\t\tconst parentAlignment =\n\t\t\tgetBlockAttributes( parentId )?.verticalAlignment;\n\n\t\treturn {\n\t\t\thasChildren,\n\t\t\tisParentSelected,\n\t\t\tisSelected,\n\t\t\tselectedColumnIndex,\n\t\t\tcolumns,\n\t\t\tparentAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ColumnEditWrapper );\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/deprecated.js"],"names":["getDeprecatedLayoutColumn","originalContent","doc","document","implementation","createHTMLDocument","columnMatch","body","innerHTML","classListItem","firstChild","classList","match","Number","migrateCustomColors","attributes","customTextColor","customBackgroundColor","style","color","text","background","isStackedOnMobile","verticalAlignment","type","backgroundColor","textColor","migrate","save","backgroundClass","textClass","className","undefined","columns","default","isEligible","innerBlocks","isFastPassEligible","some","innerBlock","test","reduce","accumulator","columnIndex","push","migratedInnerBlocks","map","columnBlocks","wrapperClasses"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { InnerBlocks, getColorClassName } from '@wordpress/block-editor';\n\n/**\n * Given an HTML string for a deprecated columns inner block, returns the\n * column index to which the migrated inner block should be assigned. Returns\n * undefined if the inner block was not assigned to a column.\n *\n * @param {string} originalContent Deprecated Columns inner block HTML.\n *\n * @return {?number} Column to which inner block is to be assigned.\n */\nfunction getDeprecatedLayoutColumn( originalContent ) {\n\tlet { doc } = getDeprecatedLayoutColumn;\n\tif ( ! doc ) {\n\t\tdoc = document.implementation.createHTMLDocument( '' );\n\t\tgetDeprecatedLayoutColumn.doc = doc;\n\t}\n\n\tlet columnMatch;\n\n\tdoc.body.innerHTML = originalContent;\n\tfor ( const classListItem of doc.body.firstChild.classList ) {\n\t\tif (\n\t\t\t( columnMatch = classListItem.match( /^layout-column-(\\d+)$/ ) )\n\t\t) {\n\t\t\treturn Number( columnMatch[ 1 ] ) - 1;\n\t\t}\n\t}\n}\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customTextColor && ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\treturn {\n\t\t...omit( attributes, [ 'customTextColor', 'customBackgroundColor' ] ),\n\t\tstyle,\n\t\tisStackedOnMobile: true,\n\t};\n};\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tverticalAlignment,\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t\t} );\n\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\tcolumns: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 2,\n\t\t\t},\n\t\t},\n\t\tisEligible( attributes, innerBlocks ) {\n\t\t\t// Since isEligible is called on every valid instance of the\n\t\t\t// Columns block and a deprecation is the unlikely case due to\n\t\t\t// its subsequent migration, optimize for the `false` condition\n\t\t\t// by performing a naive, inaccurate pass at inner blocks.\n\t\t\tconst isFastPassEligible = innerBlocks.some( ( innerBlock ) =>\n\t\t\t\t/layout-column-\\d+/.test( innerBlock.originalContent )\n\t\t\t);\n\n\t\t\tif ( ! isFastPassEligible ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Only if the fast pass is considered eligible is the more\n\t\t\t// accurate, durable, slower condition performed.\n\t\t\treturn innerBlocks.some(\n\t\t\t\t( innerBlock ) =>\n\t\t\t\t\tgetDeprecatedLayoutColumn( innerBlock.originalContent ) !==\n\t\t\t\t\tundefined\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes, innerBlocks ) {\n\t\t\tconst columns = innerBlocks.reduce( ( accumulator, innerBlock ) => {\n\t\t\t\tconst { originalContent } = innerBlock;\n\n\t\t\t\tlet columnIndex = getDeprecatedLayoutColumn( originalContent );\n\t\t\t\tif ( columnIndex === undefined ) {\n\t\t\t\t\tcolumnIndex = 0;\n\t\t\t\t}\n\n\t\t\t\tif ( ! accumulator[ columnIndex ] ) {\n\t\t\t\t\taccumulator[ columnIndex ] = [];\n\t\t\t\t}\n\n\t\t\t\taccumulator[ columnIndex ].push( innerBlock );\n\n\t\t\t\treturn accumulator;\n\t\t\t}, [] );\n\n\t\t\tconst migratedInnerBlocks = columns.map( ( columnBlocks ) =>\n\t\t\t\tcreateBlock( 'core/column', {}, columnBlocks )\n\t\t\t);\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\t...omit( attributes, [ 'columns' ] ),\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t},\n\t\t\t\tmigratedInnerBlocks,\n\t\t\t];\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { columns } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div className={ `has-${ columns }-columns` }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\tcolumns: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 2,\n\t\t\t},\n\t\t},\n\t\tmigrate( attributes, innerBlocks ) {\n\t\t\tattributes = {\n\t\t\t\t...omit( attributes, [ 'columns' ] ),\n\t\t\t\tisStackedOnMobile: true,\n\t\t\t};\n\n\t\t\treturn [ attributes, innerBlocks ];\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { verticalAlignment, columns } = attributes;\n\n\t\t\tconst wrapperClasses = classnames( `has-${ columns }-columns`, {\n\t\t\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div className={ wrapperClasses }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/columns/deprecated.js"],"names":["getDeprecatedLayoutColumn","originalContent","doc","document","implementation","createHTMLDocument","columnMatch","body","innerHTML","classListItem","firstChild","classList","match","Number","migrateCustomColors","attributes","customTextColor","customBackgroundColor","style","color","text","background","isStackedOnMobile","verticalAlignment","type","backgroundColor","textColor","migrate","save","backgroundClass","textClass","className","undefined","columns","default","isEligible","innerBlocks","isFastPassEligible","some","innerBlock","test","reduce","accumulator","columnIndex","push","migratedInnerBlocks","map","columnBlocks","wrapperClasses"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { InnerBlocks, getColorClassName } from '@wordpress/block-editor';\n\n/**\n * Given an HTML string for a deprecated columns inner block, returns the\n * column index to which the migrated inner block should be assigned. Returns\n * undefined if the inner block was not assigned to a column.\n *\n * @param {string} originalContent Deprecated Columns inner block HTML.\n *\n * @return {?number} Column to which inner block is to be assigned.\n */\nfunction getDeprecatedLayoutColumn( originalContent ) {\n\tlet { doc } = getDeprecatedLayoutColumn;\n\tif ( ! doc ) {\n\t\tdoc = document.implementation.createHTMLDocument( '' );\n\t\tgetDeprecatedLayoutColumn.doc = doc;\n\t}\n\n\tlet columnMatch;\n\n\tdoc.body.innerHTML = originalContent;\n\tfor ( const classListItem of doc.body.firstChild.classList ) {\n\t\tif (\n\t\t\t( columnMatch = classListItem.match( /^layout-column-(\\d+)$/ ) )\n\t\t) {\n\t\t\treturn Number( columnMatch[ 1 ] ) - 1;\n\t\t}\n\t}\n}\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customTextColor && ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\treturn {\n\t\t...omit( attributes, [ 'customTextColor', 'customBackgroundColor' ] ),\n\t\tstyle,\n\t\tisStackedOnMobile: true,\n\t};\n};\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tverticalAlignment,\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\tcolumns: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 2,\n\t\t\t},\n\t\t},\n\t\tisEligible( attributes, innerBlocks ) {\n\t\t\t// Since isEligible is called on every valid instance of the\n\t\t\t// Columns block and a deprecation is the unlikely case due to\n\t\t\t// its subsequent migration, optimize for the `false` condition\n\t\t\t// by performing a naive, inaccurate pass at inner blocks.\n\t\t\tconst isFastPassEligible = innerBlocks.some( ( innerBlock ) =>\n\t\t\t\t/layout-column-\\d+/.test( innerBlock.originalContent )\n\t\t\t);\n\n\t\t\tif ( ! isFastPassEligible ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Only if the fast pass is considered eligible is the more\n\t\t\t// accurate, durable, slower condition performed.\n\t\t\treturn innerBlocks.some(\n\t\t\t\t( innerBlock ) =>\n\t\t\t\t\tgetDeprecatedLayoutColumn( innerBlock.originalContent ) !==\n\t\t\t\t\tundefined\n\t\t\t);\n\t\t},\n\t\tmigrate( attributes, innerBlocks ) {\n\t\t\tconst columns = innerBlocks.reduce( ( accumulator, innerBlock ) => {\n\t\t\t\tconst { originalContent } = innerBlock;\n\n\t\t\t\tlet columnIndex = getDeprecatedLayoutColumn( originalContent );\n\t\t\t\tif ( columnIndex === undefined ) {\n\t\t\t\t\tcolumnIndex = 0;\n\t\t\t\t}\n\n\t\t\t\tif ( ! accumulator[ columnIndex ] ) {\n\t\t\t\t\taccumulator[ columnIndex ] = [];\n\t\t\t\t}\n\n\t\t\t\taccumulator[ columnIndex ].push( innerBlock );\n\n\t\t\t\treturn accumulator;\n\t\t\t}, [] );\n\n\t\t\tconst migratedInnerBlocks = columns.map( ( columnBlocks ) =>\n\t\t\t\tcreateBlock( 'core/column', {}, columnBlocks )\n\t\t\t);\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\t...omit( attributes, [ 'columns' ] ),\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t},\n\t\t\t\tmigratedInnerBlocks,\n\t\t\t];\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { columns } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<div className={ `has-${ columns }-columns` }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\tcolumns: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 2,\n\t\t\t},\n\t\t},\n\t\tmigrate( attributes, innerBlocks ) {\n\t\t\tattributes = {\n\t\t\t\t...omit( attributes, [ 'columns' ] ),\n\t\t\t\tisStackedOnMobile: true,\n\t\t\t};\n\n\t\t\treturn [ attributes, innerBlocks ];\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { verticalAlignment, columns } = attributes;\n\n\t\t\tconst wrapperClasses = classnames( `has-${ columns }-columns`, {\n\t\t\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<div className={ wrapperClasses }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}
@@ -172,7 +172,7 @@ const ColumnsEditContainerWrapper = (0, _data.withDispatch)((dispatch, ownProps,
172
172
  })];
173
173
  } else {
174
174
  // The removed column will be the last of the inner blocks.
175
- innerBlocks = (0, _lodash.dropRight)(innerBlocks, previousColumns - newColumns);
175
+ innerBlocks = innerBlocks.slice(0, -(previousColumns - newColumns));
176
176
 
177
177
  if (hasExplicitWidths) {
178
178
  // Redistribute as if block is already removed.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/edit.js"],"names":["ALLOWED_BLOCKS","ColumnsEditContainer","attributes","setAttributes","updateAlignment","updateColumns","clientId","isStackedOnMobile","verticalAlignment","count","select","blockEditorStore","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","width","Placeholder","name","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","blocksStore","nextVariation","ColumnsEdit","props","hasInnerBlocks","length","Component"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { dropRight, get, times } 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 = hasExplicitPercentColumnWidths(\n\t\t\t\tinnerBlocks\n\t\t\t);\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...times( newColumns - previousColumns, () => {\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...times( newColumns - previousColumns, () => {\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 = dropRight(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\tpreviousColumns - 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":["ALLOWED_BLOCKS","ColumnsEditContainer","attributes","setAttributes","updateAlignment","updateColumns","clientId","isStackedOnMobile","verticalAlignment","count","select","blockEditorStore","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","width","slice","Placeholder","name","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","blocksStore","nextVariation","ColumnsEdit","props","hasInnerBlocks","length","Component"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get, times } 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...times( newColumns - previousColumns, () => {\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...times( newColumns - previousColumns, () => {\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"]}
@@ -324,7 +324,7 @@ const ColumnsEditContainerWrapper = (0, _data.withDispatch)((dispatch, ownProps,
324
324
  })];
325
325
  } else {
326
326
  // The removed column will be the last of the inner blocks.
327
- innerBlocks = (0, _lodash.dropRight)(innerBlocks, previousColumns - newColumns);
327
+ innerBlocks = innerBlocks.slice(0, -(previousColumns - newColumns));
328
328
 
329
329
  if (hasExplicitWidths) {
330
330
  // Redistribute as if block is already removed.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","alignmentHelpers","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","Dimensions","get","width","globalStyles","GlobalStylesContext","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","styles","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","clientId","length","undefined","onChangeColumnsNum","value","columns","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","blockEditorStore","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","updateBlockSettings","settings","updateBlockListSettings","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","isContentEmpty","innerBlock","innerColumnsWidths","inn","parents","memoizedInnerWidths","JSON","stringify","isVisible","setIsVisible","onClose","variations"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\nimport { dropRight, times, map, compact, delay } 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 } = registry.select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths(\n\t\t\t\tinnerBlocks\n\t\t\t);\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...times( newColumns - previousColumns, () => {\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...times( newColumns - previousColumns, () => {\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 = dropRight(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\tpreviousColumns - 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 } = dispatch(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst { getBlocks, getBlockAttributes } = registry.select(\n\t\t\t\tblockEditorStore\n\t\t\t);\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: ! compact( isContentEmpty ).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\tdelay( () => setIsVisible( true ), 100 );\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":["ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","alignmentHelpers","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","Dimensions","get","width","globalStyles","GlobalStylesContext","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","styles","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","clientId","length","undefined","onChangeColumnsNum","value","columns","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","blockEditorStore","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","updateBlockSettings","settings","updateBlockListSettings","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","isContentEmpty","innerBlock","innerColumnsWidths","inn","parents","memoizedInnerWidths","JSON","stringify","isVisible","setIsVisible","onClose","variations"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\nimport { times, map, compact, delay } 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...times( newColumns - previousColumns, () => {\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...times( newColumns - previousColumns, () => {\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: ! compact( isContentEmpty ).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\tdelay( () => setIsVisible( true ), 100 );\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"]}
@@ -58,7 +58,9 @@ const metadata = {
58
58
  }
59
59
  },
60
60
  spacing: {
61
- blockGap: true,
61
+ blockGap: {
62
+ __experimentalDefault: "2em"
63
+ },
62
64
  margin: ["top", "bottom"],
63
65
  padding: true,
64
66
  __experimentalDefaultControls: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/index.js"],"names":["name","metadata","settings","icon","variations","example","viewportWidth","innerBlocks","attributes","content","url","deprecated","edit","save","transforms"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,cADuB;AAEvBC,EAAAA,UAAU,EAAVA,mBAFuB;AAGvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,aAAa,EAAE,GADP;AACY;AACpBC,IAAAA,WAAW,EAAE,CACZ;AACCP,MAAAA,IAAI,EAAE,aADP;AAECO,MAAAA,WAAW,EAAE,CACZ;AACCP,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,qFADQ;AAFE;AAFb,OADY,EAUZ;AACCT,QAAAA,IAAI,EAAE,YADP;AAECQ,QAAAA,UAAU,EAAE;AACXE,UAAAA,GAAG,EACF;AAFU;AAFb,OAVY,EAiBZ;AACCV,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,6DADQ;AAFE;AAFb,OAjBY;AAFd,KADY,EA+BZ;AACCT,MAAAA,IAAI,EAAE,aADP;AAECO,MAAAA,WAAW,EAAE,CACZ;AACCP,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,+JADQ;AAFE;AAFb,OADY,EAUZ;AACCT,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,yGADQ;AAFE;AAFb,OAVY;AAFd,KA/BY;AAFL,GAHc;AA6DvBE,EAAAA,UAAU,EAAVA,mBA7DuB;AA8DvBC,EAAAA,IAAI,EAAJA,aA9DuB;AA+DvBC,EAAAA,IAAI,EAAJA,aA/DuB;AAgEvBC,EAAAA,UAAU,EAAVA;AAhEuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { columns as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tvariations,\n\texample: {\n\t\tviewportWidth: 600, // Columns collapse \"@media (max-width: 599px)\".\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.'\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\t{\n\t\t\t\t\t\tname: 'core/image',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\turl:\n\t\t\t\t\t\t\t\t'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Suspendisse commodo neque lacus, a dictum orci interdum et.'\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\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.'\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\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.'\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\tdeprecated,\n\tedit,\n\tsave,\n\ttransforms,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/columns/index.js"],"names":["name","metadata","settings","icon","variations","example","viewportWidth","innerBlocks","attributes","content","url","deprecated","edit","save","transforms"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,cADuB;AAEvBC,EAAAA,UAAU,EAAVA,mBAFuB;AAGvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,aAAa,EAAE,GADP;AACY;AACpBC,IAAAA,WAAW,EAAE,CACZ;AACCP,MAAAA,IAAI,EAAE,aADP;AAECO,MAAAA,WAAW,EAAE,CACZ;AACCP,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,qFADQ;AAFE;AAFb,OADY,EAUZ;AACCT,QAAAA,IAAI,EAAE,YADP;AAECQ,QAAAA,UAAU,EAAE;AACXE,UAAAA,GAAG,EAAE;AADM;AAFb,OAVY,EAgBZ;AACCV,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,6DADQ;AAFE;AAFb,OAhBY;AAFd,KADY,EA8BZ;AACCT,MAAAA,IAAI,EAAE,aADP;AAECO,MAAAA,WAAW,EAAE,CACZ;AACCP,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,+JADQ;AAFE;AAFb,OADY,EAUZ;AACCT,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,yGADQ;AAFE;AAFb,OAVY;AAFd,KA9BY;AAFL,GAHc;AA4DvBE,EAAAA,UAAU,EAAVA,mBA5DuB;AA6DvBC,EAAAA,IAAI,EAAJA,aA7DuB;AA8DvBC,EAAAA,IAAI,EAAJA,aA9DuB;AA+DvBC,EAAAA,UAAU,EAAVA;AA/DuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { columns as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tvariations,\n\texample: {\n\t\tviewportWidth: 600, // Columns collapse \"@media (max-width: 599px)\".\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.'\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\t{\n\t\t\t\t\t\tname: 'core/image',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Suspendisse commodo neque lacus, a dictum orci interdum et.'\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\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.'\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\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.'\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\tdeprecated,\n\tedit,\n\tsave,\n\ttransforms,\n};\n"]}
@@ -64,7 +64,7 @@ function getEffectiveColumnWidth(block, totalBlockCount) {
64
64
 
65
65
  function getTotalColumnsWidth(blocks) {
66
66
  let totalBlockCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : blocks.length;
67
- return (0, _lodash.sumBy)(blocks, block => getEffectiveColumnWidth(block, totalBlockCount));
67
+ return blocks.reduce((sum, block) => sum + getEffectiveColumnWidth(block, totalBlockCount), 0);
68
68
  }
69
69
  /**
70
70
  * Returns an object of `clientId` → `width` of effective column widths.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/utils.js"],"names":["toWidthPrecision","value","unitlessValue","parseFloat","Number","isFinite","toFixed","undefined","getEffectiveColumnWidth","block","totalBlockCount","width","attributes","getTotalColumnsWidth","blocks","length","getColumnWidths","reduce","accumulator","Object","assign","clientId","getRedistributedColumnWidths","availableWidth","totalWidth","newWidth","hasExplicitPercentColumnWidths","every","blockWidth","endsWith","getMappedColumnWidths","widths","map","getWidths","withParsing","innerColumn","innerColumnWidth","getWidthWithUnit","unit","isPercentageUnit","Math","min"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { sumBy, merge, mapValues } from 'lodash';\n\n/**\n * Returns a column width attribute value rounded to standard precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {?number} value Raw value.\n *\n * @return {number} Value rounded to standard precision.\n */\nexport const toWidthPrecision = ( value ) => {\n\tconst unitlessValue = parseFloat( value );\n\treturn Number.isFinite( unitlessValue )\n\t\t? parseFloat( unitlessValue.toFixed( 2 ) )\n\t\t: undefined;\n};\n/**\n * Returns an effective width for a given block. An effective width is equal to\n * its attribute value if set, or a computed value assuming equal distribution.\n *\n * @param {WPBlock} block Block object.\n * @param {number} totalBlockCount Total number of blocks in Columns.\n *\n * @return {number} Effective column width.\n */\nexport function getEffectiveColumnWidth( block, totalBlockCount ) {\n\tconst { width = 100 / totalBlockCount } = block.attributes;\n\treturn toWidthPrecision( width );\n}\n\n/**\n * Returns the total width occupied by the given set of column blocks.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {number} Total width occupied by blocks.\n */\nexport function getTotalColumnsWidth(\n\tblocks,\n\ttotalBlockCount = blocks.length\n) {\n\treturn sumBy( blocks, ( block ) =>\n\t\tgetEffectiveColumnWidth( block, totalBlockCount )\n\t);\n}\n\n/**\n * Returns an object of `clientId` → `width` of effective column widths.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {Object<string,number>} Column widths.\n */\nexport function getColumnWidths( blocks, totalBlockCount = blocks.length ) {\n\treturn blocks.reduce( ( accumulator, block ) => {\n\t\tconst width = getEffectiveColumnWidth( block, totalBlockCount );\n\t\treturn Object.assign( accumulator, { [ block.clientId ]: width } );\n\t}, {} );\n}\n\n/**\n * Returns an object of `clientId` → `width` of column widths as redistributed\n * proportional to their current widths, constrained or expanded to fit within\n * the given available width.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {number} availableWidth Maximum width to fit within.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {Object<string,number>} Redistributed column widths.\n */\nexport function getRedistributedColumnWidths(\n\tblocks,\n\tavailableWidth,\n\ttotalBlockCount = blocks.length\n) {\n\tconst totalWidth = getTotalColumnsWidth( blocks, totalBlockCount );\n\n\treturn mapValues( getColumnWidths( blocks, totalBlockCount ), ( width ) => {\n\t\tconst newWidth = ( availableWidth * width ) / totalWidth;\n\t\treturn toWidthPrecision( newWidth );\n\t} );\n}\n\n/**\n * Returns true if column blocks within the provided set are assigned with\n * explicit widths, or false otherwise.\n *\n * @param {WPBlock[]} blocks Block objects.\n *\n * @return {boolean} Whether columns have explicit widths.\n */\nexport function hasExplicitPercentColumnWidths( blocks ) {\n\treturn blocks.every( ( block ) => {\n\t\tconst blockWidth = block.attributes.width;\n\t\treturn Number.isFinite(\n\t\t\tblockWidth?.endsWith?.( '%' )\n\t\t\t\t? parseFloat( blockWidth )\n\t\t\t\t: blockWidth\n\t\t);\n\t} );\n}\n\n/**\n * Returns a copy of the given set of blocks with new widths assigned from the\n * provided object of redistributed column widths.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {Object<string,number>} widths Redistributed column widths.\n *\n * @return {WPBlock[]} blocks Mapped block objects.\n */\nexport function getMappedColumnWidths( blocks, widths ) {\n\treturn blocks.map( ( block ) =>\n\t\tmerge( {}, block, {\n\t\t\tattributes: {\n\t\t\t\twidth: `${ widths[ block.clientId ] }%`,\n\t\t\t},\n\t\t} )\n\t);\n}\n\n/**\n * Returns an array with columns widths values, parsed or no depends on `withParsing` flag.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?boolean} withParsing Whether value has to be parsed.\n *\n * @return {Array<number,string>} Column widths.\n */\nexport function getWidths( blocks, withParsing = true ) {\n\treturn blocks.map( ( innerColumn ) => {\n\t\tconst innerColumnWidth =\n\t\t\tinnerColumn.attributes.width || 100 / blocks.length;\n\n\t\treturn withParsing ? parseFloat( innerColumnWidth ) : innerColumnWidth;\n\t} );\n}\n\n/**\n * Returns a column width with unit.\n *\n * @param {string} width Column width.\n * @param {string} unit Column width unit.\n *\n * @return {string} Column width with unit.\n */\nexport function getWidthWithUnit( width, unit ) {\n\twidth = 0 > parseFloat( width ) ? '0' : width;\n\n\tif ( isPercentageUnit( unit ) ) {\n\t\twidth = Math.min( width, 100 );\n\t}\n\n\treturn `${ width }${ unit }`;\n}\n\n/**\n * Returns a boolean whether passed unit is percentage\n *\n * @param {string} unit Column width unit.\n *\n * @return {boolean} \tWhether unit is '%'.\n */\nexport function isPercentageUnit( unit ) {\n\treturn unit === '%';\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/columns/utils.js"],"names":["toWidthPrecision","value","unitlessValue","parseFloat","Number","isFinite","toFixed","undefined","getEffectiveColumnWidth","block","totalBlockCount","width","attributes","getTotalColumnsWidth","blocks","length","reduce","sum","getColumnWidths","accumulator","Object","assign","clientId","getRedistributedColumnWidths","availableWidth","totalWidth","newWidth","hasExplicitPercentColumnWidths","every","blockWidth","endsWith","getMappedColumnWidths","widths","map","getWidths","withParsing","innerColumn","innerColumnWidth","getWidthWithUnit","unit","isPercentageUnit","Math","min"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { merge, mapValues } from 'lodash';\n\n/**\n * Returns a column width attribute value rounded to standard precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {?number} value Raw value.\n *\n * @return {number} Value rounded to standard precision.\n */\nexport const toWidthPrecision = ( value ) => {\n\tconst unitlessValue = parseFloat( value );\n\treturn Number.isFinite( unitlessValue )\n\t\t? parseFloat( unitlessValue.toFixed( 2 ) )\n\t\t: undefined;\n};\n/**\n * Returns an effective width for a given block. An effective width is equal to\n * its attribute value if set, or a computed value assuming equal distribution.\n *\n * @param {WPBlock} block Block object.\n * @param {number} totalBlockCount Total number of blocks in Columns.\n *\n * @return {number} Effective column width.\n */\nexport function getEffectiveColumnWidth( block, totalBlockCount ) {\n\tconst { width = 100 / totalBlockCount } = block.attributes;\n\treturn toWidthPrecision( width );\n}\n\n/**\n * Returns the total width occupied by the given set of column blocks.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {number} Total width occupied by blocks.\n */\nexport function getTotalColumnsWidth(\n\tblocks,\n\ttotalBlockCount = blocks.length\n) {\n\treturn blocks.reduce(\n\t\t( sum, block ) =>\n\t\t\tsum + getEffectiveColumnWidth( block, totalBlockCount ),\n\t\t0\n\t);\n}\n\n/**\n * Returns an object of `clientId` → `width` of effective column widths.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {Object<string,number>} Column widths.\n */\nexport function getColumnWidths( blocks, totalBlockCount = blocks.length ) {\n\treturn blocks.reduce( ( accumulator, block ) => {\n\t\tconst width = getEffectiveColumnWidth( block, totalBlockCount );\n\t\treturn Object.assign( accumulator, { [ block.clientId ]: width } );\n\t}, {} );\n}\n\n/**\n * Returns an object of `clientId` → `width` of column widths as redistributed\n * proportional to their current widths, constrained or expanded to fit within\n * the given available width.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {number} availableWidth Maximum width to fit within.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {Object<string,number>} Redistributed column widths.\n */\nexport function getRedistributedColumnWidths(\n\tblocks,\n\tavailableWidth,\n\ttotalBlockCount = blocks.length\n) {\n\tconst totalWidth = getTotalColumnsWidth( blocks, totalBlockCount );\n\n\treturn mapValues( getColumnWidths( blocks, totalBlockCount ), ( width ) => {\n\t\tconst newWidth = ( availableWidth * width ) / totalWidth;\n\t\treturn toWidthPrecision( newWidth );\n\t} );\n}\n\n/**\n * Returns true if column blocks within the provided set are assigned with\n * explicit widths, or false otherwise.\n *\n * @param {WPBlock[]} blocks Block objects.\n *\n * @return {boolean} Whether columns have explicit widths.\n */\nexport function hasExplicitPercentColumnWidths( blocks ) {\n\treturn blocks.every( ( block ) => {\n\t\tconst blockWidth = block.attributes.width;\n\t\treturn Number.isFinite(\n\t\t\tblockWidth?.endsWith?.( '%' )\n\t\t\t\t? parseFloat( blockWidth )\n\t\t\t\t: blockWidth\n\t\t);\n\t} );\n}\n\n/**\n * Returns a copy of the given set of blocks with new widths assigned from the\n * provided object of redistributed column widths.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {Object<string,number>} widths Redistributed column widths.\n *\n * @return {WPBlock[]} blocks Mapped block objects.\n */\nexport function getMappedColumnWidths( blocks, widths ) {\n\treturn blocks.map( ( block ) =>\n\t\tmerge( {}, block, {\n\t\t\tattributes: {\n\t\t\t\twidth: `${ widths[ block.clientId ] }%`,\n\t\t\t},\n\t\t} )\n\t);\n}\n\n/**\n * Returns an array with columns widths values, parsed or no depends on `withParsing` flag.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?boolean} withParsing Whether value has to be parsed.\n *\n * @return {Array<number,string>} Column widths.\n */\nexport function getWidths( blocks, withParsing = true ) {\n\treturn blocks.map( ( innerColumn ) => {\n\t\tconst innerColumnWidth =\n\t\t\tinnerColumn.attributes.width || 100 / blocks.length;\n\n\t\treturn withParsing ? parseFloat( innerColumnWidth ) : innerColumnWidth;\n\t} );\n}\n\n/**\n * Returns a column width with unit.\n *\n * @param {string} width Column width.\n * @param {string} unit Column width unit.\n *\n * @return {string} Column width with unit.\n */\nexport function getWidthWithUnit( width, unit ) {\n\twidth = 0 > parseFloat( width ) ? '0' : width;\n\n\tif ( isPercentageUnit( unit ) ) {\n\t\twidth = Math.min( width, 100 );\n\t}\n\n\treturn `${ width }${ unit }`;\n}\n\n/**\n * Returns a boolean whether passed unit is percentage\n *\n * @param {string} unit Column width unit.\n *\n * @return {boolean} \tWhether unit is '%'.\n */\nexport function isPercentageUnit( unit ) {\n\treturn unit === '%';\n}\n"]}
@@ -21,6 +21,7 @@ var _edit = _interopRequireDefault(require("./edit"));
21
21
  const metadata = {
22
22
  $schema: "https://schemas.wp.org/trunk/block.json",
23
23
  apiVersion: 2,
24
+ __experimental: "fse",
24
25
  name: "core/comment-author-avatar",
25
26
  title: "Comment Author Avatar (deprecated)",
26
27
  category: "theme",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/comment-author-avatar/index.js"],"names":["name","metadata","settings","icon","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,0BADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { commentAuthorAvatar as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/comment-author-avatar/index.js"],"names":["name","metadata","settings","icon","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,0BADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { commentAuthorAvatar as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
@@ -101,13 +101,15 @@ function Edit(_ref) {
101
101
  })));
102
102
 
103
103
  if (!commentId || !displayName) {
104
- return (0, _element.createElement)(_element.Fragment, null, inspectorControls, blockControls, (0, _element.createElement)("div", blockProps, (0, _element.createElement)("p", null, (0, _i18n._x)('Comment Author', 'block title'))));
104
+ return (0, _element.createElement)(_element.Fragment, null, inspectorControls, blockControls, (0, _element.createElement)("div", blockProps, (0, _i18n._x)('Comment Author', 'block title')));
105
105
  }
106
106
 
107
107
  const displayAuthor = isLink ? (0, _element.createElement)("a", {
108
108
  href: "#comment-author-pseudo-link",
109
109
  onClick: event => event.preventDefault()
110
- }, displayName) : (0, _element.createElement)("p", null, displayName);
110
+ }, displayName) : {
111
+ displayName
112
+ };
111
113
  return (0, _element.createElement)(_element.Fragment, null, inspectorControls, blockControls, (0, _element.createElement)("div", blockProps, displayAuthor));
112
114
  }
113
115
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/comment-author-name/edit.js"],"names":["Edit","attributes","isLink","linkTarget","textAlign","context","commentId","setAttributes","blockProps","className","displayName","select","getEntityRecord","coreStore","comment","authorName","author_name","user","author","name","blockControls","newAlign","inspectorControls","value","displayAuthor","event","preventDefault"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\n\n/**\n * Renders the `core/comment-author-name` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {string} props.attributes.linkTarget Target of the link.\n * @param {string} props.attributes.textAlign Text alignment.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { isLink, linkTarget, textAlign },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tconst displayName = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\n\t\t\tconst comment = getEntityRecord( 'root', 'comment', commentId );\n\t\t\tconst authorName = comment?.author_name; // eslint-disable-line camelcase\n\n\t\t\tif ( comment && ! authorName ) {\n\t\t\t\tconst user = getEntityRecord( 'root', 'user', comment.author );\n\t\t\t\treturn user?.name ?? __( 'Anonymous' );\n\t\t\t}\n\t\t\treturn authorName ?? '';\n\t\t},\n\t\t[ commentId ]\n\t);\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Link to authors URL' ) }\n\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\tchecked={ isLink }\n\t\t\t\t/>\n\t\t\t\t{ isLink && (\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! displayName ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ blockControls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ _x( 'Comment Author', 'block title' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst displayAuthor = isLink ? (\n\t\t<a\n\t\t\thref=\"#comment-author-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t>\n\t\t\t{ displayName }\n\t\t</a>\n\t) : (\n\t\t<p>{ displayName }</p>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t{ blockControls }\n\t\t\t<div { ...blockProps }>{ displayAuthor }</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/comment-author-name/edit.js"],"names":["Edit","attributes","isLink","linkTarget","textAlign","context","commentId","setAttributes","blockProps","className","displayName","select","getEntityRecord","coreStore","comment","authorName","author_name","user","author","name","blockControls","newAlign","inspectorControls","value","displayAuthor","event","preventDefault"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAMA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,IAAT,OAIX;AAAA,MAJ0B;AAC7BC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA,UAAV;AAAsBC,MAAAA;AAAtB,KADiB;AAE7BC,IAAAA,OAAO,EAAE;AAAEC,MAAAA;AAAF,KAFoB;AAG7BC,IAAAA;AAH6B,GAI1B;AACH,QAAMC,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,OAAG,kBAAkBL,SAAW,EAAhC,GAAqCA;AADf,KAAZ;AADsB,GAAf,CAAnB;AAKA,QAAMM,WAAW,GAAG,qBACjBC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAsBD,MAAM,CAAEE,eAAF,CAAlC;AAEA,UAAMC,OAAO,GAAGF,eAAe,CAAE,MAAF,EAAU,SAAV,EAAqBN,SAArB,CAA/B;AACA,UAAMS,UAAU,GAAGD,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEE,WAA5B,CAJa,CAI4B;;AAEzC,QAAKF,OAAO,IAAI,CAAEC,UAAlB,EAA+B;AAAA;;AAC9B,YAAME,IAAI,GAAGL,eAAe,CAAE,MAAF,EAAU,MAAV,EAAkBE,OAAO,CAACI,MAA1B,CAA5B;AACA,2BAAOD,IAAP,aAAOA,IAAP,uBAAOA,IAAI,CAAEE,IAAb,mDAAqB,cAAI,WAAJ,CAArB;AACA;;AACD,WAAOJ,UAAP,aAAOA,UAAP,cAAOA,UAAP,GAAqB,EAArB;AACA,GAZkB,EAanB,CAAET,SAAF,CAbmB,CAApB;AAgBA,QAAMc,aAAa,GAClB,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,4BAAC,6BAAD;AACC,IAAA,KAAK,EAAGhB,SADT;AAEC,IAAA,QAAQ,EAAKiB,QAAF,IACVd,aAAa,CAAE;AAAEH,MAAAA,SAAS,EAAEiB;AAAb,KAAF;AAHf,IADD,CADD;AAWA,QAAMC,iBAAiB,GACtB,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,eAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,qBAAJ,CADT;AAEC,IAAA,QAAQ,EAAG,MAAMf,aAAa,CAAE;AAAEL,MAAAA,MAAM,EAAE,CAAEA;AAAZ,KAAF,CAF/B;AAGC,IAAA,OAAO,EAAGA;AAHX,IADD,EAMGA,MAAM,IACP,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,QAAQ,EAAKqB,KAAF,IACVhB,aAAa,CAAE;AACdJ,MAAAA,UAAU,EAAEoB,KAAK,GAAG,QAAH,GAAc;AADjB,KAAF,CAHf;AAOC,IAAA,OAAO,EAAGpB,UAAU,KAAK;AAP1B,IAPF,CADD,CADD;;AAuBA,MAAK,CAAEG,SAAF,IAAe,CAAEI,WAAtB,EAAoC;AACnC,WACC,qDACGY,iBADH,EAEGF,aAFH,EAGC,mCAAUZ,UAAV,EACG,cAAI,gBAAJ,EAAsB,aAAtB,CADH,CAHD,CADD;AASA;;AAED,QAAMgB,aAAa,GAAGtB,MAAM,GAC3B;AACC,IAAA,IAAI,EAAC,6BADN;AAEC,IAAA,OAAO,EAAKuB,KAAF,IAAaA,KAAK,CAACC,cAAN;AAFxB,KAIGhB,WAJH,CAD2B,GAQ3B;AAAEA,IAAAA;AAAF,GARD;AAWA,SACC,qDACGY,iBADH,EAEGF,aAFH,EAGC,mCAAUZ,UAAV,EAAyBgB,aAAzB,CAHD,CADD;AAOA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\n\n/**\n * Renders the `core/comment-author-name` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {string} props.attributes.linkTarget Target of the link.\n * @param {string} props.attributes.textAlign Text alignment.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { isLink, linkTarget, textAlign },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tconst displayName = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\n\t\t\tconst comment = getEntityRecord( 'root', 'comment', commentId );\n\t\t\tconst authorName = comment?.author_name; // eslint-disable-line camelcase\n\n\t\t\tif ( comment && ! authorName ) {\n\t\t\t\tconst user = getEntityRecord( 'root', 'user', comment.author );\n\t\t\t\treturn user?.name ?? __( 'Anonymous' );\n\t\t\t}\n\t\t\treturn authorName ?? '';\n\t\t},\n\t\t[ commentId ]\n\t);\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Link to authors URL' ) }\n\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\tchecked={ isLink }\n\t\t\t\t/>\n\t\t\t\t{ isLink && (\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! displayName ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ blockControls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ _x( 'Comment Author', 'block title' ) }\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst displayAuthor = isLink ? (\n\t\t<a\n\t\t\thref=\"#comment-author-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t>\n\t\t\t{ displayName }\n\t\t</a>\n\t) : (\n\t\t{ displayName }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t{ blockControls }\n\t\t\t<div { ...blockProps }>{ displayAuthor }</div>\n\t\t</>\n\t);\n}\n"]}
@@ -65,7 +65,7 @@ function Edit(_ref) {
65
65
  })));
66
66
 
67
67
  if (!commentId || !date) {
68
- return (0, _element.createElement)(_element.Fragment, null, inspectorControls, (0, _element.createElement)("div", blockProps, (0, _element.createElement)("p", null, (0, _i18n._x)('Comment Date', 'block title'))));
68
+ return (0, _element.createElement)(_element.Fragment, null, inspectorControls, (0, _element.createElement)("div", blockProps, (0, _element.createElement)("time", null, (0, _i18n._x)('Comment Date', 'block title'))));
69
69
  }
70
70
 
71
71
  let commentDate = (0, _element.createElement)("time", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/comment-date/edit.js"],"names":["Edit","attributes","format","isLink","context","commentId","setAttributes","blockProps","date","siteFormat","formats","inspectorControls","nextFormat","commentDate","event","preventDefault"],"mappings":";;;;;;;;;AAGA;;AACA;;AAIA;;AAKA;;AACA;;AAdA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,IAAT,OAIX;AAAA,MAJ0B;AAC7BC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KADiB;AAE7BC,IAAAA,OAAO,EAAE;AAAEC,MAAAA;AAAF,KAFoB;AAG7BC,IAAAA;AAH6B,GAI1B;AACH,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAM,CAAEC,IAAF,IAAW,6BAAe,MAAf,EAAuB,SAAvB,EAAkC,MAAlC,EAA0CH,SAA1C,CAAjB;AACA,QAAM,CAAEI,UAAU,GAAG,uCAAkBC,OAAlB,CAA0BF,IAAzC,IAAkD,6BACvD,MADuD,EAEvD,MAFuD,EAGvD,aAHuD,CAAxD;AAMA,QAAMG,iBAAiB,GACtB,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,2CAAD;AACC,IAAA,MAAM,EAAGT,MADV;AAEC,IAAA,aAAa,EAAGO,UAFjB;AAGC,IAAA,QAAQ,EAAKG,UAAF,IACVN,aAAa,CAAE;AAAEJ,MAAAA,MAAM,EAAEU;AAAV,KAAF;AAJf,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,QAAQ,EAAG,MAAMN,aAAa,CAAE;AAAEH,MAAAA,MAAM,EAAE,CAAEA;AAAZ,KAAF,CAF/B;AAGC,IAAA,OAAO,EAAGA;AAHX,IARD,CADD,CADD;;AAmBA,MAAK,CAAEE,SAAF,IAAe,CAAEG,IAAtB,EAA6B;AAC5B,WACC,qDACGG,iBADH,EAEC,mCAAUJ,UAAV,EACC,uCAAK,cAAI,cAAJ,EAAoB,aAApB,CAAL,CADD,CAFD,CADD;AAQA;;AAED,MAAIM,WAAW,GACd;AAAM,IAAA,QAAQ,EAAG,oBAAU,GAAV,EAAeL,IAAf;AAAjB,KACG,oBAAUN,MAAM,IAAIO,UAApB,EAAgCD,IAAhC,CADH,CADD;;AAMA,MAAKL,MAAL,EAAc;AACbU,IAAAA,WAAW,GACV;AACC,MAAA,IAAI,EAAC,2BADN;AAEC,MAAA,OAAO,EAAKC,KAAF,IAAaA,KAAK,CAACC,cAAN;AAFxB,OAIGF,WAJH,CADD;AAQA;;AAED,SACC,qDACGF,iBADH,EAEC,mCAAUJ,UAAV,EAAyBM,WAAzB,CAFD,CADD;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport {\n\tdateI18n,\n\t__experimentalGetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Renders the `core/comment-date` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.format Format of the date.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { format, isLink },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\n\tconst [ date ] = useEntityProp( 'root', 'comment', 'date', commentId );\n\tconst [ siteFormat = getDateSettings().formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<DateFormatPicker\n\t\t\t\t\tformat={ format }\n\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Link to comment' ) }\n\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\tchecked={ isLink }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! date ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ _x( 'Comment Date', 'block title' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tlet commentDate = (\n\t\t<time dateTime={ dateI18n( 'c', date ) }>\n\t\t\t{ dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t);\n\n\tif ( isLink ) {\n\t\tcommentDate = (\n\t\t\t<a\n\t\t\t\thref=\"#comment-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ commentDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>{ commentDate }</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/comment-date/edit.js"],"names":["Edit","attributes","format","isLink","context","commentId","setAttributes","blockProps","date","siteFormat","formats","inspectorControls","nextFormat","commentDate","event","preventDefault"],"mappings":";;;;;;;;;AAGA;;AACA;;AAIA;;AAKA;;AACA;;AAdA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,IAAT,OAIX;AAAA,MAJ0B;AAC7BC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KADiB;AAE7BC,IAAAA,OAAO,EAAE;AAAEC,MAAAA;AAAF,KAFoB;AAG7BC,IAAAA;AAH6B,GAI1B;AACH,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAM,CAAEC,IAAF,IAAW,6BAAe,MAAf,EAAuB,SAAvB,EAAkC,MAAlC,EAA0CH,SAA1C,CAAjB;AACA,QAAM,CAAEI,UAAU,GAAG,uCAAkBC,OAAlB,CAA0BF,IAAzC,IAAkD,6BACvD,MADuD,EAEvD,MAFuD,EAGvD,aAHuD,CAAxD;AAMA,QAAMG,iBAAiB,GACtB,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,2CAAD;AACC,IAAA,MAAM,EAAGT,MADV;AAEC,IAAA,aAAa,EAAGO,UAFjB;AAGC,IAAA,QAAQ,EAAKG,UAAF,IACVN,aAAa,CAAE;AAAEJ,MAAAA,MAAM,EAAEU;AAAV,KAAF;AAJf,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,QAAQ,EAAG,MAAMN,aAAa,CAAE;AAAEH,MAAAA,MAAM,EAAE,CAAEA;AAAZ,KAAF,CAF/B;AAGC,IAAA,OAAO,EAAGA;AAHX,IARD,CADD,CADD;;AAmBA,MAAK,CAAEE,SAAF,IAAe,CAAEG,IAAtB,EAA6B;AAC5B,WACC,qDACGG,iBADH,EAEC,mCAAUJ,UAAV,EACC,0CAAQ,cAAI,cAAJ,EAAoB,aAApB,CAAR,CADD,CAFD,CADD;AAQA;;AAED,MAAIM,WAAW,GACd;AAAM,IAAA,QAAQ,EAAG,oBAAU,GAAV,EAAeL,IAAf;AAAjB,KACG,oBAAUN,MAAM,IAAIO,UAApB,EAAgCD,IAAhC,CADH,CADD;;AAMA,MAAKL,MAAL,EAAc;AACbU,IAAAA,WAAW,GACV;AACC,MAAA,IAAI,EAAC,2BADN;AAEC,MAAA,OAAO,EAAKC,KAAF,IAAaA,KAAK,CAACC,cAAN;AAFxB,OAIGF,WAJH,CADD;AAQA;;AAED,SACC,qDACGF,iBADH,EAEC,mCAAUJ,UAAV,EAAyBM,WAAzB,CAFD,CADD;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport {\n\tdateI18n,\n\t__experimentalGetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Renders the `core/comment-date` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.setAttributes Callback for updating block attributes.\n * @param {Object} props.attributes Block attributes.\n * @param {string} props.attributes.format Format of the date.\n * @param {string} props.attributes.isLink Whether the author name should be linked.\n * @param {Object} props.context Inherited context.\n * @param {string} props.context.commentId The comment ID.\n *\n * @return {JSX.Element} React element.\n */\nexport default function Edit( {\n\tattributes: { format, isLink },\n\tcontext: { commentId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\n\tconst [ date ] = useEntityProp( 'root', 'comment', 'date', commentId );\n\tconst [ siteFormat = getDateSettings().formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<DateFormatPicker\n\t\t\t\t\tformat={ format }\n\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Link to comment' ) }\n\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\tchecked={ isLink }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tif ( ! commentId || ! date ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<time>{ _x( 'Comment Date', 'block title' ) }</time>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tlet commentDate = (\n\t\t<time dateTime={ dateI18n( 'c', date ) }>\n\t\t\t{ dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t);\n\n\tif ( isLink ) {\n\t\tcommentDate = (\n\t\t\t<a\n\t\t\t\thref=\"#comment-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ commentDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...blockProps }>{ commentDate }</div>\n\t\t</>\n\t);\n}\n"]}