@wordpress/block-library 7.9.0 → 7.12.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 (756) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/archives/edit.js +7 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +4 -0
  5. package/build/archives/index.js.map +1 -1
  6. package/build/block/edit.js +4 -2
  7. package/build/block/edit.js.map +1 -1
  8. package/build/block/edit.native.js +4 -2
  9. package/build/block/edit.native.js.map +1 -1
  10. package/build/button/edit.js +2 -1
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/edit.js +1 -1
  13. package/build/buttons/edit.js.map +1 -1
  14. package/build/calendar/edit.js +12 -5
  15. package/build/calendar/edit.js.map +1 -1
  16. package/build/columns/edit.native.js +3 -2
  17. package/build/columns/edit.native.js.map +1 -1
  18. package/build/comment-template/index.js +1 -1
  19. package/build/comments/deprecated.js +65 -0
  20. package/build/comments/deprecated.js.map +1 -0
  21. package/build/comments/edit/comments-legacy.js +73 -0
  22. package/build/comments/edit/comments-legacy.js.map +1 -0
  23. package/build/comments/{edit.js → edit/index.js} +17 -38
  24. package/build/comments/edit/index.js.map +1 -0
  25. package/build/comments/edit/placeholder.js +117 -0
  26. package/build/comments/edit/placeholder.js.map +1 -0
  27. package/build/comments/edit/template.js +39 -0
  28. package/build/comments/edit/template.js.map +1 -0
  29. package/build/comments/index.js +11 -3
  30. package/build/comments/index.js.map +1 -1
  31. package/build/comments/save.js +12 -4
  32. package/build/comments/save.js.map +1 -1
  33. package/build/comments-pagination/index.js +1 -1
  34. package/build/comments-title/deprecated.js +1 -1
  35. package/build/comments-title/index.js +1 -1
  36. package/build/cover/edit/block-controls.js +2 -12
  37. package/build/cover/edit/block-controls.js.map +1 -1
  38. package/build/cover/edit/cover-placeholder.js +3 -1
  39. package/build/cover/edit/cover-placeholder.js.map +1 -1
  40. package/build/cover/edit/index.js +19 -4
  41. package/build/cover/edit/index.js.map +1 -1
  42. package/build/cover/edit/resizable-cover.js +6 -0
  43. package/build/cover/edit/resizable-cover.js.map +1 -1
  44. package/build/cover/transforms.js +3 -2
  45. package/build/cover/transforms.js.map +1 -1
  46. package/build/embed/embed-placeholder.native.js +1 -3
  47. package/build/embed/embed-placeholder.native.js.map +1 -1
  48. package/build/gallery/edit.js +11 -19
  49. package/build/gallery/edit.js.map +1 -1
  50. package/build/gallery/transforms.js +30 -20
  51. package/build/gallery/transforms.js.map +1 -1
  52. package/build/gallery/use-get-media.js +7 -18
  53. package/build/gallery/use-get-media.js.map +1 -1
  54. package/build/gallery/use-get-media.native.js +59 -0
  55. package/build/gallery/use-get-media.native.js.map +1 -0
  56. package/build/group/edit.js +1 -3
  57. package/build/group/edit.js.map +1 -1
  58. package/build/group/index.js +1 -0
  59. package/build/group/index.js.map +1 -1
  60. package/build/group/transforms.js +5 -0
  61. package/build/group/transforms.js.map +1 -1
  62. package/build/group/variations.js +1 -1
  63. package/build/group/variations.js.map +1 -1
  64. package/build/heading/heading-level-dropdown.js +2 -1
  65. package/build/heading/heading-level-dropdown.js.map +1 -1
  66. package/build/heading/index.js +9 -4
  67. package/build/heading/index.js.map +1 -1
  68. package/build/image/deprecated.js +77 -9
  69. package/build/image/deprecated.js.map +1 -1
  70. package/build/image/edit.js +3 -1
  71. package/build/image/edit.js.map +1 -1
  72. package/build/image/edit.native.js +18 -8
  73. package/build/image/edit.native.js.map +1 -1
  74. package/build/image/image.js +27 -20
  75. package/build/image/image.js.map +1 -1
  76. package/build/image/index.js +7 -1
  77. package/build/image/index.js.map +1 -1
  78. package/build/image/save.js +8 -2
  79. package/build/image/save.js.map +1 -1
  80. package/build/index.js +1 -3
  81. package/build/index.js.map +1 -1
  82. package/build/index.native.js +10 -7
  83. package/build/index.native.js.map +1 -1
  84. package/build/latest-posts/edit.js +1 -1
  85. package/build/latest-posts/edit.js.map +1 -1
  86. package/build/list/index.js +6 -0
  87. package/build/list/index.js.map +1 -1
  88. package/build/list/transforms.js +4 -63
  89. package/build/list/transforms.js.map +1 -1
  90. package/build/list/v2/edit.js +16 -5
  91. package/build/list/v2/edit.js.map +1 -1
  92. package/build/list/v2/tag-name.js +31 -0
  93. package/build/list/v2/tag-name.js.map +1 -0
  94. package/build/list/v2/tag-name.native.js +32 -0
  95. package/build/list/v2/tag-name.native.js.map +1 -0
  96. package/build/list/v2/transforms.js +1 -38
  97. package/build/list/v2/transforms.js.map +1 -1
  98. package/build/list-item/edit.js +15 -9
  99. package/build/list-item/edit.js.map +1 -1
  100. package/build/list-item/edit.native.js +158 -0
  101. package/build/list-item/edit.native.js.map +1 -0
  102. package/build/list-item/hooks/index.js +8 -8
  103. package/build/list-item/hooks/index.js.map +1 -1
  104. package/build/list-item/hooks/use-merge.js +174 -0
  105. package/build/list-item/hooks/use-merge.js.map +1 -0
  106. package/build/list-item/hooks/use-outdent-list-item.js +86 -50
  107. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  108. package/build/list-item/icons.native.js +53 -0
  109. package/build/list-item/icons.native.js.map +1 -0
  110. package/build/list-item/list-style-type.native.js +136 -0
  111. package/build/list-item/list-style-type.native.js.map +1 -0
  112. package/build/list-item/utils.js +125 -1
  113. package/build/list-item/utils.js.map +1 -1
  114. package/build/media-text/deprecated.js +265 -16
  115. package/build/media-text/deprecated.js.map +1 -1
  116. package/build/media-text/edit.js +4 -3
  117. package/build/media-text/edit.js.map +1 -1
  118. package/build/media-text/media-container.js +1 -1
  119. package/build/media-text/media-container.js.map +1 -1
  120. package/build/media-text/save.js +13 -0
  121. package/build/media-text/save.js.map +1 -1
  122. package/build/more/edit.js +2 -4
  123. package/build/more/edit.js.map +1 -1
  124. package/build/more/save.js +1 -7
  125. package/build/more/save.js.map +1 -1
  126. package/build/navigation/edit/index.js +68 -123
  127. package/build/navigation/edit/index.js.map +1 -1
  128. package/build/navigation/edit/navigation-menu-selector.js +11 -14
  129. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  130. package/build/navigation/edit/placeholder/index.js +4 -2
  131. package/build/navigation/edit/placeholder/index.js.map +1 -1
  132. package/build/navigation/edit/responsive-wrapper.js +13 -3
  133. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  134. package/build/navigation/edit/use-create-navigation-menu.js +5 -1
  135. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  136. package/build/navigation/edit/use-inner-blocks.js +43 -0
  137. package/build/navigation/edit/use-inner-blocks.js.map +1 -0
  138. package/build/navigation/edit/utils.js +28 -0
  139. package/build/navigation/edit/utils.js.map +1 -0
  140. package/build/navigation/use-navigation-menu.js +7 -3
  141. package/build/navigation/use-navigation-menu.js.map +1 -1
  142. package/build/navigation/view.js +7 -4
  143. package/build/navigation/view.js.map +1 -1
  144. package/build/navigation-link/edit.js +5 -4
  145. package/build/navigation-link/edit.js.map +1 -1
  146. package/build/navigation-link/hooks.js +0 -16
  147. package/build/navigation-link/hooks.js.map +1 -1
  148. package/build/navigation-link/index.js +1 -1
  149. package/build/navigation-link/index.js.map +1 -1
  150. package/build/navigation-submenu/edit.js +2 -1
  151. package/build/navigation-submenu/edit.js.map +1 -1
  152. package/build/navigation-submenu/view.js +7 -4
  153. package/build/navigation-submenu/view.js.map +1 -1
  154. package/build/nextpage/edit.js +1 -3
  155. package/build/nextpage/edit.js.map +1 -1
  156. package/build/page-list/edit.js +10 -3
  157. package/build/page-list/edit.js.map +1 -1
  158. package/build/paragraph/edit.js +7 -11
  159. package/build/paragraph/edit.js.map +1 -1
  160. package/build/post-author/edit.js +5 -2
  161. package/build/post-author/edit.js.map +1 -1
  162. package/build/post-author-biography/edit.js +7 -1
  163. package/build/post-author-biography/edit.js.map +1 -1
  164. package/build/post-comments-form/edit.js +4 -47
  165. package/build/post-comments-form/edit.js.map +1 -1
  166. package/build/post-comments-form/form.js +47 -3
  167. package/build/post-comments-form/form.js.map +1 -1
  168. package/build/post-content/edit.js +4 -2
  169. package/build/post-content/edit.js.map +1 -1
  170. package/build/post-featured-image/edit.js +16 -2
  171. package/build/post-featured-image/edit.js.map +1 -1
  172. package/build/post-featured-image/index.js +9 -0
  173. package/build/post-featured-image/index.js.map +1 -1
  174. package/build/post-terms/edit.js +3 -2
  175. package/build/post-terms/edit.js.map +1 -1
  176. package/build/post-terms/index.js +1 -1
  177. package/build/post-terms/index.js.map +1 -1
  178. package/build/post-title/index.js +1 -0
  179. package/build/post-title/index.js.map +1 -1
  180. package/build/query/edit/inspector-controls/index.js +43 -10
  181. package/build/query/edit/inspector-controls/index.js.map +1 -1
  182. package/build/query/edit/inspector-controls/taxonomy-controls.js +21 -14
  183. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  184. package/build/query/index.js +1 -1
  185. package/build/query/index.js.map +1 -1
  186. package/build/query-no-results/edit.js +1 -1
  187. package/build/query-no-results/edit.js.map +1 -1
  188. package/build/query-pagination-next/edit.js +2 -1
  189. package/build/query-pagination-next/edit.js.map +1 -1
  190. package/build/query-pagination-previous/edit.js +2 -1
  191. package/build/query-pagination-previous/edit.js.map +1 -1
  192. package/build/query-title/edit.js +20 -7
  193. package/build/query-title/edit.js.map +1 -1
  194. package/build/query-title/index.js +4 -0
  195. package/build/query-title/index.js.map +1 -1
  196. package/build/query-title/variations.js +10 -0
  197. package/build/query-title/variations.js.map +1 -1
  198. package/build/quote/deprecated.js +168 -36
  199. package/build/quote/deprecated.js.map +1 -1
  200. package/build/quote/edit.js +76 -39
  201. package/build/quote/edit.js.map +1 -1
  202. package/build/quote/index.js +9 -45
  203. package/build/quote/index.js.map +1 -1
  204. package/build/quote/save.js +1 -5
  205. package/build/quote/save.js.map +1 -1
  206. package/build/quote/transforms.js +110 -158
  207. package/build/quote/transforms.js.map +1 -1
  208. package/build/separator/edit.js +1 -1
  209. package/build/separator/edit.js.map +1 -1
  210. package/build/site-logo/edit.js +5 -13
  211. package/build/site-logo/edit.js.map +1 -1
  212. package/build/site-title/edit/level-toolbar.js +2 -1
  213. package/build/site-title/edit/level-toolbar.js.map +1 -1
  214. package/build/social-link/icons/index.js +13 -0
  215. package/build/social-link/icons/index.js.map +1 -1
  216. package/build/social-link/icons/whatsapp.js +25 -0
  217. package/build/social-link/icons/whatsapp.js.map +1 -0
  218. package/build/social-link/variations.js +7 -0
  219. package/build/social-link/variations.js.map +1 -1
  220. package/build/social-links/edit.js +1 -0
  221. package/build/social-links/edit.js.map +1 -1
  222. package/build/template-part/edit/index.js +21 -10
  223. package/build/template-part/edit/index.js.map +1 -1
  224. package/build/template-part/edit/selection-modal.js +33 -13
  225. package/build/template-part/edit/selection-modal.js.map +1 -1
  226. package/build/template-part/edit/utils/search.js +94 -0
  227. package/build/template-part/edit/utils/search.js.map +1 -0
  228. package/build/template-part/index.js +1 -1
  229. package/build/template-part/index.js.map +1 -1
  230. package/build/template-part/variations.js +0 -16
  231. package/build/template-part/variations.js.map +1 -1
  232. package/build/utils/clean-empty-object.js +5 -3
  233. package/build/utils/clean-empty-object.js.map +1 -1
  234. package/build/video/tracks-editor.js +9 -11
  235. package/build/video/tracks-editor.js.map +1 -1
  236. package/build-module/archives/edit.js +7 -0
  237. package/build-module/archives/edit.js.map +1 -1
  238. package/build-module/archives/index.js +4 -0
  239. package/build-module/archives/index.js.map +1 -1
  240. package/build-module/block/edit.js +5 -3
  241. package/build-module/block/edit.js.map +1 -1
  242. package/build-module/block/edit.native.js +5 -3
  243. package/build-module/block/edit.native.js.map +1 -1
  244. package/build-module/button/edit.js +2 -1
  245. package/build-module/button/edit.js.map +1 -1
  246. package/build-module/buttons/edit.js +2 -2
  247. package/build-module/buttons/edit.js.map +1 -1
  248. package/build-module/calendar/edit.js +12 -4
  249. package/build-module/calendar/edit.js.map +1 -1
  250. package/build-module/columns/edit.native.js +4 -3
  251. package/build-module/columns/edit.native.js.map +1 -1
  252. package/build-module/comment-template/index.js +1 -1
  253. package/build-module/comments/deprecated.js +54 -0
  254. package/build-module/comments/deprecated.js.map +1 -0
  255. package/build-module/comments/edit/comments-legacy.js +59 -0
  256. package/build-module/comments/edit/comments-legacy.js.map +1 -0
  257. package/build-module/comments/edit/index.js +37 -0
  258. package/build-module/comments/edit/index.js.map +1 -0
  259. package/build-module/comments/edit/placeholder.js +102 -0
  260. package/build-module/comments/edit/placeholder.js.map +1 -0
  261. package/build-module/comments/edit/template.js +32 -0
  262. package/build-module/comments/edit/template.js.map +1 -0
  263. package/build-module/comments/index.js +10 -3
  264. package/build-module/comments/index.js.map +1 -1
  265. package/build-module/comments/save.js +9 -4
  266. package/build-module/comments/save.js.map +1 -1
  267. package/build-module/comments-pagination/index.js +1 -1
  268. package/build-module/comments-title/deprecated.js +1 -1
  269. package/build-module/comments-title/index.js +1 -1
  270. package/build-module/cover/edit/block-controls.js +3 -13
  271. package/build-module/cover/edit/block-controls.js.map +1 -1
  272. package/build-module/cover/edit/cover-placeholder.js +3 -1
  273. package/build-module/cover/edit/cover-placeholder.js.map +1 -1
  274. package/build-module/cover/edit/index.js +19 -4
  275. package/build-module/cover/edit/index.js.map +1 -1
  276. package/build-module/cover/edit/resizable-cover.js +6 -0
  277. package/build-module/cover/edit/resizable-cover.js.map +1 -1
  278. package/build-module/cover/transforms.js +3 -2
  279. package/build-module/cover/transforms.js.map +1 -1
  280. package/build-module/embed/embed-placeholder.native.js +1 -2
  281. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  282. package/build-module/gallery/edit.js +11 -18
  283. package/build-module/gallery/edit.js.map +1 -1
  284. package/build-module/gallery/transforms.js +30 -20
  285. package/build-module/gallery/transforms.js.map +1 -1
  286. package/build-module/gallery/use-get-media.js +6 -16
  287. package/build-module/gallery/use-get-media.js.map +1 -1
  288. package/build-module/gallery/use-get-media.native.js +50 -0
  289. package/build-module/gallery/use-get-media.native.js.map +1 -0
  290. package/build-module/group/edit.js +1 -3
  291. package/build-module/group/edit.js.map +1 -1
  292. package/build-module/group/index.js +1 -0
  293. package/build-module/group/index.js.map +1 -1
  294. package/build-module/group/transforms.js +5 -0
  295. package/build-module/group/transforms.js.map +1 -1
  296. package/build-module/group/variations.js +2 -2
  297. package/build-module/group/variations.js.map +1 -1
  298. package/build-module/heading/heading-level-dropdown.js +2 -1
  299. package/build-module/heading/heading-level-dropdown.js.map +1 -1
  300. package/build-module/heading/index.js +9 -4
  301. package/build-module/heading/index.js.map +1 -1
  302. package/build-module/image/deprecated.js +77 -9
  303. package/build-module/image/deprecated.js.map +1 -1
  304. package/build-module/image/edit.js +5 -3
  305. package/build-module/image/edit.js.map +1 -1
  306. package/build-module/image/edit.native.js +18 -8
  307. package/build-module/image/edit.native.js.map +1 -1
  308. package/build-module/image/image.js +29 -22
  309. package/build-module/image/image.js.map +1 -1
  310. package/build-module/image/index.js +7 -1
  311. package/build-module/image/index.js.map +1 -1
  312. package/build-module/image/save.js +9 -3
  313. package/build-module/image/save.js.map +1 -1
  314. package/build-module/index.js +1 -2
  315. package/build-module/index.js.map +1 -1
  316. package/build-module/index.native.js +9 -7
  317. package/build-module/index.native.js.map +1 -1
  318. package/build-module/latest-posts/edit.js +2 -2
  319. package/build-module/latest-posts/edit.js.map +1 -1
  320. package/build-module/list/index.js +1 -1
  321. package/build-module/list/index.js.map +1 -1
  322. package/build-module/list/transforms.js +4 -63
  323. package/build-module/list/transforms.js.map +1 -1
  324. package/build-module/list/v2/edit.js +15 -5
  325. package/build-module/list/v2/edit.js.map +1 -1
  326. package/build-module/list/v2/tag-name.js +21 -0
  327. package/build-module/list/v2/tag-name.js.map +1 -0
  328. package/build-module/list/v2/tag-name.native.js +21 -0
  329. package/build-module/list/v2/tag-name.native.js.map +1 -0
  330. package/build-module/list/v2/transforms.js +3 -39
  331. package/build-module/list/v2/transforms.js.map +1 -1
  332. package/build-module/list-item/edit.js +15 -13
  333. package/build-module/list-item/edit.js.map +1 -1
  334. package/build-module/list-item/edit.native.js +141 -0
  335. package/build-module/list-item/edit.native.js.map +1 -0
  336. package/build-module/list-item/hooks/index.js +1 -1
  337. package/build-module/list-item/hooks/index.js.map +1 -1
  338. package/build-module/list-item/hooks/use-merge.js +160 -0
  339. package/build-module/list-item/hooks/use-merge.js.map +1 -0
  340. package/build-module/list-item/hooks/use-outdent-list-item.js +82 -46
  341. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  342. package/build-module/list-item/icons.native.js +37 -0
  343. package/build-module/list-item/icons.native.js.map +1 -0
  344. package/build-module/list-item/list-style-type.native.js +124 -0
  345. package/build-module/list-item/list-style-type.native.js.map +1 -0
  346. package/build-module/list-item/utils.js +123 -2
  347. package/build-module/list-item/utils.js.map +1 -1
  348. package/build-module/media-text/deprecated.js +267 -17
  349. package/build-module/media-text/deprecated.js.map +1 -1
  350. package/build-module/media-text/edit.js +4 -3
  351. package/build-module/media-text/edit.js.map +1 -1
  352. package/build-module/media-text/media-container.js +1 -1
  353. package/build-module/media-text/media-container.js.map +1 -1
  354. package/build-module/media-text/save.js +13 -0
  355. package/build-module/media-text/save.js.map +1 -1
  356. package/build-module/more/edit.js +2 -4
  357. package/build-module/more/edit.js.map +1 -1
  358. package/build-module/more/save.js +1 -6
  359. package/build-module/more/save.js.map +1 -1
  360. package/build-module/navigation/edit/index.js +66 -122
  361. package/build-module/navigation/edit/index.js.map +1 -1
  362. package/build-module/navigation/edit/navigation-menu-selector.js +12 -15
  363. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  364. package/build-module/navigation/edit/placeholder/index.js +4 -2
  365. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  366. package/build-module/navigation/edit/responsive-wrapper.js +12 -3
  367. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  368. package/build-module/navigation/edit/use-create-navigation-menu.js +5 -1
  369. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  370. package/build-module/navigation/edit/use-inner-blocks.js +33 -0
  371. package/build-module/navigation/edit/use-inner-blocks.js.map +1 -0
  372. package/build-module/navigation/edit/utils.js +21 -0
  373. package/build-module/navigation/edit/utils.js.map +1 -0
  374. package/build-module/navigation/use-navigation-menu.js +7 -3
  375. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  376. package/build-module/navigation/view.js +7 -4
  377. package/build-module/navigation/view.js.map +1 -1
  378. package/build-module/navigation-link/edit.js +5 -4
  379. package/build-module/navigation-link/edit.js.map +1 -1
  380. package/build-module/navigation-link/hooks.js +0 -13
  381. package/build-module/navigation-link/hooks.js.map +1 -1
  382. package/build-module/navigation-link/index.js +1 -1
  383. package/build-module/navigation-link/index.js.map +1 -1
  384. package/build-module/navigation-submenu/edit.js +2 -1
  385. package/build-module/navigation-submenu/edit.js.map +1 -1
  386. package/build-module/navigation-submenu/view.js +7 -4
  387. package/build-module/navigation-submenu/view.js.map +1 -1
  388. package/build-module/nextpage/edit.js +1 -3
  389. package/build-module/nextpage/edit.js.map +1 -1
  390. package/build-module/page-list/edit.js +10 -3
  391. package/build-module/page-list/edit.js.map +1 -1
  392. package/build-module/paragraph/edit.js +8 -12
  393. package/build-module/paragraph/edit.js.map +1 -1
  394. package/build-module/post-author/edit.js +5 -2
  395. package/build-module/post-author/edit.js.map +1 -1
  396. package/build-module/post-author-biography/edit.js +6 -1
  397. package/build-module/post-author-biography/edit.js.map +1 -1
  398. package/build-module/post-comments-form/edit.js +5 -44
  399. package/build-module/post-comments-form/edit.js.map +1 -1
  400. package/build-module/post-comments-form/form.js +46 -5
  401. package/build-module/post-comments-form/form.js.map +1 -1
  402. package/build-module/post-content/edit.js +5 -3
  403. package/build-module/post-content/edit.js.map +1 -1
  404. package/build-module/post-featured-image/edit.js +17 -3
  405. package/build-module/post-featured-image/edit.js.map +1 -1
  406. package/build-module/post-featured-image/index.js +9 -0
  407. package/build-module/post-featured-image/index.js.map +1 -1
  408. package/build-module/post-terms/edit.js +3 -2
  409. package/build-module/post-terms/edit.js.map +1 -1
  410. package/build-module/post-terms/index.js +1 -1
  411. package/build-module/post-terms/index.js.map +1 -1
  412. package/build-module/post-title/index.js +1 -0
  413. package/build-module/post-title/index.js.map +1 -1
  414. package/build-module/query/edit/inspector-controls/index.js +43 -10
  415. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  416. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +16 -12
  417. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  418. package/build-module/query/index.js +1 -1
  419. package/build-module/query/index.js.map +1 -1
  420. package/build-module/query-no-results/edit.js +2 -2
  421. package/build-module/query-no-results/edit.js.map +1 -1
  422. package/build-module/query-pagination-next/edit.js +2 -1
  423. package/build-module/query-pagination-next/edit.js.map +1 -1
  424. package/build-module/query-pagination-previous/edit.js +2 -1
  425. package/build-module/query-pagination-previous/edit.js.map +1 -1
  426. package/build-module/query-title/edit.js +20 -8
  427. package/build-module/query-title/edit.js.map +1 -1
  428. package/build-module/query-title/index.js +4 -0
  429. package/build-module/query-title/index.js.map +1 -1
  430. package/build-module/query-title/variations.js +10 -0
  431. package/build-module/query-title/variations.js.map +1 -1
  432. package/build-module/quote/deprecated.js +162 -36
  433. package/build-module/quote/deprecated.js.map +1 -1
  434. package/build-module/quote/edit.js +77 -43
  435. package/build-module/quote/edit.js.map +1 -1
  436. package/build-module/quote/index.js +9 -39
  437. package/build-module/quote/index.js.map +1 -1
  438. package/build-module/quote/save.js +4 -8
  439. package/build-module/quote/save.js.map +1 -1
  440. package/build-module/quote/transforms.js +111 -158
  441. package/build-module/quote/transforms.js.map +1 -1
  442. package/build-module/separator/edit.js +1 -1
  443. package/build-module/separator/edit.js.map +1 -1
  444. package/build-module/site-logo/edit.js +5 -13
  445. package/build-module/site-logo/edit.js.map +1 -1
  446. package/build-module/site-title/edit/level-toolbar.js +2 -1
  447. package/build-module/site-title/edit/level-toolbar.js.map +1 -1
  448. package/build-module/social-link/icons/index.js +1 -0
  449. package/build-module/social-link/icons/index.js.map +1 -1
  450. package/build-module/social-link/icons/whatsapp.js +15 -0
  451. package/build-module/social-link/icons/whatsapp.js.map +1 -0
  452. package/build-module/social-link/variations.js +8 -1
  453. package/build-module/social-link/variations.js.map +1 -1
  454. package/build-module/social-links/edit.js +1 -0
  455. package/build-module/social-links/edit.js.map +1 -1
  456. package/build-module/template-part/edit/index.js +24 -13
  457. package/build-module/template-part/edit/index.js.map +1 -1
  458. package/build-module/template-part/edit/selection-modal.js +33 -15
  459. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  460. package/build-module/template-part/edit/utils/search.js +84 -0
  461. package/build-module/template-part/edit/utils/search.js.map +1 -0
  462. package/build-module/template-part/index.js +1 -1
  463. package/build-module/template-part/index.js.map +1 -1
  464. package/build-module/template-part/variations.js +0 -13
  465. package/build-module/template-part/variations.js.map +1 -1
  466. package/build-module/utils/clean-empty-object.js +5 -2
  467. package/build-module/utils/clean-empty-object.js.map +1 -1
  468. package/build-module/video/tracks-editor.js +9 -11
  469. package/build-module/video/tracks-editor.js.map +1 -1
  470. package/build-style/button/style-rtl.css +1 -1
  471. package/build-style/button/style.css +1 -1
  472. package/build-style/comment-template/style-rtl.css +12 -0
  473. package/build-style/comment-template/style.css +12 -0
  474. package/build-style/comments/editor-rtl.css +122 -0
  475. package/build-style/comments/editor.css +122 -0
  476. package/build-style/{post-comments → comments}/style-rtl.css +1 -0
  477. package/build-style/{post-comments → comments}/style.css +1 -0
  478. package/build-style/common-rtl.css +7 -0
  479. package/build-style/common.css +7 -0
  480. package/build-style/cover/style-rtl.css +2 -2
  481. package/build-style/cover/style.css +2 -2
  482. package/build-style/editor-elements-rtl.css +85 -0
  483. package/build-style/editor-elements.css +85 -0
  484. package/build-style/editor-rtl.css +162 -11
  485. package/build-style/editor.css +162 -11
  486. package/build-style/{post-comments/editor-rtl.css → elements-rtl.css} +5 -2
  487. package/build-style/{post-comments/editor.css → elements.css} +5 -2
  488. package/build-style/gallery/style-rtl.css +7 -2
  489. package/build-style/gallery/style.css +7 -2
  490. package/build-style/image/editor-rtl.css +4 -3
  491. package/build-style/image/editor.css +4 -3
  492. package/build-style/image/style-rtl.css +33 -3
  493. package/build-style/image/style.css +33 -3
  494. package/build-style/latest-posts/editor-rtl.css +3 -0
  495. package/build-style/latest-posts/editor.css +3 -0
  496. package/build-style/navigation/style-rtl.css +17 -19
  497. package/build-style/navigation/style.css +17 -19
  498. package/build-style/post-comments-form/style-rtl.css +0 -1
  499. package/build-style/post-comments-form/style.css +0 -1
  500. package/build-style/query/editor-rtl.css +8 -1
  501. package/build-style/query/editor.css +8 -1
  502. package/build-style/query-pagination/style-rtl.css +6 -0
  503. package/build-style/query-pagination/style.css +6 -0
  504. package/build-style/search/style-rtl.css +2 -0
  505. package/build-style/search/style.css +2 -0
  506. package/build-style/search/theme-rtl.css +5 -0
  507. package/build-style/search/theme.css +5 -0
  508. package/build-style/social-link/editor-rtl.css +1 -0
  509. package/build-style/social-link/editor.css +1 -0
  510. package/build-style/social-links/style-rtl.css +8 -0
  511. package/build-style/social-links/style.css +8 -0
  512. package/build-style/style-rtl.css +208 -139
  513. package/build-style/style.css +208 -139
  514. package/build-style/tag-cloud/style-rtl.css +1 -0
  515. package/build-style/tag-cloud/style.css +1 -0
  516. package/build-style/template-part/editor-rtl.css +14 -3
  517. package/build-style/template-part/editor.css +14 -3
  518. package/build-style/theme-rtl.css +5 -0
  519. package/build-style/theme.css +5 -0
  520. package/package.json +28 -29
  521. package/src/archives/block.json +4 -0
  522. package/src/archives/edit.js +12 -1
  523. package/src/archives/index.php +5 -3
  524. package/src/audio/test/__snapshots__/edit.native.js.snap +16 -2
  525. package/src/block/edit.js +4 -4
  526. package/src/block/edit.native.js +4 -4
  527. package/src/button/edit.js +1 -0
  528. package/src/button/style.scss +3 -1
  529. package/src/buttons/edit.js +1 -5
  530. package/src/calendar/edit.js +11 -4
  531. package/src/columns/edit.native.js +5 -3
  532. package/src/comment-template/block.json +1 -1
  533. package/src/comment-template/style.scss +14 -0
  534. package/src/comments/block.json +7 -2
  535. package/src/comments/deprecated.js +53 -0
  536. package/src/comments/edit/comments-legacy.js +71 -0
  537. package/src/comments/edit/index.js +35 -0
  538. package/src/comments/edit/placeholder.js +124 -0
  539. package/src/comments/{edit.js → edit/template.js} +1 -28
  540. package/src/comments/editor.scss +9 -0
  541. package/src/comments/index.js +2 -0
  542. package/src/comments/index.php +219 -0
  543. package/src/comments/save.js +8 -7
  544. package/src/{post-comments → comments}/style.scss +7 -0
  545. package/src/comments-pagination/block.json +1 -1
  546. package/src/comments-title/block.json +1 -1
  547. package/src/common.scss +2 -0
  548. package/src/cover/edit/block-controls.js +4 -20
  549. package/src/cover/edit/cover-placeholder.js +2 -0
  550. package/src/cover/edit/index.js +16 -0
  551. package/src/cover/edit/resizable-cover.js +6 -0
  552. package/src/cover/index.php +2 -2
  553. package/src/cover/style.scss +2 -2
  554. package/src/cover/transforms.js +2 -2
  555. package/src/editor-elements.scss +10 -0
  556. package/src/editor.scss +2 -1
  557. package/src/elements.scss +6 -0
  558. package/src/embed/embed-placeholder.native.js +2 -3
  559. package/src/file/test/__snapshots__/edit.native.js.snap +32 -4
  560. package/src/gallery/edit.js +12 -23
  561. package/src/gallery/index.php +1 -1
  562. package/src/gallery/style.scss +10 -1
  563. package/src/gallery/transforms.js +25 -10
  564. package/src/gallery/use-get-media.js +11 -28
  565. package/src/gallery/use-get-media.native.js +44 -0
  566. package/src/group/block.json +1 -0
  567. package/src/group/edit.js +1 -3
  568. package/src/group/transforms.js +7 -0
  569. package/src/group/variations.js +2 -2
  570. package/src/heading/heading-level-dropdown.js +1 -0
  571. package/src/heading/index.js +8 -2
  572. package/src/home-link/index.php +8 -17
  573. package/src/image/block.json +7 -1
  574. package/src/image/deprecated.js +86 -0
  575. package/src/image/edit.js +6 -1
  576. package/src/image/edit.native.js +18 -7
  577. package/src/image/editor.scss +9 -4
  578. package/src/image/image.js +26 -16
  579. package/src/image/save.js +10 -1
  580. package/src/image/style.scss +39 -3
  581. package/src/image/test/edit.native.js +6 -10
  582. package/src/index.js +0 -2
  583. package/src/index.native.js +11 -7
  584. package/src/latest-posts/edit.js +2 -6
  585. package/src/latest-posts/editor.scss +5 -0
  586. package/src/list/index.js +1 -1
  587. package/src/list/test/__snapshots__/edit.native.js.snap +133 -0
  588. package/src/list/test/edit.native.js +511 -7
  589. package/src/list/transforms.js +0 -47
  590. package/src/list/v2/edit.js +12 -4
  591. package/src/list/v2/tag-name.js +13 -0
  592. package/src/list/v2/tag-name.native.js +12 -0
  593. package/src/list/v2/transforms.js +3 -49
  594. package/src/list-item/edit.js +11 -13
  595. package/src/list-item/edit.native.js +148 -0
  596. package/src/list-item/hooks/index.js +1 -1
  597. package/src/list-item/hooks/use-merge.js +141 -0
  598. package/src/list-item/hooks/use-outdent-list-item.js +72 -74
  599. package/src/list-item/icons.native.js +34 -0
  600. package/src/list-item/list-style-type.native.js +139 -0
  601. package/src/list-item/style.native.scss +45 -0
  602. package/src/list-item/utils.js +27 -3
  603. package/src/media-text/deprecated.js +581 -288
  604. package/src/media-text/edit.js +3 -1
  605. package/src/media-text/media-container.js +3 -1
  606. package/src/media-text/save.js +18 -0
  607. package/src/media-text/test/media-container.js +24 -0
  608. package/src/more/edit.js +9 -11
  609. package/src/more/save.js +3 -6
  610. package/src/navigation/edit/index.js +83 -164
  611. package/src/navigation/edit/navigation-menu-selector.js +12 -26
  612. package/src/navigation/edit/placeholder/index.js +4 -2
  613. package/src/navigation/edit/responsive-wrapper.js +24 -3
  614. package/src/navigation/edit/use-create-navigation-menu.js +4 -0
  615. package/src/navigation/edit/use-inner-blocks.js +39 -0
  616. package/src/navigation/edit/utils.js +30 -0
  617. package/src/navigation/index.php +6 -0
  618. package/src/navigation/style.scss +13 -23
  619. package/src/navigation/use-navigation-menu.js +9 -5
  620. package/src/navigation/view.js +6 -6
  621. package/src/navigation-link/edit.js +4 -3
  622. package/src/navigation-link/hooks.js +0 -14
  623. package/src/navigation-link/index.js +1 -1
  624. package/src/navigation-link/index.php +1 -1
  625. package/src/navigation-link/test/__snapshots__/hooks.js.snap +0 -93
  626. package/src/navigation-link/test/hooks.js +0 -12
  627. package/src/navigation-submenu/edit.js +1 -0
  628. package/src/navigation-submenu/index.php +1 -1
  629. package/src/navigation-submenu/view.js +6 -6
  630. package/src/nextpage/edit.js +1 -3
  631. package/src/page-list/edit.js +12 -5
  632. package/src/page-list/index.php +4 -4
  633. package/src/paragraph/edit.js +8 -14
  634. package/src/post-author/edit.js +6 -3
  635. package/src/post-author-biography/edit.js +4 -1
  636. package/src/post-comments-form/edit.js +2 -74
  637. package/src/post-comments-form/form.js +80 -5
  638. package/src/post-comments-form/index.php +1 -1
  639. package/src/post-comments-form/style.scss +0 -1
  640. package/src/post-content/edit.js +4 -4
  641. package/src/post-featured-image/block.json +9 -0
  642. package/src/post-featured-image/edit.js +23 -1
  643. package/src/post-featured-image/index.php +3 -1
  644. package/src/post-template/index.php +8 -14
  645. package/src/post-terms/edit.js +3 -2
  646. package/src/post-terms/index.js +1 -1
  647. package/src/post-title/block.json +1 -0
  648. package/src/post-title/index.php +2 -1
  649. package/src/preformatted/test/__snapshots__/edit.native.js.snap +16 -2
  650. package/src/query/edit/inspector-controls/index.js +129 -65
  651. package/src/query/edit/inspector-controls/taxonomy-controls.js +17 -10
  652. package/src/query/editor.scss +10 -1
  653. package/src/query/index.js +1 -1
  654. package/src/query-no-results/edit.js +2 -5
  655. package/src/query-no-results/index.php +10 -8
  656. package/src/query-pagination/style.scss +14 -0
  657. package/src/query-pagination-next/edit.js +1 -0
  658. package/src/query-pagination-previous/edit.js +1 -0
  659. package/src/query-title/block.json +4 -0
  660. package/src/query-title/edit.js +33 -6
  661. package/src/query-title/index.php +17 -1
  662. package/src/query-title/variations.js +13 -0
  663. package/src/quote/deprecated.js +213 -99
  664. package/src/quote/edit.js +77 -52
  665. package/src/quote/index.js +10 -33
  666. package/src/quote/save.js +5 -5
  667. package/src/quote/{v2/test → test}/migrate.js +2 -7
  668. package/src/quote/transforms.js +113 -147
  669. package/src/search/style.scss +2 -0
  670. package/src/search/test/__snapshots__/edit.native.js.snap +56 -7
  671. package/src/search/theme.scss +5 -0
  672. package/src/separator/edit.js +1 -1
  673. package/src/separator/test/edit.js +5 -3
  674. package/src/site-logo/edit.js +2 -11
  675. package/src/site-title/edit/level-toolbar.js +1 -0
  676. package/src/site-title/index.php +8 -9
  677. package/src/social-link/editor.scss +3 -0
  678. package/src/social-link/icons/index.js +1 -0
  679. package/src/social-link/icons/whatsapp.js +10 -0
  680. package/src/social-link/index.php +21 -1
  681. package/src/social-link/socials-with-bg.scss +5 -0
  682. package/src/social-link/socials-without-bg.scss +5 -0
  683. package/src/social-link/variations.js +7 -0
  684. package/src/social-links/edit.js +1 -0
  685. package/src/style.scss +1 -1
  686. package/src/tag-cloud/style.scss +1 -0
  687. package/src/template-part/edit/index.js +40 -27
  688. package/src/template-part/edit/selection-modal.js +68 -40
  689. package/src/template-part/edit/utils/search.js +76 -0
  690. package/src/template-part/editor.scss +21 -9
  691. package/src/template-part/index.js +1 -1
  692. package/src/template-part/index.php +56 -2
  693. package/src/template-part/variations.js +0 -11
  694. package/src/utils/clean-empty-object.js +8 -2
  695. package/src/video/tracks-editor.js +1 -1
  696. package/build/comments/edit.js.map +0 -1
  697. package/build/gallery/use-short-code-transform.js +0 -64
  698. package/build/gallery/use-short-code-transform.js.map +0 -1
  699. package/build/list-item/hooks/use-backspace.js +0 -59
  700. package/build/list-item/hooks/use-backspace.js.map +0 -1
  701. package/build/navigation-link/fallback-variations.js +0 -75
  702. package/build/navigation-link/fallback-variations.js.map +0 -1
  703. package/build/post-comments/edit.js +0 -184
  704. package/build/post-comments/edit.js.map +0 -1
  705. package/build/post-comments/index.js +0 -72
  706. package/build/post-comments/index.js.map +0 -1
  707. package/build/quote/v2/deprecated.js +0 -133
  708. package/build/quote/v2/deprecated.js.map +0 -1
  709. package/build/quote/v2/edit.js +0 -139
  710. package/build/quote/v2/edit.js.map +0 -1
  711. package/build/quote/v2/index.js +0 -49
  712. package/build/quote/v2/index.js.map +0 -1
  713. package/build/quote/v2/save.js +0 -43
  714. package/build/quote/v2/save.js.map +0 -1
  715. package/build/quote/v2/transforms.js +0 -156
  716. package/build/quote/v2/transforms.js.map +0 -1
  717. package/build/template-part/fallback-variations.js +0 -59
  718. package/build/template-part/fallback-variations.js.map +0 -1
  719. package/build-module/comments/edit.js +0 -59
  720. package/build-module/comments/edit.js.map +0 -1
  721. package/build-module/gallery/use-short-code-transform.js +0 -54
  722. package/build-module/gallery/use-short-code-transform.js.map +0 -1
  723. package/build-module/list-item/hooks/use-backspace.js +0 -44
  724. package/build-module/list-item/hooks/use-backspace.js.map +0 -1
  725. package/build-module/navigation-link/fallback-variations.js +0 -65
  726. package/build-module/navigation-link/fallback-variations.js.map +0 -1
  727. package/build-module/post-comments/edit.js +0 -171
  728. package/build-module/post-comments/edit.js.map +0 -1
  729. package/build-module/post-comments/index.js +0 -59
  730. package/build-module/post-comments/index.js.map +0 -1
  731. package/build-module/quote/v2/deprecated.js +0 -116
  732. package/build-module/quote/v2/deprecated.js.map +0 -1
  733. package/build-module/quote/v2/edit.js +0 -122
  734. package/build-module/quote/v2/edit.js.map +0 -1
  735. package/build-module/quote/v2/index.js +0 -33
  736. package/build-module/quote/v2/index.js.map +0 -1
  737. package/build-module/quote/v2/save.js +0 -30
  738. package/build-module/quote/v2/save.js.map +0 -1
  739. package/build-module/quote/v2/transforms.js +0 -147
  740. package/build-module/quote/v2/transforms.js.map +0 -1
  741. package/build-module/template-part/fallback-variations.js +0 -47
  742. package/build-module/template-part/fallback-variations.js.map +0 -1
  743. package/src/gallery/use-short-code-transform.js +0 -55
  744. package/src/list-item/hooks/use-backspace.js +0 -51
  745. package/src/navigation-link/fallback-variations.js +0 -65
  746. package/src/post-comments/block.json +0 -45
  747. package/src/post-comments/edit.js +0 -247
  748. package/src/post-comments/editor.scss +0 -3
  749. package/src/post-comments/index.js +0 -18
  750. package/src/post-comments/index.php +0 -87
  751. package/src/quote/v2/deprecated.js +0 -107
  752. package/src/quote/v2/edit.js +0 -139
  753. package/src/quote/v2/index.js +0 -36
  754. package/src/quote/v2/save.js +0 -26
  755. package/src/quote/v2/transforms.js +0 -155
  756. package/src/template-part/fallback-variations.js +0 -51
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 7.12.0 (2022-08-10)
6
+
7
+ ## 7.11.0 (2022-07-27)
8
+
9
+ ## 7.10.0 (2022-07-13)
10
+
5
11
  ## 7.9.0 (2022-06-29)
6
12
 
7
13
  ## 7.8.0 (2022-06-15)
@@ -26,6 +26,7 @@ function ArchivesEdit(_ref) {
26
26
  setAttributes
27
27
  } = _ref;
28
28
  const {
29
+ showLabel,
29
30
  showPostCounts,
30
31
  displayAsDropdown,
31
32
  type
@@ -38,6 +39,12 @@ function ArchivesEdit(_ref) {
38
39
  onChange: () => setAttributes({
39
40
  displayAsDropdown: !displayAsDropdown
40
41
  })
42
+ }), displayAsDropdown && (0, _element.createElement)(_components.ToggleControl, {
43
+ label: (0, _i18n.__)('Show label'),
44
+ checked: showLabel,
45
+ onChange: () => setAttributes({
46
+ showLabel: !showLabel
47
+ })
41
48
  }), (0, _element.createElement)(_components.ToggleControl, {
42
49
  label: (0, _i18n.__)('Show post counts'),
43
50
  checked: showPostCounts,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/archives/edit.js"],"names":["ArchivesEdit","attributes","setAttributes","showPostCounts","displayAsDropdown","type","label","value"],"mappings":";;;;;;;;;;;AAGA;;AAMA;;AACA;;AACA;;AAXA;AACA;AACA;AAWe,SAASA,YAAT,OAAuD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACrE,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,iBAAlB;AAAqCC,IAAAA;AAArC,MAA8CJ,UAApD;AAEA,SACC,qDACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,qBAAJ,CADT;AAEC,IAAA,OAAO,EAAGG,iBAFX;AAGC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AACdE,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AAJf,IADD,EAUC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CADT;AAEC,IAAA,OAAO,EAAGD,cAFX;AAGC,IAAA,QAAQ,EAAG,MACVD,aAAa,CAAE;AACdC,MAAAA,cAAc,EAAE,CAAEA;AADJ,KAAF;AAJf,IAVD,EAmBC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,WAAJ,CADT;AAEC,IAAA,OAAO,EAAG,CACT;AAAEG,MAAAA,KAAK,EAAE,cAAI,MAAJ,CAAT;AAAuBC,MAAAA,KAAK,EAAE;AAA9B,KADS,EAET;AAAED,MAAAA,KAAK,EAAE,cAAI,OAAJ,CAAT;AAAwBC,MAAAA,KAAK,EAAE;AAA/B,KAFS,EAGT;AAAED,MAAAA,KAAK,EAAE,cAAI,MAAJ,CAAT;AAAuBC,MAAAA,KAAK,EAAE;AAA9B,KAHS,EAIT;AAAED,MAAAA,KAAK,EAAE,cAAI,KAAJ,CAAT;AAAsBC,MAAAA,KAAK,EAAE;AAA7B,KAJS,CAFX;AAQC,IAAA,KAAK,EAAGF,IART;AASC,IAAA,QAAQ,EAAKE,KAAF,IACVL,aAAa,CAAE;AAAEG,MAAAA,IAAI,EAAEE;AAAR,KAAF;AAVf,IAnBD,CADD,CADD,EAoCC,mCAAU,iCAAV,EACC,4BAAC,oBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAC,eADP;AAEC,IAAA,UAAU,EAAGN;AAFd,IADD,CADD,CApCD,CADD;AA+CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n\tDisabled,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport ServerSideRender from '@wordpress/server-side-render';\n\nexport default function ArchivesEdit( { attributes, setAttributes } ) {\n\tconst { showPostCounts, displayAsDropdown, type } = attributes;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayAsDropdown: ! displayAsDropdown,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowPostCounts: ! showPostCounts,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Group by:' ) }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Year' ), value: 'yearly' },\n\t\t\t\t\t\t\t{ label: __( 'Month' ), value: 'monthly' },\n\t\t\t\t\t\t\t{ label: __( 'Week' ), value: 'weekly' },\n\t\t\t\t\t\t\t{ label: __( 'Day' ), value: 'daily' },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tvalue={ type }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { type: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tblock=\"core/archives\"\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/archives/edit.js"],"names":["ArchivesEdit","attributes","setAttributes","showLabel","showPostCounts","displayAsDropdown","type","label","value"],"mappings":";;;;;;;;;;;AAGA;;AAMA;;AACA;;AACA;;AAXA;AACA;AACA;AAWe,SAASA,YAAT,OAAuD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACrE,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,cAAb;AAA6BC,IAAAA,iBAA7B;AAAgDC,IAAAA;AAAhD,MAAyDL,UAA/D;AAEA,SACC,qDACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,qBAAJ,CADT;AAEC,IAAA,OAAO,EAAGI,iBAFX;AAGC,IAAA,QAAQ,EAAG,MACVH,aAAa,CAAE;AACdG,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AAJf,IADD,EAUGA,iBAAiB,IAClB,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,YAAJ,CADT;AAEC,IAAA,OAAO,EAAGF,SAFX;AAGC,IAAA,QAAQ,EAAG,MACVD,aAAa,CAAE;AACdC,MAAAA,SAAS,EAAE,CAAEA;AADC,KAAF;AAJf,IAXF,EAqBC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CADT;AAEC,IAAA,OAAO,EAAGC,cAFX;AAGC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AACdE,MAAAA,cAAc,EAAE,CAAEA;AADJ,KAAF;AAJf,IArBD,EA8BC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,WAAJ,CADT;AAEC,IAAA,OAAO,EAAG,CACT;AAAEG,MAAAA,KAAK,EAAE,cAAI,MAAJ,CAAT;AAAuBC,MAAAA,KAAK,EAAE;AAA9B,KADS,EAET;AAAED,MAAAA,KAAK,EAAE,cAAI,OAAJ,CAAT;AAAwBC,MAAAA,KAAK,EAAE;AAA/B,KAFS,EAGT;AAAED,MAAAA,KAAK,EAAE,cAAI,MAAJ,CAAT;AAAuBC,MAAAA,KAAK,EAAE;AAA9B,KAHS,EAIT;AAAED,MAAAA,KAAK,EAAE,cAAI,KAAJ,CAAT;AAAsBC,MAAAA,KAAK,EAAE;AAA7B,KAJS,CAFX;AAQC,IAAA,KAAK,EAAGF,IART;AASC,IAAA,QAAQ,EAAKE,KAAF,IACVN,aAAa,CAAE;AAAEI,MAAAA,IAAI,EAAEE;AAAR,KAAF;AAVf,IA9BD,CADD,CADD,EA+CC,mCAAU,iCAAV,EACC,4BAAC,oBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAC,eADP;AAEC,IAAA,UAAU,EAAGP;AAFd,IADD,CADD,CA/CD,CADD;AA0DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n\tDisabled,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport ServerSideRender from '@wordpress/server-side-render';\n\nexport default function ArchivesEdit( { attributes, setAttributes } ) {\n\tconst { showLabel, showPostCounts, displayAsDropdown, type } = attributes;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayAsDropdown: ! displayAsDropdown,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowPostCounts: ! showPostCounts,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Group by:' ) }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Year' ), value: 'yearly' },\n\t\t\t\t\t\t\t{ label: __( 'Month' ), value: 'monthly' },\n\t\t\t\t\t\t\t{ label: __( 'Week' ), value: 'weekly' },\n\t\t\t\t\t\t\t{ label: __( 'Day' ), value: 'daily' },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tvalue={ type }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { type: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tblock=\"core/archives\"\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -31,6 +31,10 @@ const metadata = {
31
31
  type: "boolean",
32
32
  "default": false
33
33
  },
34
+ showLabel: {
35
+ type: "boolean",
36
+ "default": true
37
+ },
34
38
  showPostCounts: {
35
39
  type: "boolean",
36
40
  "default": false
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/archives/index.js"],"names":["name","metadata","settings","icon","example","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,cADuB;AAEvBC,EAAAA,OAAO,EAAE,EAFc;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { archive as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/archives/index.js"],"names":["name","metadata","settings","icon","example","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,cADuB;AAEvBC,EAAAA,OAAO,EAAE,EAFc;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { archive as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n"]}
@@ -31,7 +31,7 @@ function ReusableBlockEdit(_ref) {
31
31
  },
32
32
  clientId
33
33
  } = _ref;
34
- const [hasAlreadyRendered, RecursionProvider] = (0, _blockEditor.__experimentalUseNoRecursiveRenders)(ref);
34
+ const hasAlreadyRendered = (0, _blockEditor.__experimentalUseHasRecursion)(ref);
35
35
  const {
36
36
  record,
37
37
  hasResolved
@@ -70,7 +70,9 @@ function ReusableBlockEdit(_ref) {
70
70
  return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_components.Placeholder, null, (0, _element.createElement)(_components.Spinner, null)));
71
71
  }
72
72
 
73
- return (0, _element.createElement)(RecursionProvider, null, canRemove && (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.ToolbarButton, {
73
+ return (0, _element.createElement)(_blockEditor.__experimentalRecursionProvider, {
74
+ uniqueId: ref
75
+ }, canRemove && (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.ToolbarButton, {
74
76
  onClick: () => convertBlockToStatic(clientId),
75
77
  label: (0, _i18n.__)('Convert to regular blocks'),
76
78
  icon: _icons.ungroup,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/block/edit.js"],"names":["ReusableBlockEdit","attributes","ref","clientId","hasAlreadyRendered","RecursionProvider","record","hasResolved","isMissing","canRemove","select","blockEditorStore","canRemoveBlock","__experimentalConvertBlockToStatic","convertBlockToStatic","reusableBlocksStore","blocks","onInput","onChange","id","title","setTitle","hasBlockOverlay","blockProps","className","__unstableIsDisabled","innerBlocksProps","value","renderAppender","length","undefined","InnerBlocks","ButtonBlockAppender","ungroup"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AAQA;;AACA;;AAWA;;AACA;;AA9BA;AACA;AACA;AA8Be,SAASA,iBAAT,OAAgE;AAAA,MAApC;AAAEC,IAAAA,UAAU,EAAE;AAAEC,MAAAA;AAAF,KAAd;AAAuBC,IAAAA;AAAvB,GAAoC;AAC9E,QAAM,CAAEC,kBAAF,EAAsBC,iBAAtB,IACL,sDAAuBH,GAAvB,CADD;AAEA,QAAM;AAAEI,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAA0B,+BAC/B,UAD+B,EAE/B,UAF+B,EAG/BL,GAH+B,CAAhC;AAKA,QAAMM,SAAS,GAAGD,WAAW,IAAI,CAAED,MAAnC;AAEA,QAAMG,SAAS,GAAG,qBACfC,MAAF,IAAcA,MAAM,CAAEC,kBAAF,CAAN,CAA2BC,cAA3B,CAA2CT,QAA3C,CADG,EAEjB,CAAEA,QAAF,CAFiB,CAAlB;AAKA,QAAM;AAAEU,IAAAA,kCAAkC,EAAEC;AAAtC,MACL,uBAAaC,qBAAb,CADD;AAGA,QAAM,CAAEC,MAAF,EAAUC,OAAV,EAAmBC,QAAnB,IAAgC,oCACrC,UADqC,EAErC,UAFqC,EAGrC;AAAEC,IAAAA,EAAE,EAAEjB;AAAN,GAHqC,CAAtC;AAKA,QAAM,CAAEkB,KAAF,EAASC,QAAT,IAAsB,6BAC3B,UAD2B,EAE3B,UAF2B,EAG3B,OAH2B,EAI3BnB,GAJ2B,CAA5B;AAOA,QAAMoB,eAAe,GAAG,sDAAuBnB,QAAvB,CAAxB;AACA,QAAMoB,UAAU,GAAG,gCAClB;AACCC,IAAAA,SAAS,EAAEF,eAAe,GACvB,kFADuB,GAEvB;AAHJ,GADkB,EAMlB;AAAEG,IAAAA,oBAAoB,EAAEH;AAAxB,GANkB,CAAnB;AASA,QAAMI,gBAAgB,GAAG,sCAAqBH,UAArB,EAAiC;AACzDI,IAAAA,KAAK,EAAEX,MADkD;AAEzDC,IAAAA,OAFyD;AAGzDC,IAAAA,QAHyD;AAIzDU,IAAAA,cAAc,EAAEZ,MAAM,SAAN,IAAAA,MAAM,WAAN,IAAAA,MAAM,CAAEa,MAAR,GACbC,SADa,GAEbC,yBAAYC;AAN0C,GAAjC,CAAzB;;AASA,MAAK5B,kBAAL,EAA0B;AACzB,WACC,mCAAUmB,UAAV,EACC,4BAAC,oBAAD,QACG,cAAI,yCAAJ,CADH,CADD,CADD;AAOA;;AAED,MAAKf,SAAL,EAAiB;AAChB,WACC,mCAAUe,UAAV,EACC,4BAAC,oBAAD,QACG,cAAI,2CAAJ,CADH,CADD,CADD;AAOA;;AAED,MAAK,CAAEhB,WAAP,EAAqB;AACpB,WACC,mCAAUgB,UAAV,EACC,4BAAC,uBAAD,QACC,4BAAC,mBAAD,OADD,CADD,CADD;AAOA;;AAED,SACC,4BAAC,iBAAD,QACGd,SAAS,IACV,4BAAC,0BAAD,QACC,4BAAC,wBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,OAAO,EAAG,MAAMK,oBAAoB,CAAEX,QAAF,CADrC;AAEC,IAAA,KAAK,EAAG,cAAI,2BAAJ,CAFT;AAGC,IAAA,IAAI,EAAG8B,cAHR;AAIC,IAAA,WAAW;AAJZ,IADD,CADD,CAFF,EAaC,4BAAC,8BAAD,QACC,4BAAC,qBAAD,QACC,4BAAC,uBAAD;AACC,IAAA,KAAK,EAAG,cAAI,MAAJ,CADT;AAEC,IAAA,KAAK,EAAGb,KAFT;AAGC,IAAA,QAAQ,EAAGC;AAHZ,IADD,CADD,CAbD,EAsBC,mCAAUK,gBAAV,CAtBD,CADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEntityBlockEditor,\n\tuseEntityProp,\n\tuseEntityRecord,\n} from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarGroup,\n\tToolbarButton,\n\tTextControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n\tInnerBlocks,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { ungroup } from '@wordpress/icons';\n\nexport default function ReusableBlockEdit( { attributes: { ref }, clientId } ) {\n\tconst [ hasAlreadyRendered, RecursionProvider ] =\n\t\tuseNoRecursiveRenders( ref );\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\n\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\tuseDispatch( reusableBlocksStore );\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_block',\n\t\t{ id: ref }\n\t);\n\tconst [ title, setTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_block',\n\t\t'title',\n\t\tref\n\t);\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps(\n\t\t{\n\t\t\tclassName: hasBlockOverlay\n\t\t\t\t? 'block-library-block__reusable-block-container block-editor-block-content-overlay'\n\t\t\t\t: 'block-library-block__reusable-block-container',\n\t\t},\n\t\t{ __unstableIsDisabled: hasBlockOverlay }\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput,\n\t\tonChange,\n\t\trenderAppender: blocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => convertBlockToStatic( clientId ) }\n\t\t\t\t\t\t\tlabel={ __( 'Convert to regular blocks' ) }\n\t\t\t\t\t\t\ticon={ ungroup }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</RecursionProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/block/edit.js"],"names":["ReusableBlockEdit","attributes","ref","clientId","hasAlreadyRendered","record","hasResolved","isMissing","canRemove","select","blockEditorStore","canRemoveBlock","__experimentalConvertBlockToStatic","convertBlockToStatic","reusableBlocksStore","blocks","onInput","onChange","id","title","setTitle","hasBlockOverlay","blockProps","className","__unstableIsDisabled","innerBlocksProps","value","renderAppender","length","undefined","InnerBlocks","ButtonBlockAppender","ungroup"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AAQA;;AACA;;AAYA;;AACA;;AA/BA;AACA;AACA;AA+Be,SAASA,iBAAT,OAAgE;AAAA,MAApC;AAAEC,IAAAA,UAAU,EAAE;AAAEC,MAAAA;AAAF,KAAd;AAAuBC,IAAAA;AAAvB,GAAoC;AAC9E,QAAMC,kBAAkB,GAAG,gDAAiBF,GAAjB,CAA3B;AACA,QAAM;AAAEG,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAA0B,+BAC/B,UAD+B,EAE/B,UAF+B,EAG/BJ,GAH+B,CAAhC;AAKA,QAAMK,SAAS,GAAGD,WAAW,IAAI,CAAED,MAAnC;AAEA,QAAMG,SAAS,GAAG,qBACfC,MAAF,IAAcA,MAAM,CAAEC,kBAAF,CAAN,CAA2BC,cAA3B,CAA2CR,QAA3C,CADG,EAEjB,CAAEA,QAAF,CAFiB,CAAlB;AAKA,QAAM;AAAES,IAAAA,kCAAkC,EAAEC;AAAtC,MACL,uBAAaC,qBAAb,CADD;AAGA,QAAM,CAAEC,MAAF,EAAUC,OAAV,EAAmBC,QAAnB,IAAgC,oCACrC,UADqC,EAErC,UAFqC,EAGrC;AAAEC,IAAAA,EAAE,EAAEhB;AAAN,GAHqC,CAAtC;AAKA,QAAM,CAAEiB,KAAF,EAASC,QAAT,IAAsB,6BAC3B,UAD2B,EAE3B,UAF2B,EAG3B,OAH2B,EAI3BlB,GAJ2B,CAA5B;AAOA,QAAMmB,eAAe,GAAG,sDAAuBlB,QAAvB,CAAxB;AACA,QAAMmB,UAAU,GAAG,gCAClB;AACCC,IAAAA,SAAS,EAAEF,eAAe,GACvB,kFADuB,GAEvB;AAHJ,GADkB,EAMlB;AAAEG,IAAAA,oBAAoB,EAAEH;AAAxB,GANkB,CAAnB;AASA,QAAMI,gBAAgB,GAAG,sCAAqBH,UAArB,EAAiC;AACzDI,IAAAA,KAAK,EAAEX,MADkD;AAEzDC,IAAAA,OAFyD;AAGzDC,IAAAA,QAHyD;AAIzDU,IAAAA,cAAc,EAAEZ,MAAM,SAAN,IAAAA,MAAM,WAAN,IAAAA,MAAM,CAAEa,MAAR,GACbC,SADa,GAEbC,yBAAYC;AAN0C,GAAjC,CAAzB;;AASA,MAAK3B,kBAAL,EAA0B;AACzB,WACC,mCAAUkB,UAAV,EACC,4BAAC,oBAAD,QACG,cAAI,yCAAJ,CADH,CADD,CADD;AAOA;;AAED,MAAKf,SAAL,EAAiB;AAChB,WACC,mCAAUe,UAAV,EACC,4BAAC,oBAAD,QACG,cAAI,2CAAJ,CADH,CADD,CADD;AAOA;;AAED,MAAK,CAAEhB,WAAP,EAAqB;AACpB,WACC,mCAAUgB,UAAV,EACC,4BAAC,uBAAD,QACC,4BAAC,mBAAD,OADD,CADD,CADD;AAOA;;AAED,SACC,4BAAC,4CAAD;AAAmB,IAAA,QAAQ,EAAGpB;AAA9B,KACGM,SAAS,IACV,4BAAC,0BAAD,QACC,4BAAC,wBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,OAAO,EAAG,MAAMK,oBAAoB,CAAEV,QAAF,CADrC;AAEC,IAAA,KAAK,EAAG,cAAI,2BAAJ,CAFT;AAGC,IAAA,IAAI,EAAG6B,cAHR;AAIC,IAAA,WAAW;AAJZ,IADD,CADD,CAFF,EAaC,4BAAC,8BAAD,QACC,4BAAC,qBAAD,QACC,4BAAC,uBAAD;AACC,IAAA,KAAK,EAAG,cAAI,MAAJ,CADT;AAEC,IAAA,KAAK,EAAGb,KAFT;AAGC,IAAA,QAAQ,EAAGC;AAHZ,IADD,CADD,CAbD,EAsBC,mCAAUK,gBAAV,CAtBD,CADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEntityBlockEditor,\n\tuseEntityProp,\n\tuseEntityRecord,\n} from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarGroup,\n\tToolbarButton,\n\tTextControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n\tInnerBlocks,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { ungroup } from '@wordpress/icons';\n\nexport default function ReusableBlockEdit( { attributes: { ref }, clientId } ) {\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\n\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\tuseDispatch( reusableBlocksStore );\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_block',\n\t\t{ id: ref }\n\t);\n\tconst [ title, setTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_block',\n\t\t'title',\n\t\tref\n\t);\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps(\n\t\t{\n\t\t\tclassName: hasBlockOverlay\n\t\t\t\t? 'block-library-block__reusable-block-container block-editor-block-content-overlay'\n\t\t\t\t: 'block-library-block__reusable-block-container',\n\t\t},\n\t\t{ __unstableIsDisabled: hasBlockOverlay }\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput,\n\t\tonChange,\n\t\trenderAppender: blocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => convertBlockToStatic( clientId ) }\n\t\t\t\t\t\t\tlabel={ __( 'Convert to regular blocks' ) }\n\t\t\t\t\t\t\ticon={ ungroup }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</RecursionProvider>\n\t);\n}\n"]}
@@ -52,7 +52,7 @@ function ReusableBlockEdit(_ref) {
52
52
  clientId,
53
53
  isSelected
54
54
  } = _ref;
55
- const [hasAlreadyRendered, RecursionProvider] = (0, _blockEditor.__experimentalUseNoRecursiveRenders)(ref);
55
+ const hasAlreadyRendered = (0, _blockEditor.__experimentalUseHasRecursion)(ref);
56
56
  const [showHelp, setShowHelp] = (0, _element.useState)(false);
57
57
  const infoTextStyle = (0, _compose.usePreferredColorSchemeStyle)(_editor.default.infoText, _editor.default.infoTextDark);
58
58
  const infoTitleStyle = (0, _compose.usePreferredColorSchemeStyle)(_editor.default.infoTitle, _editor.default.infoTitleDark);
@@ -159,7 +159,9 @@ function ReusableBlockEdit(_ref) {
159
159
  element = (0, _element.createElement)(_components.Disabled, null, element);
160
160
  }
161
161
 
162
- return (0, _element.createElement)(RecursionProvider, null, (0, _element.createElement)(_reactNative.TouchableWithoutFeedback, {
162
+ return (0, _element.createElement)(_blockEditor.__experimentalRecursionProvider, {
163
+ uniqueId: ref
164
+ }, (0, _element.createElement)(_reactNative.TouchableWithoutFeedback, {
163
165
  disabled: !isSelected,
164
166
  accessibilityLabel: (0, _i18n.__)('Help button'),
165
167
  accessibilityRole: 'button',
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/block/edit.native.js"],"names":["ReusableBlockEdit","attributes","ref","clientId","isSelected","hasAlreadyRendered","RecursionProvider","showHelp","setShowHelp","infoTextStyle","styles","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","actionButtonStyle","actionButton","actionButtonDark","spinnerStyle","spinner","spinnerDark","hasResolved","isEditing","isMissing","select","persistedBlock","coreStore","getEntityRecord","hasResolvedBlock","hasFinishedResolution","reusableBlocksStore","__experimentalIsEditingReusableBlock","createSuccessNotice","noticesStore","__experimentalConvertBlockToStatic","convertBlockToStatic","clearSelectedBlock","blockEditorStore","blocks","onInput","onChange","id","title","openSheet","closeSheet","onConvertToRegularBlocks","setImmediate","renderSheet","Platform","OS","infoContainer","help","color","size","element"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tActivityIndicator,\n\tPlatform,\n\tText,\n\tTouchableWithoutFeedback,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useCallback } from '@wordpress/element';\nimport {\n\tuseEntityBlockEditor,\n\tuseEntityProp,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBottomSheet,\n\tIcon,\n\tDisabled,\n\tTextControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tInnerBlocks,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { help } from '@wordpress/icons';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport EditTitle from './edit-title';\n\nexport default function ReusableBlockEdit( {\n\tattributes: { ref },\n\tclientId,\n\tisSelected,\n} ) {\n\tconst [ hasAlreadyRendered, RecursionProvider ] =\n\t\tuseNoRecursiveRenders( ref );\n\n\tconst [ showHelp, setShowHelp ] = useState( false );\n\tconst infoTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoText,\n\t\tstyles.infoTextDark\n\t);\n\tconst infoTitleStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoTitle,\n\t\tstyles.infoTitleDark\n\t);\n\tconst infoSheetIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoSheetIcon,\n\t\tstyles.infoSheetIconDark\n\t);\n\tconst infoDescriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoDescription,\n\t\tstyles.infoDescriptionDark\n\t);\n\tconst actionButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.actionButton,\n\t\tstyles.actionButtonDark\n\t);\n\tconst spinnerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.spinner,\n\t\tstyles.spinnerDark\n\t);\n\n\tconst { hasResolved, isEditing, isMissing } = useSelect(\n\t\t( select ) => {\n\t\t\tconst persistedBlock = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\tref\n\t\t\t);\n\t\t\tconst hasResolvedBlock = select( coreStore ).hasFinishedResolution(\n\t\t\t\t'getEntityRecord',\n\t\t\t\t[ 'postType', 'wp_block', ref ]\n\t\t\t);\n\t\t\treturn {\n\t\t\t\thasResolved: hasResolvedBlock,\n\t\t\t\tisEditing:\n\t\t\t\t\tselect(\n\t\t\t\t\t\treusableBlocksStore\n\t\t\t\t\t).__experimentalIsEditingReusableBlock( clientId ),\n\t\t\t\tisMissing: hasResolvedBlock && ! persistedBlock,\n\t\t\t};\n\t\t},\n\t\t[ ref, clientId ]\n\t);\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_block',\n\t\t{ id: ref }\n\t);\n\n\tconst [ title ] = useEntityProp( 'postType', 'wp_block', 'title', ref );\n\n\tfunction openSheet() {\n\t\tsetShowHelp( true );\n\t}\n\n\tfunction closeSheet() {\n\t\tsetShowHelp( false );\n\t}\n\n\tconst onConvertToRegularBlocks = useCallback( () => {\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: name of the reusable block */\n\t\t\t\t__( '%s converted to regular blocks' ),\n\t\t\t\ttitle\n\t\t\t)\n\t\t);\n\n\t\tclearSelectedBlock();\n\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t// to prevent issues related to undo/redo actions.\n\t\tsetImmediate( () => convertBlockToStatic( clientId ) );\n\t}, [ title, clientId ] );\n\n\tfunction renderSheet() {\n\t\tconst infoTitle =\n\t\t\tPlatform.OS === 'android'\n\t\t\t\t? __(\n\t\t\t\t\t\t'Editing reusable blocks is not yet supported on WordPress for Android'\n\t\t\t\t )\n\t\t\t\t: __(\n\t\t\t\t\t\t'Editing reusable blocks is not yet supported on WordPress for iOS'\n\t\t\t\t );\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ closeSheet }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoDescriptionStyle ] }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Alternatively, you can detach and edit these blocks separately by tapping \"Convert to regular blocks\".'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Convert to regular blocks' ) }\n\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\tonPress={ onConvertToRegularBlocks }\n\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\treturn (\n\t\t\t<View style={ spinnerStyle }>\n\t\t\t\t<ActivityIndicator animating />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tlet element = (\n\t\t<InnerBlocks\n\t\t\tvalue={ blocks }\n\t\t\tonChange={ onChange }\n\t\t\tonInput={ onInput }\n\t\t/>\n\t);\n\n\tif ( ! isEditing ) {\n\t\telement = <Disabled>{ element }</Disabled>;\n\t}\n\n\treturn (\n\t\t<RecursionProvider>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ openSheet }\n\t\t\t>\n\t\t\t\t<View>\n\t\t\t\t\t{ isSelected && <EditTitle title={ title } /> }\n\t\t\t\t\t{ element }\n\t\t\t\t\t{ renderSheet() }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</RecursionProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/block/edit.native.js"],"names":["ReusableBlockEdit","attributes","ref","clientId","isSelected","hasAlreadyRendered","showHelp","setShowHelp","infoTextStyle","styles","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","actionButtonStyle","actionButton","actionButtonDark","spinnerStyle","spinner","spinnerDark","hasResolved","isEditing","isMissing","select","persistedBlock","coreStore","getEntityRecord","hasResolvedBlock","hasFinishedResolution","reusableBlocksStore","__experimentalIsEditingReusableBlock","createSuccessNotice","noticesStore","__experimentalConvertBlockToStatic","convertBlockToStatic","clearSelectedBlock","blockEditorStore","blocks","onInput","onChange","id","title","openSheet","closeSheet","onConvertToRegularBlocks","setImmediate","renderSheet","Platform","OS","infoContainer","help","color","size","element"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tActivityIndicator,\n\tPlatform,\n\tText,\n\tTouchableWithoutFeedback,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useCallback } from '@wordpress/element';\nimport {\n\tuseEntityBlockEditor,\n\tuseEntityProp,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBottomSheet,\n\tIcon,\n\tDisabled,\n\tTextControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tInnerBlocks,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { help } from '@wordpress/icons';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport EditTitle from './edit-title';\n\nexport default function ReusableBlockEdit( {\n\tattributes: { ref },\n\tclientId,\n\tisSelected,\n} ) {\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\n\tconst [ showHelp, setShowHelp ] = useState( false );\n\tconst infoTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoText,\n\t\tstyles.infoTextDark\n\t);\n\tconst infoTitleStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoTitle,\n\t\tstyles.infoTitleDark\n\t);\n\tconst infoSheetIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoSheetIcon,\n\t\tstyles.infoSheetIconDark\n\t);\n\tconst infoDescriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoDescription,\n\t\tstyles.infoDescriptionDark\n\t);\n\tconst actionButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.actionButton,\n\t\tstyles.actionButtonDark\n\t);\n\tconst spinnerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.spinner,\n\t\tstyles.spinnerDark\n\t);\n\n\tconst { hasResolved, isEditing, isMissing } = useSelect(\n\t\t( select ) => {\n\t\t\tconst persistedBlock = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\tref\n\t\t\t);\n\t\t\tconst hasResolvedBlock = select( coreStore ).hasFinishedResolution(\n\t\t\t\t'getEntityRecord',\n\t\t\t\t[ 'postType', 'wp_block', ref ]\n\t\t\t);\n\t\t\treturn {\n\t\t\t\thasResolved: hasResolvedBlock,\n\t\t\t\tisEditing:\n\t\t\t\t\tselect(\n\t\t\t\t\t\treusableBlocksStore\n\t\t\t\t\t).__experimentalIsEditingReusableBlock( clientId ),\n\t\t\t\tisMissing: hasResolvedBlock && ! persistedBlock,\n\t\t\t};\n\t\t},\n\t\t[ ref, clientId ]\n\t);\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_block',\n\t\t{ id: ref }\n\t);\n\n\tconst [ title ] = useEntityProp( 'postType', 'wp_block', 'title', ref );\n\n\tfunction openSheet() {\n\t\tsetShowHelp( true );\n\t}\n\n\tfunction closeSheet() {\n\t\tsetShowHelp( false );\n\t}\n\n\tconst onConvertToRegularBlocks = useCallback( () => {\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: name of the reusable block */\n\t\t\t\t__( '%s converted to regular blocks' ),\n\t\t\t\ttitle\n\t\t\t)\n\t\t);\n\n\t\tclearSelectedBlock();\n\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t// to prevent issues related to undo/redo actions.\n\t\tsetImmediate( () => convertBlockToStatic( clientId ) );\n\t}, [ title, clientId ] );\n\n\tfunction renderSheet() {\n\t\tconst infoTitle =\n\t\t\tPlatform.OS === 'android'\n\t\t\t\t? __(\n\t\t\t\t\t\t'Editing reusable blocks is not yet supported on WordPress for Android'\n\t\t\t\t )\n\t\t\t\t: __(\n\t\t\t\t\t\t'Editing reusable blocks is not yet supported on WordPress for iOS'\n\t\t\t\t );\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ closeSheet }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoDescriptionStyle ] }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Alternatively, you can detach and edit these blocks separately by tapping \"Convert to regular blocks\".'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Convert to regular blocks' ) }\n\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\tonPress={ onConvertToRegularBlocks }\n\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\treturn (\n\t\t\t<View style={ spinnerStyle }>\n\t\t\t\t<ActivityIndicator animating />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tlet element = (\n\t\t<InnerBlocks\n\t\t\tvalue={ blocks }\n\t\t\tonChange={ onChange }\n\t\t\tonInput={ onInput }\n\t\t/>\n\t);\n\n\tif ( ! isEditing ) {\n\t\telement = <Disabled>{ element }</Disabled>;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ openSheet }\n\t\t\t>\n\t\t\t\t<View>\n\t\t\t\t\t{ isSelected && <EditTitle title={ title } /> }\n\t\t\t\t\t{ element }\n\t\t\t\t\t{ renderSheet() }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</RecursionProvider>\n\t);\n}\n"]}
@@ -207,7 +207,8 @@ function ButtonEdit(props) {
207
207
  },
208
208
  anchorRef: ref === null || ref === void 0 ? void 0 : ref.current,
209
209
  focusOnMount: isEditingURL ? 'firstElement' : false,
210
- __unstableSlotName: '__unstable-block-tools-after'
210
+ __unstableSlotName: '__unstable-block-tools-after',
211
+ __unstableShift: true
211
212
  }, (0, _element.createElement)(_blockEditor.__experimentalLinkControl, {
212
213
  className: "wp-block-navigation-link__inline-link-input",
213
214
  value: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","map","widthValue","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","linkTarget","placeholder","rel","style","text","url","onSetLinkRel","value","onToggleOpenInNewTab","newLinkTarget","updatedRel","setButtonText","newText","replace","onKeyDown","event","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","link","displayShortcut","linkOff","newURL","newOpensInNewTab"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst { linkTarget, placeholder, rel, style, text, url, width } =\n\t\tattributes;\n\tconst onSetLinkRel = useCallback(\n\t\t( value ) => {\n\t\t\tsetAttributes( { rel: value } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tfunction onToggleOpenInNewTab( value ) {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel = rel;\n\t\tif ( newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t} else if ( ! newLinkTarget && rel === NEW_TAB_REL ) {\n\t\t\tupdatedRel = undefined;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t} );\n\t}\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( { ref, onKeyDown } );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === '_blank';\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchorRef={ ref?.current }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\tvalue={ { url, opensInNewTab } }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL = '',\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: newURL } );\n\n\t\t\t\t\t\t\tif ( opensInNewTab !== newOpensInNewTab ) {\n\t\t\t\t\t\t\t\tonToggleOpenInNewTab( newOpensInNewTab );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ onSetLinkRel }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","map","widthValue","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","linkTarget","placeholder","rel","style","text","url","onSetLinkRel","value","onToggleOpenInNewTab","newLinkTarget","updatedRel","setButtonText","newText","replace","onKeyDown","event","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","link","displayShortcut","linkOff","newURL","newOpensInNewTab"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst { linkTarget, placeholder, rel, style, text, url, width } =\n\t\tattributes;\n\tconst onSetLinkRel = useCallback(\n\t\t( value ) => {\n\t\t\tsetAttributes( { rel: value } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tfunction onToggleOpenInNewTab( value ) {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel = rel;\n\t\tif ( newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t} else if ( ! newLinkTarget && rel === NEW_TAB_REL ) {\n\t\t\tupdatedRel = undefined;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t} );\n\t}\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( { ref, onKeyDown } );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === '_blank';\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchorRef={ ref?.current }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\t__unstableShift\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\tvalue={ { url, opensInNewTab } }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL = '',\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: newURL } );\n\n\t\t\t\t\t\t\tif ( opensInNewTab !== newOpensInNewTab ) {\n\t\t\t\t\t\t\t\tonToggleOpenInNewTab( newOpensInNewTab );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ onSetLinkRel }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
@@ -50,7 +50,7 @@ function ButtonsEdit(_ref) {
50
50
  __experimentalLayout: layout,
51
51
  templateInsertUpdatesSelection: true
52
52
  });
53
- return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("div", innerBlocksProps));
53
+ return (0, _element.createElement)("div", innerBlocksProps);
54
54
  }
55
55
 
56
56
  var _default = ButtonsEdit;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","DEFAULT_BLOCK","name","attributesToCopy","ButtonsEdit","attributes","layout","blockProps","preferredStyle","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","template","className","__experimentalLayout","templateInsertUpdatesSelection"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAEC,YAAF,CAAvB;AAEA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,IAAI,EAAEF,YADe;AAErBG,EAAAA,gBAAgB,EAAE,CACjB,iBADiB,EAEjB,QAFiB,EAGjB,WAHiB,EAIjB,YAJiB,EAKjB,UALiB,EAMjB,UANiB,EAOjB,OAPiB,EAQjB,WARiB,EASjB,OATiB;AAFG,CAAtB;;AAeA,SAASC,WAAT,OAAwD;AAAA,MAAlC;AAAEC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,MAAM,GAAG;AAAX;AAAd,GAAkC;AACvD,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAMC,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAC7BD,MAAM,CAAEE,kBAAF,CAAN,CAA2BC,WAA3B,GACEC,sCAFH;;AAGA,WAAOH,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEI,KAAjC,0DAAO,sBAAmCd,YAAnC,CAAP;AACA,GALsB,EAKpB,EALoB,CAAvB;AAOA,QAAMe,gBAAgB,GAAG,sCAAqBR,UAArB,EAAiC;AACzDS,IAAAA,aAAa,EAAEjB,cAD0C;AAEzDkB,IAAAA,0BAA0B,EAAEhB,aAF6B;AAGzDiB,IAAAA,0BAA0B,EAAE,IAH6B;AAIzDC,IAAAA,QAAQ,EAAE,CACT,CACCnB,YADD,EAEC;AAAEoB,MAAAA,SAAS,EAAEZ,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAJ+C;AAUzDa,IAAAA,oBAAoB,EAAEf,MAVmC;AAWzDgB,IAAAA,8BAA8B,EAAE;AAXyB,GAAjC,CAAzB;AAcA,SACC,qDACC,mCAAUP,gBAAV,CADD,CADD;AAKA;;eAEcX,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nconst DEFAULT_BLOCK = {\n\tname: buttonBlockName,\n\tattributesToCopy: [\n\t\t'backgroundColor',\n\t\t'border',\n\t\t'className',\n\t\t'fontFamily',\n\t\t'fontSize',\n\t\t'gradient',\n\t\t'style',\n\t\t'textColor',\n\t\t'width',\n\t],\n};\n\nfunction ButtonsEdit( { attributes: { layout = {} } } ) {\n\tconst blockProps = useBlockProps();\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t__experimentalDirectInsert: true,\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\tbuttonBlockName,\n\t\t\t\t{ className: preferredStyle && `is-style-${ preferredStyle }` },\n\t\t\t],\n\t\t],\n\t\t__experimentalLayout: layout,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nexport default ButtonsEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","DEFAULT_BLOCK","name","attributesToCopy","ButtonsEdit","attributes","layout","blockProps","preferredStyle","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","template","className","__experimentalLayout","templateInsertUpdatesSelection"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAEC,YAAF,CAAvB;AAEA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,IAAI,EAAEF,YADe;AAErBG,EAAAA,gBAAgB,EAAE,CACjB,iBADiB,EAEjB,QAFiB,EAGjB,WAHiB,EAIjB,YAJiB,EAKjB,UALiB,EAMjB,UANiB,EAOjB,OAPiB,EAQjB,WARiB,EASjB,OATiB;AAFG,CAAtB;;AAeA,SAASC,WAAT,OAAwD;AAAA,MAAlC;AAAEC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,MAAM,GAAG;AAAX;AAAd,GAAkC;AACvD,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAMC,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAC7BD,MAAM,CAAEE,kBAAF,CAAN,CAA2BC,WAA3B,GACEC,sCAFH;;AAGA,WAAOH,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEI,KAAjC,0DAAO,sBAAmCd,YAAnC,CAAP;AACA,GALsB,EAKpB,EALoB,CAAvB;AAOA,QAAMe,gBAAgB,GAAG,sCAAqBR,UAArB,EAAiC;AACzDS,IAAAA,aAAa,EAAEjB,cAD0C;AAEzDkB,IAAAA,0BAA0B,EAAEhB,aAF6B;AAGzDiB,IAAAA,0BAA0B,EAAE,IAH6B;AAIzDC,IAAAA,QAAQ,EAAE,CACT,CACCnB,YADD,EAEC;AAAEoB,MAAAA,SAAS,EAAEZ,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAJ+C;AAUzDa,IAAAA,oBAAoB,EAAEf,MAVmC;AAWzDgB,IAAAA,8BAA8B,EAAE;AAXyB,GAAjC,CAAzB;AAcA,SAAO,mCAAUP,gBAAV,CAAP;AACA;;eAEcX,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nconst DEFAULT_BLOCK = {\n\tname: buttonBlockName,\n\tattributesToCopy: [\n\t\t'backgroundColor',\n\t\t'border',\n\t\t'className',\n\t\t'fontFamily',\n\t\t'fontSize',\n\t\t'gradient',\n\t\t'style',\n\t\t'textColor',\n\t\t'width',\n\t],\n};\n\nfunction ButtonsEdit( { attributes: { layout = {} } } ) {\n\tconst blockProps = useBlockProps();\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t__experimentalDirectInsert: true,\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\tbuttonBlockName,\n\t\t\t\t{ className: preferredStyle && `is-style-${ preferredStyle }` },\n\t\t\t],\n\t\t],\n\t\t__experimentalLayout: layout,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n\nexport default ButtonsEdit;\n"]}
@@ -9,8 +9,6 @@ exports.default = CalendarEdit;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _moment = _interopRequireDefault(require("moment"));
13
-
14
12
  var _memize = _interopRequireDefault(require("memize"));
15
13
 
16
14
  var _icons = require("@wordpress/icons");
@@ -34,15 +32,24 @@ var _i18n = require("@wordpress/i18n");
34
32
  /**
35
33
  * WordPress dependencies
36
34
  */
35
+
36
+ /**
37
+ * Returns the year and month of a specified date.
38
+ *
39
+ * @see `WP_REST_Posts_Controller::prepare_date_response()`.
40
+ *
41
+ * @param {string} date Date in `ISO8601/RFC3339` format.
42
+ * @return {Object} Year and date of the specified date.
43
+ */
37
44
  const getYearMonth = (0, _memize.default)(date => {
38
45
  if (!date) {
39
46
  return {};
40
47
  }
41
48
 
42
- const momentDate = (0, _moment.default)(date);
49
+ const dateObj = new Date(date);
43
50
  return {
44
- year: momentDate.year(),
45
- month: momentDate.month() + 1
51
+ year: dateObj.getFullYear(),
52
+ month: dateObj.getMonth() + 1
46
53
  };
47
54
  });
48
55
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/calendar/edit.js"],"names":["getYearMonth","date","momentDate","year","month","CalendarEdit","attributes","blockProps","hasPosts","hasPostsResolved","select","getEntityRecords","hasFinishedResolution","coreStore","singlePublishedPostQuery","status","per_page","posts","postsResolved","_date","editorSelectors","postType","getEditedPostAttribute","length","icon"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAfA;AACA;AACA;;AAIA;AACA;AACA;AASA,MAAMA,YAAY,GAAG,qBAAWC,IAAF,IAAY;AACzC,MAAK,CAAEA,IAAP,EAAc;AACb,WAAO,EAAP;AACA;;AACD,QAAMC,UAAU,GAAG,qBAAQD,IAAR,CAAnB;AACA,SAAO;AACNE,IAAAA,IAAI,EAAED,UAAU,CAACC,IAAX,EADA;AAENC,IAAAA,KAAK,EAAEF,UAAU,CAACE,KAAX,KAAqB;AAFtB,GAAP;AAIA,CAToB,CAArB;;AAWe,SAASC,YAAT,OAAwC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AACtD,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAM;AAAEN,IAAAA,IAAF;AAAQO,IAAAA,QAAR;AAAkBC,IAAAA;AAAlB,MAAuC,qBAAaC,MAAF,IAAc;AACrE,UAAM;AAAEC,MAAAA,gBAAF;AAAoBC,MAAAA;AAApB,QAA8CF,MAAM,CAAEG,eAAF,CAA1D;AAEA,UAAMC,wBAAwB,GAAG;AAChCC,MAAAA,MAAM,EAAE,SADwB;AAEhCC,MAAAA,QAAQ,EAAE;AAFsB,KAAjC;AAIA,UAAMC,KAAK,GAAGN,gBAAgB,CAC7B,UAD6B,EAE7B,MAF6B,EAG7BG,wBAH6B,CAA9B;AAKA,UAAMI,aAAa,GAAGN,qBAAqB,CAAE,kBAAF,EAAsB,CAChE,UADgE,EAEhE,MAFgE,EAGhEE,wBAHgE,CAAtB,CAA3C;;AAMA,QAAIK,KAAJ,CAlBqE,CAoBrE;AACA;AACA;;;AACA,UAAMC,eAAe,GAAGV,MAAM,CAAE,aAAF,CAA9B;;AACA,QAAKU,eAAL,EAAuB;AACtB,YAAMC,QAAQ,GAAGD,eAAe,CAACE,sBAAhB,CAAwC,MAAxC,CAAjB,CADsB,CAEtB;AACA;AACA;;AACA,UAAKD,QAAQ,KAAK,MAAlB,EAA2B;AAC1BF,QAAAA,KAAK,GAAGC,eAAe,CAACE,sBAAhB,CAAwC,MAAxC,CAAR;AACA;AACD;;AAED,WAAO;AACNrB,MAAAA,IAAI,EAAEkB,KADA;AAENV,MAAAA,gBAAgB,EAAES,aAFZ;AAGNV,MAAAA,QAAQ,EAAEU,aAAa,IAAI,CAAAD,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,MAAP,MAAkB;AAHvC,KAAP;AAKA,GAvC4C,EAuC1C,EAvC0C,CAA7C;;AAyCA,MAAK,CAAEf,QAAP,EAAkB;AACjB,WACC,mCAAUD,UAAV,EACC,4BAAC,uBAAD;AAAa,MAAA,IAAI,EAAGiB,eAApB;AAA2B,MAAA,KAAK,EAAG,cAAI,UAAJ;AAAnC,OACG,CAAEf,gBAAF,GACD,4BAAC,mBAAD,OADC,GAGD,cAAI,2BAAJ,CAJF,CADD,CADD;AAWA;;AAED,SACC,mCAAUF,UAAV,EACC,4BAAC,oBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAC,eADP;AAEC,IAAA,UAAU,EAAG,EAAE,GAAGD,UAAL;AAAiB,SAAGN,YAAY,CAAEC,IAAF;AAAhC;AAFd,IADD,CADD,CADD;AAUA","sourcesContent":["/**\n * External dependencies\n */\nimport moment from 'moment';\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { calendar as icon } from '@wordpress/icons';\nimport { Disabled, Placeholder, Spinner } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\nconst getYearMonth = memoize( ( date ) => {\n\tif ( ! date ) {\n\t\treturn {};\n\t}\n\tconst momentDate = moment( date );\n\treturn {\n\t\tyear: momentDate.year(),\n\t\tmonth: momentDate.month() + 1,\n\t};\n} );\n\nexport default function CalendarEdit( { attributes } ) {\n\tconst blockProps = useBlockProps();\n\tconst { date, hasPosts, hasPostsResolved } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, hasFinishedResolution } = select( coreStore );\n\n\t\tconst singlePublishedPostQuery = {\n\t\t\tstatus: 'publish',\n\t\t\tper_page: 1,\n\t\t};\n\t\tconst posts = getEntityRecords(\n\t\t\t'postType',\n\t\t\t'post',\n\t\t\tsinglePublishedPostQuery\n\t\t);\n\t\tconst postsResolved = hasFinishedResolution( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\t'post',\n\t\t\tsinglePublishedPostQuery,\n\t\t] );\n\n\t\tlet _date;\n\n\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\tconst editorSelectors = select( 'core/editor' );\n\t\tif ( editorSelectors ) {\n\t\t\tconst postType = editorSelectors.getEditedPostAttribute( 'type' );\n\t\t\t// Dates are used to overwrite year and month used on the calendar.\n\t\t\t// This overwrite should only happen for 'post' post types.\n\t\t\t// For other post types the calendar always displays the current month.\n\t\t\tif ( postType === 'post' ) {\n\t\t\t\t_date = editorSelectors.getEditedPostAttribute( 'date' );\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tdate: _date,\n\t\t\thasPostsResolved: postsResolved,\n\t\t\thasPosts: postsResolved && posts?.length === 1,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder icon={ icon } label={ __( 'Calendar' ) }>\n\t\t\t\t\t{ ! hasPostsResolved ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No published posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Disabled>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tblock=\"core/calendar\"\n\t\t\t\t\tattributes={ { ...attributes, ...getYearMonth( date ) } }\n\t\t\t\t/>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/calendar/edit.js"],"names":["getYearMonth","date","dateObj","Date","year","getFullYear","month","getMonth","CalendarEdit","attributes","blockProps","hasPosts","hasPostsResolved","select","getEntityRecords","hasFinishedResolution","coreStore","singlePublishedPostQuery","status","per_page","posts","postsResolved","_date","editorSelectors","postType","getEditedPostAttribute","length","icon"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAdA;AACA;AACA;;AAGA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,YAAY,GAAG,qBAAWC,IAAF,IAAY;AACzC,MAAK,CAAEA,IAAP,EAAc;AACb,WAAO,EAAP;AACA;;AACD,QAAMC,OAAO,GAAG,IAAIC,IAAJ,CAAUF,IAAV,CAAhB;AACA,SAAO;AACNG,IAAAA,IAAI,EAAEF,OAAO,CAACG,WAAR,EADA;AAENC,IAAAA,KAAK,EAAEJ,OAAO,CAACK,QAAR,KAAqB;AAFtB,GAAP;AAIA,CAToB,CAArB;;AAWe,SAASC,YAAT,OAAwC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AACtD,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAM;AAAET,IAAAA,IAAF;AAAQU,IAAAA,QAAR;AAAkBC,IAAAA;AAAlB,MAAuC,qBAAaC,MAAF,IAAc;AACrE,UAAM;AAAEC,MAAAA,gBAAF;AAAoBC,MAAAA;AAApB,QAA8CF,MAAM,CAAEG,eAAF,CAA1D;AAEA,UAAMC,wBAAwB,GAAG;AAChCC,MAAAA,MAAM,EAAE,SADwB;AAEhCC,MAAAA,QAAQ,EAAE;AAFsB,KAAjC;AAIA,UAAMC,KAAK,GAAGN,gBAAgB,CAC7B,UAD6B,EAE7B,MAF6B,EAG7BG,wBAH6B,CAA9B;AAKA,UAAMI,aAAa,GAAGN,qBAAqB,CAAE,kBAAF,EAAsB,CAChE,UADgE,EAEhE,MAFgE,EAGhEE,wBAHgE,CAAtB,CAA3C;;AAMA,QAAIK,KAAJ,CAlBqE,CAoBrE;AACA;AACA;;;AACA,UAAMC,eAAe,GAAGV,MAAM,CAAE,aAAF,CAA9B;;AACA,QAAKU,eAAL,EAAuB;AACtB,YAAMC,QAAQ,GAAGD,eAAe,CAACE,sBAAhB,CAAwC,MAAxC,CAAjB,CADsB,CAEtB;AACA;AACA;;AACA,UAAKD,QAAQ,KAAK,MAAlB,EAA2B;AAC1BF,QAAAA,KAAK,GAAGC,eAAe,CAACE,sBAAhB,CAAwC,MAAxC,CAAR;AACA;AACD;;AAED,WAAO;AACNxB,MAAAA,IAAI,EAAEqB,KADA;AAENV,MAAAA,gBAAgB,EAAES,aAFZ;AAGNV,MAAAA,QAAQ,EAAEU,aAAa,IAAI,CAAAD,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,MAAP,MAAkB;AAHvC,KAAP;AAKA,GAvC4C,EAuC1C,EAvC0C,CAA7C;;AAyCA,MAAK,CAAEf,QAAP,EAAkB;AACjB,WACC,mCAAUD,UAAV,EACC,4BAAC,uBAAD;AAAa,MAAA,IAAI,EAAGiB,eAApB;AAA2B,MAAA,KAAK,EAAG,cAAI,UAAJ;AAAnC,OACG,CAAEf,gBAAF,GACD,4BAAC,mBAAD,OADC,GAGD,cAAI,2BAAJ,CAJF,CADD,CADD;AAWA;;AAED,SACC,mCAAUF,UAAV,EACC,4BAAC,oBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAC,eADP;AAEC,IAAA,UAAU,EAAG,EAAE,GAAGD,UAAL;AAAiB,SAAGT,YAAY,CAAEC,IAAF;AAAhC;AAFd,IADD,CADD,CADD;AAUA","sourcesContent":["/**\n * External dependencies\n */\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { calendar as icon } from '@wordpress/icons';\nimport { Disabled, Placeholder, Spinner } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Returns the year and month of a specified date.\n *\n * @see `WP_REST_Posts_Controller::prepare_date_response()`.\n *\n * @param {string} date Date in `ISO8601/RFC3339` format.\n * @return {Object} Year and date of the specified date.\n */\nconst getYearMonth = memoize( ( date ) => {\n\tif ( ! date ) {\n\t\treturn {};\n\t}\n\tconst dateObj = new Date( date );\n\treturn {\n\t\tyear: dateObj.getFullYear(),\n\t\tmonth: dateObj.getMonth() + 1,\n\t};\n} );\n\nexport default function CalendarEdit( { attributes } ) {\n\tconst blockProps = useBlockProps();\n\tconst { date, hasPosts, hasPostsResolved } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, hasFinishedResolution } = select( coreStore );\n\n\t\tconst singlePublishedPostQuery = {\n\t\t\tstatus: 'publish',\n\t\t\tper_page: 1,\n\t\t};\n\t\tconst posts = getEntityRecords(\n\t\t\t'postType',\n\t\t\t'post',\n\t\t\tsinglePublishedPostQuery\n\t\t);\n\t\tconst postsResolved = hasFinishedResolution( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\t'post',\n\t\t\tsinglePublishedPostQuery,\n\t\t] );\n\n\t\tlet _date;\n\n\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\tconst editorSelectors = select( 'core/editor' );\n\t\tif ( editorSelectors ) {\n\t\t\tconst postType = editorSelectors.getEditedPostAttribute( 'type' );\n\t\t\t// Dates are used to overwrite year and month used on the calendar.\n\t\t\t// This overwrite should only happen for 'post' post types.\n\t\t\t// For other post types the calendar always displays the current month.\n\t\t\tif ( postType === 'post' ) {\n\t\t\t\t_date = editorSelectors.getEditedPostAttribute( 'date' );\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tdate: _date,\n\t\t\thasPostsResolved: postsResolved,\n\t\t\thasPosts: postsResolved && posts?.length === 1,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder icon={ icon } label={ __( 'Calendar' ) }>\n\t\t\t\t\t{ ! hasPostsResolved ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No published posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Disabled>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tblock=\"core/calendar\"\n\t\t\t\t\tattributes={ { ...attributes, ...getYearMonth( date ) } }\n\t\t\t\t/>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n"]}
@@ -406,7 +406,7 @@ const ColumnsEdit = props => {
406
406
  const parents = getBlockParents(clientId, true);
407
407
  return {
408
408
  columnCount: getBlockCount(clientId),
409
- isDefaultColumns: !(0, _lodash.compact)(isContentEmpty).length,
409
+ isDefaultColumns: !isContentEmpty.filter(Boolean).length,
410
410
  innerWidths: innerColumnsWidths,
411
411
  hasParents: !!parents.length,
412
412
  parentBlockAlignment: (_getBlockAttributes = getBlockAttributes(parents[0])) === null || _getBlockAttributes === void 0 ? void 0 : _getBlockAttributes.align,
@@ -421,7 +421,8 @@ const ColumnsEdit = props => {
421
421
  const [isVisible, setIsVisible] = (0, _element.useState)(false);
422
422
  (0, _element.useEffect)(() => {
423
423
  if (isSelected && isDefaultColumns) {
424
- (0, _lodash.delay)(() => setIsVisible(true), 100);
424
+ const revealTimeout = setTimeout(() => setIsVisible(true), 100);
425
+ return () => clearTimeout(revealTimeout);
425
426
  }
426
427
  }, []);
427
428
  const onClose = (0, _element.useCallback)(() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","alignmentHelpers","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","Dimensions","get","width","globalStyles","GlobalStylesContext","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","styles","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","clientId","length","undefined","onChangeColumnsNum","value","columns","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","blockEditorStore","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","updateBlockSettings","settings","updateBlockListSettings","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","isContentEmpty","innerBlock","innerColumnsWidths","inn","parents","memoizedInnerWidths","JSON","stringify","isVisible","setIsVisible","onClose","variations"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\nimport { times, map, compact, delay } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel=\"Width\"\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\tupdateBlockSettings( settings ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { updateBlockListSettings } = dispatch( blockEditorStore );\n\t\t\tupdateBlockListSettings( clientId, settings );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerWidths = [],\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = map(\n\t\t\t\tinnerBlocks,\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length\n\t\t\t);\n\n\t\t\tconst innerColumnsWidths = innerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) );\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: ! compact( isContentEmpty ).length,\n\t\t\t\tinnerWidths: innerColumnsWidths,\n\t\t\t\thasParents: !! parents.length,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst memoizedInnerWidths = useMemo( () => {\n\t\treturn innerWidths;\n\t}, [\n\t\t// The JSON.stringify is used because innerWidth is always a new reference.\n\t\t// The innerBlocks is a new reference after each attribute change of any nested block.\n\t\tJSON.stringify( innerWidths ),\n\t] );\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tdelay( () => setIsVisible( true ), 100 );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ memoizedInnerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","alignmentHelpers","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","Dimensions","get","width","globalStyles","GlobalStylesContext","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","styles","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","clientId","length","undefined","onChangeColumnsNum","value","columns","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","blockEditorStore","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","updateBlockSettings","settings","updateBlockListSettings","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","isContentEmpty","innerBlock","innerColumnsWidths","inn","parents","filter","Boolean","memoizedInnerWidths","JSON","stringify","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose","variations"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\nimport { times, map } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel=\"Width\"\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\tupdateBlockSettings( settings ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { updateBlockListSettings } = dispatch( blockEditorStore );\n\t\t\tupdateBlockListSettings( clientId, settings );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerWidths = [],\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = map(\n\t\t\t\tinnerBlocks,\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length\n\t\t\t);\n\n\t\t\tconst innerColumnsWidths = innerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) );\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: ! isContentEmpty.filter( Boolean ).length,\n\t\t\t\tinnerWidths: innerColumnsWidths,\n\t\t\t\thasParents: !! parents.length,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst memoizedInnerWidths = useMemo( () => {\n\t\treturn innerWidths;\n\t}, [\n\t\t// The JSON.stringify is used because innerWidth is always a new reference.\n\t\t// The innerBlocks is a new reference after each attribute change of any nested block.\n\t\tJSON.stringify( innerWidths ),\n\t] );\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ memoizedInnerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"]}
@@ -26,7 +26,7 @@ const metadata = {
26
26
  name: "core/comment-template",
27
27
  title: "Comment Template",
28
28
  category: "design",
29
- parent: ["core/comments-query-loop"],
29
+ parent: ["core/comments"],
30
30
  description: "Contains the block elements used to display a comment, like the title, date, author, avatar and more.",
31
31
  textdomain: "default",
32
32
  usesContext: ["postId"],