@wordpress/block-library 9.17.0 → 9.18.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 (489) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/archives/index.js +9 -0
  3. package/build/archives/index.js.map +1 -1
  4. package/build/avatar/user-control.js +0 -1
  5. package/build/avatar/user-control.js.map +1 -1
  6. package/build/block/deprecated.js +0 -1
  7. package/build/block/deprecated.js.map +1 -1
  8. package/build/block/edit.js +0 -1
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/deprecated.js +0 -1
  11. package/build/button/deprecated.js.map +1 -1
  12. package/build/buttons/transforms.js +0 -1
  13. package/build/buttons/transforms.js.map +1 -1
  14. package/build/categories/edit.js +0 -1
  15. package/build/categories/edit.js.map +1 -1
  16. package/build/categories/index.js +9 -0
  17. package/build/categories/index.js.map +1 -1
  18. package/build/column/column-preview.native.js +0 -1
  19. package/build/column/column-preview.native.js.map +1 -1
  20. package/build/columns/columnCalculations.native.js +0 -1
  21. package/build/columns/columnCalculations.native.js.map +1 -1
  22. package/build/columns/deprecated.js +0 -1
  23. package/build/columns/deprecated.js.map +1 -1
  24. package/build/columns/edit.js +0 -1
  25. package/build/columns/edit.js.map +1 -1
  26. package/build/columns/edit.native.js +0 -1
  27. package/build/columns/edit.native.js.map +1 -1
  28. package/build/columns/transforms.js +0 -1
  29. package/build/columns/transforms.js.map +1 -1
  30. package/build/columns/utils.js +0 -1
  31. package/build/columns/utils.js.map +1 -1
  32. package/build/comment-template/edit.js +0 -1
  33. package/build/comment-template/edit.js.map +1 -1
  34. package/build/comment-template/hooks.js +0 -1
  35. package/build/comment-template/hooks.js.map +1 -1
  36. package/build/comment-template/util.js +0 -1
  37. package/build/comment-template/util.js.map +1 -1
  38. package/build/details/transforms.js +0 -1
  39. package/build/details/transforms.js.map +1 -1
  40. package/build/embed/embed-placeholder.native.js +0 -1
  41. package/build/embed/embed-placeholder.native.js.map +1 -1
  42. package/build/embed/util.js +0 -1
  43. package/build/embed/util.js.map +1 -1
  44. package/build/embed/variations.js +0 -1
  45. package/build/embed/variations.js.map +1 -1
  46. package/build/embed/wp-embed-preview.js +0 -1
  47. package/build/embed/wp-embed-preview.js.map +1 -1
  48. package/build/file/transforms.js +0 -1
  49. package/build/file/transforms.js.map +1 -1
  50. package/build/footnotes/edit.js +0 -1
  51. package/build/footnotes/edit.js.map +1 -1
  52. package/build/freeform/modal.js +0 -1
  53. package/build/freeform/modal.js.map +1 -1
  54. package/build/gallery/deprecated.js +0 -1
  55. package/build/gallery/deprecated.js.map +1 -1
  56. package/build/gallery/edit.js +0 -1
  57. package/build/gallery/edit.js.map +1 -1
  58. package/build/gallery/shared.js +0 -1
  59. package/build/gallery/shared.js.map +1 -1
  60. package/build/gallery/transforms.js +0 -1
  61. package/build/gallery/transforms.js.map +1 -1
  62. package/build/gallery/use-get-media.js +0 -1
  63. package/build/gallery/use-get-media.js.map +1 -1
  64. package/build/gallery/use-get-media.native.js +0 -1
  65. package/build/gallery/use-get-media.native.js.map +1 -1
  66. package/build/gallery/use-get-new-images.js +0 -1
  67. package/build/gallery/use-get-new-images.js.map +1 -1
  68. package/build/gallery/use-image-sizes.js +0 -1
  69. package/build/gallery/use-image-sizes.js.map +1 -1
  70. package/build/group/placeholder.js +0 -1
  71. package/build/group/placeholder.js.map +1 -1
  72. package/build/group/transforms.js +0 -1
  73. package/build/group/transforms.js.map +1 -1
  74. package/build/heading/transforms.js +0 -1
  75. package/build/heading/transforms.js.map +1 -1
  76. package/build/html/preview.js +0 -1
  77. package/build/html/preview.js.map +1 -1
  78. package/build/image/edit.js +0 -1
  79. package/build/image/edit.js.map +1 -1
  80. package/build/image/edit.native.js +0 -1
  81. package/build/image/edit.native.js.map +1 -1
  82. package/build/image/image.js +0 -1
  83. package/build/image/image.js.map +1 -1
  84. package/build/image/transforms.js +0 -1
  85. package/build/image/transforms.js.map +1 -1
  86. package/build/image/utils.js +0 -1
  87. package/build/image/utils.js.map +1 -1
  88. package/build/index.native.js +0 -1
  89. package/build/index.native.js.map +1 -1
  90. package/build/latest-posts/edit.js +0 -1
  91. package/build/latest-posts/edit.js.map +1 -1
  92. package/build/list/transforms.js +0 -1
  93. package/build/list/transforms.js.map +1 -1
  94. package/build/list/utils.js +0 -1
  95. package/build/list/utils.js.map +1 -1
  96. package/build/list-item/hooks/use-indent-list-item.js +0 -1
  97. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  98. package/build/list-item/transforms.js +0 -1
  99. package/build/list-item/transforms.js.map +1 -1
  100. package/build/media-text/edit.js +0 -1
  101. package/build/media-text/edit.js.map +1 -1
  102. package/build/more/save.js +0 -1
  103. package/build/more/save.js.map +1 -1
  104. package/build/navigation/deprecated.js +0 -1
  105. package/build/navigation/deprecated.js.map +1 -1
  106. package/build/navigation/edit/index.js +0 -1
  107. package/build/navigation/edit/index.js.map +1 -1
  108. package/build/navigation/edit/use-generate-default-navigation-title.js +0 -1
  109. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  110. package/build/navigation/menu-items-to-blocks.js +0 -1
  111. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  112. package/build/navigation/use-template-part-area-label.js +0 -1
  113. package/build/navigation/use-template-part-area-label.js.map +1 -1
  114. package/build/navigation/view.js +0 -1
  115. package/build/navigation/view.js.map +1 -1
  116. package/build/navigation-link/hooks.js +0 -1
  117. package/build/navigation-link/hooks.js.map +1 -1
  118. package/build/page-list/edit.js +0 -1
  119. package/build/page-list/edit.js.map +1 -1
  120. package/build/page-list/use-convert-to-navigation-links.js +0 -1
  121. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  122. package/build/pattern/edit.js +0 -1
  123. package/build/pattern/edit.js.map +1 -1
  124. package/build/post-author/edit.js +0 -1
  125. package/build/post-author/edit.js.map +1 -1
  126. package/build/post-featured-image/dimension-controls.js +2 -39
  127. package/build/post-featured-image/dimension-controls.js.map +1 -1
  128. package/build/post-featured-image/edit.js +45 -3
  129. package/build/post-featured-image/edit.js.map +1 -1
  130. package/build/post-navigation-link/edit.js +0 -1
  131. package/build/post-navigation-link/edit.js.map +1 -1
  132. package/build/post-navigation-link/variations.js +0 -1
  133. package/build/post-navigation-link/variations.js.map +1 -1
  134. package/build/post-template/edit.js +14 -7
  135. package/build/post-template/edit.js.map +1 -1
  136. package/build/post-terms/edit.js +0 -1
  137. package/build/post-terms/edit.js.map +1 -1
  138. package/build/post-terms/hooks.js +0 -1
  139. package/build/post-terms/hooks.js.map +1 -1
  140. package/build/pullquote/blockquote.native.js +0 -1
  141. package/build/pullquote/blockquote.native.js.map +1 -1
  142. package/build/pullquote/transforms.js +0 -1
  143. package/build/pullquote/transforms.js.map +1 -1
  144. package/build/query/deprecated.js +0 -1
  145. package/build/query/deprecated.js.map +1 -1
  146. package/build/query/edit/inspector-controls/author-control.js +0 -1
  147. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  148. package/build/query/edit/inspector-controls/format-controls.js +0 -1
  149. package/build/query/edit/inspector-controls/format-controls.js.map +1 -1
  150. package/build/query/edit/inspector-controls/index.js +0 -1
  151. package/build/query/edit/inspector-controls/index.js.map +1 -1
  152. package/build/query/edit/inspector-controls/parent-control.js +0 -1
  153. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  154. package/build/query/edit/inspector-controls/sticky-control.js +3 -0
  155. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  156. package/build/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  157. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  158. package/build/query/utils.js +0 -1
  159. package/build/query/utils.js.map +1 -1
  160. package/build/query-title/variations.js +0 -1
  161. package/build/query-title/variations.js.map +1 -1
  162. package/build/quote/deprecated.js +0 -1
  163. package/build/quote/deprecated.js.map +1 -1
  164. package/build/quote/transforms.js +0 -1
  165. package/build/quote/transforms.js.map +1 -1
  166. package/build/rss/edit.js +15 -1
  167. package/build/rss/edit.js.map +1 -1
  168. package/build/rss/index.js +14 -0
  169. package/build/rss/index.js.map +1 -1
  170. package/build/social-link/icons/discord.js +23 -0
  171. package/build/social-link/icons/discord.js.map +1 -0
  172. package/build/social-link/icons/index.js +11 -0
  173. package/build/social-link/icons/index.js.map +1 -1
  174. package/build/social-link/social-list.js +0 -1
  175. package/build/social-link/social-list.js.map +1 -1
  176. package/build/social-link/variations.js +7 -1
  177. package/build/social-link/variations.js.map +1 -1
  178. package/build/social-links/edit.js +0 -1
  179. package/build/social-links/edit.js.map +1 -1
  180. package/build/social-links/edit.native.js +0 -1
  181. package/build/social-links/edit.native.js.map +1 -1
  182. package/build/spacer/controls.js +0 -1
  183. package/build/spacer/controls.js.map +1 -1
  184. package/build/table/deprecated.js +0 -1
  185. package/build/table/deprecated.js.map +1 -1
  186. package/build/table/edit.js +0 -1
  187. package/build/table/edit.js.map +1 -1
  188. package/build/table/save.js +0 -1
  189. package/build/table/save.js.map +1 -1
  190. package/build/table/state.js +0 -1
  191. package/build/table/state.js.map +1 -1
  192. package/build/table/transforms.js +0 -1
  193. package/build/table/transforms.js.map +1 -1
  194. package/build/table-of-contents/list.js +0 -1
  195. package/build/table-of-contents/list.js.map +1 -1
  196. package/build/table-of-contents/utils.js +0 -1
  197. package/build/table-of-contents/utils.js.map +1 -1
  198. package/build/tag-cloud/edit.js +0 -1
  199. package/build/tag-cloud/edit.js.map +1 -1
  200. package/build/template-part/edit/advanced-controls.js +0 -1
  201. package/build/template-part/edit/advanced-controls.js.map +1 -1
  202. package/build/template-part/edit/import-controls.js +0 -1
  203. package/build/template-part/edit/import-controls.js.map +1 -1
  204. package/build/template-part/edit/selection-modal.js +0 -1
  205. package/build/template-part/edit/selection-modal.js.map +1 -1
  206. package/build/template-part/edit/utils/hooks.js +0 -1
  207. package/build/template-part/edit/utils/hooks.js.map +1 -1
  208. package/build/template-part/edit/utils/transformers.js +0 -1
  209. package/build/template-part/edit/utils/transformers.js.map +1 -1
  210. package/build/template-part/variations.js +0 -1
  211. package/build/template-part/variations.js.map +1 -1
  212. package/build/text-columns/edit.js +0 -1
  213. package/build/text-columns/edit.js.map +1 -1
  214. package/build/text-columns/save.js +0 -1
  215. package/build/text-columns/save.js.map +1 -1
  216. package/build/text-columns/transforms.js +0 -1
  217. package/build/text-columns/transforms.js.map +1 -1
  218. package/build/utils/get-transformed-metadata.js +0 -1
  219. package/build/utils/get-transformed-metadata.js.map +1 -1
  220. package/build/utils/search-patterns.js +0 -1
  221. package/build/utils/search-patterns.js.map +1 -1
  222. package/build/utils/transformation-categories.native.js +0 -1
  223. package/build/utils/transformation-categories.native.js.map +1 -1
  224. package/build/video/tracks-editor.js +0 -1
  225. package/build/video/tracks-editor.js.map +1 -1
  226. package/build/video/tracks.js +0 -1
  227. package/build/video/tracks.js.map +1 -1
  228. package/build-module/archives/index.js +9 -0
  229. package/build-module/archives/index.js.map +1 -1
  230. package/build-module/avatar/user-control.js +0 -1
  231. package/build-module/avatar/user-control.js.map +1 -1
  232. package/build-module/block/deprecated.js +0 -1
  233. package/build-module/block/deprecated.js.map +1 -1
  234. package/build-module/block/edit.js +0 -1
  235. package/build-module/block/edit.js.map +1 -1
  236. package/build-module/button/deprecated.js +0 -1
  237. package/build-module/button/deprecated.js.map +1 -1
  238. package/build-module/buttons/transforms.js +0 -1
  239. package/build-module/buttons/transforms.js.map +1 -1
  240. package/build-module/categories/edit.js +0 -1
  241. package/build-module/categories/edit.js.map +1 -1
  242. package/build-module/categories/index.js +9 -0
  243. package/build-module/categories/index.js.map +1 -1
  244. package/build-module/column/column-preview.native.js +0 -1
  245. package/build-module/column/column-preview.native.js.map +1 -1
  246. package/build-module/columns/columnCalculations.native.js +0 -1
  247. package/build-module/columns/columnCalculations.native.js.map +1 -1
  248. package/build-module/columns/deprecated.js +0 -1
  249. package/build-module/columns/deprecated.js.map +1 -1
  250. package/build-module/columns/edit.js +0 -1
  251. package/build-module/columns/edit.js.map +1 -1
  252. package/build-module/columns/edit.native.js +0 -1
  253. package/build-module/columns/edit.native.js.map +1 -1
  254. package/build-module/columns/transforms.js +0 -1
  255. package/build-module/columns/transforms.js.map +1 -1
  256. package/build-module/columns/utils.js +0 -1
  257. package/build-module/columns/utils.js.map +1 -1
  258. package/build-module/comment-template/edit.js +0 -1
  259. package/build-module/comment-template/edit.js.map +1 -1
  260. package/build-module/comment-template/hooks.js +0 -1
  261. package/build-module/comment-template/hooks.js.map +1 -1
  262. package/build-module/comment-template/util.js +0 -1
  263. package/build-module/comment-template/util.js.map +1 -1
  264. package/build-module/details/transforms.js +0 -1
  265. package/build-module/details/transforms.js.map +1 -1
  266. package/build-module/embed/embed-placeholder.native.js +0 -1
  267. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  268. package/build-module/embed/util.js +0 -1
  269. package/build-module/embed/util.js.map +1 -1
  270. package/build-module/embed/variations.js +0 -1
  271. package/build-module/embed/variations.js.map +1 -1
  272. package/build-module/embed/wp-embed-preview.js +0 -1
  273. package/build-module/embed/wp-embed-preview.js.map +1 -1
  274. package/build-module/file/transforms.js +0 -1
  275. package/build-module/file/transforms.js.map +1 -1
  276. package/build-module/footnotes/edit.js +0 -1
  277. package/build-module/footnotes/edit.js.map +1 -1
  278. package/build-module/freeform/modal.js +0 -1
  279. package/build-module/freeform/modal.js.map +1 -1
  280. package/build-module/gallery/deprecated.js +0 -1
  281. package/build-module/gallery/deprecated.js.map +1 -1
  282. package/build-module/gallery/edit.js +0 -1
  283. package/build-module/gallery/edit.js.map +1 -1
  284. package/build-module/gallery/shared.js +0 -1
  285. package/build-module/gallery/shared.js.map +1 -1
  286. package/build-module/gallery/transforms.js +0 -1
  287. package/build-module/gallery/transforms.js.map +1 -1
  288. package/build-module/gallery/use-get-media.js +0 -1
  289. package/build-module/gallery/use-get-media.js.map +1 -1
  290. package/build-module/gallery/use-get-media.native.js +0 -1
  291. package/build-module/gallery/use-get-media.native.js.map +1 -1
  292. package/build-module/gallery/use-get-new-images.js +0 -1
  293. package/build-module/gallery/use-get-new-images.js.map +1 -1
  294. package/build-module/gallery/use-image-sizes.js +0 -1
  295. package/build-module/gallery/use-image-sizes.js.map +1 -1
  296. package/build-module/group/placeholder.js +0 -1
  297. package/build-module/group/placeholder.js.map +1 -1
  298. package/build-module/group/transforms.js +0 -1
  299. package/build-module/group/transforms.js.map +1 -1
  300. package/build-module/heading/transforms.js +0 -1
  301. package/build-module/heading/transforms.js.map +1 -1
  302. package/build-module/html/preview.js +0 -1
  303. package/build-module/html/preview.js.map +1 -1
  304. package/build-module/image/edit.js +0 -1
  305. package/build-module/image/edit.js.map +1 -1
  306. package/build-module/image/edit.native.js +0 -1
  307. package/build-module/image/edit.native.js.map +1 -1
  308. package/build-module/image/image.js +0 -1
  309. package/build-module/image/image.js.map +1 -1
  310. package/build-module/image/transforms.js +0 -1
  311. package/build-module/image/transforms.js.map +1 -1
  312. package/build-module/image/utils.js +0 -1
  313. package/build-module/image/utils.js.map +1 -1
  314. package/build-module/index.native.js +0 -1
  315. package/build-module/index.native.js.map +1 -1
  316. package/build-module/latest-posts/edit.js +0 -1
  317. package/build-module/latest-posts/edit.js.map +1 -1
  318. package/build-module/list/transforms.js +0 -1
  319. package/build-module/list/transforms.js.map +1 -1
  320. package/build-module/list/utils.js +0 -1
  321. package/build-module/list/utils.js.map +1 -1
  322. package/build-module/list-item/hooks/use-indent-list-item.js +0 -1
  323. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  324. package/build-module/list-item/transforms.js +0 -1
  325. package/build-module/list-item/transforms.js.map +1 -1
  326. package/build-module/media-text/edit.js +0 -1
  327. package/build-module/media-text/edit.js.map +1 -1
  328. package/build-module/more/save.js +0 -1
  329. package/build-module/more/save.js.map +1 -1
  330. package/build-module/navigation/deprecated.js +0 -1
  331. package/build-module/navigation/deprecated.js.map +1 -1
  332. package/build-module/navigation/edit/index.js +0 -1
  333. package/build-module/navigation/edit/index.js.map +1 -1
  334. package/build-module/navigation/edit/use-generate-default-navigation-title.js +0 -1
  335. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  336. package/build-module/navigation/menu-items-to-blocks.js +0 -1
  337. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  338. package/build-module/navigation/use-template-part-area-label.js +0 -1
  339. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  340. package/build-module/navigation/view.js +0 -1
  341. package/build-module/navigation/view.js.map +1 -1
  342. package/build-module/navigation-link/hooks.js +0 -1
  343. package/build-module/navigation-link/hooks.js.map +1 -1
  344. package/build-module/page-list/edit.js +0 -1
  345. package/build-module/page-list/edit.js.map +1 -1
  346. package/build-module/page-list/use-convert-to-navigation-links.js +0 -1
  347. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  348. package/build-module/pattern/edit.js +0 -1
  349. package/build-module/pattern/edit.js.map +1 -1
  350. package/build-module/post-author/edit.js +0 -1
  351. package/build-module/post-author/edit.js.map +1 -1
  352. package/build-module/post-featured-image/dimension-controls.js +3 -40
  353. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  354. package/build-module/post-featured-image/edit.js +46 -4
  355. package/build-module/post-featured-image/edit.js.map +1 -1
  356. package/build-module/post-navigation-link/edit.js +0 -1
  357. package/build-module/post-navigation-link/edit.js.map +1 -1
  358. package/build-module/post-navigation-link/variations.js +0 -1
  359. package/build-module/post-navigation-link/variations.js.map +1 -1
  360. package/build-module/post-template/edit.js +14 -7
  361. package/build-module/post-template/edit.js.map +1 -1
  362. package/build-module/post-terms/edit.js +0 -1
  363. package/build-module/post-terms/edit.js.map +1 -1
  364. package/build-module/post-terms/hooks.js +0 -1
  365. package/build-module/post-terms/hooks.js.map +1 -1
  366. package/build-module/pullquote/blockquote.native.js +0 -1
  367. package/build-module/pullquote/blockquote.native.js.map +1 -1
  368. package/build-module/pullquote/transforms.js +0 -1
  369. package/build-module/pullquote/transforms.js.map +1 -1
  370. package/build-module/query/deprecated.js +0 -1
  371. package/build-module/query/deprecated.js.map +1 -1
  372. package/build-module/query/edit/inspector-controls/author-control.js +0 -1
  373. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  374. package/build-module/query/edit/inspector-controls/format-controls.js +0 -1
  375. package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -1
  376. package/build-module/query/edit/inspector-controls/index.js +0 -1
  377. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  378. package/build-module/query/edit/inspector-controls/parent-control.js +0 -1
  379. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  380. package/build-module/query/edit/inspector-controls/sticky-control.js +3 -0
  381. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  382. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  383. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  384. package/build-module/query/utils.js +0 -1
  385. package/build-module/query/utils.js.map +1 -1
  386. package/build-module/query-title/variations.js +0 -1
  387. package/build-module/query-title/variations.js.map +1 -1
  388. package/build-module/quote/deprecated.js +0 -1
  389. package/build-module/quote/deprecated.js.map +1 -1
  390. package/build-module/quote/transforms.js +0 -1
  391. package/build-module/quote/transforms.js.map +1 -1
  392. package/build-module/rss/edit.js +15 -1
  393. package/build-module/rss/edit.js.map +1 -1
  394. package/build-module/rss/index.js +14 -0
  395. package/build-module/rss/index.js.map +1 -1
  396. package/build-module/social-link/icons/discord.js +15 -0
  397. package/build-module/social-link/icons/discord.js.map +1 -0
  398. package/build-module/social-link/icons/index.js +1 -0
  399. package/build-module/social-link/icons/index.js.map +1 -1
  400. package/build-module/social-link/social-list.js +0 -1
  401. package/build-module/social-link/social-list.js.map +1 -1
  402. package/build-module/social-link/variations.js +8 -2
  403. package/build-module/social-link/variations.js.map +1 -1
  404. package/build-module/social-links/edit.js +0 -1
  405. package/build-module/social-links/edit.js.map +1 -1
  406. package/build-module/social-links/edit.native.js +0 -1
  407. package/build-module/social-links/edit.native.js.map +1 -1
  408. package/build-module/spacer/controls.js +0 -1
  409. package/build-module/spacer/controls.js.map +1 -1
  410. package/build-module/table/deprecated.js +0 -1
  411. package/build-module/table/deprecated.js.map +1 -1
  412. package/build-module/table/edit.js +0 -1
  413. package/build-module/table/edit.js.map +1 -1
  414. package/build-module/table/save.js +0 -1
  415. package/build-module/table/save.js.map +1 -1
  416. package/build-module/table/state.js +0 -1
  417. package/build-module/table/state.js.map +1 -1
  418. package/build-module/table/transforms.js +0 -1
  419. package/build-module/table/transforms.js.map +1 -1
  420. package/build-module/table-of-contents/list.js +0 -1
  421. package/build-module/table-of-contents/list.js.map +1 -1
  422. package/build-module/table-of-contents/utils.js +0 -1
  423. package/build-module/table-of-contents/utils.js.map +1 -1
  424. package/build-module/tag-cloud/edit.js +0 -1
  425. package/build-module/tag-cloud/edit.js.map +1 -1
  426. package/build-module/template-part/edit/advanced-controls.js +0 -1
  427. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  428. package/build-module/template-part/edit/import-controls.js +0 -1
  429. package/build-module/template-part/edit/import-controls.js.map +1 -1
  430. package/build-module/template-part/edit/selection-modal.js +0 -1
  431. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  432. package/build-module/template-part/edit/utils/hooks.js +0 -1
  433. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  434. package/build-module/template-part/edit/utils/transformers.js +0 -1
  435. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  436. package/build-module/template-part/variations.js +0 -1
  437. package/build-module/template-part/variations.js.map +1 -1
  438. package/build-module/text-columns/edit.js +0 -1
  439. package/build-module/text-columns/edit.js.map +1 -1
  440. package/build-module/text-columns/save.js +0 -1
  441. package/build-module/text-columns/save.js.map +1 -1
  442. package/build-module/text-columns/transforms.js +0 -1
  443. package/build-module/text-columns/transforms.js.map +1 -1
  444. package/build-module/utils/get-transformed-metadata.js +0 -1
  445. package/build-module/utils/get-transformed-metadata.js.map +1 -1
  446. package/build-module/utils/search-patterns.js +0 -1
  447. package/build-module/utils/search-patterns.js.map +1 -1
  448. package/build-module/utils/transformation-categories.native.js +0 -1
  449. package/build-module/utils/transformation-categories.native.js.map +1 -1
  450. package/build-module/video/tracks-editor.js +0 -1
  451. package/build-module/video/tracks-editor.js.map +1 -1
  452. package/build-module/video/tracks.js +0 -1
  453. package/build-module/video/tracks.js.map +1 -1
  454. package/build-style/editor-rtl.css +10 -7
  455. package/build-style/editor.css +10 -7
  456. package/build-style/navigation-link/editor-rtl.css +1 -1
  457. package/build-style/navigation-link/editor.css +1 -1
  458. package/build-style/rss/editor-rtl.css +6 -0
  459. package/build-style/rss/editor.css +6 -0
  460. package/build-style/rss/style-rtl.css +6 -8
  461. package/build-style/rss/style.css +6 -8
  462. package/build-style/social-links/editor-rtl.css +3 -6
  463. package/build-style/social-links/editor.css +3 -6
  464. package/build-style/social-links/style-rtl.css +7 -0
  465. package/build-style/social-links/style.css +7 -0
  466. package/build-style/style-rtl.css +13 -8
  467. package/build-style/style.css +13 -8
  468. package/package.json +35 -35
  469. package/src/archives/block.json +9 -0
  470. package/src/block/index.php +1 -18
  471. package/src/categories/block.json +9 -0
  472. package/src/navigation/index.php +11 -69
  473. package/src/navigation-link/editor.scss +1 -1
  474. package/src/post-content/index.php +0 -23
  475. package/src/post-featured-image/dimension-controls.js +2 -43
  476. package/src/post-featured-image/edit.js +39 -3
  477. package/src/post-template/edit.js +15 -6
  478. package/src/query/edit/inspector-controls/sticky-control.js +1 -0
  479. package/src/rss/block.json +14 -0
  480. package/src/rss/edit.js +14 -1
  481. package/src/rss/editor.scss +7 -0
  482. package/src/rss/style.scss +6 -8
  483. package/src/social-link/icons/discord.js +10 -0
  484. package/src/social-link/icons/index.js +1 -0
  485. package/src/social-link/index.php +4 -0
  486. package/src/social-link/socials-with-bg.scss +5 -0
  487. package/src/social-link/socials-without-bg.scss +4 -0
  488. package/src/social-link/variations.js +7 -0
  489. package/src/social-links/editor.scss +4 -1
@@ -1 +1 @@
1
- {"version":3,"names":["ALIGNMENT_BREAKPOINTS","convertUnitToMobile","getColumnWidths","getWidths","styles","MAX_COLUMNS_NUM_IN_ROW","MIN_WIDTH","columnsContainer","minWidth","MARGIN","marginLeft","getColumnsInRow","width","columnCount","mobile","medium","Math","min","max","calculateContainerWidth","containerWidth","columnsInRow","getContentWidths","innerColumns","globalStyles","widths","columnWidthsWithUnits","columnWidths","columnWidthsValues","map","v","columnWidthsSum","reduce","acc","curr","columnRatios","colWidth","columnWidthsPerRatio","columnRatio","filteredColumnWidthsPerRatio","filter","columnWidthPerRatio","baseContainerWidth","length","minPercentageRatio","largeColumnsWidthsSum","ratio","index","columnWidth","maxColumnWidth","forEach","attributes","innerColumnAttributes","clientId","attributeWidth","proportionalRatio","percentageRatio","initialColumnWidth","round","newColumnWidth","floor","maxWidth"],"sources":["@wordpress/block-library/src/columns/columnCalculations.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tALIGNMENT_BREAKPOINTS,\n\tconvertUnitToMobile,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getColumnWidths, getWidths } from './utils';\nimport styles from './editor.scss';\n\n/**\n * Maximum number of columns in a row\n *\n * @type {number}\n */\nconst MAX_COLUMNS_NUM_IN_ROW = 3;\n\n/**\n * Minimum width of column\n *\n * @type {number}\n */\nconst MIN_WIDTH = styles.columnsContainer?.minWidth;\n\n/**\n * Container margin value\n *\n * @type {number}\n */\nconst MARGIN = styles.columnsContainer?.marginLeft;\n\nexport const getColumnsInRow = ( width, columnCount ) => {\n\tif ( width ) {\n\t\tif ( width < ALIGNMENT_BREAKPOINTS.mobile ) {\n\t\t\t// show only 1 Column in row for mobile breakpoint container width\n\t\t\treturn 1;\n\t\t} else if ( width <= ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t// show the maximum number of columns in a row for large breakpoint container width\n\t\t\treturn Math.min(\n\t\t\t\tMath.max( 1, columnCount ),\n\t\t\t\tMAX_COLUMNS_NUM_IN_ROW\n\t\t\t);\n\t\t}\n\t\t// Show all Column in one row.\n\t\treturn columnCount;\n\t}\n};\n\nexport const calculateContainerWidth = ( containerWidth, columnsInRow ) =>\n\t2 * MARGIN + containerWidth - columnsInRow * 2 * MARGIN;\n\nexport const getContentWidths = (\n\tcolumnsInRow,\n\twidth,\n\tcolumnCount,\n\tinnerColumns,\n\tglobalStyles\n) => {\n\tconst widths = {};\n\tconst columnWidthsWithUnits = getWidths( innerColumns, false );\n\tconst columnWidths = getColumnWidths( innerColumns, columnCount );\n\n\t// Array of column width attribute values\n\tconst columnWidthsValues = columnWidthsWithUnits.map( ( v ) =>\n\t\tconvertUnitToMobile( { width }, globalStyles, v )\n\t);\n\n\t// The sum of column width attribute values\n\tconst columnWidthsSum = columnWidthsValues.reduce(\n\t\t( acc, curr ) => acc + curr,\n\t\t0\n\t);\n\n\t// Array of ratios of each column width attribute value to their sum\n\tconst columnRatios = columnWidthsValues.map(\n\t\t( colWidth ) => colWidth / columnWidthsSum\n\t);\n\n\t// Array of calculated column width for its ratio\n\tconst columnWidthsPerRatio = columnRatios.map(\n\t\t( columnRatio ) =>\n\t\t\tcolumnRatio * calculateContainerWidth( width, columnsInRow )\n\t);\n\n\t// Array of columns whose calculated width is lower than minimum width value\n\tconst filteredColumnWidthsPerRatio = columnWidthsPerRatio.filter(\n\t\t( columnWidthPerRatio ) => columnWidthPerRatio <= MIN_WIDTH\n\t);\n\n\t// Container width to be divided. If there are some results within `filteredColumnWidthsPerRatio`\n\t// there is a need to reduce the main width by multiplying number\n\t// of results in `filteredColumnWidthsPerRatio` and minimum width value\n\tconst baseContainerWidth =\n\t\twidth - filteredColumnWidthsPerRatio.length * MIN_WIDTH;\n\n\t// The minimum percentage ratio for which column width is equal minimum width value\n\tconst minPercentageRatio =\n\t\tMIN_WIDTH / calculateContainerWidth( width, columnsInRow );\n\n\t// The sum of column widths which ratio is higher than `minPercentageRatio`\n\tconst largeColumnsWidthsSum = columnRatios\n\t\t.map( ( ratio, index ) => {\n\t\t\tif ( ratio > minPercentageRatio ) {\n\t\t\t\treturn columnWidthsValues[ index ];\n\t\t\t}\n\t\t\treturn 0;\n\t\t} )\n\t\t.reduce( ( acc, curr ) => acc + curr, 0 );\n\n\tconst containerWidth = calculateContainerWidth(\n\t\tbaseContainerWidth,\n\t\tcolumnsInRow\n\t);\n\n\tlet columnWidth =\n\t\tcalculateContainerWidth( width, columnsInRow ) / columnsInRow;\n\tlet maxColumnWidth = columnWidth;\n\n\tinnerColumns.forEach(\n\t\t( { attributes: innerColumnAttributes, clientId } ) => {\n\t\t\tconst attributeWidth = convertUnitToMobile(\n\t\t\t\t{ width },\n\t\t\t\tglobalStyles,\n\t\t\t\tinnerColumnAttributes.width || columnWidths[ clientId ]\n\t\t\t);\n\t\t\tconst proportionalRatio = attributeWidth / columnWidthsSum;\n\t\t\tconst percentageRatio = attributeWidth / width;\n\t\t\tconst initialColumnWidth = proportionalRatio * containerWidth;\n\n\t\t\tif ( columnCount === 1 && width > ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t// Exactly one column inside columns on the breakpoint higher than medium\n\t\t\t\t// has to take a percentage of the full width\n\t\t\t\tcolumnWidth = percentageRatio * containerWidth;\n\t\t\t} else if ( columnsInRow > 1 ) {\n\t\t\t\tif ( width > ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t\tif ( initialColumnWidth <= MIN_WIDTH ) {\n\t\t\t\t\t\t// Column width cannot be lower than minimum 32px\n\t\t\t\t\t\tcolumnWidth = MIN_WIDTH;\n\t\t\t\t\t} else if ( initialColumnWidth > MIN_WIDTH ) {\n\t\t\t\t\t\t// Column width has to be the result of multiplying the container width and\n\t\t\t\t\t\t// the ratio of attribute and the sum of widths of columns wider than 32px\n\t\t\t\t\t\tcolumnWidth =\n\t\t\t\t\t\t\t( attributeWidth / largeColumnsWidthsSum ) *\n\t\t\t\t\t\t\tcontainerWidth;\n\t\t\t\t\t}\n\n\t\t\t\t\tmaxColumnWidth = columnWidth;\n\n\t\t\t\t\tif ( Math.round( columnWidthsSum ) < width ) {\n\t\t\t\t\t\t// In case that column width attribute values does not exceed 100, each column\n\t\t\t\t\t\t// should have attribute percentage of container width\n\t\t\t\t\t\tconst newColumnWidth = percentageRatio * containerWidth;\n\t\t\t\t\t\tif ( newColumnWidth <= MIN_WIDTH ) {\n\t\t\t\t\t\t\tcolumnWidth = MIN_WIDTH;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcolumnWidth = newColumnWidth;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if ( width < ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t\t// On the breakpoint lower than medium each column inside columns\n\t\t\t\t\t// has to take equal part of container width\n\t\t\t\t\tcolumnWidth =\n\t\t\t\t\t\tcalculateContainerWidth( width, columnsInRow ) /\n\t\t\t\t\t\tcolumnsInRow;\n\t\t\t\t}\n\t\t\t}\n\t\t\twidths[ clientId ] = {\n\t\t\t\twidth: Math.floor( columnWidth ),\n\t\t\t\tmaxWidth: Math.floor( maxColumnWidth ),\n\t\t\t};\n\t\t}\n\t);\n\treturn widths;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ALIGNMENT_BREAKPOINTS","convertUnitToMobile","getColumnWidths","getWidths","styles","MAX_COLUMNS_NUM_IN_ROW","MIN_WIDTH","columnsContainer","minWidth","MARGIN","marginLeft","getColumnsInRow","width","columnCount","mobile","medium","Math","min","max","calculateContainerWidth","containerWidth","columnsInRow","getContentWidths","innerColumns","globalStyles","widths","columnWidthsWithUnits","columnWidths","columnWidthsValues","map","v","columnWidthsSum","reduce","acc","curr","columnRatios","colWidth","columnWidthsPerRatio","columnRatio","filteredColumnWidthsPerRatio","filter","columnWidthPerRatio","baseContainerWidth","length","minPercentageRatio","largeColumnsWidthsSum","ratio","index","columnWidth","maxColumnWidth","forEach","attributes","innerColumnAttributes","clientId","attributeWidth","proportionalRatio","percentageRatio","initialColumnWidth","round","newColumnWidth","floor","maxWidth"],"sources":["@wordpress/block-library/src/columns/columnCalculations.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tALIGNMENT_BREAKPOINTS,\n\tconvertUnitToMobile,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getColumnWidths, getWidths } from './utils';\nimport styles from './editor.scss';\n\n/**\n * Maximum number of columns in a row\n *\n * @type {number}\n */\nconst MAX_COLUMNS_NUM_IN_ROW = 3;\n\n/**\n * Minimum width of column\n *\n * @type {number}\n */\nconst MIN_WIDTH = styles.columnsContainer?.minWidth;\n\n/**\n * Container margin value\n *\n * @type {number}\n */\nconst MARGIN = styles.columnsContainer?.marginLeft;\n\nexport const getColumnsInRow = ( width, columnCount ) => {\n\tif ( width ) {\n\t\tif ( width < ALIGNMENT_BREAKPOINTS.mobile ) {\n\t\t\t// show only 1 Column in row for mobile breakpoint container width\n\t\t\treturn 1;\n\t\t} else if ( width <= ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t// show the maximum number of columns in a row for large breakpoint container width\n\t\t\treturn Math.min(\n\t\t\t\tMath.max( 1, columnCount ),\n\t\t\t\tMAX_COLUMNS_NUM_IN_ROW\n\t\t\t);\n\t\t}\n\t\t// Show all Column in one row.\n\t\treturn columnCount;\n\t}\n};\n\nexport const calculateContainerWidth = ( containerWidth, columnsInRow ) =>\n\t2 * MARGIN + containerWidth - columnsInRow * 2 * MARGIN;\n\nexport const getContentWidths = (\n\tcolumnsInRow,\n\twidth,\n\tcolumnCount,\n\tinnerColumns,\n\tglobalStyles\n) => {\n\tconst widths = {};\n\tconst columnWidthsWithUnits = getWidths( innerColumns, false );\n\tconst columnWidths = getColumnWidths( innerColumns, columnCount );\n\n\t// Array of column width attribute values\n\tconst columnWidthsValues = columnWidthsWithUnits.map( ( v ) =>\n\t\tconvertUnitToMobile( { width }, globalStyles, v )\n\t);\n\n\t// The sum of column width attribute values\n\tconst columnWidthsSum = columnWidthsValues.reduce(\n\t\t( acc, curr ) => acc + curr,\n\t\t0\n\t);\n\n\t// Array of ratios of each column width attribute value to their sum\n\tconst columnRatios = columnWidthsValues.map(\n\t\t( colWidth ) => colWidth / columnWidthsSum\n\t);\n\n\t// Array of calculated column width for its ratio\n\tconst columnWidthsPerRatio = columnRatios.map(\n\t\t( columnRatio ) =>\n\t\t\tcolumnRatio * calculateContainerWidth( width, columnsInRow )\n\t);\n\n\t// Array of columns whose calculated width is lower than minimum width value\n\tconst filteredColumnWidthsPerRatio = columnWidthsPerRatio.filter(\n\t\t( columnWidthPerRatio ) => columnWidthPerRatio <= MIN_WIDTH\n\t);\n\n\t// Container width to be divided. If there are some results within `filteredColumnWidthsPerRatio`\n\t// there is a need to reduce the main width by multiplying number\n\t// of results in `filteredColumnWidthsPerRatio` and minimum width value\n\tconst baseContainerWidth =\n\t\twidth - filteredColumnWidthsPerRatio.length * MIN_WIDTH;\n\n\t// The minimum percentage ratio for which column width is equal minimum width value\n\tconst minPercentageRatio =\n\t\tMIN_WIDTH / calculateContainerWidth( width, columnsInRow );\n\n\t// The sum of column widths which ratio is higher than `minPercentageRatio`\n\tconst largeColumnsWidthsSum = columnRatios\n\t\t.map( ( ratio, index ) => {\n\t\t\tif ( ratio > minPercentageRatio ) {\n\t\t\t\treturn columnWidthsValues[ index ];\n\t\t\t}\n\t\t\treturn 0;\n\t\t} )\n\t\t.reduce( ( acc, curr ) => acc + curr, 0 );\n\n\tconst containerWidth = calculateContainerWidth(\n\t\tbaseContainerWidth,\n\t\tcolumnsInRow\n\t);\n\n\tlet columnWidth =\n\t\tcalculateContainerWidth( width, columnsInRow ) / columnsInRow;\n\tlet maxColumnWidth = columnWidth;\n\n\tinnerColumns.forEach(\n\t\t( { attributes: innerColumnAttributes, clientId } ) => {\n\t\t\tconst attributeWidth = convertUnitToMobile(\n\t\t\t\t{ width },\n\t\t\t\tglobalStyles,\n\t\t\t\tinnerColumnAttributes.width || columnWidths[ clientId ]\n\t\t\t);\n\t\t\tconst proportionalRatio = attributeWidth / columnWidthsSum;\n\t\t\tconst percentageRatio = attributeWidth / width;\n\t\t\tconst initialColumnWidth = proportionalRatio * containerWidth;\n\n\t\t\tif ( columnCount === 1 && width > ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t// Exactly one column inside columns on the breakpoint higher than medium\n\t\t\t\t// has to take a percentage of the full width\n\t\t\t\tcolumnWidth = percentageRatio * containerWidth;\n\t\t\t} else if ( columnsInRow > 1 ) {\n\t\t\t\tif ( width > ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t\tif ( initialColumnWidth <= MIN_WIDTH ) {\n\t\t\t\t\t\t// Column width cannot be lower than minimum 32px\n\t\t\t\t\t\tcolumnWidth = MIN_WIDTH;\n\t\t\t\t\t} else if ( initialColumnWidth > MIN_WIDTH ) {\n\t\t\t\t\t\t// Column width has to be the result of multiplying the container width and\n\t\t\t\t\t\t// the ratio of attribute and the sum of widths of columns wider than 32px\n\t\t\t\t\t\tcolumnWidth =\n\t\t\t\t\t\t\t( attributeWidth / largeColumnsWidthsSum ) *\n\t\t\t\t\t\t\tcontainerWidth;\n\t\t\t\t\t}\n\n\t\t\t\t\tmaxColumnWidth = columnWidth;\n\n\t\t\t\t\tif ( Math.round( columnWidthsSum ) < width ) {\n\t\t\t\t\t\t// In case that column width attribute values does not exceed 100, each column\n\t\t\t\t\t\t// should have attribute percentage of container width\n\t\t\t\t\t\tconst newColumnWidth = percentageRatio * containerWidth;\n\t\t\t\t\t\tif ( newColumnWidth <= MIN_WIDTH ) {\n\t\t\t\t\t\t\tcolumnWidth = MIN_WIDTH;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcolumnWidth = newColumnWidth;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if ( width < ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t\t// On the breakpoint lower than medium each column inside columns\n\t\t\t\t\t// has to take equal part of container width\n\t\t\t\t\tcolumnWidth =\n\t\t\t\t\t\tcalculateContainerWidth( width, columnsInRow ) /\n\t\t\t\t\t\tcolumnsInRow;\n\t\t\t\t}\n\t\t\t}\n\t\t\twidths[ clientId ] = {\n\t\t\t\twidth: Math.floor( columnWidth ),\n\t\t\t\tmaxWidth: Math.floor( maxColumnWidth ),\n\t\t\t};\n\t\t}\n\t);\n\treturn widths;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","createBlock","InnerBlocks","getColorClassName","jsx","_jsx","getDeprecatedLayoutColumn","originalContent","doc","document","implementation","createHTMLDocument","columnMatch","body","innerHTML","classListItem","firstChild","classList","match","Number","migrateCustomColors","attributes","customTextColor","customBackgroundColor","style","color","text","background","restAttributes","isStackedOnMobile","verticalAlignment","type","backgroundColor","textColor","migrate","save","backgroundClass","textClass","className","undefined","children","Content","columns","default","isEligible","innerBlocks","isFastPassEligible","some","innerBlock","test","reduce","accumulator","columnIndex","push","migratedInnerBlocks","map","columnBlocks","ignoredColumns","wrapperClasses"],"sources":["@wordpress/block-library/src/columns/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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 | undefined} 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\n\tconst { customTextColor, customBackgroundColor, ...restAttributes } =\n\t\tattributes;\n\n\treturn {\n\t\t...restAttributes,\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 = clsx( {\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\tconst { columns: ignoredColumns, ...restAttributes } = attributes;\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\t...restAttributes,\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\tconst { columns, ...restAttributes } = attributes;\n\t\t\tattributes = {\n\t\t\t\t...restAttributes,\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 = clsx( `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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","createBlock","InnerBlocks","getColorClassName","jsx","_jsx","getDeprecatedLayoutColumn","originalContent","doc","document","implementation","createHTMLDocument","columnMatch","body","innerHTML","classListItem","firstChild","classList","match","Number","migrateCustomColors","attributes","customTextColor","customBackgroundColor","style","color","text","background","restAttributes","isStackedOnMobile","verticalAlignment","type","backgroundColor","textColor","migrate","save","backgroundClass","textClass","className","undefined","children","Content","columns","default","isEligible","innerBlocks","isFastPassEligible","some","innerBlock","test","reduce","accumulator","columnIndex","push","migratedInnerBlocks","map","columnBlocks","ignoredColumns","wrapperClasses"],"sources":["@wordpress/block-library/src/columns/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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 | undefined} 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\n\tconst { customTextColor, customBackgroundColor, ...restAttributes } =\n\t\tattributes;\n\n\treturn {\n\t\t...restAttributes,\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 = clsx( {\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\tconst { columns: ignoredColumns, ...restAttributes } = attributes;\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\t...restAttributes,\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\tconst { columns, ...restAttributes } = attributes;\n\t\t\tattributes = {\n\t\t\t\t...restAttributes,\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 = clsx( `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"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","Notice","RangeControl","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalVStack","VStack","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","useDispatch","useSelect","useRegistry","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_BLOCK","name","ColumnInspectorControls","clientId","setAttributes","isStackedOnMobile","count","canInsertColumnBlock","minCount","select","canInsertBlockType","canRemoveBlock","getBlockOrder","blockOrder","preventRemovalBlockIndexes","reduce","acc","blockId","index","push","length","Math","max","getBlocks","replaceInnerBlocks","updateColumns","previousColumns","newColumns","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","newlyAddedColumns","widths","Array","from","map","width","slice","dropdownMenuProps","label","resetAll","children","isShownByDefault","hasValue","onDeselect","spacing","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","min","status","isDismissible","checked","ColumnsEditContainer","attributes","verticalAlignment","templateLock","registry","updateBlockAttributes","classes","blockProps","className","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","updateAlignment","newVerticalAlignment","innerBlockClientIds","batch","Placeholder","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","icon","src","title","instructions","onSelect","nextVariation","allowSkip","ColumnsEdit","props","hasInnerBlocks","Component"],"sources":["@wordpress/block-library/src/columns/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tRangeControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\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 { useDispatch, useSelect, useRegistry } 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';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/column',\n};\n\nfunction ColumnInspectorControls( {\n\tclientId,\n\tsetAttributes,\n\tisStackedOnMobile,\n} ) {\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, canRemoveBlock, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blockOrder = getBlockOrder( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = blockOrder.reduce(\n\t\t\t\t( acc, blockId, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( blockId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: blockOrder.length,\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\t\t\tconst newlyAddedColumns = newColumns - previousColumns;\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth * newlyAddedColumns\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newlyAddedColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tupdateColumns( count, minCount );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => count }\n\t\t\t\t\tonDeselect={ () => updateColumns( count, minCount ) }\n\t\t\t\t>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateColumns(\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tMath.max( minCount, value )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\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\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => isStackedOnMobile !== true }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst registry = useRegistry();\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst classes = clsx( {\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\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to override anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ColumnInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\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={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tinstructions={ __( 'Divide into columns. Select a layout:' ) }\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 ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","Notice","RangeControl","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalVStack","VStack","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","useDispatch","useSelect","useRegistry","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_BLOCK","name","ColumnInspectorControls","clientId","setAttributes","isStackedOnMobile","count","canInsertColumnBlock","minCount","select","canInsertBlockType","canRemoveBlock","getBlockOrder","blockOrder","preventRemovalBlockIndexes","reduce","acc","blockId","index","push","length","Math","max","getBlocks","replaceInnerBlocks","updateColumns","previousColumns","newColumns","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","newlyAddedColumns","widths","Array","from","map","width","slice","dropdownMenuProps","label","resetAll","children","isShownByDefault","hasValue","onDeselect","spacing","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","min","status","isDismissible","checked","ColumnsEditContainer","attributes","verticalAlignment","templateLock","registry","updateBlockAttributes","classes","blockProps","className","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","updateAlignment","newVerticalAlignment","innerBlockClientIds","batch","Placeholder","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","icon","src","title","instructions","onSelect","nextVariation","allowSkip","ColumnsEdit","props","hasInnerBlocks","Component"],"sources":["@wordpress/block-library/src/columns/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tRangeControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\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 { useDispatch, useSelect, useRegistry } 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';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/column',\n};\n\nfunction ColumnInspectorControls( {\n\tclientId,\n\tsetAttributes,\n\tisStackedOnMobile,\n} ) {\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, canRemoveBlock, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blockOrder = getBlockOrder( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = blockOrder.reduce(\n\t\t\t\t( acc, blockId, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( blockId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: blockOrder.length,\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\t\t\tconst newlyAddedColumns = newColumns - previousColumns;\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth * newlyAddedColumns\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newlyAddedColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tupdateColumns( count, minCount );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => count }\n\t\t\t\t\tonDeselect={ () => updateColumns( count, minCount ) }\n\t\t\t\t>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateColumns(\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tMath.max( minCount, value )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\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\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => isStackedOnMobile !== true }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst registry = useRegistry();\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst classes = clsx( {\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\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to override anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ColumnInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\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={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tinstructions={ __( 'Divide into columns. Select a layout:' ) }\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 ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["View","Dimensions","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSettings","store","blockEditorStore","useGlobalStyles","withDispatch","useSelect","useEffect","useState","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","availableUnits","units","newColumnCount","renderAppender","style","columnAppender","children","ButtonBlockAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","settingLabel","min","max","undefined","value","clientId","onUnitChange","onComplete","unit","preview","columnWidths","selectedColumnIndex","length","onChangeColumnsNum","title","icon","type","innerBlocksSelected","orientation","horizontal","contentResizeMode","blockWidth","contentStyle","parentWidth","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","innerBlocksList","isContentEmpty","every","innerBlock","parents","inn","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"sources":["@wordpress/block-library/src/columns/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSettings,\n\tstore as blockEditorStore,\n\tuseGlobalStyles,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\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 * 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 = useGlobalStyles();\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\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\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 override anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerBlocks,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\n\t\t\tconst innerBlocksList = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = innerBlocksList.every(\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length === 0\n\t\t\t);\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: isContentEmpty,\n\t\t\t\tinnerBlocks: innerBlocksList,\n\t\t\t\thasParents: parents.length > 0,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst innerWidths = useMemo(\n\t\t() =>\n\t\t\tinnerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ innerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["View","Dimensions","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSettings","store","blockEditorStore","useGlobalStyles","withDispatch","useSelect","useEffect","useState","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","availableUnits","units","newColumnCount","renderAppender","style","columnAppender","children","ButtonBlockAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","settingLabel","min","max","undefined","value","clientId","onUnitChange","onComplete","unit","preview","columnWidths","selectedColumnIndex","length","onChangeColumnsNum","title","icon","type","innerBlocksSelected","orientation","horizontal","contentResizeMode","blockWidth","contentStyle","parentWidth","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","innerBlocksList","isContentEmpty","every","innerBlock","parents","inn","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"sources":["@wordpress/block-library/src/columns/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSettings,\n\tstore as blockEditorStore,\n\tuseGlobalStyles,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\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 * 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 = useGlobalStyles();\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\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\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 override anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerBlocks,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\n\t\t\tconst innerBlocksList = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = innerBlocksList.every(\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length === 0\n\t\t\t);\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: isContentEmpty,\n\t\t\t\tinnerBlocks: innerBlocksList,\n\t\t\t\thasParents: parents.length > 0,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst innerWidths = useMemo(\n\t\t() =>\n\t\t\tinnerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ innerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["createBlock","createBlocksFromInnerBlocksTemplate","MAXIMUM_SELECTED_BLOCKS","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","columnWidth","length","toFixed","innerBlocksTemplate","map","name","attributes","innerBlocks","width","isMatch","selectedBlocksLength","priority","transform","align","backgroundColor","textColor","style","mediaAlt","alt","mediaId","id","mediaPosition","mediaSizeSlug","sizeSlug","mediaType","mediaUrl","url","mediaWidth","verticalAlignment","media","imageAttrs","linkAttrs","href","linkClass","linkDestination","linkTarget","rel","src","reverse","ungroup","flatMap","innerBlock"],"sources":["@wordpress/block-library/src/columns/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n} from '@wordpress/blocks';\n\nconst MAXIMUM_SELECTED_BLOCKS = 6;\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert: ( blocks ) => {\n\t\t\t\tconst columnWidth = +( 100 / blocks.length ).toFixed( 2 );\n\t\t\t\tconst innerBlocksTemplate = blocks.map(\n\t\t\t\t\t( { name, attributes, innerBlocks } ) => [\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ columnWidth }%` },\n\t\t\t\t\t\t[ [ name, { ...attributes }, innerBlocks ] ],\n\t\t\t\t\t]\n\t\t\t\t);\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { length: selectedBlocksLength }, blocks ) => {\n\t\t\t\t// If a user is trying to transform a single Columns block, skip\n\t\t\t\t// the transformation. Enabling this functiontionality creates\n\t\t\t\t// nested Columns blocks resulting in an unintuitive user experience.\n\t\t\t\t// Multiple Columns blocks can still be transformed.\n\t\t\t\tif (\n\t\t\t\t\tblocks.length === 1 &&\n\t\t\t\t\tblocks[ 0 ].name === 'core/columns'\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tselectedBlocksLength &&\n\t\t\t\t\tselectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/media-text' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\talign,\n\t\t\t\t\tbackgroundColor,\n\t\t\t\t\ttextColor,\n\t\t\t\t\tstyle,\n\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\tmediaSizeSlug: sizeSlug,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\tmediaWidth,\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} = attributes;\n\t\t\t\tlet media;\n\t\t\t\tif ( mediaType === 'image' || ! mediaType ) {\n\t\t\t\t\tconst imageAttrs = { id, alt, url, sizeSlug };\n\t\t\t\t\tconst linkAttrs = {\n\t\t\t\t\t\thref: attributes.href,\n\t\t\t\t\t\tlinkClass: attributes.linkClass,\n\t\t\t\t\t\tlinkDestination: attributes.linkDestination,\n\t\t\t\t\t\tlinkTarget: attributes.linkTarget,\n\t\t\t\t\t\trel: attributes.rel,\n\t\t\t\t\t};\n\t\t\t\t\tmedia = [ 'core/image', { ...imageAttrs, ...linkAttrs } ];\n\t\t\t\t} else {\n\t\t\t\t\tmedia = [ 'core/video', { id, src: url } ];\n\t\t\t\t}\n\t\t\t\tconst innerBlocksTemplate = [\n\t\t\t\t\t[ 'core/column', { width: `${ mediaWidth }%` }, [ media ] ],\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ 100 - mediaWidth }%` },\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t],\n\t\t\t\t];\n\t\t\t\tif ( mediaPosition === 'right' ) {\n\t\t\t\t\tinnerBlocksTemplate.reverse();\n\t\t\t\t}\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tungroup: ( attributes, innerBlocks ) =>\n\t\tinnerBlocks.flatMap( ( innerBlock ) => innerBlock.innerBlocks ),\n};\n\nexport default transforms;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,WAAW,EACXC,mCAAmC,QAC7B,mBAAmB;AAE1B,MAAMC,uBAAuB,GAAG,CAAC;AAEjC,MAAMC,UAAU,GAAG;EAClBC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,YAAY,EAAE,IAAI;IAClBC,MAAM,EAAE,CAAE,GAAG,CAAE;IACfC,qBAAqB,EAAID,MAAM,IAAM;MACpC,MAAME,WAAW,GAAG,CAAC,CAAE,GAAG,GAAGF,MAAM,CAACG,MAAM,EAAGC,OAAO,CAAE,CAAE,CAAC;MACzD,MAAMC,mBAAmB,GAAGL,MAAM,CAACM,GAAG,CACrC,CAAE;QAAEC,IAAI;QAAEC,UAAU;QAAEC;MAAY,CAAC,KAAM,CACxC,aAAa,EACb;QAAEC,KAAK,EAAE,GAAIR,WAAW;MAAK,CAAC,EAC9B,CAAE,CAAEK,IAAI,EAAE;QAAE,GAAGC;MAAW,CAAC,EAAEC,WAAW,CAAE,CAAE,CAE9C,CAAC;MACD,OAAOhB,WAAW,CACjB,cAAc,EACd,CAAC,CAAC,EACFC,mCAAmC,CAAEW,mBAAoB,CAC1D,CAAC;IACF,CAAC;IACDM,OAAO,EAAEA,CAAE;MAAER,MAAM,EAAES;IAAqB,CAAC,EAAEZ,MAAM,KAAM;MACxD;MACA;MACA;MACA;MACA,IACCA,MAAM,CAACG,MAAM,KAAK,CAAC,IACnBH,MAAM,CAAE,CAAC,CAAE,CAACO,IAAI,KAAK,cAAc,EAClC;QACD,OAAO,KAAK;MACb;MAEA,OACCK,oBAAoB,IACpBA,oBAAoB,IAAIjB,uBAAuB;IAEjD;EACD,CAAC,EACD;IACCG,IAAI,EAAE,OAAO;IACbE,MAAM,EAAE,CAAE,iBAAiB,CAAE;IAC7Ba,QAAQ,EAAE,CAAC;IACXC,SAAS,EAAEA,CAAEN,UAAU,EAAEC,WAAW,KAAM;MACzC,MAAM;QACLM,KAAK;QACLC,eAAe;QACfC,SAAS;QACTC,KAAK;QACLC,QAAQ,EAAEC,GAAG;QACbC,OAAO,EAAEC,EAAE;QACXC,aAAa;QACbC,aAAa,EAAEC,QAAQ;QACvBC,SAAS;QACTC,QAAQ,EAAEC,GAAG;QACbC,UAAU;QACVC;MACD,CAAC,GAAGtB,UAAU;MACd,IAAIuB,KAAK;MACT,IAAKL,SAAS,KAAK,OAAO,IAAI,CAAEA,SAAS,EAAG;QAC3C,MAAMM,UAAU,GAAG;UAAEV,EAAE;UAAEF,GAAG;UAAEQ,GAAG;UAAEH;QAAS,CAAC;QAC7C,MAAMQ,SAAS,GAAG;UACjBC,IAAI,EAAE1B,UAAU,CAAC0B,IAAI;UACrBC,SAAS,EAAE3B,UAAU,CAAC2B,SAAS;UAC/BC,eAAe,EAAE5B,UAAU,CAAC4B,eAAe;UAC3CC,UAAU,EAAE7B,UAAU,CAAC6B,UAAU;UACjCC,GAAG,EAAE9B,UAAU,CAAC8B;QACjB,CAAC;QACDP,KAAK,GAAG,CAAE,YAAY,EAAE;UAAE,GAAGC,UAAU;UAAE,GAAGC;QAAU,CAAC,CAAE;MAC1D,CAAC,MAAM;QACNF,KAAK,GAAG,CAAE,YAAY,EAAE;UAAET,EAAE;UAAEiB,GAAG,EAAEX;QAAI,CAAC,CAAE;MAC3C;MACA,MAAMvB,mBAAmB,GAAG,CAC3B,CAAE,aAAa,EAAE;QAAEK,KAAK,EAAE,GAAImB,UAAU;MAAK,CAAC,EAAE,CAAEE,KAAK,CAAE,CAAE,EAC3D,CACC,aAAa,EACb;QAAErB,KAAK,EAAE,GAAI,GAAG,GAAGmB,UAAU;MAAK,CAAC,EACnCpB,WAAW,CACX,CACD;MACD,IAAKc,aAAa,KAAK,OAAO,EAAG;QAChClB,mBAAmB,CAACmC,OAAO,CAAC,CAAC;MAC9B;MACA,OAAO/C,WAAW,CACjB,cAAc,EACd;QACCsB,KAAK;QACLC,eAAe;QACfC,SAAS;QACTC,KAAK;QACLY;MACD,CAAC,EACDpC,mCAAmC,CAAEW,mBAAoB,CAC1D,CAAC;IACF;EACD,CAAC,CACD;EACDoC,OAAO,EAAEA,CAAEjC,UAAU,EAAEC,WAAW,KACjCA,WAAW,CAACiC,OAAO,CAAIC,UAAU,IAAMA,UAAU,CAAClC,WAAY;AAChE,CAAC;AAED,eAAeb,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["createBlock","createBlocksFromInnerBlocksTemplate","MAXIMUM_SELECTED_BLOCKS","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","columnWidth","length","toFixed","innerBlocksTemplate","map","name","attributes","innerBlocks","width","isMatch","selectedBlocksLength","priority","transform","align","backgroundColor","textColor","style","mediaAlt","alt","mediaId","id","mediaPosition","mediaSizeSlug","sizeSlug","mediaType","mediaUrl","url","mediaWidth","verticalAlignment","media","imageAttrs","linkAttrs","href","linkClass","linkDestination","linkTarget","rel","src","reverse","ungroup","flatMap","innerBlock"],"sources":["@wordpress/block-library/src/columns/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n} from '@wordpress/blocks';\n\nconst MAXIMUM_SELECTED_BLOCKS = 6;\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert: ( blocks ) => {\n\t\t\t\tconst columnWidth = +( 100 / blocks.length ).toFixed( 2 );\n\t\t\t\tconst innerBlocksTemplate = blocks.map(\n\t\t\t\t\t( { name, attributes, innerBlocks } ) => [\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ columnWidth }%` },\n\t\t\t\t\t\t[ [ name, { ...attributes }, innerBlocks ] ],\n\t\t\t\t\t]\n\t\t\t\t);\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { length: selectedBlocksLength }, blocks ) => {\n\t\t\t\t// If a user is trying to transform a single Columns block, skip\n\t\t\t\t// the transformation. Enabling this functiontionality creates\n\t\t\t\t// nested Columns blocks resulting in an unintuitive user experience.\n\t\t\t\t// Multiple Columns blocks can still be transformed.\n\t\t\t\tif (\n\t\t\t\t\tblocks.length === 1 &&\n\t\t\t\t\tblocks[ 0 ].name === 'core/columns'\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tselectedBlocksLength &&\n\t\t\t\t\tselectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/media-text' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\talign,\n\t\t\t\t\tbackgroundColor,\n\t\t\t\t\ttextColor,\n\t\t\t\t\tstyle,\n\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\tmediaSizeSlug: sizeSlug,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\tmediaWidth,\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} = attributes;\n\t\t\t\tlet media;\n\t\t\t\tif ( mediaType === 'image' || ! mediaType ) {\n\t\t\t\t\tconst imageAttrs = { id, alt, url, sizeSlug };\n\t\t\t\t\tconst linkAttrs = {\n\t\t\t\t\t\thref: attributes.href,\n\t\t\t\t\t\tlinkClass: attributes.linkClass,\n\t\t\t\t\t\tlinkDestination: attributes.linkDestination,\n\t\t\t\t\t\tlinkTarget: attributes.linkTarget,\n\t\t\t\t\t\trel: attributes.rel,\n\t\t\t\t\t};\n\t\t\t\t\tmedia = [ 'core/image', { ...imageAttrs, ...linkAttrs } ];\n\t\t\t\t} else {\n\t\t\t\t\tmedia = [ 'core/video', { id, src: url } ];\n\t\t\t\t}\n\t\t\t\tconst innerBlocksTemplate = [\n\t\t\t\t\t[ 'core/column', { width: `${ mediaWidth }%` }, [ media ] ],\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ 100 - mediaWidth }%` },\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t],\n\t\t\t\t];\n\t\t\t\tif ( mediaPosition === 'right' ) {\n\t\t\t\t\tinnerBlocksTemplate.reverse();\n\t\t\t\t}\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tungroup: ( attributes, innerBlocks ) =>\n\t\tinnerBlocks.flatMap( ( innerBlock ) => innerBlock.innerBlocks ),\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * Returns a column width attribute value rounded to standard precision.
4
3
  * Returns `undefined` if the value is not a valid finite number.
@@ -1 +1 @@
1
- {"version":3,"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","fromEntries","entries","map","newWidth","hasExplicitPercentColumnWidths","every","blockWidth","endsWith","getMappedColumnWidths","widths","getWidths","withParsing","innerColumn","innerColumnWidth","getWidthWithUnit","unit","isPercentageUnit","Math","min"],"sources":["@wordpress/block-library/src/columns/utils.js"],"sourcesContent":["/**\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 Object.fromEntries(\n\t\tObject.entries( getColumnWidths( blocks, totalBlockCount ) ).map(\n\t\t\t( [ clientId, width ] ) => {\n\t\t\t\tconst newWidth = ( availableWidth * width ) / totalWidth;\n\t\t\t\treturn [ clientId, toWidthPrecision( newWidth ) ];\n\t\t\t}\n\t\t)\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\t...block,\n\t\tattributes: {\n\t\t\t...block.attributes,\n\t\t\twidth: `${ widths[ block.clientId ] }%`,\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"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","fromEntries","entries","map","newWidth","hasExplicitPercentColumnWidths","every","blockWidth","endsWith","getMappedColumnWidths","widths","getWidths","withParsing","innerColumn","innerColumnWidth","getWidthWithUnit","unit","isPercentageUnit","Math","min"],"sources":["@wordpress/block-library/src/columns/utils.js"],"sourcesContent":["/**\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 Object.fromEntries(\n\t\tObject.entries( getColumnWidths( blocks, totalBlockCount ) ).map(\n\t\t\t( [ clientId, width ] ) => {\n\t\t\t\tconst newWidth = ( availableWidth * width ) / totalWidth;\n\t\t\t\treturn [ clientId, toWidthPrecision( newWidth ) ];\n\t\t\t}\n\t\t)\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\t...block,\n\t\tattributes: {\n\t\t\t...block.attributes,\n\t\t\twidth: `${ widths[ block.clientId ] }%`,\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"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useState","memo","useSelect","__","BlockContextProvider","useBlockProps","useInnerBlocksProps","store","blockEditorStore","__experimentalUseBlockPreview","useBlockPreview","Spinner","coreStore","useCommentQueryArgs","useCommentTree","jsx","_jsx","jsxs","_jsxs","TEMPLATE","getCommentsPlaceholder","perPage","pageComments","threadComments","threadCommentsDepth","commentsDepth","Math","min","buildChildrenComment","commentsLevel","nextLevel","commentId","children","placeholderComments","push","CommentTemplateInnerBlocks","comment","activeCommentId","setActiveCommentId","firstCommentId","blocks","innerBlocksProps","template","MemoizedCommentTemplatePreview","isHidden","length","CommentsList","comments","CommentTemplatePreview","blockPreviewProps","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","blockProps","map","index","value","CommentTemplateEdit","clientId","context","postId","commentOrder","commentsPerPage","select","getSettings","__experimentalDiscussionSettings","commentQuery","topLevelComments","getEntityRecords","getBlocks","commentTree","reverse"],"sources":["@wordpress/block-library/src/comment-template/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCommentQueryArgs, useCommentTree } from './hooks';\n\nconst TEMPLATE = [\n\t[ 'core/avatar' ],\n\t[ 'core/comment-author-name' ],\n\t[ 'core/comment-date' ],\n\t[ 'core/comment-content' ],\n\t[ 'core/comment-reply-link' ],\n\t[ 'core/comment-edit-link' ],\n];\n\n/**\n * Function that returns a comment structure that will be rendered with default placehoders.\n *\n * Each comment has a `commentId` property that is always a negative number in\n * case of the placeholders. This is to ensure that the comment does not\n * conflict with the actual (real) comments.\n *\n * @param {Object} settings Discussion Settings.\n * @param {number} [settings.perPage] - Comments per page setting or block attribute.\n * @param {boolean} [settings.pageComments] - Enable break comments into pages setting.\n * @param {boolean} [settings.threadComments] - Enable threaded (nested) comments setting.\n * @param {number} [settings.threadCommentsDepth] - Level deep of threaded comments.\n *\n * @typedef {{id: null, children: EmptyComment[]}} EmptyComment\n * @return {EmptyComment[]} \t\tInner blocks of the Comment Template\n */\nconst getCommentsPlaceholder = ( {\n\tperPage,\n\tpageComments,\n\tthreadComments,\n\tthreadCommentsDepth,\n} ) => {\n\t// Limit commentsDepth to 3\n\tconst commentsDepth = ! threadComments\n\t\t? 1\n\t\t: Math.min( threadCommentsDepth, 3 );\n\n\tconst buildChildrenComment = ( commentsLevel ) => {\n\t\t// Render children comments until commentsDepth is reached\n\t\tif ( commentsLevel < commentsDepth ) {\n\t\t\tconst nextLevel = commentsLevel + 1;\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tcommentId: -( commentsLevel + 3 ),\n\t\t\t\t\tchildren: buildChildrenComment( nextLevel ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t};\n\n\t// Add the first comment and its children\n\tconst placeholderComments = [\n\t\t{ commentId: -1, children: buildChildrenComment( 1 ) },\n\t];\n\n\t// Add a second comment unless the break comments setting is active and set to less than 2, and there is one nested comment max\n\tif ( ( ! pageComments || perPage >= 2 ) && commentsDepth < 3 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -2,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// Add a third comment unless the break comments setting is active and set to less than 3, and there aren't nested comments\n\tif ( ( ! pageComments || perPage >= 3 ) && commentsDepth < 2 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -3,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// In case that the value is set but larger than 3 we truncate it to 3.\n\treturn placeholderComments;\n};\n\n/**\n * Component which renders the inner blocks of the Comment Template.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comment] - A comment object.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.firstCommentId] - ID of the first comment in the array.\n * @param {Array} [props.blocks] - Array of blocks returned from\n * getBlocks() in parent .\n * @return {Element} \t\tInner blocks of the Comment Template\n */\nfunction CommentTemplateInnerBlocks( {\n\tcomment,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tfirstCommentId,\n\tblocks,\n} ) {\n\tconst { children, ...innerBlocksProps } = useInnerBlocksProps(\n\t\t{},\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<li { ...innerBlocksProps }>\n\t\t\t{ comment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t? children\n\t\t\t\t: null }\n\n\t\t\t{ /* To avoid flicker when switching active block contexts, a preview\n\t\t\t is ALWAYS rendered and the preview for the active block is hidden.\n\t\t\t This ensures that when switching the active block, the component is not\n\t\t\t mounted again but rather it only toggles the `isHidden` prop.\n\t\t\t The same strategy is used for preventing the flicker in the Post Template\n\t\t\t block. */ }\n\t\t\t<MemoizedCommentTemplatePreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\tcommentId={ comment.commentId }\n\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\tisHidden={\n\t\t\t\t\tcomment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t{ comment?.children?.length > 0 ? (\n\t\t\t\t<CommentsList\n\t\t\t\t\tcomments={ comment.children }\n\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t/>\n\t\t\t) : null }\n\t\t</li>\n\t);\n}\n\nconst CommentTemplatePreview = ( {\n\tblocks,\n\tcommentId,\n\tsetActiveCommentId,\n\tisHidden,\n} ) => {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveCommentId( commentId );\n\t};\n\n\t// We have to hide the preview block if the `comment` props points to\n\t// the currently active block!\n\n\t// Or, to put it differently, every preview block is visible unless it is the\n\t// currently active block - in this case we render its inner blocks.\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\tstyle={ style }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t/>\n\t);\n};\n\nconst MemoizedCommentTemplatePreview = memo( CommentTemplatePreview );\n\n/**\n * Component that renders a list of (nested) comments. It is called recursively.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comments] - Array of comment objects.\n * @param {Array} [props.blockProps] - Props from parent's `useBlockProps()`.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.blocks] - Array of blocks returned from getBlocks() in parent.\n * @param {Object} [props.firstCommentId] - The ID of the first comment in the array of\n * comment objects.\n * @return {Element} \t\tList of comments.\n */\nconst CommentsList = ( {\n\tcomments,\n\tblockProps,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tblocks,\n\tfirstCommentId,\n} ) => (\n\t<ol { ...blockProps }>\n\t\t{ comments &&\n\t\t\tcomments.map( ( { commentId, ...comment }, index ) => (\n\t\t\t\t<BlockContextProvider\n\t\t\t\t\tkey={ comment.commentId || index }\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t// If the commentId is negative it means that this comment is a\n\t\t\t\t\t\t// \"placeholder\" and that the block is most likely being used in the\n\t\t\t\t\t\t// site editor. In this case, we have to set the commentId to `null`\n\t\t\t\t\t\t// because otherwise the (non-existent) comment with a negative ID\n\t\t\t\t\t\t// would be requested from the REST API.\n\t\t\t\t\t\tcommentId: commentId < 0 ? null : commentId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<CommentTemplateInnerBlocks\n\t\t\t\t\t\tcomment={ { commentId, ...comment } }\n\t\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t\t/>\n\t\t\t\t</BlockContextProvider>\n\t\t\t) ) }\n\t</ol>\n);\n\nexport default function CommentTemplateEdit( {\n\tclientId,\n\tcontext: { postId },\n} ) {\n\tconst blockProps = useBlockProps();\n\n\tconst [ activeCommentId, setActiveCommentId ] = useState();\n\tconst {\n\t\tcommentOrder,\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t\tpageComments,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings;\n\t} );\n\n\tconst commentQuery = useCommentQueryArgs( {\n\t\tpostId,\n\t} );\n\n\tconst { topLevelComments, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\t// Request only top-level comments. Replies are embedded.\n\t\t\t\ttopLevelComments: commentQuery\n\t\t\t\t\t? getEntityRecords( 'root', 'comment', commentQuery )\n\t\t\t\t\t: null,\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, commentQuery ]\n\t);\n\n\t// Generate a tree structure of comment IDs.\n\tlet commentTree = useCommentTree(\n\t\t// Reverse the order of top comments if needed.\n\t\tcommentOrder === 'desc' && topLevelComments\n\t\t\t? [ ...topLevelComments ].reverse()\n\t\t\t: topLevelComments\n\t);\n\n\tif ( ! topLevelComments ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! postId ) {\n\t\tcommentTree = getCommentsPlaceholder( {\n\t\t\tperPage: commentsPerPage,\n\t\t\tpageComments,\n\t\t\tthreadComments,\n\t\t\tthreadCommentsDepth,\n\t\t} );\n\t}\n\n\tif ( ! commentTree.length ) {\n\t\treturn <p { ...blockProps }>{ __( 'No results found.' ) }</p>;\n\t}\n\n\treturn (\n\t\t<CommentsList\n\t\t\tcomments={ commentTree }\n\t\t\tblockProps={ blockProps }\n\t\t\tblocks={ blocks }\n\t\t\tactiveCommentId={ activeCommentId }\n\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\tfirstCommentId={ commentTree[ 0 ]?.commentId }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","memo","useSelect","__","BlockContextProvider","useBlockProps","useInnerBlocksProps","store","blockEditorStore","__experimentalUseBlockPreview","useBlockPreview","Spinner","coreStore","useCommentQueryArgs","useCommentTree","jsx","_jsx","jsxs","_jsxs","TEMPLATE","getCommentsPlaceholder","perPage","pageComments","threadComments","threadCommentsDepth","commentsDepth","Math","min","buildChildrenComment","commentsLevel","nextLevel","commentId","children","placeholderComments","push","CommentTemplateInnerBlocks","comment","activeCommentId","setActiveCommentId","firstCommentId","blocks","innerBlocksProps","template","MemoizedCommentTemplatePreview","isHidden","length","CommentsList","comments","CommentTemplatePreview","blockPreviewProps","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","blockProps","map","index","value","CommentTemplateEdit","clientId","context","postId","commentOrder","commentsPerPage","select","getSettings","__experimentalDiscussionSettings","commentQuery","topLevelComments","getEntityRecords","getBlocks","commentTree","reverse"],"sources":["@wordpress/block-library/src/comment-template/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCommentQueryArgs, useCommentTree } from './hooks';\n\nconst TEMPLATE = [\n\t[ 'core/avatar' ],\n\t[ 'core/comment-author-name' ],\n\t[ 'core/comment-date' ],\n\t[ 'core/comment-content' ],\n\t[ 'core/comment-reply-link' ],\n\t[ 'core/comment-edit-link' ],\n];\n\n/**\n * Function that returns a comment structure that will be rendered with default placehoders.\n *\n * Each comment has a `commentId` property that is always a negative number in\n * case of the placeholders. This is to ensure that the comment does not\n * conflict with the actual (real) comments.\n *\n * @param {Object} settings Discussion Settings.\n * @param {number} [settings.perPage] - Comments per page setting or block attribute.\n * @param {boolean} [settings.pageComments] - Enable break comments into pages setting.\n * @param {boolean} [settings.threadComments] - Enable threaded (nested) comments setting.\n * @param {number} [settings.threadCommentsDepth] - Level deep of threaded comments.\n *\n * @typedef {{id: null, children: EmptyComment[]}} EmptyComment\n * @return {EmptyComment[]} \t\tInner blocks of the Comment Template\n */\nconst getCommentsPlaceholder = ( {\n\tperPage,\n\tpageComments,\n\tthreadComments,\n\tthreadCommentsDepth,\n} ) => {\n\t// Limit commentsDepth to 3\n\tconst commentsDepth = ! threadComments\n\t\t? 1\n\t\t: Math.min( threadCommentsDepth, 3 );\n\n\tconst buildChildrenComment = ( commentsLevel ) => {\n\t\t// Render children comments until commentsDepth is reached\n\t\tif ( commentsLevel < commentsDepth ) {\n\t\t\tconst nextLevel = commentsLevel + 1;\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tcommentId: -( commentsLevel + 3 ),\n\t\t\t\t\tchildren: buildChildrenComment( nextLevel ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t};\n\n\t// Add the first comment and its children\n\tconst placeholderComments = [\n\t\t{ commentId: -1, children: buildChildrenComment( 1 ) },\n\t];\n\n\t// Add a second comment unless the break comments setting is active and set to less than 2, and there is one nested comment max\n\tif ( ( ! pageComments || perPage >= 2 ) && commentsDepth < 3 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -2,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// Add a third comment unless the break comments setting is active and set to less than 3, and there aren't nested comments\n\tif ( ( ! pageComments || perPage >= 3 ) && commentsDepth < 2 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -3,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// In case that the value is set but larger than 3 we truncate it to 3.\n\treturn placeholderComments;\n};\n\n/**\n * Component which renders the inner blocks of the Comment Template.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comment] - A comment object.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.firstCommentId] - ID of the first comment in the array.\n * @param {Array} [props.blocks] - Array of blocks returned from\n * getBlocks() in parent .\n * @return {Element} \t\tInner blocks of the Comment Template\n */\nfunction CommentTemplateInnerBlocks( {\n\tcomment,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tfirstCommentId,\n\tblocks,\n} ) {\n\tconst { children, ...innerBlocksProps } = useInnerBlocksProps(\n\t\t{},\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<li { ...innerBlocksProps }>\n\t\t\t{ comment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t? children\n\t\t\t\t: null }\n\n\t\t\t{ /* To avoid flicker when switching active block contexts, a preview\n\t\t\t is ALWAYS rendered and the preview for the active block is hidden.\n\t\t\t This ensures that when switching the active block, the component is not\n\t\t\t mounted again but rather it only toggles the `isHidden` prop.\n\t\t\t The same strategy is used for preventing the flicker in the Post Template\n\t\t\t block. */ }\n\t\t\t<MemoizedCommentTemplatePreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\tcommentId={ comment.commentId }\n\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\tisHidden={\n\t\t\t\t\tcomment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t{ comment?.children?.length > 0 ? (\n\t\t\t\t<CommentsList\n\t\t\t\t\tcomments={ comment.children }\n\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t/>\n\t\t\t) : null }\n\t\t</li>\n\t);\n}\n\nconst CommentTemplatePreview = ( {\n\tblocks,\n\tcommentId,\n\tsetActiveCommentId,\n\tisHidden,\n} ) => {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveCommentId( commentId );\n\t};\n\n\t// We have to hide the preview block if the `comment` props points to\n\t// the currently active block!\n\n\t// Or, to put it differently, every preview block is visible unless it is the\n\t// currently active block - in this case we render its inner blocks.\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\tstyle={ style }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t/>\n\t);\n};\n\nconst MemoizedCommentTemplatePreview = memo( CommentTemplatePreview );\n\n/**\n * Component that renders a list of (nested) comments. It is called recursively.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comments] - Array of comment objects.\n * @param {Array} [props.blockProps] - Props from parent's `useBlockProps()`.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.blocks] - Array of blocks returned from getBlocks() in parent.\n * @param {Object} [props.firstCommentId] - The ID of the first comment in the array of\n * comment objects.\n * @return {Element} \t\tList of comments.\n */\nconst CommentsList = ( {\n\tcomments,\n\tblockProps,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tblocks,\n\tfirstCommentId,\n} ) => (\n\t<ol { ...blockProps }>\n\t\t{ comments &&\n\t\t\tcomments.map( ( { commentId, ...comment }, index ) => (\n\t\t\t\t<BlockContextProvider\n\t\t\t\t\tkey={ comment.commentId || index }\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t// If the commentId is negative it means that this comment is a\n\t\t\t\t\t\t// \"placeholder\" and that the block is most likely being used in the\n\t\t\t\t\t\t// site editor. In this case, we have to set the commentId to `null`\n\t\t\t\t\t\t// because otherwise the (non-existent) comment with a negative ID\n\t\t\t\t\t\t// would be requested from the REST API.\n\t\t\t\t\t\tcommentId: commentId < 0 ? null : commentId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<CommentTemplateInnerBlocks\n\t\t\t\t\t\tcomment={ { commentId, ...comment } }\n\t\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t\t/>\n\t\t\t\t</BlockContextProvider>\n\t\t\t) ) }\n\t</ol>\n);\n\nexport default function CommentTemplateEdit( {\n\tclientId,\n\tcontext: { postId },\n} ) {\n\tconst blockProps = useBlockProps();\n\n\tconst [ activeCommentId, setActiveCommentId ] = useState();\n\tconst {\n\t\tcommentOrder,\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t\tpageComments,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings;\n\t} );\n\n\tconst commentQuery = useCommentQueryArgs( {\n\t\tpostId,\n\t} );\n\n\tconst { topLevelComments, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\t// Request only top-level comments. Replies are embedded.\n\t\t\t\ttopLevelComments: commentQuery\n\t\t\t\t\t? getEntityRecords( 'root', 'comment', commentQuery )\n\t\t\t\t\t: null,\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, commentQuery ]\n\t);\n\n\t// Generate a tree structure of comment IDs.\n\tlet commentTree = useCommentTree(\n\t\t// Reverse the order of top comments if needed.\n\t\tcommentOrder === 'desc' && topLevelComments\n\t\t\t? [ ...topLevelComments ].reverse()\n\t\t\t: topLevelComments\n\t);\n\n\tif ( ! topLevelComments ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! postId ) {\n\t\tcommentTree = getCommentsPlaceholder( {\n\t\t\tperPage: commentsPerPage,\n\t\t\tpageComments,\n\t\t\tthreadComments,\n\t\t\tthreadCommentsDepth,\n\t\t} );\n\t}\n\n\tif ( ! commentTree.length ) {\n\t\treturn <p { ...blockProps }>{ __( 'No results found.' ) }</p>;\n\t}\n\n\treturn (\n\t\t<CommentsList\n\t\t\tcomments={ commentTree }\n\t\t\tblockProps={ blockProps }\n\t\t\tblocks={ blocks }\n\t\t\tactiveCommentId={ activeCommentId }\n\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\tfirstCommentId={ commentTree[ 0 ]?.commentId }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */