@wordpress/block-library 9.3.0 → 9.5.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 (853) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/avatar/edit.js +1 -0
  3. package/build/avatar/edit.js.map +1 -1
  4. package/build/block/edit.js +38 -23
  5. package/build/block/edit.js.map +1 -1
  6. package/build/button/edit.js +1 -1
  7. package/build/button/edit.js.map +1 -1
  8. package/build/buttons/index.js +26 -0
  9. package/build/buttons/index.js.map +1 -1
  10. package/build/categories/edit.js +20 -3
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/categories/index.js +20 -0
  13. package/build/categories/index.js.map +1 -1
  14. package/build/column/edit.js +2 -2
  15. package/build/column/edit.js.map +1 -1
  16. package/build/column/index.js +2 -0
  17. package/build/column/index.js.map +1 -1
  18. package/build/columns/index.js +2 -2
  19. package/build/columns/index.js.map +1 -1
  20. package/build/comment-template/index.js +12 -0
  21. package/build/comment-template/index.js.map +1 -1
  22. package/build/comments-title/deprecated.js +3 -0
  23. package/build/comments-title/deprecated.js.map +1 -1
  24. package/build/comments-title/edit.js +3 -1
  25. package/build/comments-title/edit.js.map +1 -1
  26. package/build/comments-title/index.js +3 -0
  27. package/build/comments-title/index.js.map +1 -1
  28. package/build/cover/edit/inspector-controls.js +2 -1
  29. package/build/cover/edit/inspector-controls.js.map +1 -1
  30. package/build/details/edit.js +1 -0
  31. package/build/details/edit.js.map +1 -1
  32. package/build/embed/variations.js +39 -34
  33. package/build/embed/variations.js.map +1 -1
  34. package/build/footnotes/index.js +1 -1
  35. package/build/footnotes/index.js.map +1 -1
  36. package/build/form/edit.js +4 -4
  37. package/build/form/edit.js.map +1 -1
  38. package/build/form-input/edit.js +3 -0
  39. package/build/form-input/edit.js.map +1 -1
  40. package/build/gallery/edit.js +42 -8
  41. package/build/gallery/edit.js.map +1 -1
  42. package/build/gallery/gap-styles.js +1 -9
  43. package/build/gallery/gap-styles.js.map +1 -1
  44. package/build/gallery/index.js +10 -0
  45. package/build/gallery/index.js.map +1 -1
  46. package/build/gallery/use-image-sizes.js +2 -2
  47. package/build/gallery/use-image-sizes.js.map +1 -1
  48. package/build/group/deprecated.js +2 -5
  49. package/build/group/deprecated.js.map +1 -1
  50. package/build/group/index.js +27 -30
  51. package/build/group/index.js.map +1 -1
  52. package/build/group/variations.js +51 -3
  53. package/build/group/variations.js.map +1 -1
  54. package/build/heading/edit.js +2 -0
  55. package/build/heading/edit.js.map +1 -1
  56. package/build/heading/index.js +17 -1
  57. package/build/heading/index.js.map +1 -1
  58. package/build/image/edit.js +1 -1
  59. package/build/image/edit.js.map +1 -1
  60. package/build/image/image.js +24 -11
  61. package/build/image/image.js.map +1 -1
  62. package/build/image/index.js +3 -0
  63. package/build/image/index.js.map +1 -1
  64. package/build/image/view.js +65 -49
  65. package/build/image/view.js.map +1 -1
  66. package/build/latest-comments/index.js +9 -0
  67. package/build/latest-comments/index.js.map +1 -1
  68. package/build/latest-posts/edit.js +1 -0
  69. package/build/latest-posts/edit.js.map +1 -1
  70. package/build/list/edit.js +3 -3
  71. package/build/list/edit.js.map +1 -1
  72. package/build/list/index.js +1 -1
  73. package/build/list/ordered-list-settings.js +19 -17
  74. package/build/list/ordered-list-settings.js.map +1 -1
  75. package/build/list-item/edit.js +2 -2
  76. package/build/list-item/edit.js.map +1 -1
  77. package/build/list-item/hooks/index.js +0 -7
  78. package/build/list-item/hooks/index.js.map +1 -1
  79. package/build/list-item/index.js +3 -2
  80. package/build/list-item/index.js.map +1 -1
  81. package/build/loginout/index.js +14 -1
  82. package/build/loginout/index.js.map +1 -1
  83. package/build/media-text/index.js +12 -0
  84. package/build/media-text/index.js.map +1 -1
  85. package/build/navigation/edit/index.js +5 -4
  86. package/build/navigation/edit/index.js.map +1 -1
  87. package/build/navigation/edit/navigation-menu-delete-control.js +1 -0
  88. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  89. package/build/navigation/use-navigation-menu.js +5 -1
  90. package/build/navigation/use-navigation-menu.js.map +1 -1
  91. package/build/navigation-link/link-ui.js +13 -17
  92. package/build/navigation-link/link-ui.js.map +1 -1
  93. package/build/navigation-submenu/edit.js +0 -11
  94. package/build/navigation-submenu/edit.js.map +1 -1
  95. package/build/page-list/edit.js +1 -0
  96. package/build/page-list/edit.js.map +1 -1
  97. package/build/page-list-item/edit.js +4 -1
  98. package/build/page-list-item/edit.js.map +1 -1
  99. package/build/paragraph/index.js +6 -0
  100. package/build/paragraph/index.js.map +1 -1
  101. package/build/paragraph/transforms.js +6 -0
  102. package/build/paragraph/transforms.js.map +1 -1
  103. package/build/post-author/index.js +8 -0
  104. package/build/post-author/index.js.map +1 -1
  105. package/build/post-author-biography/index.js +3 -0
  106. package/build/post-author-biography/index.js.map +1 -1
  107. package/build/post-author-name/index.js +3 -0
  108. package/build/post-author-name/index.js.map +1 -1
  109. package/build/post-comments-form/index.js +12 -0
  110. package/build/post-comments-form/index.js.map +1 -1
  111. package/build/post-content/index.js +1 -0
  112. package/build/post-content/index.js.map +1 -1
  113. package/build/post-date/index.js +15 -0
  114. package/build/post-date/index.js.map +1 -1
  115. package/build/post-excerpt/edit.js +1 -0
  116. package/build/post-excerpt/edit.js.map +1 -1
  117. package/build/post-excerpt/index.js +12 -0
  118. package/build/post-excerpt/index.js.map +1 -1
  119. package/build/post-featured-image/index.js +3 -0
  120. package/build/post-featured-image/index.js.map +1 -1
  121. package/build/post-navigation-link/edit.js +2 -0
  122. package/build/post-navigation-link/edit.js.map +1 -1
  123. package/build/post-terms/index.js +15 -0
  124. package/build/post-terms/index.js.map +1 -1
  125. package/build/post-time-to-read/index.js +6 -0
  126. package/build/post-time-to-read/index.js.map +1 -1
  127. package/build/post-title/edit.js +9 -3
  128. package/build/post-title/edit.js.map +1 -1
  129. package/build/post-title/index.js +15 -0
  130. package/build/post-title/index.js.map +1 -1
  131. package/build/query/edit/inspector-controls/author-control.js +3 -1
  132. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  133. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
  134. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  135. package/build/query/edit/inspector-controls/index.js +90 -12
  136. package/build/query/edit/inspector-controls/index.js.map +1 -1
  137. package/build/query/edit/inspector-controls/offset-controls.js +37 -0
  138. package/build/query/edit/inspector-controls/offset-controls.js.map +1 -0
  139. package/build/query/edit/inspector-controls/order-control.js +1 -0
  140. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  141. package/build/query/edit/inspector-controls/pages-control.js +36 -0
  142. package/build/query/edit/inspector-controls/pages-control.js.map +1 -0
  143. package/build/query/edit/inspector-controls/parent-control.js +2 -1
  144. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  145. package/build/query/edit/inspector-controls/per-page-control.js +40 -0
  146. package/build/query/edit/inspector-controls/per-page-control.js.map +1 -0
  147. package/build/query/edit/inspector-controls/sticky-control.js +2 -1
  148. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  149. package/build/query/edit/inspector-controls/taxonomy-controls.js +5 -2
  150. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  151. package/build/query/edit/query-content.js +11 -2
  152. package/build/query/edit/query-content.js.map +1 -1
  153. package/build/query/edit/query-placeholder.js +1 -14
  154. package/build/query/edit/query-placeholder.js.map +1 -1
  155. package/build/query/edit/query-toolbar.js +3 -76
  156. package/build/query/edit/query-toolbar.js.map +1 -1
  157. package/build/query/utils.js +15 -6
  158. package/build/query/utils.js.map +1 -1
  159. package/build/query/variations.js +9 -55
  160. package/build/query/variations.js.map +1 -1
  161. package/build/query-pagination-numbers/edit.js +1 -0
  162. package/build/query-pagination-numbers/edit.js.map +1 -1
  163. package/build/query-title/edit.js +13 -19
  164. package/build/query-title/edit.js.map +1 -1
  165. package/build/query-title/index.js +3 -0
  166. package/build/query-title/index.js.map +1 -1
  167. package/build/query-title/use-archive-label.js +95 -0
  168. package/build/query-title/use-archive-label.js.map +1 -0
  169. package/build/quote/index.js +15 -1
  170. package/build/quote/index.js.map +1 -1
  171. package/build/search/index.js +3 -0
  172. package/build/search/index.js.map +1 -1
  173. package/build/site-logo/edit.js +19 -9
  174. package/build/site-logo/edit.js.map +1 -1
  175. package/build/site-tagline/edit.js +8 -5
  176. package/build/site-tagline/edit.js.map +1 -1
  177. package/build/site-tagline/index.js +18 -2
  178. package/build/site-tagline/index.js.map +1 -1
  179. package/build/site-title/edit.js +6 -3
  180. package/build/site-title/edit.js.map +1 -1
  181. package/build/site-title/index.js +16 -1
  182. package/build/site-title/index.js.map +1 -1
  183. package/build/social-link/edit.js +0 -1
  184. package/build/social-link/edit.js.map +1 -1
  185. package/build/social-link/icons/soundcloud.js +1 -1
  186. package/build/social-link/icons/soundcloud.js.map +1 -1
  187. package/build/social-links/index.js +12 -0
  188. package/build/social-links/index.js.map +1 -1
  189. package/build/spacer/controls.js +8 -13
  190. package/build/spacer/controls.js.map +1 -1
  191. package/build/table-of-contents/index.js +14 -1
  192. package/build/table-of-contents/index.js.map +1 -1
  193. package/build/tag-cloud/edit.js +42 -33
  194. package/build/tag-cloud/edit.js.map +1 -1
  195. package/build/tag-cloud/index.js +1 -1
  196. package/build/template-part/edit/index.js +8 -5
  197. package/build/template-part/edit/index.js.map +1 -1
  198. package/build/template-part/edit/inner-blocks.js +11 -4
  199. package/build/template-part/edit/inner-blocks.js.map +1 -1
  200. package/build/template-part/edit/placeholder.js +23 -3
  201. package/build/template-part/edit/placeholder.js.map +1 -1
  202. package/build/template-part/edit/title-modal.js +20 -8
  203. package/build/template-part/edit/title-modal.js.map +1 -1
  204. package/build/term-description/index.js +12 -0
  205. package/build/term-description/index.js.map +1 -1
  206. package/build/utils/hooks.js +5 -1
  207. package/build/utils/hooks.js.map +1 -1
  208. package/build-module/avatar/edit.js +1 -0
  209. package/build-module/avatar/edit.js.map +1 -1
  210. package/build-module/block/edit.js +38 -23
  211. package/build-module/block/edit.js.map +1 -1
  212. package/build-module/button/edit.js +1 -1
  213. package/build-module/button/edit.js.map +1 -1
  214. package/build-module/buttons/index.js +26 -0
  215. package/build-module/buttons/index.js.map +1 -1
  216. package/build-module/categories/edit.js +21 -4
  217. package/build-module/categories/edit.js.map +1 -1
  218. package/build-module/categories/index.js +20 -0
  219. package/build-module/categories/index.js.map +1 -1
  220. package/build-module/column/edit.js +2 -2
  221. package/build-module/column/edit.js.map +1 -1
  222. package/build-module/column/index.js +2 -0
  223. package/build-module/column/index.js.map +1 -1
  224. package/build-module/columns/index.js +2 -2
  225. package/build-module/columns/index.js.map +1 -1
  226. package/build-module/comment-template/index.js +12 -0
  227. package/build-module/comment-template/index.js.map +1 -1
  228. package/build-module/comments-title/deprecated.js +3 -0
  229. package/build-module/comments-title/deprecated.js.map +1 -1
  230. package/build-module/comments-title/edit.js +3 -1
  231. package/build-module/comments-title/edit.js.map +1 -1
  232. package/build-module/comments-title/index.js +3 -0
  233. package/build-module/comments-title/index.js.map +1 -1
  234. package/build-module/cover/edit/inspector-controls.js +2 -1
  235. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  236. package/build-module/details/edit.js +1 -0
  237. package/build-module/details/edit.js.map +1 -1
  238. package/build-module/embed/variations.js +40 -35
  239. package/build-module/embed/variations.js.map +1 -1
  240. package/build-module/footnotes/index.js +1 -1
  241. package/build-module/footnotes/index.js.map +1 -1
  242. package/build-module/form/edit.js +4 -4
  243. package/build-module/form/edit.js.map +1 -1
  244. package/build-module/form-input/edit.js +3 -0
  245. package/build-module/form-input/edit.js.map +1 -1
  246. package/build-module/gallery/edit.js +43 -9
  247. package/build-module/gallery/edit.js.map +1 -1
  248. package/build-module/gallery/gap-styles.js +1 -9
  249. package/build-module/gallery/gap-styles.js.map +1 -1
  250. package/build-module/gallery/index.js +10 -0
  251. package/build-module/gallery/index.js.map +1 -1
  252. package/build-module/gallery/use-image-sizes.js +2 -2
  253. package/build-module/gallery/use-image-sizes.js.map +1 -1
  254. package/build-module/group/deprecated.js +2 -5
  255. package/build-module/group/deprecated.js.map +1 -1
  256. package/build-module/group/index.js +27 -30
  257. package/build-module/group/index.js.map +1 -1
  258. package/build-module/group/variations.js +51 -3
  259. package/build-module/group/variations.js.map +1 -1
  260. package/build-module/heading/edit.js +2 -0
  261. package/build-module/heading/edit.js.map +1 -1
  262. package/build-module/heading/index.js +17 -1
  263. package/build-module/heading/index.js.map +1 -1
  264. package/build-module/image/edit.js +1 -1
  265. package/build-module/image/edit.js.map +1 -1
  266. package/build-module/image/image.js +25 -12
  267. package/build-module/image/image.js.map +1 -1
  268. package/build-module/image/index.js +3 -0
  269. package/build-module/image/index.js.map +1 -1
  270. package/build-module/image/view.js +65 -49
  271. package/build-module/image/view.js.map +1 -1
  272. package/build-module/latest-comments/index.js +9 -0
  273. package/build-module/latest-comments/index.js.map +1 -1
  274. package/build-module/latest-posts/edit.js +1 -0
  275. package/build-module/latest-posts/edit.js.map +1 -1
  276. package/build-module/list/edit.js +3 -3
  277. package/build-module/list/edit.js.map +1 -1
  278. package/build-module/list/index.js +1 -1
  279. package/build-module/list/ordered-list-settings.js +19 -17
  280. package/build-module/list/ordered-list-settings.js.map +1 -1
  281. package/build-module/list-item/edit.js +2 -2
  282. package/build-module/list-item/edit.js.map +1 -1
  283. package/build-module/list-item/hooks/index.js +0 -1
  284. package/build-module/list-item/hooks/index.js.map +1 -1
  285. package/build-module/list-item/index.js +3 -2
  286. package/build-module/list-item/index.js.map +1 -1
  287. package/build-module/loginout/index.js +14 -1
  288. package/build-module/loginout/index.js.map +1 -1
  289. package/build-module/media-text/index.js +12 -0
  290. package/build-module/media-text/index.js.map +1 -1
  291. package/build-module/navigation/edit/index.js +5 -4
  292. package/build-module/navigation/edit/index.js.map +1 -1
  293. package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -0
  294. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  295. package/build-module/navigation/use-navigation-menu.js +5 -1
  296. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  297. package/build-module/navigation-link/link-ui.js +13 -17
  298. package/build-module/navigation-link/link-ui.js.map +1 -1
  299. package/build-module/navigation-submenu/edit.js +0 -11
  300. package/build-module/navigation-submenu/edit.js.map +1 -1
  301. package/build-module/page-list/edit.js +1 -0
  302. package/build-module/page-list/edit.js.map +1 -1
  303. package/build-module/page-list-item/edit.js +4 -1
  304. package/build-module/page-list-item/edit.js.map +1 -1
  305. package/build-module/paragraph/index.js +6 -0
  306. package/build-module/paragraph/index.js.map +1 -1
  307. package/build-module/paragraph/transforms.js +6 -0
  308. package/build-module/paragraph/transforms.js.map +1 -1
  309. package/build-module/post-author/index.js +8 -0
  310. package/build-module/post-author/index.js.map +1 -1
  311. package/build-module/post-author-biography/index.js +3 -0
  312. package/build-module/post-author-biography/index.js.map +1 -1
  313. package/build-module/post-author-name/index.js +3 -0
  314. package/build-module/post-author-name/index.js.map +1 -1
  315. package/build-module/post-comments-form/index.js +12 -0
  316. package/build-module/post-comments-form/index.js.map +1 -1
  317. package/build-module/post-content/index.js +1 -0
  318. package/build-module/post-content/index.js.map +1 -1
  319. package/build-module/post-date/index.js +15 -0
  320. package/build-module/post-date/index.js.map +1 -1
  321. package/build-module/post-excerpt/edit.js +1 -0
  322. package/build-module/post-excerpt/edit.js.map +1 -1
  323. package/build-module/post-excerpt/index.js +12 -0
  324. package/build-module/post-excerpt/index.js.map +1 -1
  325. package/build-module/post-featured-image/index.js +3 -0
  326. package/build-module/post-featured-image/index.js.map +1 -1
  327. package/build-module/post-navigation-link/edit.js +2 -0
  328. package/build-module/post-navigation-link/edit.js.map +1 -1
  329. package/build-module/post-terms/index.js +15 -0
  330. package/build-module/post-terms/index.js.map +1 -1
  331. package/build-module/post-time-to-read/index.js +6 -0
  332. package/build-module/post-time-to-read/index.js.map +1 -1
  333. package/build-module/post-title/edit.js +9 -3
  334. package/build-module/post-title/edit.js.map +1 -1
  335. package/build-module/post-title/index.js +15 -0
  336. package/build-module/post-title/index.js.map +1 -1
  337. package/build-module/query/edit/inspector-controls/author-control.js +3 -1
  338. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  339. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
  340. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  341. package/build-module/query/edit/inspector-controls/index.js +92 -14
  342. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  343. package/build-module/query/edit/inspector-controls/offset-controls.js +29 -0
  344. package/build-module/query/edit/inspector-controls/offset-controls.js.map +1 -0
  345. package/build-module/query/edit/inspector-controls/order-control.js +1 -0
  346. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  347. package/build-module/query/edit/inspector-controls/pages-control.js +28 -0
  348. package/build-module/query/edit/inspector-controls/pages-control.js.map +1 -0
  349. package/build-module/query/edit/inspector-controls/parent-control.js +2 -1
  350. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  351. package/build-module/query/edit/inspector-controls/per-page-control.js +33 -0
  352. package/build-module/query/edit/inspector-controls/per-page-control.js.map +1 -0
  353. package/build-module/query/edit/inspector-controls/sticky-control.js +2 -1
  354. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  355. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +6 -4
  356. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  357. package/build-module/query/edit/query-content.js +11 -2
  358. package/build-module/query/edit/query-content.js.map +1 -1
  359. package/build-module/query/edit/query-placeholder.js +1 -14
  360. package/build-module/query/edit/query-placeholder.js.map +1 -1
  361. package/build-module/query/edit/query-toolbar.js +4 -78
  362. package/build-module/query/edit/query-toolbar.js.map +1 -1
  363. package/build-module/query/utils.js +15 -6
  364. package/build-module/query/utils.js.map +1 -1
  365. package/build-module/query/variations.js +4 -50
  366. package/build-module/query/variations.js.map +1 -1
  367. package/build-module/query-pagination-numbers/edit.js +1 -0
  368. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  369. package/build-module/query-title/edit.js +14 -20
  370. package/build-module/query-title/edit.js.map +1 -1
  371. package/build-module/query-title/index.js +3 -0
  372. package/build-module/query-title/index.js.map +1 -1
  373. package/build-module/query-title/use-archive-label.js +88 -0
  374. package/build-module/query-title/use-archive-label.js.map +1 -0
  375. package/build-module/quote/index.js +15 -1
  376. package/build-module/quote/index.js.map +1 -1
  377. package/build-module/search/index.js +3 -0
  378. package/build-module/search/index.js.map +1 -1
  379. package/build-module/site-logo/edit.js +19 -9
  380. package/build-module/site-logo/edit.js.map +1 -1
  381. package/build-module/site-tagline/edit.js +8 -5
  382. package/build-module/site-tagline/edit.js.map +1 -1
  383. package/build-module/site-tagline/index.js +18 -2
  384. package/build-module/site-tagline/index.js.map +1 -1
  385. package/build-module/site-title/edit.js +6 -3
  386. package/build-module/site-title/edit.js.map +1 -1
  387. package/build-module/site-title/index.js +16 -1
  388. package/build-module/site-title/index.js.map +1 -1
  389. package/build-module/social-link/edit.js +0 -1
  390. package/build-module/social-link/edit.js.map +1 -1
  391. package/build-module/social-link/icons/soundcloud.js +1 -1
  392. package/build-module/social-link/icons/soundcloud.js.map +1 -1
  393. package/build-module/social-links/index.js +12 -0
  394. package/build-module/social-links/index.js.map +1 -1
  395. package/build-module/spacer/controls.js +9 -14
  396. package/build-module/spacer/controls.js.map +1 -1
  397. package/build-module/table-of-contents/index.js +14 -1
  398. package/build-module/table-of-contents/index.js.map +1 -1
  399. package/build-module/tag-cloud/edit.js +43 -34
  400. package/build-module/tag-cloud/edit.js.map +1 -1
  401. package/build-module/tag-cloud/index.js +1 -1
  402. package/build-module/template-part/edit/index.js +8 -5
  403. package/build-module/template-part/edit/index.js.map +1 -1
  404. package/build-module/template-part/edit/inner-blocks.js +11 -4
  405. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  406. package/build-module/template-part/edit/placeholder.js +23 -3
  407. package/build-module/template-part/edit/placeholder.js.map +1 -1
  408. package/build-module/template-part/edit/title-modal.js +20 -8
  409. package/build-module/template-part/edit/title-modal.js.map +1 -1
  410. package/build-module/term-description/index.js +12 -0
  411. package/build-module/term-description/index.js.map +1 -1
  412. package/build-module/utils/hooks.js +5 -1
  413. package/build-module/utils/hooks.js.map +1 -1
  414. package/build-style/archives/editor-rtl.css +3 -0
  415. package/build-style/archives/editor.css +3 -0
  416. package/build-style/archives/style-rtl.css +3 -0
  417. package/build-style/archives/style.css +3 -0
  418. package/build-style/audio/editor-rtl.css +3 -0
  419. package/build-style/audio/editor.css +3 -0
  420. package/build-style/audio/style-rtl.css +3 -0
  421. package/build-style/audio/style.css +3 -0
  422. package/build-style/audio/theme-rtl.css +3 -0
  423. package/build-style/audio/theme.css +3 -0
  424. package/build-style/avatar/editor-rtl.css +3 -0
  425. package/build-style/avatar/editor.css +3 -0
  426. package/build-style/avatar/style-rtl.css +3 -0
  427. package/build-style/avatar/style.css +3 -0
  428. package/build-style/button/editor-rtl.css +3 -0
  429. package/build-style/button/editor.css +3 -0
  430. package/build-style/button/style-rtl.css +3 -0
  431. package/build-style/button/style.css +3 -0
  432. package/build-style/buttons/editor-rtl.css +3 -0
  433. package/build-style/buttons/editor.css +3 -0
  434. package/build-style/buttons/style-rtl.css +3 -0
  435. package/build-style/buttons/style.css +3 -0
  436. package/build-style/calendar/style-rtl.css +3 -0
  437. package/build-style/calendar/style.css +3 -0
  438. package/build-style/categories/editor-rtl.css +7 -0
  439. package/build-style/categories/editor.css +7 -0
  440. package/build-style/categories/style-rtl.css +7 -0
  441. package/build-style/categories/style.css +7 -0
  442. package/build-style/classic-rtl.css +3 -0
  443. package/build-style/classic.css +3 -0
  444. package/build-style/code/editor-rtl.css +3 -0
  445. package/build-style/code/editor.css +3 -0
  446. package/build-style/code/style-rtl.css +3 -0
  447. package/build-style/code/style.css +3 -0
  448. package/build-style/code/theme-rtl.css +3 -0
  449. package/build-style/code/theme.css +3 -0
  450. package/build-style/columns/editor-rtl.css +3 -0
  451. package/build-style/columns/editor.css +3 -0
  452. package/build-style/columns/style-rtl.css +3 -0
  453. package/build-style/columns/style.css +3 -0
  454. package/build-style/comment-author-avatar/editor-rtl.css +3 -0
  455. package/build-style/comment-author-avatar/editor.css +3 -0
  456. package/build-style/comment-content/style-rtl.css +3 -0
  457. package/build-style/comment-content/style.css +3 -0
  458. package/build-style/comment-template/style-rtl.css +3 -0
  459. package/build-style/comment-template/style.css +3 -0
  460. package/build-style/comments/editor-rtl.css +3 -0
  461. package/build-style/comments/editor.css +3 -0
  462. package/build-style/comments/style-rtl.css +3 -0
  463. package/build-style/comments/style.css +3 -0
  464. package/build-style/comments-pagination/editor-rtl.css +3 -0
  465. package/build-style/comments-pagination/editor.css +3 -0
  466. package/build-style/comments-pagination/style-rtl.css +3 -0
  467. package/build-style/comments-pagination/style.css +3 -0
  468. package/build-style/comments-pagination-numbers/editor-rtl.css +3 -0
  469. package/build-style/comments-pagination-numbers/editor.css +3 -0
  470. package/build-style/comments-title/editor-rtl.css +3 -0
  471. package/build-style/comments-title/editor.css +3 -0
  472. package/build-style/common-rtl.css +3 -0
  473. package/build-style/common.css +3 -0
  474. package/build-style/cover/editor-rtl.css +3 -0
  475. package/build-style/cover/editor.css +3 -0
  476. package/build-style/cover/style-rtl.css +3 -0
  477. package/build-style/cover/style.css +3 -0
  478. package/build-style/details/editor-rtl.css +3 -0
  479. package/build-style/details/editor.css +3 -0
  480. package/build-style/details/style-rtl.css +3 -0
  481. package/build-style/details/style.css +3 -0
  482. package/build-style/editor-elements-rtl.css +3 -0
  483. package/build-style/editor-elements.css +3 -0
  484. package/build-style/editor-rtl.css +29 -42
  485. package/build-style/editor.css +29 -42
  486. package/build-style/elements-rtl.css +3 -0
  487. package/build-style/elements.css +3 -0
  488. package/build-style/embed/editor-rtl.css +3 -0
  489. package/build-style/embed/editor.css +3 -0
  490. package/build-style/embed/style-rtl.css +3 -0
  491. package/build-style/embed/style.css +3 -0
  492. package/build-style/embed/theme-rtl.css +3 -0
  493. package/build-style/embed/theme.css +3 -0
  494. package/build-style/file/editor-rtl.css +3 -0
  495. package/build-style/file/editor.css +3 -0
  496. package/build-style/file/style-rtl.css +3 -0
  497. package/build-style/file/style.css +3 -0
  498. package/build-style/footnotes/style-rtl.css +3 -0
  499. package/build-style/footnotes/style.css +3 -0
  500. package/build-style/form-input/editor-rtl.css +3 -0
  501. package/build-style/form-input/editor.css +3 -0
  502. package/build-style/form-input/style-rtl.css +4 -0
  503. package/build-style/form-input/style.css +4 -0
  504. package/build-style/form-submission-notification/editor-rtl.css +3 -0
  505. package/build-style/form-submission-notification/editor.css +3 -0
  506. package/build-style/form-submit-button/style-rtl.css +3 -0
  507. package/build-style/form-submit-button/style.css +3 -0
  508. package/build-style/freeform/editor-rtl.css +3 -0
  509. package/build-style/freeform/editor.css +3 -0
  510. package/build-style/gallery/editor-rtl.css +3 -1
  511. package/build-style/gallery/editor.css +3 -1
  512. package/build-style/gallery/style-rtl.css +3 -0
  513. package/build-style/gallery/style.css +3 -0
  514. package/build-style/gallery/theme-rtl.css +3 -0
  515. package/build-style/gallery/theme.css +3 -0
  516. package/build-style/group/editor-rtl.css +3 -11
  517. package/build-style/group/editor.css +3 -11
  518. package/build-style/group/style-rtl.css +3 -0
  519. package/build-style/group/style.css +3 -0
  520. package/build-style/group/theme-rtl.css +3 -0
  521. package/build-style/group/theme.css +3 -0
  522. package/build-style/heading/style-rtl.css +3 -0
  523. package/build-style/heading/style.css +3 -0
  524. package/build-style/html/editor-rtl.css +3 -0
  525. package/build-style/html/editor.css +3 -0
  526. package/build-style/image/editor-rtl.css +19 -4
  527. package/build-style/image/editor.css +19 -4
  528. package/build-style/image/style-rtl.css +22 -0
  529. package/build-style/image/style.css +22 -0
  530. package/build-style/image/theme-rtl.css +3 -0
  531. package/build-style/image/theme.css +3 -0
  532. package/build-style/latest-comments/style-rtl.css +3 -0
  533. package/build-style/latest-comments/style.css +3 -0
  534. package/build-style/latest-posts/editor-rtl.css +3 -3
  535. package/build-style/latest-posts/editor.css +3 -3
  536. package/build-style/latest-posts/style-rtl.css +3 -0
  537. package/build-style/latest-posts/style.css +3 -0
  538. package/build-style/list/style-rtl.css +4 -1
  539. package/build-style/list/style.css +4 -1
  540. package/build-style/loginout/style-rtl.css +94 -0
  541. package/build-style/loginout/style.css +94 -0
  542. package/build-style/media-text/editor-rtl.css +3 -0
  543. package/build-style/media-text/editor.css +3 -0
  544. package/build-style/media-text/style-rtl.css +3 -0
  545. package/build-style/media-text/style.css +3 -0
  546. package/build-style/more/editor-rtl.css +3 -0
  547. package/build-style/more/editor.css +3 -0
  548. package/build-style/navigation/editor-rtl.css +3 -12
  549. package/build-style/navigation/editor.css +3 -12
  550. package/build-style/navigation/style-rtl.css +4 -4
  551. package/build-style/navigation/style.css +4 -4
  552. package/build-style/navigation-link/editor-rtl.css +3 -0
  553. package/build-style/navigation-link/editor.css +3 -0
  554. package/build-style/navigation-link/style-rtl.css +3 -0
  555. package/build-style/navigation-link/style.css +3 -0
  556. package/build-style/navigation-submenu/editor-rtl.css +3 -0
  557. package/build-style/navigation-submenu/editor.css +3 -0
  558. package/build-style/nextpage/editor-rtl.css +3 -0
  559. package/build-style/nextpage/editor.css +3 -0
  560. package/build-style/page-list/editor-rtl.css +3 -0
  561. package/build-style/page-list/editor.css +3 -0
  562. package/build-style/page-list/style-rtl.css +3 -0
  563. package/build-style/page-list/style.css +3 -0
  564. package/build-style/paragraph/editor-rtl.css +3 -0
  565. package/build-style/paragraph/editor.css +3 -0
  566. package/build-style/paragraph/style-rtl.css +3 -0
  567. package/build-style/paragraph/style.css +3 -0
  568. package/build-style/post-author/style-rtl.css +3 -0
  569. package/build-style/post-author/style.css +3 -0
  570. package/build-style/post-comments-form/editor-rtl.css +3 -0
  571. package/build-style/post-comments-form/editor.css +3 -0
  572. package/build-style/post-comments-form/style-rtl.css +4 -1
  573. package/build-style/post-comments-form/style.css +4 -1
  574. package/build-style/post-content/editor-rtl.css +3 -0
  575. package/build-style/post-content/editor.css +3 -0
  576. package/build-style/post-content/style-rtl.css +96 -0
  577. package/build-style/post-content/style.css +96 -0
  578. package/build-style/post-date/style-rtl.css +3 -0
  579. package/build-style/post-date/style.css +3 -0
  580. package/build-style/post-excerpt/editor-rtl.css +3 -0
  581. package/build-style/post-excerpt/editor.css +3 -0
  582. package/build-style/post-excerpt/style-rtl.css +4 -0
  583. package/build-style/post-excerpt/style.css +4 -0
  584. package/build-style/post-featured-image/editor-rtl.css +3 -0
  585. package/build-style/post-featured-image/editor.css +3 -0
  586. package/build-style/post-featured-image/style-rtl.css +3 -0
  587. package/build-style/post-featured-image/style.css +3 -0
  588. package/build-style/post-navigation-link/style-rtl.css +3 -0
  589. package/build-style/post-navigation-link/style.css +3 -0
  590. package/build-style/post-template/editor-rtl.css +3 -0
  591. package/build-style/post-template/editor.css +3 -0
  592. package/build-style/post-template/style-rtl.css +3 -0
  593. package/build-style/post-template/style.css +3 -0
  594. package/build-style/post-terms/style-rtl.css +3 -0
  595. package/build-style/post-terms/style.css +3 -0
  596. package/build-style/post-time-to-read/style-rtl.css +3 -0
  597. package/build-style/post-time-to-read/style.css +3 -0
  598. package/build-style/post-title/style-rtl.css +3 -0
  599. package/build-style/post-title/style.css +3 -0
  600. package/build-style/preformatted/style-rtl.css +3 -0
  601. package/build-style/preformatted/style.css +3 -0
  602. package/build-style/pullquote/editor-rtl.css +3 -0
  603. package/build-style/pullquote/editor.css +3 -0
  604. package/build-style/pullquote/style-rtl.css +3 -0
  605. package/build-style/pullquote/style.css +3 -0
  606. package/build-style/pullquote/theme-rtl.css +3 -0
  607. package/build-style/pullquote/theme.css +3 -0
  608. package/build-style/query/editor-rtl.css +3 -7
  609. package/build-style/query/editor.css +3 -7
  610. package/build-style/query-pagination/editor-rtl.css +3 -0
  611. package/build-style/query-pagination/editor.css +3 -0
  612. package/build-style/query-pagination/style-rtl.css +3 -0
  613. package/build-style/query-pagination/style.css +3 -0
  614. package/build-style/query-pagination-numbers/editor-rtl.css +3 -0
  615. package/build-style/query-pagination-numbers/editor.css +3 -0
  616. package/build-style/query-title/style-rtl.css +3 -0
  617. package/build-style/query-title/style.css +3 -0
  618. package/build-style/quote/style-rtl.css +3 -0
  619. package/build-style/quote/style.css +3 -0
  620. package/build-style/quote/theme-rtl.css +6 -3
  621. package/build-style/quote/theme.css +6 -3
  622. package/build-style/read-more/style-rtl.css +3 -0
  623. package/build-style/read-more/style.css +3 -0
  624. package/build-style/reset-rtl.css +3 -0
  625. package/build-style/reset.css +3 -0
  626. package/build-style/rss/editor-rtl.css +3 -0
  627. package/build-style/rss/editor.css +3 -0
  628. package/build-style/rss/style-rtl.css +3 -0
  629. package/build-style/rss/style.css +3 -0
  630. package/build-style/search/editor-rtl.css +4 -1
  631. package/build-style/search/editor.css +4 -1
  632. package/build-style/search/style-rtl.css +3 -0
  633. package/build-style/search/style.css +3 -0
  634. package/build-style/search/theme-rtl.css +3 -0
  635. package/build-style/search/theme.css +3 -0
  636. package/build-style/separator/editor-rtl.css +3 -0
  637. package/build-style/separator/editor.css +3 -0
  638. package/build-style/separator/style-rtl.css +3 -0
  639. package/build-style/separator/style.css +3 -0
  640. package/build-style/separator/theme-rtl.css +3 -0
  641. package/build-style/separator/theme.css +3 -0
  642. package/build-style/shortcode/editor-rtl.css +3 -0
  643. package/build-style/shortcode/editor.css +3 -0
  644. package/build-style/site-logo/editor-rtl.css +3 -0
  645. package/build-style/site-logo/editor.css +3 -0
  646. package/build-style/site-logo/style-rtl.css +3 -0
  647. package/build-style/site-logo/style.css +3 -0
  648. package/build-style/site-tagline/editor-rtl.css +3 -0
  649. package/build-style/site-tagline/editor.css +3 -0
  650. package/build-style/site-tagline/style-rtl.css +94 -0
  651. package/build-style/site-tagline/style.css +94 -0
  652. package/build-style/site-title/editor-rtl.css +3 -0
  653. package/build-style/site-title/editor.css +3 -0
  654. package/build-style/site-title/style-rtl.css +7 -1
  655. package/build-style/site-title/style.css +7 -1
  656. package/build-style/social-link/editor-rtl.css +3 -0
  657. package/build-style/social-link/editor.css +3 -0
  658. package/build-style/social-links/editor-rtl.css +3 -0
  659. package/build-style/social-links/editor.css +3 -0
  660. package/build-style/social-links/style-rtl.css +5 -2
  661. package/build-style/social-links/style.css +5 -2
  662. package/build-style/spacer/editor-rtl.css +3 -0
  663. package/build-style/spacer/editor.css +3 -0
  664. package/build-style/spacer/style-rtl.css +3 -0
  665. package/build-style/spacer/style.css +3 -0
  666. package/build-style/style-rtl.css +56 -9
  667. package/build-style/style.css +56 -9
  668. package/build-style/table/editor-rtl.css +3 -0
  669. package/build-style/table/editor.css +3 -0
  670. package/build-style/table/style-rtl.css +3 -0
  671. package/build-style/table/style.css +3 -0
  672. package/build-style/table/theme-rtl.css +3 -0
  673. package/build-style/table/theme.css +3 -0
  674. package/build-style/table-of-contents/style-rtl.css +94 -0
  675. package/build-style/table-of-contents/style.css +94 -0
  676. package/build-style/tag-cloud/editor-rtl.css +95 -0
  677. package/build-style/tag-cloud/editor.css +95 -0
  678. package/build-style/tag-cloud/style-rtl.css +3 -0
  679. package/build-style/tag-cloud/style.css +3 -0
  680. package/build-style/template-part/editor-rtl.css +3 -0
  681. package/build-style/template-part/editor.css +3 -0
  682. package/build-style/template-part/theme-rtl.css +3 -0
  683. package/build-style/template-part/theme.css +3 -0
  684. package/build-style/term-description/style-rtl.css +4 -0
  685. package/build-style/term-description/style.css +4 -0
  686. package/build-style/text-columns/editor-rtl.css +3 -0
  687. package/build-style/text-columns/editor.css +3 -0
  688. package/build-style/text-columns/style-rtl.css +3 -0
  689. package/build-style/text-columns/style.css +3 -0
  690. package/build-style/theme-rtl.css +6 -3
  691. package/build-style/theme.css +6 -3
  692. package/build-style/verse/style-rtl.css +3 -0
  693. package/build-style/verse/style.css +3 -0
  694. package/build-style/video/editor-rtl.css +3 -3
  695. package/build-style/video/editor.css +3 -3
  696. package/build-style/video/style-rtl.css +3 -0
  697. package/build-style/video/style.css +3 -0
  698. package/build-style/video/theme-rtl.css +3 -0
  699. package/build-style/video/theme.css +3 -0
  700. package/package.json +35 -35
  701. package/src/avatar/edit.js +1 -0
  702. package/src/block/edit.js +58 -27
  703. package/src/block/test/edit.native.js +6 -2
  704. package/src/button/edit.js +1 -1
  705. package/src/button/index.php +1 -14
  706. package/src/buttons/block.json +20 -0
  707. package/src/buttons/index.js +6 -0
  708. package/src/categories/block.json +20 -0
  709. package/src/categories/edit.js +32 -4
  710. package/src/categories/editor.scss +4 -0
  711. package/src/categories/index.php +4 -1
  712. package/src/categories/style.scss +4 -0
  713. package/src/column/block.json +2 -0
  714. package/src/column/edit.js +2 -2
  715. package/src/columns/index.js +1 -1
  716. package/src/comment-template/block.json +12 -0
  717. package/src/comments-title/block.json +3 -0
  718. package/src/comments-title/edit.js +8 -1
  719. package/src/cover/edit/inspector-controls.js +1 -0
  720. package/src/details/edit.js +1 -0
  721. package/src/editor.scss +1 -0
  722. package/src/embed/test/__snapshots__/index.native.js.snap +8 -8
  723. package/src/embed/test/index.js +1 -1
  724. package/src/embed/test/index.native.js +24 -23
  725. package/src/embed/variations.js +43 -35
  726. package/src/footnotes/index.js +1 -2
  727. package/src/form/edit.js +3 -2
  728. package/src/form-input/edit.js +3 -0
  729. package/src/form-input/style.scss +1 -0
  730. package/src/gallery/block.json +10 -0
  731. package/src/gallery/edit.js +75 -13
  732. package/src/gallery/editor.scss +0 -1
  733. package/src/gallery/gap-styles.js +1 -8
  734. package/src/gallery/test/__snapshots__/index.native.js.snap +1 -1
  735. package/src/gallery/test/index.native.js +5 -5
  736. package/src/gallery/use-image-sizes.js +2 -2
  737. package/src/group/deprecated.js +3 -7
  738. package/src/group/editor.scss +1 -1
  739. package/src/group/index.js +26 -29
  740. package/src/group/variations.js +56 -0
  741. package/src/heading/block.json +15 -0
  742. package/src/heading/edit.js +3 -1
  743. package/src/heading/index.js +1 -0
  744. package/src/image/block.json +3 -0
  745. package/src/image/edit.js +1 -1
  746. package/src/image/editor.scss +18 -1
  747. package/src/image/image.js +55 -35
  748. package/src/image/index.php +32 -15
  749. package/src/image/style.scss +22 -0
  750. package/src/image/test/edit.native.js +1 -0
  751. package/src/image/view.js +69 -49
  752. package/src/latest-comments/block.json +9 -0
  753. package/src/latest-posts/edit.js +1 -0
  754. package/src/latest-posts/editor.scss +0 -4
  755. package/src/list/block.json +1 -1
  756. package/src/list/edit.js +3 -3
  757. package/src/list/ordered-list-settings.js +20 -18
  758. package/src/list/style.scss +1 -1
  759. package/src/list/test/edit.native.js +1 -3
  760. package/src/list-item/block.json +3 -2
  761. package/src/list-item/edit.js +2 -2
  762. package/src/list-item/hooks/index.js +0 -1
  763. package/src/loginout/block.json +14 -1
  764. package/src/loginout/style.scss +4 -0
  765. package/src/media-text/block.json +12 -0
  766. package/src/media-text/style.native.scss +2 -0
  767. package/src/navigation/edit/index.js +5 -5
  768. package/src/navigation/edit/navigation-menu-delete-control.js +1 -0
  769. package/src/navigation/editor.scss +0 -1
  770. package/src/navigation/index.php +1 -1
  771. package/src/navigation/style.scss +4 -9
  772. package/src/navigation/test/use-navigation-menu.js +54 -15
  773. package/src/navigation/use-navigation-menu.js +5 -1
  774. package/src/navigation-link/link-ui.js +8 -14
  775. package/src/navigation-submenu/edit.js +1 -13
  776. package/src/page-list/edit.js +1 -0
  777. package/src/page-list-item/edit.js +4 -4
  778. package/src/paragraph/block.json +6 -0
  779. package/src/post-author/index.js +8 -0
  780. package/src/post-author-biography/block.json +3 -0
  781. package/src/post-author-name/block.json +3 -0
  782. package/src/post-comments-form/block.json +12 -0
  783. package/src/post-comments-form/style.scss +1 -1
  784. package/src/post-content/block.json +1 -0
  785. package/src/post-content/style.scss +5 -0
  786. package/src/post-date/block.json +15 -0
  787. package/src/post-excerpt/block.json +12 -0
  788. package/src/post-excerpt/edit.js +1 -0
  789. package/src/post-excerpt/style.scss +3 -0
  790. package/src/post-featured-image/block.json +3 -0
  791. package/src/post-navigation-link/edit.js +2 -0
  792. package/src/post-terms/block.json +15 -0
  793. package/src/post-time-to-read/block.json +6 -0
  794. package/src/post-title/block.json +15 -0
  795. package/src/post-title/edit.js +9 -8
  796. package/src/query/edit/inspector-controls/author-control.js +2 -0
  797. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
  798. package/src/query/edit/inspector-controls/index.js +123 -23
  799. package/src/query/edit/inspector-controls/offset-controls.js +31 -0
  800. package/src/query/edit/inspector-controls/order-control.js +1 -0
  801. package/src/query/edit/inspector-controls/pages-control.js +27 -0
  802. package/src/query/edit/inspector-controls/parent-control.js +1 -0
  803. package/src/query/edit/inspector-controls/per-page-control.js +33 -0
  804. package/src/query/edit/inspector-controls/sticky-control.js +2 -1
  805. package/src/query/edit/inspector-controls/taxonomy-controls.js +8 -3
  806. package/src/query/edit/query-content.js +17 -3
  807. package/src/query/edit/query-placeholder.js +1 -21
  808. package/src/query/edit/query-toolbar.js +1 -90
  809. package/src/query/editor.scss +0 -9
  810. package/src/query/utils.js +13 -5
  811. package/src/query/variations.js +4 -46
  812. package/src/query-pagination-numbers/edit.js +1 -0
  813. package/src/query-title/block.json +3 -0
  814. package/src/query-title/edit.js +19 -18
  815. package/src/query-title/use-archive-label.js +99 -0
  816. package/src/quote/block.json +15 -1
  817. package/src/quote/theme.scss +5 -3
  818. package/src/search/block.json +3 -0
  819. package/src/search/editor.scss +1 -1
  820. package/src/site-logo/edit.js +27 -10
  821. package/src/site-tagline/block.json +18 -2
  822. package/src/site-tagline/edit.js +7 -6
  823. package/src/site-tagline/style.scss +4 -0
  824. package/src/site-title/block.json +10 -0
  825. package/src/site-title/edit.js +6 -5
  826. package/src/site-title/index.js +6 -1
  827. package/src/site-title/style.scss +7 -2
  828. package/src/social-link/edit.js +0 -1
  829. package/src/social-link/icons/soundcloud.js +1 -1
  830. package/src/social-link/socials-with-bg.scss +1 -1
  831. package/src/social-link/socials-without-bg.scss +1 -1
  832. package/src/social-links/block.json +12 -0
  833. package/src/spacer/controls.js +10 -13
  834. package/src/style.scss +4 -0
  835. package/src/table-of-contents/block.json +14 -1
  836. package/src/table-of-contents/style.scss +4 -0
  837. package/src/tag-cloud/block.json +1 -1
  838. package/src/tag-cloud/edit.js +53 -35
  839. package/src/tag-cloud/editor.scss +9 -0
  840. package/src/template-part/edit/index.js +10 -5
  841. package/src/template-part/edit/inner-blocks.js +11 -6
  842. package/src/template-part/edit/placeholder.js +31 -6
  843. package/src/template-part/edit/title-modal.js +18 -4
  844. package/src/term-description/block.json +12 -0
  845. package/src/term-description/style.scss +2 -0
  846. package/src/utils/hooks.js +5 -1
  847. package/src/video/editor.scss +0 -4
  848. package/tsconfig.tsbuildinfo +1 -1
  849. package/build/list-item/hooks/use-split.js +0 -39
  850. package/build/list-item/hooks/use-split.js.map +0 -1
  851. package/build-module/list-item/hooks/use-split.js +0 -32
  852. package/build-module/list-item/hooks/use-split.js.map +0 -1
  853. package/src/list-item/hooks/use-split.js +0 -33
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_data","_blockEditor","_components","_compose","_i18n","_coreData","_element","_notices","_placeholder","_interopRequireDefault","_selectionModal","_advancedControls","_innerBlocks","_createTemplatePartId","_hooks","_jsxRuntime","ReplaceButton","isEntityAvailable","area","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","useAlternativeTemplateParts","hasReplacements","length","canReplace","jsx","MenuItem","onClick","children","__","TemplatesList","clientId","onSelect","blockPatterns","useAlternativeBlockPatterns","shownTemplates","useAsyncList","PanelBody","title","__experimentalBlockPatternsList","label","shownPatterns","onClickPattern","showTitle","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","useDispatch","noticesStore","editEntityRecord","coreStore","currentTheme","useSelect","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","createTemplatePartId","hasAlreadyRendered","useHasRecursion","useState","isResolved","hasInnerBlocks","isMissing","onNavigateToEntityRecord","canEditTemplate","_select$canUser","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getSettings","blockEditorStore","getEntityArgs","entityRecord","_area","hasResolvedEntity","_canEditTemplate","canUser","Object","keys","areaObject","useTemplatePartArea","blockProps","useBlockProps","isPlaceholder","TagName","onPatternSelect","pattern","blocks","content","serialize","sprintf","type","Warning","jsxs","Fragment","RecursionProvider","uniqueId","BlockControls","group","ToolbarButton","postId","postType","InspectorControls","TemplatePartAdvancedControls","defaultWrapper","default","onOpenSelectionModal","BlockSettingsMenuControls","selectedClientIds","Spinner","Modal","overlayClassName","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSpinner,\n\tModal,\n\tMenuItem,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst hasReplacements = !! templateParts.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nfunction TemplatesList( { area, clientId, isEntityAvailable, onSelect } ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\t!! blockPatterns.length &&\n\t\t( area === 'header' || area === 'footer' );\n\tconst shownTemplates = useAsyncList( blockPatterns );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Design' ) }>\n\t\t\t<BlockPatternsList\n\t\t\t\tlabel={ __( 'Templates' ) }\n\t\t\t\tblockPatterns={ blockPatterns }\n\t\t\t\tshownPatterns={ shownTemplates }\n\t\t\t\tonClickPattern={ onSelect }\n\t\t\t\tshowTitle={ false }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\tconst {\n\t\tisResolved,\n\t\thasInnerBlocks,\n\t\tisMissing,\n\t\tarea,\n\t\tonNavigateToEntityRecord,\n\t\ttitle,\n\t\tcanEditTemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount, getSettings } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst _canEditTemplate =\n\t\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) ?? false;\n\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: getBlockCount( clientId ) > 0,\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\ttitle: entityRecord?.title,\n\t\t\t\tcanEditTemplate: _canEditTemplate,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst onPatternSelect = async ( pattern ) => {\n\t\tawait editEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttemplatePartId,\n\t\t\t{\n\t\t\t\tblocks: pattern.blocks,\n\t\t\t\tcontent: serialize( pattern.blocks ),\n\t\t\t}\n\t\t);\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" updated.' ),\n\t\t\t\ttitle || slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t};\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\t! hasInnerBlocks &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...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</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t{ isEntityAvailable &&\n\t\t\t\t\tonNavigateToEntityRecord &&\n\t\t\t\t\tcanEditTemplate && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\tpostId: templatePartId,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\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</BlockSettingsMenuControls>\n\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\tonSelect={ ( pattern ) => onPatternSelect( pattern ) }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blocks","require","_data","_blockEditor","_components","_compose","_i18n","_coreData","_element","_notices","_placeholder","_interopRequireDefault","_selectionModal","_advancedControls","_innerBlocks","_createTemplatePartId","_hooks","_jsxRuntime","ReplaceButton","isEntityAvailable","area","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","useAlternativeTemplateParts","hasReplacements","length","canReplace","jsx","MenuItem","onClick","children","__","TemplatesList","clientId","onSelect","blockPatterns","useAlternativeBlockPatterns","shownTemplates","useAsyncList","PanelBody","title","__experimentalBlockPatternsList","label","shownPatterns","onClickPattern","showTitle","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","useDispatch","noticesStore","editEntityRecord","coreStore","currentTheme","useSelect","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","createTemplatePartId","hasAlreadyRendered","useHasRecursion","useState","isResolved","hasInnerBlocks","isMissing","onNavigateToEntityRecord","canUserEdit","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getSettings","blockEditorStore","getEntityArgs","entityRecord","_area","hasResolvedEntity","_canUserEdit","canUser","kind","name","id","Object","keys","areaObject","useTemplatePartArea","blockProps","useBlockProps","isPlaceholder","TagName","onPatternSelect","pattern","blocks","content","serialize","sprintf","type","Warning","jsxs","Fragment","RecursionProvider","uniqueId","BlockControls","group","ToolbarButton","postId","postType","InspectorControls","TemplatePartAdvancedControls","defaultWrapper","default","onOpenSelectionModal","BlockSettingsMenuControls","selectedClientIds","Spinner","Modal","overlayClassName","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSpinner,\n\tModal,\n\tMenuItem,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst hasReplacements = !! templateParts.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nfunction TemplatesList( { area, clientId, isEntityAvailable, onSelect } ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\t!! blockPatterns.length &&\n\t\t( area === 'header' || area === 'footer' );\n\tconst shownTemplates = useAsyncList( blockPatterns );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Design' ) }>\n\t\t\t<BlockPatternsList\n\t\t\t\tlabel={ __( 'Templates' ) }\n\t\t\t\tblockPatterns={ blockPatterns }\n\t\t\t\tshownPatterns={ shownTemplates }\n\t\t\t\tonClickPattern={ onSelect }\n\t\t\t\tshowTitle={ false }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\tconst {\n\t\tisResolved,\n\t\thasInnerBlocks,\n\t\tisMissing,\n\t\tarea,\n\t\tonNavigateToEntityRecord,\n\t\ttitle,\n\t\tcanUserEdit,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount, getSettings } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst _canUserEdit = hasResolvedEntity\n\t\t\t\t? select( coreStore ).canUser( 'update', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template_part',\n\t\t\t\t\t\tid: templatePartId,\n\t\t\t\t } )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: getBlockCount( clientId ) > 0,\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\ttitle: entityRecord?.title,\n\t\t\t\tcanUserEdit: !! _canUserEdit,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst onPatternSelect = async ( pattern ) => {\n\t\tawait editEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttemplatePartId,\n\t\t\t{\n\t\t\t\tblocks: pattern.blocks,\n\t\t\t\tcontent: serialize( pattern.blocks ),\n\t\t\t}\n\t\t);\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" updated.' ),\n\t\t\t\ttitle || slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t};\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\t! hasInnerBlocks &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...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</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t{ isEntityAvailable &&\n\t\t\t\t\tonNavigateToEntityRecord &&\n\t\t\t\t\tcanUserEdit && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\tpostId: templatePartId,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\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</BlockSettingsMenuControls>\n\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\tonSelect={ ( pattern ) => onPatternSelect( pattern ) }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -119,12 +119,19 @@ function TemplatePartInnerBlocks({
119
119
  canViewTemplatePart,
120
120
  canEditTemplatePart
121
121
  } = (0, _data.useSelect)(select => {
122
- var _select$canUser, _select$canUser2;
123
122
  return {
124
- canViewTemplatePart: (_select$canUser = select(_coreData.store).canUser('read', 'templates')) !== null && _select$canUser !== void 0 ? _select$canUser : false,
125
- canEditTemplatePart: (_select$canUser2 = select(_coreData.store).canUser('create', 'templates')) !== null && _select$canUser2 !== void 0 ? _select$canUser2 : false
123
+ canViewTemplatePart: !!select(_coreData.store).canUser('read', {
124
+ kind: 'postType',
125
+ name: 'wp_template_part',
126
+ id
127
+ }),
128
+ canEditTemplatePart: !!select(_coreData.store).canUser('update', {
129
+ kind: 'postType',
130
+ name: 'wp_template_part',
131
+ id
132
+ })
126
133
  };
127
- }, []);
134
+ }, [id]);
128
135
  if (!canViewTemplatePart) {
129
136
  return null;
130
137
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_blockEditor","_data","_element","_blocks","_jsxRuntime","useRenderAppender","hasInnerBlocks","blockEditingMode","useBlockEditingMode","InnerBlocks","ButtonBlockAppender","useLayout","layout","themeSupportsLayout","useSelect","select","getSettings","blockEditorStore","supportsLayout","defaultLayout","useSettings","inherit","NonEditableTemplatePartPreview","postId","id","tagName","TagName","blockProps","content","editedBlocks","getEditedEntityRecord","coreStore","editedRecord","context","blocks","useMemo","undefined","parse","innerBlocksProps","useInnerBlocksProps","value","onInput","onChange","renderAppender","jsx","EditableTemplatePartInnerBlocks","useEntityBlockEditor","TemplatePartInnerBlocks","canViewTemplatePart","canEditTemplatePart","_select$canUser","_select$canUser2","canUser","TemplatePartInnerBlocksComponent"],"sources":["@wordpress/block-library/src/template-part/edit/inner-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';\nimport {\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tuseSettings,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { parse } from '@wordpress/blocks';\n\nfunction useRenderAppender( hasInnerBlocks ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\t// Disable appending when the editing mode is 'contentOnly'. This is so that the user can't\n\t// append into a template part when editing a page in the site editor. See\n\t// DisableNonPageContentBlocks. Ideally instead of (mis)using editing mode there would be a\n\t// block editor API for achieving this.\n\tif ( blockEditingMode === 'contentOnly' ) {\n\t\treturn false;\n\t}\n\tif ( ! hasInnerBlocks ) {\n\t\treturn InnerBlocks.ButtonBlockAppender;\n\t}\n}\n\nfunction useLayout( layout ) {\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings()?.supportsLayout;\n\t}, [] );\n\tconst [ defaultLayout ] = useSettings( 'layout' );\n\tif ( themeSupportsLayout ) {\n\t\treturn layout?.inherit ? defaultLayout || {} : layout;\n\t}\n}\n\nfunction NonEditableTemplatePartPreview( {\n\tpostId: id,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tuseBlockEditingMode( 'disabled' );\n\n\tconst { content, editedBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! id ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst editedRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tid,\n\t\t\t\t{ context: 'view' }\n\t\t\t);\n\t\t\treturn {\n\t\t\t\teditedBlocks: editedRecord.blocks,\n\t\t\t\tcontent: editedRecord.content,\n\t\t\t};\n\t\t},\n\t\t[ id ]\n\t);\n\n\tconst blocks = useMemo( () => {\n\t\tif ( ! id ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif ( editedBlocks ) {\n\t\t\treturn editedBlocks;\n\t\t}\n\n\t\tif ( ! content || typeof content !== 'string' ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn parse( content );\n\t}, [ id, editedBlocks, content ] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput: () => {},\n\t\tonChange: () => {},\n\t\trenderAppender: false,\n\t\tlayout: useLayout( layout ),\n\t} );\n\n\treturn <TagName { ...innerBlocksProps } />;\n}\n\nfunction EditableTemplatePartInnerBlocks( {\n\tpostId: id,\n\thasInnerBlocks,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{ id }\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput,\n\t\tonChange,\n\t\trenderAppender: useRenderAppender( hasInnerBlocks ),\n\t\tlayout: useLayout( layout ),\n\t} );\n\n\treturn <TagName { ...innerBlocksProps } />;\n}\n\nexport default function TemplatePartInnerBlocks( {\n\tpostId: id,\n\thasInnerBlocks,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tconst { canViewTemplatePart, canEditTemplatePart } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tcanViewTemplatePart:\n\t\t\t\t\tselect( coreStore ).canUser( 'read', 'templates' ) ?? false,\n\t\t\t\tcanEditTemplatePart:\n\t\t\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) ??\n\t\t\t\t\tfalse,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif ( ! canViewTemplatePart ) {\n\t\treturn null;\n\t}\n\n\tconst TemplatePartInnerBlocksComponent = canEditTemplatePart\n\t\t? EditableTemplatePartInnerBlocks\n\t\t: NonEditableTemplatePartPreview;\n\n\treturn (\n\t\t<TemplatePartInnerBlocksComponent\n\t\t\tpostId={ id }\n\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\tlayout={ layout }\n\t\t\ttagName={ TagName }\n\t\t\tblockProps={ blockProps }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_coreData","require","_blockEditor","_data","_element","_blocks","_jsxRuntime","useRenderAppender","hasInnerBlocks","blockEditingMode","useBlockEditingMode","InnerBlocks","ButtonBlockAppender","useLayout","layout","themeSupportsLayout","useSelect","select","getSettings","blockEditorStore","supportsLayout","defaultLayout","useSettings","inherit","NonEditableTemplatePartPreview","postId","id","tagName","TagName","blockProps","content","editedBlocks","getEditedEntityRecord","coreStore","editedRecord","context","blocks","useMemo","undefined","parse","innerBlocksProps","useInnerBlocksProps","value","onInput","onChange","renderAppender","jsx","EditableTemplatePartInnerBlocks","useEntityBlockEditor","TemplatePartInnerBlocks","canViewTemplatePart","canEditTemplatePart","canUser","kind","name","TemplatePartInnerBlocksComponent"],"sources":["@wordpress/block-library/src/template-part/edit/inner-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';\nimport {\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tuseSettings,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { parse } from '@wordpress/blocks';\n\nfunction useRenderAppender( hasInnerBlocks ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\t// Disable appending when the editing mode is 'contentOnly'. This is so that the user can't\n\t// append into a template part when editing a page in the site editor. See\n\t// DisableNonPageContentBlocks. Ideally instead of (mis)using editing mode there would be a\n\t// block editor API for achieving this.\n\tif ( blockEditingMode === 'contentOnly' ) {\n\t\treturn false;\n\t}\n\tif ( ! hasInnerBlocks ) {\n\t\treturn InnerBlocks.ButtonBlockAppender;\n\t}\n}\n\nfunction useLayout( layout ) {\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings()?.supportsLayout;\n\t}, [] );\n\tconst [ defaultLayout ] = useSettings( 'layout' );\n\tif ( themeSupportsLayout ) {\n\t\treturn layout?.inherit ? defaultLayout || {} : layout;\n\t}\n}\n\nfunction NonEditableTemplatePartPreview( {\n\tpostId: id,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tuseBlockEditingMode( 'disabled' );\n\n\tconst { content, editedBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! id ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst editedRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tid,\n\t\t\t\t{ context: 'view' }\n\t\t\t);\n\t\t\treturn {\n\t\t\t\teditedBlocks: editedRecord.blocks,\n\t\t\t\tcontent: editedRecord.content,\n\t\t\t};\n\t\t},\n\t\t[ id ]\n\t);\n\n\tconst blocks = useMemo( () => {\n\t\tif ( ! id ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif ( editedBlocks ) {\n\t\t\treturn editedBlocks;\n\t\t}\n\n\t\tif ( ! content || typeof content !== 'string' ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn parse( content );\n\t}, [ id, editedBlocks, content ] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput: () => {},\n\t\tonChange: () => {},\n\t\trenderAppender: false,\n\t\tlayout: useLayout( layout ),\n\t} );\n\n\treturn <TagName { ...innerBlocksProps } />;\n}\n\nfunction EditableTemplatePartInnerBlocks( {\n\tpostId: id,\n\thasInnerBlocks,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{ id }\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput,\n\t\tonChange,\n\t\trenderAppender: useRenderAppender( hasInnerBlocks ),\n\t\tlayout: useLayout( layout ),\n\t} );\n\n\treturn <TagName { ...innerBlocksProps } />;\n}\n\nexport default function TemplatePartInnerBlocks( {\n\tpostId: id,\n\thasInnerBlocks,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tconst { canViewTemplatePart, canEditTemplatePart } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tcanViewTemplatePart: !! select( coreStore ).canUser( 'read', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'wp_template_part',\n\t\t\t\t\tid,\n\t\t\t\t} ),\n\t\t\t\tcanEditTemplatePart: !! select( coreStore ).canUser( 'update', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'wp_template_part',\n\t\t\t\t\tid,\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ id ]\n\t);\n\n\tif ( ! canViewTemplatePart ) {\n\t\treturn null;\n\t}\n\n\tconst TemplatePartInnerBlocksComponent = canEditTemplatePart\n\t\t? EditableTemplatePartInnerBlocks\n\t\t: NonEditableTemplatePartPreview;\n\n\treturn (\n\t\t<TemplatePartInnerBlocksComponent\n\t\t\tpostId={ id }\n\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\tlayout={ layout }\n\t\t\ttagName={ TagName }\n\t\t\tblockProps={ blockProps }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,8 @@ exports.default = TemplatePartPlaceholder;
8
8
  var _i18n = require("@wordpress/i18n");
9
9
  var _components = require("@wordpress/components");
10
10
  var _element = require("@wordpress/element");
11
+ var _data = require("@wordpress/data");
12
+ var _coreData = require("@wordpress/core-data");
11
13
  var _hooks = require("./utils/hooks");
12
14
  var _titleModal = _interopRequireDefault(require("./title-modal"));
13
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -31,20 +33,38 @@ function TemplatePartPlaceholder({
31
33
  isResolving
32
34
  } = (0, _hooks.useAlternativeTemplateParts)(area, templatePartId);
33
35
  const blockPatterns = (0, _hooks.useAlternativeBlockPatterns)(area, clientId);
36
+ const {
37
+ isBlockBasedTheme,
38
+ canCreateTemplatePart
39
+ } = (0, _data.useSelect)(select => {
40
+ const {
41
+ getCurrentTheme,
42
+ canUser
43
+ } = select(_coreData.store);
44
+ return {
45
+ isBlockBasedTheme: getCurrentTheme()?.is_block_theme,
46
+ canCreateTemplatePart: canUser('create', {
47
+ kind: 'postType',
48
+ name: 'wp_template_part'
49
+ })
50
+ };
51
+ }, []);
34
52
  const [showTitleModal, setShowTitleModal] = (0, _element.useState)(false);
35
53
  const areaObject = (0, _hooks.useTemplatePartArea)(area);
36
54
  const createFromBlocks = (0, _hooks.useCreateTemplatePartFromBlocks)(area, setAttributes);
37
55
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Placeholder, {
38
56
  icon: areaObject.icon,
39
57
  label: areaObject.label,
40
- instructions: (0, _i18n.sprintf)(
58
+ instructions: isBlockBasedTheme ? (0, _i18n.sprintf)(
59
+ // Translators: %s as template part area title ("Header", "Footer", etc.).
60
+ (0, _i18n.__)('Choose an existing %s or create a new one.'), areaObject.label.toLowerCase()) : (0, _i18n.sprintf)(
41
61
  // Translators: %s as template part area title ("Header", "Footer", etc.).
42
- (0, _i18n.__)('Choose an existing %s or create a new one.'), areaObject.label.toLowerCase()),
62
+ (0, _i18n.__)('Choose an existing %s.'), areaObject.label.toLowerCase()),
43
63
  children: [isResolving && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Spinner, {}), !isResolving && !!(templateParts.length || blockPatterns.length) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
44
64
  variant: "primary",
45
65
  onClick: onOpenSelectionModal,
46
66
  children: (0, _i18n.__)('Choose')
47
- }), !isResolving && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
67
+ }), !isResolving && isBlockBasedTheme && canCreateTemplatePart && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
48
68
  variant: "secondary",
49
69
  onClick: () => {
50
70
  setShowTitleModal(true);
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_element","_hooks","_titleModal","_interopRequireDefault","_jsxRuntime","TemplatePartPlaceholder","area","clientId","templatePartId","onOpenSelectionModal","setAttributes","templateParts","isResolving","useAlternativeTemplateParts","blockPatterns","useAlternativeBlockPatterns","showTitleModal","setShowTitleModal","useState","areaObject","useTemplatePartArea","createFromBlocks","useCreateTemplatePartFromBlocks","jsxs","Placeholder","icon","label","instructions","sprintf","__","toLowerCase","children","jsx","Spinner","length","Button","variant","onClick","default","areaLabel","onClose","onSubmit","title"],"sources":["@wordpress/block-library/src/template-part/edit/placeholder.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Placeholder, Button, Spinner } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseCreateTemplatePartFromBlocks,\n\tuseTemplatePartArea,\n} from './utils/hooks';\nimport TitleModal from './title-modal';\n\nexport default function TemplatePartPlaceholder( {\n\tarea,\n\tclientId,\n\ttemplatePartId,\n\tonOpenSelectionModal,\n\tsetAttributes,\n} ) {\n\tconst { templateParts, isResolving } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst [ showTitleModal, setShowTitleModal ] = useState( false );\n\tconst areaObject = useTemplatePartArea( area );\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\treturn (\n\t\t<Placeholder\n\t\t\ticon={ areaObject.icon }\n\t\t\tlabel={ areaObject.label }\n\t\t\tinstructions={ sprintf(\n\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t__( 'Choose an existing %s or create a new one.' ),\n\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t) }\n\t\t>\n\t\t\t{ isResolving && <Spinner /> }\n\n\t\t\t{ ! isResolving &&\n\t\t\t\t!! ( templateParts.length || blockPatterns.length ) && (\n\t\t\t\t\t<Button variant=\"primary\" onClick={ onOpenSelectionModal }>\n\t\t\t\t\t\t{ __( 'Choose' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\n\t\t\t{ ! isResolving && (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowTitleModal( true );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Start blank' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t{ showTitleModal && (\n\t\t\t\t<TitleModal\n\t\t\t\t\tareaLabel={ areaObject.label }\n\t\t\t\t\tonClose={ () => setShowTitleModal( false ) }\n\t\t\t\t\tonSubmit={ ( title ) => {\n\t\t\t\t\t\tcreateFromBlocks( [], title );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Placeholder>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AAMA,IAAAI,WAAA,GAAAC,sBAAA,CAAAL,OAAA;AAAuC,IAAAM,WAAA,GAAAN,OAAA;AAhBvC;AACA;AACA;;AAKA;AACA;AACA;;AASe,SAASO,uBAAuBA,CAAE;EAChDC,IAAI;EACJC,QAAQ;EACRC,cAAc;EACdC,oBAAoB;EACpBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,aAAa;IAAEC;EAAY,CAAC,GAAG,IAAAC,kCAA2B,EACjEP,IAAI,EACJE,cACD,CAAC;EACD,MAAMM,aAAa,GAAG,IAAAC,kCAA2B,EAAET,IAAI,EAAEC,QAAS,CAAC;EACnE,MAAM,CAAES,cAAc,EAAEC,iBAAiB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAC/D,MAAMC,UAAU,GAAG,IAAAC,0BAAmB,EAAEd,IAAK,CAAC;EAC9C,MAAMe,gBAAgB,GAAG,IAAAC,sCAA+B,EACvDhB,IAAI,EACJI,aACD,CAAC;EAED,oBACC,IAAAN,WAAA,CAAAmB,IAAA,EAACxB,WAAA,CAAAyB,WAAW;IACXC,IAAI,EAAGN,UAAU,CAACM,IAAM;IACxBC,KAAK,EAAGP,UAAU,CAACO,KAAO;IAC1BC,YAAY,EAAG,IAAAC,aAAO;IACrB;IACA,IAAAC,QAAE,EAAE,4CAA6C,CAAC,EAClDV,UAAU,CAACO,KAAK,CAACI,WAAW,CAAC,CAC9B,CAAG;IAAAC,QAAA,GAEDnB,WAAW,iBAAI,IAAAR,WAAA,CAAA4B,GAAA,EAACjC,WAAA,CAAAkC,OAAO,IAAE,CAAC,EAE1B,CAAErB,WAAW,IACd,CAAC,EAAID,aAAa,CAACuB,MAAM,IAAIpB,aAAa,CAACoB,MAAM,CAAE,iBAClD,IAAA9B,WAAA,CAAA4B,GAAA,EAACjC,WAAA,CAAAoC,MAAM;MAACC,OAAO,EAAC,SAAS;MAACC,OAAO,EAAG5B,oBAAsB;MAAAsB,QAAA,EACvD,IAAAF,QAAE,EAAE,QAAS;IAAC,CACT,CACR,EAEA,CAAEjB,WAAW,iBACd,IAAAR,WAAA,CAAA4B,GAAA,EAACjC,WAAA,CAAAoC,MAAM;MACNC,OAAO,EAAC,WAAW;MACnBC,OAAO,EAAGA,CAAA,KAAM;QACfpB,iBAAiB,CAAE,IAAK,CAAC;MAC1B,CAAG;MAAAc,QAAA,EAED,IAAAF,QAAE,EAAE,aAAc;IAAC,CACd,CACR,EACCb,cAAc,iBACf,IAAAZ,WAAA,CAAA4B,GAAA,EAAC9B,WAAA,CAAAoC,OAAU;MACVC,SAAS,EAAGpB,UAAU,CAACO,KAAO;MAC9Bc,OAAO,EAAGA,CAAA,KAAMvB,iBAAiB,CAAE,KAAM,CAAG;MAC5CwB,QAAQ,EAAKC,KAAK,IAAM;QACvBrB,gBAAgB,CAAE,EAAE,EAAEqB,KAAM,CAAC;MAC9B;IAAG,CACH,CACD;EAAA,CACW,CAAC;AAEhB","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_element","_data","_coreData","_hooks","_titleModal","_interopRequireDefault","_jsxRuntime","TemplatePartPlaceholder","area","clientId","templatePartId","onOpenSelectionModal","setAttributes","templateParts","isResolving","useAlternativeTemplateParts","blockPatterns","useAlternativeBlockPatterns","isBlockBasedTheme","canCreateTemplatePart","useSelect","select","getCurrentTheme","canUser","coreStore","is_block_theme","kind","name","showTitleModal","setShowTitleModal","useState","areaObject","useTemplatePartArea","createFromBlocks","useCreateTemplatePartFromBlocks","jsxs","Placeholder","icon","label","instructions","sprintf","__","toLowerCase","children","jsx","Spinner","length","Button","variant","onClick","default","areaLabel","onClose","onSubmit","title"],"sources":["@wordpress/block-library/src/template-part/edit/placeholder.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Placeholder, Button, Spinner } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseCreateTemplatePartFromBlocks,\n\tuseTemplatePartArea,\n} from './utils/hooks';\nimport TitleModal from './title-modal';\n\nexport default function TemplatePartPlaceholder( {\n\tarea,\n\tclientId,\n\ttemplatePartId,\n\tonOpenSelectionModal,\n\tsetAttributes,\n} ) {\n\tconst { templateParts, isResolving } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\n\tconst { isBlockBasedTheme, canCreateTemplatePart } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentTheme, canUser } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tisBlockBasedTheme: getCurrentTheme()?.is_block_theme,\n\t\t\t\tcanCreateTemplatePart: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'wp_template_part',\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst [ showTitleModal, setShowTitleModal ] = useState( false );\n\tconst areaObject = useTemplatePartArea( area );\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\treturn (\n\t\t<Placeholder\n\t\t\ticon={ areaObject.icon }\n\t\t\tlabel={ areaObject.label }\n\t\t\tinstructions={\n\t\t\t\tisBlockBasedTheme\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t\t__( 'Choose an existing %s or create a new one.' ),\n\t\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t\t__( 'Choose an existing %s.' ),\n\t\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t )\n\t\t\t}\n\t\t>\n\t\t\t{ isResolving && <Spinner /> }\n\n\t\t\t{ ! isResolving &&\n\t\t\t\t!! ( templateParts.length || blockPatterns.length ) && (\n\t\t\t\t\t<Button variant=\"primary\" onClick={ onOpenSelectionModal }>\n\t\t\t\t\t\t{ __( 'Choose' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\n\t\t\t{ ! isResolving && isBlockBasedTheme && canCreateTemplatePart && (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowTitleModal( true );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Start blank' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t{ showTitleModal && (\n\t\t\t\t<TitleModal\n\t\t\t\t\tareaLabel={ areaObject.label }\n\t\t\t\t\tonClose={ () => setShowTitleModal( false ) }\n\t\t\t\t\tonSubmit={ ( title ) => {\n\t\t\t\t\t\tcreateFromBlocks( [], title );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Placeholder>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,7 @@ function TitleModal({
19
19
  }) {
20
20
  // Restructure onCreate to set the blocks on local state.
21
21
  // Add modal to confirm title and trigger onCreate.
22
- const [title, setTitle] = (0, _element.useState)((0, _i18n.__)('Untitled Template Part'));
22
+ const [title, setTitle] = (0, _element.useState)('');
23
23
  const submitForCreation = event => {
24
24
  event.preventDefault();
25
25
  onSubmit(title);
@@ -27,27 +27,39 @@ function TitleModal({
27
27
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Modal, {
28
28
  title: (0, _i18n.sprintf)(
29
29
  // Translators: %s as template part area title ("Header", "Footer", etc.).
30
- (0, _i18n.__)('Name and create your new %s'), areaLabel.toLowerCase()),
31
- overlayClassName: "wp-block-template-part__placeholder-create-new__title-form",
30
+ (0, _i18n.__)('Create new %s'), areaLabel.toLowerCase()),
32
31
  onRequestClose: onClose,
32
+ focusOnMount: "firstContentElement",
33
+ size: "small",
33
34
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
34
35
  onSubmit: submitForCreation,
35
36
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
36
37
  spacing: "5",
37
38
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
38
- __nextHasNoMarginBottom: true,
39
39
  label: (0, _i18n.__)('Name'),
40
40
  value: title,
41
- onChange: setTitle
42
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
41
+ onChange: setTitle,
42
+ placeholder: (0, _i18n.__)('Custom Template Part'),
43
+ __nextHasNoMarginBottom: true,
44
+ __next40pxDefaultSize: true
45
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
43
46
  justify: "right",
44
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
47
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
48
+ __next40pxDefaultSize: true,
49
+ variant: "tertiary",
50
+ onClick: () => {
51
+ onClose();
52
+ setTitle('');
53
+ },
54
+ children: (0, _i18n.__)('Cancel')
55
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
45
56
  variant: "primary",
46
57
  type: "submit",
47
58
  accessibleWhenDisabled: true,
48
59
  disabled: !title.length,
60
+ __next40pxDefaultSize: true,
49
61
  children: (0, _i18n.__)('Create')
50
- })
62
+ })]
51
63
  })]
52
64
  })
53
65
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_i18n","_components","_jsxRuntime","TitleModal","areaLabel","onClose","onSubmit","title","setTitle","useState","__","submitForCreation","event","preventDefault","jsx","Modal","sprintf","toLowerCase","overlayClassName","onRequestClose","children","jsxs","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","label","value","onChange","__experimentalHStack","justify","Button","variant","type","accessibleWhenDisabled","disabled","length"],"sources":["@wordpress/block-library/src/template-part/edit/title-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tTextControl,\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nexport default function TitleModal( { areaLabel, onClose, onSubmit } ) {\n\t// Restructure onCreate to set the blocks on local state.\n\t// Add modal to confirm title and trigger onCreate.\n\tconst [ title, setTitle ] = useState( __( 'Untitled Template Part' ) );\n\n\tconst submitForCreation = ( event ) => {\n\t\tevent.preventDefault();\n\t\tonSubmit( title );\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ sprintf(\n\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t__( 'Name and create your new %s' ),\n\t\t\t\tareaLabel.toLowerCase()\n\t\t\t) }\n\t\t\toverlayClassName=\"wp-block-template-part__placeholder-create-new__title-form\"\n\t\t\tonRequestClose={ onClose }\n\t\t>\n\t\t\t<form onSubmit={ submitForCreation }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\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\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ ! title.length }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAM+B,IAAAG,WAAA,GAAAH,OAAA;AAX/B;AACA;AACA;;AAWe,SAASI,UAAUA,CAAE;EAAEC,SAAS;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACtE;EACA;EACA,MAAM,CAAEC,KAAK,EAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAE,IAAAC,QAAE,EAAE,wBAAyB,CAAE,CAAC;EAEtE,MAAMC,iBAAiB,GAAKC,KAAK,IAAM;IACtCA,KAAK,CAACC,cAAc,CAAC,CAAC;IACtBP,QAAQ,CAAEC,KAAM,CAAC;EAClB,CAAC;EAED,oBACC,IAAAL,WAAA,CAAAY,GAAA,EAACb,WAAA,CAAAc,KAAK;IACLR,KAAK,EAAG,IAAAS,aAAO;IACd;IACA,IAAAN,QAAE,EAAE,6BAA8B,CAAC,EACnCN,SAAS,CAACa,WAAW,CAAC,CACvB,CAAG;IACHC,gBAAgB,EAAC,4DAA4D;IAC7EC,cAAc,EAAGd,OAAS;IAAAe,QAAA,eAE1B,IAAAlB,WAAA,CAAAY,GAAA;MAAMR,QAAQ,EAAGK,iBAAmB;MAAAS,QAAA,eACnC,IAAAlB,WAAA,CAAAmB,IAAA,EAACpB,WAAA,CAAAqB,oBAAM;QAACC,OAAO,EAAC,GAAG;QAAAH,QAAA,gBAClB,IAAAlB,WAAA,CAAAY,GAAA,EAACb,WAAA,CAAAuB,WAAW;UACXC,uBAAuB;UACvBC,KAAK,EAAG,IAAAhB,QAAE,EAAE,MAAO,CAAG;UACtBiB,KAAK,EAAGpB,KAAO;UACfqB,QAAQ,EAAGpB;QAAU,CACrB,CAAC,eACF,IAAAN,WAAA,CAAAY,GAAA,EAACb,WAAA,CAAA4B,oBAAM;UAACC,OAAO,EAAC,OAAO;UAAAV,QAAA,eACtB,IAAAlB,WAAA,CAAAY,GAAA,EAACb,WAAA,CAAA8B,MAAM;YACNC,OAAO,EAAC,SAAS;YACjBC,IAAI,EAAC,QAAQ;YACbC,sBAAsB;YACtBC,QAAQ,EAAG,CAAE5B,KAAK,CAAC6B,MAAQ;YAAAhB,QAAA,EAEzB,IAAAV,QAAE,EAAE,QAAS;UAAC,CACT;QAAC,CACF,CAAC;MAAA,CACF;IAAC,CACJ;EAAC,CACD,CAAC;AAEV","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_i18n","_components","_jsxRuntime","TitleModal","areaLabel","onClose","onSubmit","title","setTitle","useState","submitForCreation","event","preventDefault","jsx","Modal","sprintf","__","toLowerCase","onRequestClose","focusOnMount","size","children","jsxs","__experimentalVStack","spacing","TextControl","label","value","onChange","placeholder","__nextHasNoMarginBottom","__next40pxDefaultSize","__experimentalHStack","justify","Button","variant","onClick","type","accessibleWhenDisabled","disabled","length"],"sources":["@wordpress/block-library/src/template-part/edit/title-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tTextControl,\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nexport default function TitleModal( { areaLabel, onClose, onSubmit } ) {\n\t// Restructure onCreate to set the blocks on local state.\n\t// Add modal to confirm title and trigger onCreate.\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst submitForCreation = ( event ) => {\n\t\tevent.preventDefault();\n\t\tonSubmit( title );\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ sprintf(\n\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t__( 'Create new %s' ),\n\t\t\t\tareaLabel.toLowerCase()\n\t\t\t) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form onSubmit={ submitForCreation }>\n\t\t\t\t<VStack spacing=\"5\">\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\tplaceholder={ __( 'Custom Template Part' ) }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ ! title.length }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAM+B,IAAAG,WAAA,GAAAH,OAAA;AAX/B;AACA;AACA;;AAWe,SAASI,UAAUA,CAAE;EAAEC,SAAS;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACtE;EACA;EACA,MAAM,CAAEC,KAAK,EAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EAE1C,MAAMC,iBAAiB,GAAKC,KAAK,IAAM;IACtCA,KAAK,CAACC,cAAc,CAAC,CAAC;IACtBN,QAAQ,CAAEC,KAAM,CAAC;EAClB,CAAC;EAED,oBACC,IAAAL,WAAA,CAAAW,GAAA,EAACZ,WAAA,CAAAa,KAAK;IACLP,KAAK,EAAG,IAAAQ,aAAO;IACd;IACA,IAAAC,QAAE,EAAE,eAAgB,CAAC,EACrBZ,SAAS,CAACa,WAAW,CAAC,CACvB,CAAG;IACHC,cAAc,EAAGb,OAAS;IAC1Bc,YAAY,EAAC,qBAAqB;IAClCC,IAAI,EAAC,OAAO;IAAAC,QAAA,eAEZ,IAAAnB,WAAA,CAAAW,GAAA;MAAMP,QAAQ,EAAGI,iBAAmB;MAAAW,QAAA,eACnC,IAAAnB,WAAA,CAAAoB,IAAA,EAACrB,WAAA,CAAAsB,oBAAM;QAACC,OAAO,EAAC,GAAG;QAAAH,QAAA,gBAClB,IAAAnB,WAAA,CAAAW,GAAA,EAACZ,WAAA,CAAAwB,WAAW;UACXC,KAAK,EAAG,IAAAV,QAAE,EAAE,MAAO,CAAG;UACtBW,KAAK,EAAGpB,KAAO;UACfqB,QAAQ,EAAGpB,QAAU;UACrBqB,WAAW,EAAG,IAAAb,QAAE,EAAE,sBAAuB,CAAG;UAC5Cc,uBAAuB;UACvBC,qBAAqB;QAAA,CACrB,CAAC,eACF,IAAA7B,WAAA,CAAAoB,IAAA,EAACrB,WAAA,CAAA+B,oBAAM;UAACC,OAAO,EAAC,OAAO;UAAAZ,QAAA,gBACtB,IAAAnB,WAAA,CAAAW,GAAA,EAACZ,WAAA,CAAAiC,MAAM;YACNH,qBAAqB;YACrBI,OAAO,EAAC,UAAU;YAClBC,OAAO,EAAGA,CAAA,KAAM;cACf/B,OAAO,CAAC,CAAC;cACTG,QAAQ,CAAE,EAAG,CAAC;YACf,CAAG;YAAAa,QAAA,EAED,IAAAL,QAAE,EAAE,QAAS;UAAC,CACT,CAAC,eACT,IAAAd,WAAA,CAAAW,GAAA,EAACZ,WAAA,CAAAiC,MAAM;YACNC,OAAO,EAAC,SAAS;YACjBE,IAAI,EAAC,QAAQ;YACbC,sBAAsB;YACtBC,QAAQ,EAAG,CAAEhC,KAAK,CAACiC,MAAQ;YAC3BT,qBAAqB;YAAAV,QAAA,EAEnB,IAAAL,QAAE,EAAE,QAAS;UAAC,CACT,CAAC;QAAA,CACF,CAAC;MAAA,CACF;IAAC,CACJ;EAAC,CACD,CAAC;AAEV","ignoreList":[]}
@@ -56,6 +56,18 @@ const metadata = exports.metadata = {
56
56
  },
57
57
  interactivity: {
58
58
  clientNavigation: true
59
+ },
60
+ __experimentalBorder: {
61
+ radius: true,
62
+ color: true,
63
+ width: true,
64
+ style: true,
65
+ __experimentalDefaultControls: {
66
+ radius: true,
67
+ color: true,
68
+ width: true,
69
+ style: true
70
+ }
59
71
  }
60
72
  }
61
73
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","textAlign","type","supports","align","html","color","link","__experimentalDefaultControls","background","text","spacing","padding","margin","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","settings","icon","edit","init","initBlock"],"sources":["@wordpress/block-library/src/term-description/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { termDescription as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,OAAA;MAAAC,MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;EAAA;AAAA;AAOA,MAAM;EAAE7B;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAM8B,QAAQ,GAAAjC,OAAA,CAAAiC,QAAA,GAAG;EACvBC,IAAI,EAAJA,sBAAI;EACJC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAElC,IAAI;EAAEJ,QAAQ;EAAEkC;AAAS,CAAE,CAAC;AAACjC,OAAA,CAAAoC,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","textAlign","type","supports","align","html","color","link","__experimentalDefaultControls","background","text","spacing","padding","margin","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","width","style","settings","icon","edit","init","initBlock"],"sources":["@wordpress/block-library/src/term-description/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { termDescription as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,OAAA;MAAAC,MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAApB,KAAA;MAAAqB,KAAA;MAAAC,KAAA;MAAApB,6BAAA;QAAAkB,MAAA;QAAApB,KAAA;QAAAqB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;AAAA;AAOA,MAAM;EAAEjC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAMkC,QAAQ,GAAArC,OAAA,CAAAqC,QAAA,GAAG;EACvBC,IAAI,EAAJA,sBAAI;EACJC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEtC,IAAI;EAAEJ,QAAQ;EAAEsC;AAAS,CAAE,CAAC;AAACrC,OAAA,CAAAwC,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -24,7 +24,11 @@ var _compose = require("@wordpress/compose");
24
24
  * @param {string} recordId Record's id.
25
25
  */
26
26
  function useCanEditEntity(kind, name, recordId) {
27
- return (0, _data.useSelect)(select => select(_coreData.store).canUserEditEntityRecord(kind, name, recordId), [kind, name, recordId]);
27
+ return (0, _data.useSelect)(select => select(_coreData.store).canUser('update', {
28
+ kind,
29
+ name,
30
+ id: recordId
31
+ }), [kind, name, recordId]);
28
32
  }
29
33
 
30
34
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_element","_blob","_blockEditor","_coreData","_compose","useCanEditEntity","kind","name","recordId","useSelect","select","coreStore","canUserEditEntityRecord","useUploadMediaFromBlobURL","args","latestArgs","useRef","hasUploadStarted","getSettings","blockEditorStore","useLayoutEffect","current","useEffect","url","isBlobURL","file","getBlobByURL","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","revokeBlobURL","message","useToolsPanelDropdownMenuProps","isMobile","useViewportMatch","popoverProps","placement","offset"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUserEditEntityRecord( kind, name, recordId ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgs = useRef( args );\n\tconst hasUploadStarted = useRef( false );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgs.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\t// Uploading is a special effect that can't be canceled via the cleanup method.\n\t\t// The extra check avoids duplicate uploads in development mode (React.StrictMode).\n\t\tif ( hasUploadStarted.current ) {\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\t! latestArgs.current.url ||\n\t\t\t! isBlobURL( latestArgs.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgs.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgs.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\thasUploadStarted.current = true;\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t\thasUploadStarted.current = false;\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonError( message );\n\t\t\t\thasUploadStarted.current = false;\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n\nexport function useToolsPanelDropdownMenuProps() {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\treturn ! isMobile\n\t\t? {\n\t\t\t\tpopoverProps: {\n\t\t\t\t\tplacement: 'left-start',\n\t\t\t\t\t// For non-mobile, inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px)\n\t\t\t\t\toffset: 259,\n\t\t\t\t},\n\t\t }\n\t\t: {};\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AARA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAO,IAAAC,eAAS,EACbC,MAAM,IACPA,MAAM,CAAEC,eAAU,CAAC,CAACC,uBAAuB,CAAEN,IAAI,EAAEC,IAAI,EAAEC,QAAS,CAAC,EACpE,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAG,IAAAC,eAAM,EAAEF,IAAK,CAAC;EACjC,MAAMG,gBAAgB,GAAG,IAAAD,eAAM,EAAE,KAAM,CAAC;EACxC,MAAM;IAAEE;EAAY,CAAC,GAAG,IAAAT,eAAS,EAAEU,kBAAiB,CAAC;EAErD,IAAAC,wBAAe,EAAE,MAAM;IACtBL,UAAU,CAACM,OAAO,GAAGP,IAAI;EAC1B,CAAE,CAAC;EAEH,IAAAQ,kBAAS,EAAE,MAAM;IAChB;IACA;IACA,IAAKL,gBAAgB,CAACI,OAAO,EAAG;MAC/B;IACD;IACA,IACC,CAAEN,UAAU,CAACM,OAAO,CAACE,GAAG,IACxB,CAAE,IAAAC,eAAS,EAAET,UAAU,CAACM,OAAO,CAACE,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAME,IAAI,GAAG,IAAAC,kBAAY,EAAEX,UAAU,CAACM,OAAO,CAACE,GAAI,CAAC;IACnD,IAAK,CAAEE,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAEF,GAAG;MAAEI,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGd,UAAU,CAACM,OAAO;IACnE,MAAM;MAAES;IAAY,CAAC,GAAGZ,WAAW,CAAC,CAAC;IAErCD,gBAAgB,CAACI,OAAO,GAAG,IAAI;IAE/BS,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEN,IAAI,CAAE;MACnBE,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAK,IAAAT,eAAS,EAAES,KAAK,EAAEV,GAAI,CAAC,EAAG;UAC9B;QACD;QAEA,IAAAW,mBAAa,EAAEX,GAAI,CAAC;QACpBK,QAAQ,CAAEK,KAAM,CAAC;QACjBhB,gBAAgB,CAACI,OAAO,GAAG,KAAK;MACjC,CAAC;MACDQ,OAAO,EAAIM,OAAO,IAAM;QACvB,IAAAD,mBAAa,EAAEX,GAAI,CAAC;QACpBM,OAAO,CAAEM,OAAQ,CAAC;QAClBlB,gBAAgB,CAACI,OAAO,GAAG,KAAK;MACjC;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEH,WAAW,CAAG,CAAC;AACrB;AAEO,SAASkB,8BAA8BA,CAAA,EAAG;EAChD,MAAMC,QAAQ,GAAG,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EAClD,OAAO,CAAED,QAAQ,GACd;IACAE,YAAY,EAAE;MACbC,SAAS,EAAE,YAAY;MACvB;MACAC,MAAM,EAAE;IACT;EACA,CAAC,GACD,CAAC,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_element","_blob","_blockEditor","_coreData","_compose","useCanEditEntity","kind","name","recordId","useSelect","select","coreStore","canUser","id","useUploadMediaFromBlobURL","args","latestArgs","useRef","hasUploadStarted","getSettings","blockEditorStore","useLayoutEffect","current","useEffect","url","isBlobURL","file","getBlobByURL","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","revokeBlobURL","message","useToolsPanelDropdownMenuProps","isMobile","useViewportMatch","popoverProps","placement","offset"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUser( 'update', {\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tid: recordId,\n\t\t\t} ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgs = useRef( args );\n\tconst hasUploadStarted = useRef( false );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgs.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\t// Uploading is a special effect that can't be canceled via the cleanup method.\n\t\t// The extra check avoids duplicate uploads in development mode (React.StrictMode).\n\t\tif ( hasUploadStarted.current ) {\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\t! latestArgs.current.url ||\n\t\t\t! isBlobURL( latestArgs.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgs.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgs.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\thasUploadStarted.current = true;\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t\thasUploadStarted.current = false;\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonError( message );\n\t\t\t\thasUploadStarted.current = false;\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n\nexport function useToolsPanelDropdownMenuProps() {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\treturn ! isMobile\n\t\t? {\n\t\t\t\tpopoverProps: {\n\t\t\t\t\tplacement: 'left-start',\n\t\t\t\t\t// For non-mobile, inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px)\n\t\t\t\t\toffset: 259,\n\t\t\t\t},\n\t\t }\n\t\t: {};\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AARA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAO,IAAAC,eAAS,EACbC,MAAM,IACPA,MAAM,CAAEC,eAAU,CAAC,CAACC,OAAO,CAAE,QAAQ,EAAE;IACtCN,IAAI;IACJC,IAAI;IACJM,EAAE,EAAEL;EACL,CAAE,CAAC,EACJ,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAG,IAAAC,eAAM,EAAEF,IAAK,CAAC;EACjC,MAAMG,gBAAgB,GAAG,IAAAD,eAAM,EAAE,KAAM,CAAC;EACxC,MAAM;IAAEE;EAAY,CAAC,GAAG,IAAAV,eAAS,EAAEW,kBAAiB,CAAC;EAErD,IAAAC,wBAAe,EAAE,MAAM;IACtBL,UAAU,CAACM,OAAO,GAAGP,IAAI;EAC1B,CAAE,CAAC;EAEH,IAAAQ,kBAAS,EAAE,MAAM;IAChB;IACA;IACA,IAAKL,gBAAgB,CAACI,OAAO,EAAG;MAC/B;IACD;IACA,IACC,CAAEN,UAAU,CAACM,OAAO,CAACE,GAAG,IACxB,CAAE,IAAAC,eAAS,EAAET,UAAU,CAACM,OAAO,CAACE,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAME,IAAI,GAAG,IAAAC,kBAAY,EAAEX,UAAU,CAACM,OAAO,CAACE,GAAI,CAAC;IACnD,IAAK,CAAEE,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAEF,GAAG;MAAEI,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGd,UAAU,CAACM,OAAO;IACnE,MAAM;MAAES;IAAY,CAAC,GAAGZ,WAAW,CAAC,CAAC;IAErCD,gBAAgB,CAACI,OAAO,GAAG,IAAI;IAE/BS,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEN,IAAI,CAAE;MACnBE,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAK,IAAAT,eAAS,EAAES,KAAK,EAAEV,GAAI,CAAC,EAAG;UAC9B;QACD;QAEA,IAAAW,mBAAa,EAAEX,GAAI,CAAC;QACpBK,QAAQ,CAAEK,KAAM,CAAC;QACjBhB,gBAAgB,CAACI,OAAO,GAAG,KAAK;MACjC,CAAC;MACDQ,OAAO,EAAIM,OAAO,IAAM;QACvB,IAAAD,mBAAa,EAAEX,GAAI,CAAC;QACpBM,OAAO,CAAEM,OAAQ,CAAC;QAClBlB,gBAAgB,CAACI,OAAO,GAAG,KAAK;MACjC;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEH,WAAW,CAAG,CAAC;AACrB;AAEO,SAASkB,8BAA8BA,CAAA,EAAG;EAChD,MAAMC,QAAQ,GAAG,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EAClD,OAAO,CAAED,QAAQ,GACd;IACAE,YAAY,EAAE;MACbC,SAAS,EAAE,YAAY;MACvB;MACAC,MAAM,EAAE;IACT;EACA,CAAC,GACD,CAAC,CAAC;AACN","ignoreList":[]}
@@ -46,6 +46,7 @@ const AvatarInspectorControls = ({
46
46
  }),
47
47
  checked: attributes.isLink
48
48
  }), attributes.isLink && /*#__PURE__*/_jsx(ToggleControl, {
49
+ __nextHasNoMarginBottom: true,
49
50
  label: __('Open in new tab'),
50
51
  onChange: value => setAttributes({
51
52
  linkTarget: value ? '_blank' : '_self'
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","InspectorControls","useBlockProps","__experimentalUseBorderProps","useBorderProps","PanelBody","RangeControl","ResizableBox","ToggleControl","__","isRTL","addQueryArgs","removeQueryArgs","useUserAvatar","useCommentAvatar","UserControl","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","children","title","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newSize","size","min","minSize","max","maxSize","initialPosition","value","isLink","checked","linkTarget","userId","ResizableAvatar","blockProps","isSelected","borderProps","doubledSizedSrc","src","s","width","height","showHandle","onResizeStop","event","direction","elt","delta","parseInt","lockAspectRatio","enable","top","right","bottom","left","minWidth","maxWidth","alt","className","style","CommentEdit","context","commentId","href","onClick","preventDefault","UserEdit","postId","postType","Edit","props"],"sources":["@wordpress/block-library/src/avatar/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\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</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\tconst doubledSizedSrc = addQueryArgs(\n\t\tremoveQueryArgs( avatar?.src, [ 's' ] ),\n\t\t{\n\t\t\ts: attributes?.size * 2,\n\t\t}\n\t);\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ doubledSizedSrc }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ borderProps.style }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\t// Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`).\n\tif ( props?.context?.commentId || props?.context?.commentId === null ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","InspectorControls","useBlockProps","__experimentalUseBorderProps","useBorderProps","PanelBody","RangeControl","ResizableBox","ToggleControl","__","isRTL","addQueryArgs","removeQueryArgs","useUserAvatar","useCommentAvatar","UserControl","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","children","title","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newSize","size","min","minSize","max","maxSize","initialPosition","value","isLink","checked","linkTarget","userId","ResizableAvatar","blockProps","isSelected","borderProps","doubledSizedSrc","src","s","width","height","showHandle","onResizeStop","event","direction","elt","delta","parseInt","lockAspectRatio","enable","top","right","bottom","left","minWidth","maxWidth","alt","className","style","CommentEdit","context","commentId","href","onClick","preventDefault","UserEdit","postId","postType","Edit","props"],"sources":["@wordpress/block-library/src/avatar/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\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</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\tconst doubledSizedSrc = addQueryArgs(\n\t\tremoveQueryArgs( avatar?.src, [ 's' ] ),\n\t\t{\n\t\t\ts: attributes?.size * 2,\n\t\t}\n\t);\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ doubledSizedSrc }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ borderProps.style }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\t// Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`).\n\tif ( props?.context?.commentId || props?.context?.commentId === null ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -93,6 +93,37 @@ export default function ReusableBlockEditRecursionWrapper(props) {
93
93
  })
94
94
  });
95
95
  }
96
+ function ReusableBlockControl({
97
+ recordId,
98
+ canOverrideBlocks,
99
+ hasContent,
100
+ handleEditOriginal,
101
+ resetContent
102
+ }) {
103
+ const canUserEdit = useSelect(select => !!select(coreStore).canUser('update', {
104
+ kind: 'postType',
105
+ name: 'wp_block',
106
+ id: recordId
107
+ }), [recordId]);
108
+ return /*#__PURE__*/_jsxs(_Fragment, {
109
+ children: [canUserEdit && !!handleEditOriginal && /*#__PURE__*/_jsx(BlockControls, {
110
+ children: /*#__PURE__*/_jsx(ToolbarGroup, {
111
+ children: /*#__PURE__*/_jsx(ToolbarButton, {
112
+ onClick: handleEditOriginal,
113
+ children: __('Edit original')
114
+ })
115
+ })
116
+ }), canOverrideBlocks && /*#__PURE__*/_jsx(BlockControls, {
117
+ children: /*#__PURE__*/_jsx(ToolbarGroup, {
118
+ children: /*#__PURE__*/_jsx(ToolbarButton, {
119
+ onClick: resetContent,
120
+ disabled: !hasContent,
121
+ children: __('Reset')
122
+ })
123
+ })
124
+ })]
125
+ });
126
+ }
96
127
  function ReusableBlockEdit({
97
128
  name,
98
129
  attributes: {
@@ -117,14 +148,10 @@ function ReusableBlockEdit({
117
148
  } = useDispatch(blockEditorStore);
118
149
  const {
119
150
  innerBlocks,
120
- userCanEdit,
121
151
  onNavigateToEntityRecord,
122
152
  editingMode,
123
153
  hasPatternOverridesSource
124
154
  } = useSelect(select => {
125
- const {
126
- canUser
127
- } = select(coreStore);
128
155
  const {
129
156
  getBlocks,
130
157
  getSettings,
@@ -133,18 +160,15 @@ function ReusableBlockEdit({
133
160
  const {
134
161
  getBlockBindingsSource
135
162
  } = unlock(select(blocksStore));
136
- const canEdit = canUser('update', 'blocks', ref);
137
-
138
163
  // For editing link to the site editor if the theme and user permissions support it.
139
164
  return {
140
165
  innerBlocks: getBlocks(patternClientId),
141
- userCanEdit: canEdit,
142
166
  getBlockEditingMode: _getBlockEditingMode,
143
167
  onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord,
144
168
  editingMode: _getBlockEditingMode(patternClientId),
145
169
  hasPatternOverridesSource: !!getBlockBindingsSource('core/pattern-overrides')
146
170
  };
147
- }, [patternClientId, ref]);
171
+ }, [patternClientId]);
148
172
 
149
173
  // Sync the editing mode of the pattern block with the inner blocks.
150
174
  useEffect(() => {
@@ -202,21 +226,12 @@ function ReusableBlockEdit({
202
226
  });
203
227
  }
204
228
  return /*#__PURE__*/_jsxs(_Fragment, {
205
- children: [userCanEdit && onNavigateToEntityRecord && /*#__PURE__*/_jsx(BlockControls, {
206
- children: /*#__PURE__*/_jsx(ToolbarGroup, {
207
- children: /*#__PURE__*/_jsx(ToolbarButton, {
208
- onClick: handleEditOriginal,
209
- children: __('Edit original')
210
- })
211
- })
212
- }), canOverrideBlocks && /*#__PURE__*/_jsx(BlockControls, {
213
- children: /*#__PURE__*/_jsx(ToolbarGroup, {
214
- children: /*#__PURE__*/_jsx(ToolbarButton, {
215
- onClick: resetContent,
216
- disabled: !content,
217
- children: __('Reset')
218
- })
219
- })
229
+ children: [hasResolved && /*#__PURE__*/_jsx(ReusableBlockControl, {
230
+ recordId: ref,
231
+ canOverrideBlocks: canOverrideBlocks,
232
+ hasContent: !!content,
233
+ handleEditOriginal: onNavigateToEntityRecord ? handleEditOriginal : undefined,
234
+ resetContent: resetContent
220
235
  }), children === null ? /*#__PURE__*/_jsx("div", {
221
236
  ...innerBlocksProps
222
237
  }) : /*#__PURE__*/_jsx("div", {