@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":["serialize","useSelect","useDispatch","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","__experimentalBlockPatternsList","BlockPatternsList","BlockControls","PanelBody","Spinner","Modal","MenuItem","ToolbarButton","useAsyncList","__","sprintf","coreStore","useState","noticesStore","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReplaceButton","isEntityAvailable","area","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","hasReplacements","length","canReplace","onClick","children","TemplatesList","clientId","onSelect","blockPatterns","shownTemplates","title","label","shownPatterns","onClickPattern","showTitle","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","editEntityRecord","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","hasAlreadyRendered","isResolved","hasInnerBlocks","isMissing","onNavigateToEntityRecord","canEditTemplate","_select$canUser","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getSettings","getEntityArgs","entityRecord","_area","hasResolvedEntity","_canEditTemplate","canUser","Object","keys","areaObject","blockProps","isPlaceholder","TagName","onPatternSelect","pattern","blocks","content","type","uniqueId","group","postId","postType","defaultWrapper","onOpenSelectionModal","selectedClientIds","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":["serialize","useSelect","useDispatch","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","__experimentalBlockPatternsList","BlockPatternsList","BlockControls","PanelBody","Spinner","Modal","MenuItem","ToolbarButton","useAsyncList","__","sprintf","coreStore","useState","noticesStore","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReplaceButton","isEntityAvailable","area","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","hasReplacements","length","canReplace","onClick","children","TemplatesList","clientId","onSelect","blockPatterns","shownTemplates","title","label","shownPatterns","onClickPattern","showTitle","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","editEntityRecord","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","hasAlreadyRendered","isResolved","hasInnerBlocks","isMissing","onNavigateToEntityRecord","canUserEdit","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getSettings","getEntityArgs","entityRecord","_area","hasResolvedEntity","_canUserEdit","canUser","kind","name","id","Object","keys","areaObject","blockProps","isPlaceholder","TagName","onPatternSelect","pattern","blocks","content","type","uniqueId","group","postId","postType","defaultWrapper","onOpenSelectionModal","selectedClientIds","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":[]}
@@ -112,12 +112,19 @@ export default function TemplatePartInnerBlocks({
112
112
  canViewTemplatePart,
113
113
  canEditTemplatePart
114
114
  } = useSelect(select => {
115
- var _select$canUser, _select$canUser2;
116
115
  return {
117
- canViewTemplatePart: (_select$canUser = select(coreStore).canUser('read', 'templates')) !== null && _select$canUser !== void 0 ? _select$canUser : false,
118
- canEditTemplatePart: (_select$canUser2 = select(coreStore).canUser('create', 'templates')) !== null && _select$canUser2 !== void 0 ? _select$canUser2 : false
116
+ canViewTemplatePart: !!select(coreStore).canUser('read', {
117
+ kind: 'postType',
118
+ name: 'wp_template_part',
119
+ id
120
+ }),
121
+ canEditTemplatePart: !!select(coreStore).canUser('update', {
122
+ kind: 'postType',
123
+ name: 'wp_template_part',
124
+ id
125
+ })
119
126
  };
120
- }, []);
127
+ }, [id]);
121
128
  if (!canViewTemplatePart) {
122
129
  return null;
123
130
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useEntityBlockEditor","store","coreStore","InnerBlocks","useInnerBlocksProps","useSettings","blockEditorStore","useBlockEditingMode","useSelect","useMemo","parse","jsx","_jsx","useRenderAppender","hasInnerBlocks","blockEditingMode","ButtonBlockAppender","useLayout","layout","themeSupportsLayout","select","getSettings","supportsLayout","defaultLayout","inherit","NonEditableTemplatePartPreview","postId","id","tagName","TagName","blockProps","content","editedBlocks","getEditedEntityRecord","editedRecord","context","blocks","undefined","innerBlocksProps","value","onInput","onChange","renderAppender","EditableTemplatePartInnerBlocks","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":["useEntityBlockEditor","store","coreStore","InnerBlocks","useInnerBlocksProps","useSettings","blockEditorStore","useBlockEditingMode","useSelect","useMemo","parse","jsx","_jsx","useRenderAppender","hasInnerBlocks","blockEditingMode","ButtonBlockAppender","useLayout","layout","themeSupportsLayout","select","getSettings","supportsLayout","defaultLayout","inherit","NonEditableTemplatePartPreview","postId","id","tagName","TagName","blockProps","content","editedBlocks","getEditedEntityRecord","editedRecord","context","blocks","undefined","innerBlocksProps","value","onInput","onChange","renderAppender","EditableTemplatePartInnerBlocks","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":[]}
@@ -4,6 +4,8 @@
4
4
  import { __, sprintf } from '@wordpress/i18n';
5
5
  import { Placeholder, Button, Spinner } from '@wordpress/components';
6
6
  import { useState } from '@wordpress/element';
7
+ import { useSelect } from '@wordpress/data';
8
+ import { store as coreStore } from '@wordpress/core-data';
7
9
 
8
10
  /**
9
11
  * Internal dependencies
@@ -24,20 +26,38 @@ export default function TemplatePartPlaceholder({
24
26
  isResolving
25
27
  } = useAlternativeTemplateParts(area, templatePartId);
26
28
  const blockPatterns = useAlternativeBlockPatterns(area, clientId);
29
+ const {
30
+ isBlockBasedTheme,
31
+ canCreateTemplatePart
32
+ } = useSelect(select => {
33
+ const {
34
+ getCurrentTheme,
35
+ canUser
36
+ } = select(coreStore);
37
+ return {
38
+ isBlockBasedTheme: getCurrentTheme()?.is_block_theme,
39
+ canCreateTemplatePart: canUser('create', {
40
+ kind: 'postType',
41
+ name: 'wp_template_part'
42
+ })
43
+ };
44
+ }, []);
27
45
  const [showTitleModal, setShowTitleModal] = useState(false);
28
46
  const areaObject = useTemplatePartArea(area);
29
47
  const createFromBlocks = useCreateTemplatePartFromBlocks(area, setAttributes);
30
48
  return /*#__PURE__*/_jsxs(Placeholder, {
31
49
  icon: areaObject.icon,
32
50
  label: areaObject.label,
33
- instructions: sprintf(
51
+ instructions: isBlockBasedTheme ? sprintf(
52
+ // Translators: %s as template part area title ("Header", "Footer", etc.).
53
+ __('Choose an existing %s or create a new one.'), areaObject.label.toLowerCase()) : sprintf(
34
54
  // Translators: %s as template part area title ("Header", "Footer", etc.).
35
- __('Choose an existing %s or create a new one.'), areaObject.label.toLowerCase()),
55
+ __('Choose an existing %s.'), areaObject.label.toLowerCase()),
36
56
  children: [isResolving && /*#__PURE__*/_jsx(Spinner, {}), !isResolving && !!(templateParts.length || blockPatterns.length) && /*#__PURE__*/_jsx(Button, {
37
57
  variant: "primary",
38
58
  onClick: onOpenSelectionModal,
39
59
  children: __('Choose')
40
- }), !isResolving && /*#__PURE__*/_jsx(Button, {
60
+ }), !isResolving && isBlockBasedTheme && canCreateTemplatePart && /*#__PURE__*/_jsx(Button, {
41
61
  variant: "secondary",
42
62
  onClick: () => {
43
63
  setShowTitleModal(true);
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","Placeholder","Button","Spinner","useState","useAlternativeBlockPatterns","useAlternativeTemplateParts","useCreateTemplatePartFromBlocks","useTemplatePartArea","TitleModal","jsx","_jsx","jsxs","_jsxs","TemplatePartPlaceholder","area","clientId","templatePartId","onOpenSelectionModal","setAttributes","templateParts","isResolving","blockPatterns","showTitleModal","setShowTitleModal","areaObject","createFromBlocks","icon","label","instructions","toLowerCase","children","length","variant","onClick","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":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,WAAW,EAAEC,MAAM,EAAEC,OAAO,QAAQ,uBAAuB;AACpE,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,SACCC,2BAA2B,EAC3BC,2BAA2B,EAC3BC,+BAA+B,EAC/BC,mBAAmB,QACb,eAAe;AACtB,OAAOC,UAAU,MAAM,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEvC,eAAe,SAASC,uBAAuBA,CAAE;EAChDC,IAAI;EACJC,QAAQ;EACRC,cAAc;EACdC,oBAAoB;EACpBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,aAAa;IAAEC;EAAY,CAAC,GAAGf,2BAA2B,CACjES,IAAI,EACJE,cACD,CAAC;EACD,MAAMK,aAAa,GAAGjB,2BAA2B,CAAEU,IAAI,EAAEC,QAAS,CAAC;EACnE,MAAM,CAAEO,cAAc,EAAEC,iBAAiB,CAAE,GAAGpB,QAAQ,CAAE,KAAM,CAAC;EAC/D,MAAMqB,UAAU,GAAGjB,mBAAmB,CAAEO,IAAK,CAAC;EAC9C,MAAMW,gBAAgB,GAAGnB,+BAA+B,CACvDQ,IAAI,EACJI,aACD,CAAC;EAED,oBACCN,KAAA,CAACZ,WAAW;IACX0B,IAAI,EAAGF,UAAU,CAACE,IAAM;IACxBC,KAAK,EAAGH,UAAU,CAACG,KAAO;IAC1BC,YAAY,EAAG7B,OAAO;IACrB;IACAD,EAAE,CAAE,4CAA6C,CAAC,EAClD0B,UAAU,CAACG,KAAK,CAACE,WAAW,CAAC,CAC9B,CAAG;IAAAC,QAAA,GAEDV,WAAW,iBAAIV,IAAA,CAACR,OAAO,IAAE,CAAC,EAE1B,CAAEkB,WAAW,IACd,CAAC,EAAID,aAAa,CAACY,MAAM,IAAIV,aAAa,CAACU,MAAM,CAAE,iBAClDrB,IAAA,CAACT,MAAM;MAAC+B,OAAO,EAAC,SAAS;MAACC,OAAO,EAAGhB,oBAAsB;MAAAa,QAAA,EACvDhC,EAAE,CAAE,QAAS;IAAC,CACT,CACR,EAEA,CAAEsB,WAAW,iBACdV,IAAA,CAACT,MAAM;MACN+B,OAAO,EAAC,WAAW;MACnBC,OAAO,EAAGA,CAAA,KAAM;QACfV,iBAAiB,CAAE,IAAK,CAAC;MAC1B,CAAG;MAAAO,QAAA,EAEDhC,EAAE,CAAE,aAAc;IAAC,CACd,CACR,EACCwB,cAAc,iBACfZ,IAAA,CAACF,UAAU;MACV0B,SAAS,EAAGV,UAAU,CAACG,KAAO;MAC9BQ,OAAO,EAAGA,CAAA,KAAMZ,iBAAiB,CAAE,KAAM,CAAG;MAC5Ca,QAAQ,EAAKC,KAAK,IAAM;QACvBZ,gBAAgB,CAAE,EAAE,EAAEY,KAAM,CAAC;MAC9B;IAAG,CACH,CACD;EAAA,CACW,CAAC;AAEhB","ignoreList":[]}
1
+ {"version":3,"names":["__","sprintf","Placeholder","Button","Spinner","useState","useSelect","store","coreStore","useAlternativeBlockPatterns","useAlternativeTemplateParts","useCreateTemplatePartFromBlocks","useTemplatePartArea","TitleModal","jsx","_jsx","jsxs","_jsxs","TemplatePartPlaceholder","area","clientId","templatePartId","onOpenSelectionModal","setAttributes","templateParts","isResolving","blockPatterns","isBlockBasedTheme","canCreateTemplatePart","select","getCurrentTheme","canUser","is_block_theme","kind","name","showTitleModal","setShowTitleModal","areaObject","createFromBlocks","icon","label","instructions","toLowerCase","children","length","variant","onClick","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":[]}
@@ -13,7 +13,7 @@ export default function TitleModal({
13
13
  }) {
14
14
  // Restructure onCreate to set the blocks on local state.
15
15
  // Add modal to confirm title and trigger onCreate.
16
- const [title, setTitle] = useState(__('Untitled Template Part'));
16
+ const [title, setTitle] = useState('');
17
17
  const submitForCreation = event => {
18
18
  event.preventDefault();
19
19
  onSubmit(title);
@@ -21,27 +21,39 @@ export default function TitleModal({
21
21
  return /*#__PURE__*/_jsx(Modal, {
22
22
  title: sprintf(
23
23
  // Translators: %s as template part area title ("Header", "Footer", etc.).
24
- __('Name and create your new %s'), areaLabel.toLowerCase()),
25
- overlayClassName: "wp-block-template-part__placeholder-create-new__title-form",
24
+ __('Create new %s'), areaLabel.toLowerCase()),
26
25
  onRequestClose: onClose,
26
+ focusOnMount: "firstContentElement",
27
+ size: "small",
27
28
  children: /*#__PURE__*/_jsx("form", {
28
29
  onSubmit: submitForCreation,
29
30
  children: /*#__PURE__*/_jsxs(VStack, {
30
31
  spacing: "5",
31
32
  children: [/*#__PURE__*/_jsx(TextControl, {
32
- __nextHasNoMarginBottom: true,
33
33
  label: __('Name'),
34
34
  value: title,
35
- onChange: setTitle
36
- }), /*#__PURE__*/_jsx(HStack, {
35
+ onChange: setTitle,
36
+ placeholder: __('Custom Template Part'),
37
+ __nextHasNoMarginBottom: true,
38
+ __next40pxDefaultSize: true
39
+ }), /*#__PURE__*/_jsxs(HStack, {
37
40
  justify: "right",
38
- children: /*#__PURE__*/_jsx(Button, {
41
+ children: [/*#__PURE__*/_jsx(Button, {
42
+ __next40pxDefaultSize: true,
43
+ variant: "tertiary",
44
+ onClick: () => {
45
+ onClose();
46
+ setTitle('');
47
+ },
48
+ children: __('Cancel')
49
+ }), /*#__PURE__*/_jsx(Button, {
39
50
  variant: "primary",
40
51
  type: "submit",
41
52
  accessibleWhenDisabled: true,
42
53
  disabled: !title.length,
54
+ __next40pxDefaultSize: true,
43
55
  children: __('Create')
44
- })
56
+ })]
45
57
  })]
46
58
  })
47
59
  })
@@ -1 +1 @@
1
- {"version":3,"names":["useState","__","sprintf","TextControl","Button","Modal","__experimentalHStack","HStack","__experimentalVStack","VStack","jsx","_jsx","jsxs","_jsxs","TitleModal","areaLabel","onClose","onSubmit","title","setTitle","submitForCreation","event","preventDefault","toLowerCase","overlayClassName","onRequestClose","children","spacing","__nextHasNoMarginBottom","label","value","onChange","justify","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":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,WAAW,EACXC,MAAM,EACNC,KAAK,EACLC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE/B,eAAe,SAASC,UAAUA,CAAE;EAAEC,SAAS;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACtE;EACA;EACA,MAAM,CAAEC,KAAK,EAAEC,QAAQ,CAAE,GAAGnB,QAAQ,CAAEC,EAAE,CAAE,wBAAyB,CAAE,CAAC;EAEtE,MAAMmB,iBAAiB,GAAKC,KAAK,IAAM;IACtCA,KAAK,CAACC,cAAc,CAAC,CAAC;IACtBL,QAAQ,CAAEC,KAAM,CAAC;EAClB,CAAC;EAED,oBACCP,IAAA,CAACN,KAAK;IACLa,KAAK,EAAGhB,OAAO;IACd;IACAD,EAAE,CAAE,6BAA8B,CAAC,EACnCc,SAAS,CAACQ,WAAW,CAAC,CACvB,CAAG;IACHC,gBAAgB,EAAC,4DAA4D;IAC7EC,cAAc,EAAGT,OAAS;IAAAU,QAAA,eAE1Bf,IAAA;MAAMM,QAAQ,EAAGG,iBAAmB;MAAAM,QAAA,eACnCb,KAAA,CAACJ,MAAM;QAACkB,OAAO,EAAC,GAAG;QAAAD,QAAA,gBAClBf,IAAA,CAACR,WAAW;UACXyB,uBAAuB;UACvBC,KAAK,EAAG5B,EAAE,CAAE,MAAO,CAAG;UACtB6B,KAAK,EAAGZ,KAAO;UACfa,QAAQ,EAAGZ;QAAU,CACrB,CAAC,eACFR,IAAA,CAACJ,MAAM;UAACyB,OAAO,EAAC,OAAO;UAAAN,QAAA,eACtBf,IAAA,CAACP,MAAM;YACN6B,OAAO,EAAC,SAAS;YACjBC,IAAI,EAAC,QAAQ;YACbC,sBAAsB;YACtBC,QAAQ,EAAG,CAAElB,KAAK,CAACmB,MAAQ;YAAAX,QAAA,EAEzBzB,EAAE,CAAE,QAAS;UAAC,CACT;QAAC,CACF,CAAC;MAAA,CACF;IAAC,CACJ;EAAC,CACD,CAAC;AAEV","ignoreList":[]}
1
+ {"version":3,"names":["useState","__","sprintf","TextControl","Button","Modal","__experimentalHStack","HStack","__experimentalVStack","VStack","jsx","_jsx","jsxs","_jsxs","TitleModal","areaLabel","onClose","onSubmit","title","setTitle","submitForCreation","event","preventDefault","toLowerCase","onRequestClose","focusOnMount","size","children","spacing","label","value","onChange","placeholder","__nextHasNoMarginBottom","__next40pxDefaultSize","justify","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":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,WAAW,EACXC,MAAM,EACNC,KAAK,EACLC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE/B,eAAe,SAASC,UAAUA,CAAE;EAAEC,SAAS;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACtE;EACA;EACA,MAAM,CAAEC,KAAK,EAAEC,QAAQ,CAAE,GAAGnB,QAAQ,CAAE,EAAG,CAAC;EAE1C,MAAMoB,iBAAiB,GAAKC,KAAK,IAAM;IACtCA,KAAK,CAACC,cAAc,CAAC,CAAC;IACtBL,QAAQ,CAAEC,KAAM,CAAC;EAClB,CAAC;EAED,oBACCP,IAAA,CAACN,KAAK;IACLa,KAAK,EAAGhB,OAAO;IACd;IACAD,EAAE,CAAE,eAAgB,CAAC,EACrBc,SAAS,CAACQ,WAAW,CAAC,CACvB,CAAG;IACHC,cAAc,EAAGR,OAAS;IAC1BS,YAAY,EAAC,qBAAqB;IAClCC,IAAI,EAAC,OAAO;IAAAC,QAAA,eAEZhB,IAAA;MAAMM,QAAQ,EAAGG,iBAAmB;MAAAO,QAAA,eACnCd,KAAA,CAACJ,MAAM;QAACmB,OAAO,EAAC,GAAG;QAAAD,QAAA,gBAClBhB,IAAA,CAACR,WAAW;UACX0B,KAAK,EAAG5B,EAAE,CAAE,MAAO,CAAG;UACtB6B,KAAK,EAAGZ,KAAO;UACfa,QAAQ,EAAGZ,QAAU;UACrBa,WAAW,EAAG/B,EAAE,CAAE,sBAAuB,CAAG;UAC5CgC,uBAAuB;UACvBC,qBAAqB;QAAA,CACrB,CAAC,eACFrB,KAAA,CAACN,MAAM;UAAC4B,OAAO,EAAC,OAAO;UAAAR,QAAA,gBACtBhB,IAAA,CAACP,MAAM;YACN8B,qBAAqB;YACrBE,OAAO,EAAC,UAAU;YAClBC,OAAO,EAAGA,CAAA,KAAM;cACfrB,OAAO,CAAC,CAAC;cACTG,QAAQ,CAAE,EAAG,CAAC;YACf,CAAG;YAAAQ,QAAA,EAED1B,EAAE,CAAE,QAAS;UAAC,CACT,CAAC,eACTU,IAAA,CAACP,MAAM;YACNgC,OAAO,EAAC,SAAS;YACjBE,IAAI,EAAC,QAAQ;YACbC,sBAAsB;YACtBC,QAAQ,EAAG,CAAEtB,KAAK,CAACuB,MAAQ;YAC3BP,qBAAqB;YAAAP,QAAA,EAEnB1B,EAAE,CAAE,QAAS;UAAC,CACT,CAAC;QAAA,CACF,CAAC;MAAA,CACF;IAAC,CACJ;EAAC,CACD,CAAC;AAEV","ignoreList":[]}
@@ -49,6 +49,18 @@ const metadata = {
49
49
  },
50
50
  interactivity: {
51
51
  clientNavigation: true
52
+ },
53
+ __experimentalBorder: {
54
+ radius: true,
55
+ color: true,
56
+ width: true,
57
+ style: true,
58
+ __experimentalDefaultControls: {
59
+ radius: true,
60
+ color: true,
61
+ width: true,
62
+ style: true
63
+ }
52
64
  }
53
65
  }
54
66
  };
@@ -1 +1 @@
1
- {"version":3,"names":["termDescription","icon","initBlock","metadata","$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","edit","settings","init"],"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":"AAAA;AACA;AACA;AACA,SAASA,eAAe,IAAIC,IAAI,QAAQ,kBAAkB;;AAE1D;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,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;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAE9B;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM+B,QAAQ,GAAG;EACvBpC,IAAI;EACJmC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMpC,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEkC;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["termDescription","icon","initBlock","metadata","$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","edit","settings","init"],"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":"AAAA;AACA;AACA;AACA,SAASA,eAAe,IAAIC,IAAI,QAAQ,kBAAkB;;AAE1D;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,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;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAElC;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMmC,QAAQ,GAAG;EACvBxC,IAAI;EACJuC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMxC,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEsC;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -16,7 +16,11 @@ import { useViewportMatch } from '@wordpress/compose';
16
16
  * @param {string} recordId Record's id.
17
17
  */
18
18
  export function useCanEditEntity(kind, name, recordId) {
19
- return useSelect(select => select(coreStore).canUserEditEntityRecord(kind, name, recordId), [kind, name, recordId]);
19
+ return useSelect(select => select(coreStore).canUser('update', {
20
+ kind,
21
+ name,
22
+ id: recordId
23
+ }), [kind, name, recordId]);
20
24
  }
21
25
 
22
26
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useLayoutEffect","useEffect","useRef","getBlobByURL","isBlobURL","revokeBlobURL","store","blockEditorStore","coreStore","useViewportMatch","useCanEditEntity","kind","name","recordId","select","canUserEditEntityRecord","useUploadMediaFromBlobURL","args","latestArgs","hasUploadStarted","getSettings","current","url","file","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","message","useToolsPanelDropdownMenuProps","isMobile","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":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,eAAe,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACvE,SAASC,YAAY,EAAEC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;AACzD,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAOd,SAAS,CACbe,MAAM,IACPA,MAAM,CAAEN,SAAU,CAAC,CAACO,uBAAuB,CAAEJ,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;AACA,OAAO,SAASG,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAGhB,MAAM,CAAEe,IAAK,CAAC;EACjC,MAAME,gBAAgB,GAAGjB,MAAM,CAAE,KAAM,CAAC;EACxC,MAAM;IAAEkB;EAAY,CAAC,GAAGrB,SAAS,CAAEQ,gBAAiB,CAAC;EAErDP,eAAe,CAAE,MAAM;IACtBkB,UAAU,CAACG,OAAO,GAAGJ,IAAI;EAC1B,CAAE,CAAC;EAEHhB,SAAS,CAAE,MAAM;IAChB;IACA;IACA,IAAKkB,gBAAgB,CAACE,OAAO,EAAG;MAC/B;IACD;IACA,IACC,CAAEH,UAAU,CAACG,OAAO,CAACC,GAAG,IACxB,CAAElB,SAAS,CAAEc,UAAU,CAACG,OAAO,CAACC,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAMC,IAAI,GAAGpB,YAAY,CAAEe,UAAU,CAACG,OAAO,CAACC,GAAI,CAAC;IACnD,IAAK,CAAEC,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAED,GAAG;MAAEE,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGR,UAAU,CAACG,OAAO;IACnE,MAAM;MAAEM;IAAY,CAAC,GAAGP,WAAW,CAAC,CAAC;IAErCD,gBAAgB,CAACE,OAAO,GAAG,IAAI;IAE/BM,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEL,IAAI,CAAE;MACnBC,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAK1B,SAAS,CAAE0B,KAAK,EAAER,GAAI,CAAC,EAAG;UAC9B;QACD;QAEAjB,aAAa,CAAEiB,GAAI,CAAC;QACpBG,QAAQ,CAAEK,KAAM,CAAC;QACjBX,gBAAgB,CAACE,OAAO,GAAG,KAAK;MACjC,CAAC;MACDK,OAAO,EAAIK,OAAO,IAAM;QACvB1B,aAAa,CAAEiB,GAAI,CAAC;QACpBI,OAAO,CAAEK,OAAQ,CAAC;QAClBZ,gBAAgB,CAACE,OAAO,GAAG,KAAK;MACjC;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,WAAW,CAAG,CAAC;AACrB;AAEA,OAAO,SAASY,8BAA8BA,CAAA,EAAG;EAChD,MAAMC,QAAQ,GAAGxB,gBAAgB,CAAE,QAAQ,EAAE,GAAI,CAAC;EAClD,OAAO,CAAEwB,QAAQ,GACd;IACAC,YAAY,EAAE;MACbC,SAAS,EAAE,YAAY;MACvB;MACAC,MAAM,EAAE;IACT;EACA,CAAC,GACD,CAAC,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useLayoutEffect","useEffect","useRef","getBlobByURL","isBlobURL","revokeBlobURL","store","blockEditorStore","coreStore","useViewportMatch","useCanEditEntity","kind","name","recordId","select","canUser","id","useUploadMediaFromBlobURL","args","latestArgs","hasUploadStarted","getSettings","current","url","file","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","message","useToolsPanelDropdownMenuProps","isMobile","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":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,eAAe,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACvE,SAASC,YAAY,EAAEC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;AACzD,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAOd,SAAS,CACbe,MAAM,IACPA,MAAM,CAAEN,SAAU,CAAC,CAACO,OAAO,CAAE,QAAQ,EAAE;IACtCJ,IAAI;IACJC,IAAI;IACJI,EAAE,EAAEH;EACL,CAAE,CAAC,EACJ,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAGjB,MAAM,CAAEgB,IAAK,CAAC;EACjC,MAAME,gBAAgB,GAAGlB,MAAM,CAAE,KAAM,CAAC;EACxC,MAAM;IAAEmB;EAAY,CAAC,GAAGtB,SAAS,CAAEQ,gBAAiB,CAAC;EAErDP,eAAe,CAAE,MAAM;IACtBmB,UAAU,CAACG,OAAO,GAAGJ,IAAI;EAC1B,CAAE,CAAC;EAEHjB,SAAS,CAAE,MAAM;IAChB;IACA;IACA,IAAKmB,gBAAgB,CAACE,OAAO,EAAG;MAC/B;IACD;IACA,IACC,CAAEH,UAAU,CAACG,OAAO,CAACC,GAAG,IACxB,CAAEnB,SAAS,CAAEe,UAAU,CAACG,OAAO,CAACC,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAMC,IAAI,GAAGrB,YAAY,CAAEgB,UAAU,CAACG,OAAO,CAACC,GAAI,CAAC;IACnD,IAAK,CAAEC,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAED,GAAG;MAAEE,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGR,UAAU,CAACG,OAAO;IACnE,MAAM;MAAEM;IAAY,CAAC,GAAGP,WAAW,CAAC,CAAC;IAErCD,gBAAgB,CAACE,OAAO,GAAG,IAAI;IAE/BM,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEL,IAAI,CAAE;MACnBC,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAK3B,SAAS,CAAE2B,KAAK,EAAER,GAAI,CAAC,EAAG;UAC9B;QACD;QAEAlB,aAAa,CAAEkB,GAAI,CAAC;QACpBG,QAAQ,CAAEK,KAAM,CAAC;QACjBX,gBAAgB,CAACE,OAAO,GAAG,KAAK;MACjC,CAAC;MACDK,OAAO,EAAIK,OAAO,IAAM;QACvB3B,aAAa,CAAEkB,GAAI,CAAC;QACpBI,OAAO,CAAEK,OAAQ,CAAC;QAClBZ,gBAAgB,CAACE,OAAO,GAAG,KAAK;MACjC;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,WAAW,CAAG,CAAC;AACrB;AAEA,OAAO,SAASY,8BAA8BA,CAAA,EAAG;EAChD,MAAMC,QAAQ,GAAGzB,gBAAgB,CAAE,QAAQ,EAAE,GAAI,CAAC;EAClD,OAAO,CAAEyB,QAAQ,GACd;IACAC,YAAY,EAAE;MACbC,SAAS,EAAE,YAAY;MACvB;MACAC,MAAM,EAAE;IACT;EACA,CAAC,GACD,CAAC,CAAC;AACN","ignoreList":[]}
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */
@@ -33,6 +33,9 @@
33
33
  * Grid System.
34
34
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
35
35
  */
36
+ /**
37
+ * Radius scale.
38
+ */
36
39
  /**
37
40
  * Dimensions.
38
41
  */