@wordpress/block-library 8.30.0 → 8.32.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 (362) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/block/edit.js +22 -16
  3. package/build/block/edit.js.map +1 -1
  4. package/build/button/edit.native.js +1 -1
  5. package/build/button/edit.native.js.map +1 -1
  6. package/build/code/save.js +3 -1
  7. package/build/code/save.js.map +1 -1
  8. package/build/cover/edit/index.js +2 -1
  9. package/build/cover/edit/index.js.map +1 -1
  10. package/build/details/edit.js +1 -0
  11. package/build/details/edit.js.map +1 -1
  12. package/build/file/edit.js +2 -0
  13. package/build/file/edit.js.map +1 -1
  14. package/build/heading/index.js +4 -3
  15. package/build/heading/index.js.map +1 -1
  16. package/build/image/edit.js +10 -39
  17. package/build/image/edit.js.map +1 -1
  18. package/build/image/image.js +27 -6
  19. package/build/image/image.js.map +1 -1
  20. package/build/media-text/edit.js +33 -9
  21. package/build/media-text/edit.js.map +1 -1
  22. package/build/media-text/index.js +5 -0
  23. package/build/media-text/index.js.map +1 -1
  24. package/build/media-text/media-container.js +30 -11
  25. package/build/media-text/media-container.js.map +1 -1
  26. package/build/media-text/save.js +2 -2
  27. package/build/media-text/save.js.map +1 -1
  28. package/build/navigation/edit/index.js +23 -29
  29. package/build/navigation/edit/index.js.map +1 -1
  30. package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
  31. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  32. package/build/navigation/edit/navigation-menu-selector.js +24 -23
  33. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  34. package/build/navigation/edit/placeholder/index.js +4 -4
  35. package/build/navigation/edit/placeholder/index.js.map +1 -1
  36. package/build/navigation/use-navigation-menu.js +15 -12
  37. package/build/navigation/use-navigation-menu.js.map +1 -1
  38. package/build/navigation/view.js +12 -2
  39. package/build/navigation/view.js.map +1 -1
  40. package/build/navigation-link/edit.js +52 -27
  41. package/build/navigation-link/edit.js.map +1 -1
  42. package/build/navigation-submenu/edit.js +31 -9
  43. package/build/navigation-submenu/edit.js.map +1 -1
  44. package/build/pattern/edit.js +3 -1
  45. package/build/pattern/edit.js.map +1 -1
  46. package/build/post-author/edit.js +1 -0
  47. package/build/post-author/edit.js.map +1 -1
  48. package/build/post-excerpt/edit.js +1 -0
  49. package/build/post-excerpt/edit.js.map +1 -1
  50. package/build/post-featured-image/edit.js +16 -4
  51. package/build/post-featured-image/edit.js.map +1 -1
  52. package/build/post-featured-image/index.js +13 -2
  53. package/build/post-featured-image/index.js.map +1 -1
  54. package/build/post-featured-image/overlay-controls.js +82 -0
  55. package/build/post-featured-image/overlay-controls.js.map +1 -0
  56. package/build/post-featured-image/overlay.js +5 -54
  57. package/build/post-featured-image/overlay.js.map +1 -1
  58. package/build/post-navigation-link/edit.js +1 -0
  59. package/build/post-navigation-link/edit.js.map +1 -1
  60. package/build/post-terms/edit.js +2 -0
  61. package/build/post-terms/edit.js.map +1 -1
  62. package/build/quote/edit.js +18 -23
  63. package/build/quote/edit.js.map +1 -1
  64. package/build/read-more/edit.js +1 -0
  65. package/build/read-more/edit.js.map +1 -1
  66. package/build/search/edit.js +2 -0
  67. package/build/search/edit.js.map +1 -1
  68. package/build/search/edit.native.js +2 -2
  69. package/build/search/edit.native.js.map +1 -1
  70. package/build/site-tagline/edit.js +13 -4
  71. package/build/site-tagline/edit.js.map +1 -1
  72. package/build/site-tagline/index.js +4 -0
  73. package/build/site-tagline/index.js.map +1 -1
  74. package/build/social-link/edit.js +1 -1
  75. package/build/social-link/edit.js.map +1 -1
  76. package/build/social-link/icons/medium.js +1 -1
  77. package/build/social-link/icons/medium.js.map +1 -1
  78. package/build/social-link/icons/reddit.js +1 -1
  79. package/build/social-link/icons/reddit.js.map +1 -1
  80. package/build/table/deprecated.js +285 -175
  81. package/build/table/deprecated.js.map +1 -1
  82. package/build/table/index.js +1 -1
  83. package/build/template-part/edit/index.js +55 -47
  84. package/build/template-part/edit/index.js.map +1 -1
  85. package/build/template-part/edit/inner-blocks.js +106 -10
  86. package/build/template-part/edit/inner-blocks.js.map +1 -1
  87. package/build/template-part/edit/selection-modal.js +1 -9
  88. package/build/template-part/edit/selection-modal.js.map +1 -1
  89. package/build/utils/caption.js +19 -13
  90. package/build/utils/caption.js.map +1 -1
  91. package/build/utils/hooks.js +1 -0
  92. package/build/utils/hooks.js.map +1 -1
  93. package/build/video/edit.native.js +1 -1
  94. package/build/video/edit.native.js.map +1 -1
  95. package/build-module/block/edit.js +23 -17
  96. package/build-module/block/edit.js.map +1 -1
  97. package/build-module/button/edit.native.js +1 -1
  98. package/build-module/button/edit.native.js.map +1 -1
  99. package/build-module/code/save.js +3 -1
  100. package/build-module/code/save.js.map +1 -1
  101. package/build-module/cover/edit/index.js +2 -1
  102. package/build-module/cover/edit/index.js.map +1 -1
  103. package/build-module/details/edit.js +1 -0
  104. package/build-module/details/edit.js.map +1 -1
  105. package/build-module/file/edit.js +2 -0
  106. package/build-module/file/edit.js.map +1 -1
  107. package/build-module/heading/index.js +4 -3
  108. package/build-module/heading/index.js.map +1 -1
  109. package/build-module/image/edit.js +11 -40
  110. package/build-module/image/edit.js.map +1 -1
  111. package/build-module/image/image.js +27 -6
  112. package/build-module/image/image.js.map +1 -1
  113. package/build-module/media-text/edit.js +34 -10
  114. package/build-module/media-text/edit.js.map +1 -1
  115. package/build-module/media-text/index.js +5 -0
  116. package/build-module/media-text/index.js.map +1 -1
  117. package/build-module/media-text/media-container.js +31 -12
  118. package/build-module/media-text/media-container.js.map +1 -1
  119. package/build-module/media-text/save.js +2 -2
  120. package/build-module/media-text/save.js.map +1 -1
  121. package/build-module/navigation/edit/index.js +24 -30
  122. package/build-module/navigation/edit/index.js.map +1 -1
  123. package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
  124. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  125. package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
  126. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  127. package/build-module/navigation/edit/placeholder/index.js +4 -4
  128. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  129. package/build-module/navigation/use-navigation-menu.js +15 -12
  130. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  131. package/build-module/navigation/view.js +12 -2
  132. package/build-module/navigation/view.js.map +1 -1
  133. package/build-module/navigation-link/edit.js +55 -30
  134. package/build-module/navigation-link/edit.js.map +1 -1
  135. package/build-module/navigation-submenu/edit.js +31 -9
  136. package/build-module/navigation-submenu/edit.js.map +1 -1
  137. package/build-module/pattern/edit.js +3 -1
  138. package/build-module/pattern/edit.js.map +1 -1
  139. package/build-module/post-author/edit.js +1 -0
  140. package/build-module/post-author/edit.js.map +1 -1
  141. package/build-module/post-excerpt/edit.js +1 -0
  142. package/build-module/post-excerpt/edit.js.map +1 -1
  143. package/build-module/post-featured-image/edit.js +17 -5
  144. package/build-module/post-featured-image/edit.js.map +1 -1
  145. package/build-module/post-featured-image/index.js +13 -2
  146. package/build-module/post-featured-image/index.js.map +1 -1
  147. package/build-module/post-featured-image/overlay-controls.js +75 -0
  148. package/build-module/post-featured-image/overlay-controls.js.map +1 -0
  149. package/build-module/post-featured-image/overlay.js +7 -56
  150. package/build-module/post-featured-image/overlay.js.map +1 -1
  151. package/build-module/post-navigation-link/edit.js +1 -0
  152. package/build-module/post-navigation-link/edit.js.map +1 -1
  153. package/build-module/post-terms/edit.js +2 -0
  154. package/build-module/post-terms/edit.js.map +1 -1
  155. package/build-module/quote/edit.js +20 -25
  156. package/build-module/quote/edit.js.map +1 -1
  157. package/build-module/read-more/edit.js +1 -0
  158. package/build-module/read-more/edit.js.map +1 -1
  159. package/build-module/search/edit.js +2 -0
  160. package/build-module/search/edit.js.map +1 -1
  161. package/build-module/search/edit.native.js +2 -2
  162. package/build-module/search/edit.native.js.map +1 -1
  163. package/build-module/site-tagline/edit.js +14 -5
  164. package/build-module/site-tagline/edit.js.map +1 -1
  165. package/build-module/site-tagline/index.js +4 -0
  166. package/build-module/site-tagline/index.js.map +1 -1
  167. package/build-module/social-link/edit.js +1 -1
  168. package/build-module/social-link/edit.js.map +1 -1
  169. package/build-module/social-link/icons/medium.js +1 -1
  170. package/build-module/social-link/icons/medium.js.map +1 -1
  171. package/build-module/social-link/icons/reddit.js +1 -1
  172. package/build-module/social-link/icons/reddit.js.map +1 -1
  173. package/build-module/table/deprecated.js +286 -176
  174. package/build-module/table/deprecated.js.map +1 -1
  175. package/build-module/table/index.js +1 -1
  176. package/build-module/template-part/edit/index.js +58 -50
  177. package/build-module/template-part/edit/index.js.map +1 -1
  178. package/build-module/template-part/edit/inner-blocks.js +108 -12
  179. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  180. package/build-module/template-part/edit/selection-modal.js +2 -10
  181. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  182. package/build-module/utils/caption.js +19 -13
  183. package/build-module/utils/caption.js.map +1 -1
  184. package/build-module/utils/hooks.js +1 -0
  185. package/build-module/utils/hooks.js.map +1 -1
  186. package/build-module/video/edit.native.js +1 -1
  187. package/build-module/video/edit.native.js.map +1 -1
  188. package/build-style/audio/theme-rtl.css +1 -1
  189. package/build-style/audio/theme.css +1 -1
  190. package/build-style/cover/style-rtl.css +5 -2
  191. package/build-style/cover/style.css +5 -2
  192. package/build-style/editor-rtl.css +22 -12
  193. package/build-style/editor.css +22 -12
  194. package/build-style/embed/theme-rtl.css +1 -1
  195. package/build-style/embed/theme.css +1 -1
  196. package/build-style/file/editor-rtl.css +3 -0
  197. package/build-style/file/editor.css +3 -0
  198. package/build-style/image/editor-rtl.css +0 -3
  199. package/build-style/image/editor.css +0 -3
  200. package/build-style/image/theme-rtl.css +1 -1
  201. package/build-style/image/theme.css +1 -1
  202. package/build-style/media-text/editor-rtl.css +7 -1
  203. package/build-style/media-text/editor.css +7 -1
  204. package/build-style/pullquote/theme-rtl.css +2 -1
  205. package/build-style/pullquote/theme.css +2 -1
  206. package/build-style/quote/theme-rtl.css +6 -6
  207. package/build-style/quote/theme.css +6 -6
  208. package/build-style/search/style-rtl.css +10 -0
  209. package/build-style/search/style.css +10 -0
  210. package/build-style/social-links/editor-rtl.css +0 -4
  211. package/build-style/social-links/editor.css +0 -4
  212. package/build-style/social-links/style-rtl.css +2 -2
  213. package/build-style/social-links/style.css +2 -2
  214. package/build-style/style-rtl.css +17 -4
  215. package/build-style/style.css +17 -4
  216. package/build-style/table/theme-rtl.css +4 -3
  217. package/build-style/table/theme.css +4 -3
  218. package/build-style/template-part/editor-rtl.css +12 -4
  219. package/build-style/template-part/editor.css +12 -4
  220. package/build-style/template-part/theme-rtl.css +1 -1
  221. package/build-style/template-part/theme.css +1 -1
  222. package/build-style/theme-rtl.css +17 -15
  223. package/build-style/theme.css +17 -15
  224. package/build-style/video/theme-rtl.css +1 -1
  225. package/build-style/video/theme.css +1 -1
  226. package/package.json +34 -34
  227. package/src/archives/index.php +4 -0
  228. package/src/audio/theme.scss +1 -1
  229. package/src/avatar/index.php +6 -0
  230. package/src/block/edit.js +43 -32
  231. package/src/block/index.php +4 -0
  232. package/src/block/test/edit.native.js +67 -0
  233. package/src/button/edit.native.js +1 -1
  234. package/src/calendar/index.php +12 -0
  235. package/src/categories/index.php +6 -0
  236. package/src/code/save.js +7 -1
  237. package/src/comment-author-name/index.php +4 -0
  238. package/src/comment-content/index.php +4 -0
  239. package/src/comment-date/index.php +4 -0
  240. package/src/comment-edit-link/index.php +4 -0
  241. package/src/comment-reply-link/index.php +4 -0
  242. package/src/comment-template/index.php +4 -0
  243. package/src/comments/index.php +10 -0
  244. package/src/comments-pagination/index.php +4 -0
  245. package/src/comments-pagination-next/index.php +4 -0
  246. package/src/comments-pagination-numbers/index.php +4 -0
  247. package/src/comments-pagination-previous/index.php +4 -0
  248. package/src/comments-title/index.php +4 -0
  249. package/src/cover/edit/index.js +4 -1
  250. package/src/cover/index.php +4 -0
  251. package/src/cover/style.scss +6 -2
  252. package/src/details/edit.js +1 -0
  253. package/src/embed/theme.scss +1 -1
  254. package/src/file/edit.js +2 -0
  255. package/src/file/editor.scss +3 -0
  256. package/src/file/index.php +4 -0
  257. package/src/gallery/editor.scss +1 -1
  258. package/src/gallery/index.php +7 -1
  259. package/src/heading/index.js +4 -3
  260. package/src/heading/index.php +4 -0
  261. package/src/home-link/index.php +10 -0
  262. package/src/image/edit.js +11 -40
  263. package/src/image/editor.scss +2 -7
  264. package/src/image/image.js +25 -7
  265. package/src/image/index.php +12 -1
  266. package/src/image/theme.scss +1 -1
  267. package/src/latest-comments/index.php +4 -0
  268. package/src/latest-posts/index.php +8 -0
  269. package/src/loginout/index.php +4 -0
  270. package/src/media-text/block.json +5 -0
  271. package/src/media-text/edit.js +70 -19
  272. package/src/media-text/editor.scss +7 -1
  273. package/src/media-text/index.php +70 -0
  274. package/src/media-text/media-container.js +49 -9
  275. package/src/media-text/save.js +2 -2
  276. package/src/navigation/edit/index.js +67 -71
  277. package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
  278. package/src/navigation/edit/navigation-menu-selector.js +39 -21
  279. package/src/navigation/edit/placeholder/index.js +4 -4
  280. package/src/navigation/edit/test/navigation-menu-selector.js +75 -53
  281. package/src/navigation/index.php +109 -26
  282. package/src/navigation/test/use-navigation-menu.js +21 -21
  283. package/src/navigation/use-navigation-menu.js +23 -9
  284. package/src/navigation/view.js +11 -2
  285. package/src/navigation-link/edit.js +64 -39
  286. package/src/navigation-link/index.php +14 -0
  287. package/src/navigation-submenu/edit.js +34 -10
  288. package/src/navigation-submenu/index.php +8 -0
  289. package/src/page-list/index.php +12 -0
  290. package/src/page-list-item/index.php +2 -0
  291. package/src/pattern/edit.js +4 -0
  292. package/src/pattern/index.php +2 -0
  293. package/src/post-author/edit.js +1 -0
  294. package/src/post-author/index.php +4 -0
  295. package/src/post-author-biography/index.php +4 -0
  296. package/src/post-author-name/index.php +4 -0
  297. package/src/post-comments-form/index.php +6 -0
  298. package/src/post-content/index.php +4 -0
  299. package/src/post-date/index.php +4 -0
  300. package/src/post-excerpt/edit.js +1 -0
  301. package/src/post-excerpt/index.php +4 -0
  302. package/src/post-featured-image/block.json +13 -2
  303. package/src/post-featured-image/edit.js +16 -1
  304. package/src/post-featured-image/editor.scss +1 -1
  305. package/src/post-featured-image/index.php +15 -0
  306. package/src/post-featured-image/overlay-controls.js +88 -0
  307. package/src/post-featured-image/overlay.js +17 -84
  308. package/src/post-navigation-link/edit.js +1 -0
  309. package/src/post-navigation-link/index.php +4 -0
  310. package/src/post-template/index.php +4 -0
  311. package/src/post-terms/edit.js +2 -0
  312. package/src/post-terms/index.php +6 -0
  313. package/src/post-title/index.php +2 -0
  314. package/src/pullquote/theme.scss +3 -1
  315. package/src/query/index.php +2 -0
  316. package/src/query-no-results/index.php +6 -0
  317. package/src/query-pagination/index.php +4 -0
  318. package/src/query-pagination-next/index.php +6 -0
  319. package/src/query-pagination-numbers/index.php +6 -0
  320. package/src/query-pagination-previous/index.php +4 -0
  321. package/src/query-title/index.php +4 -0
  322. package/src/quote/edit.js +27 -37
  323. package/src/quote/test/edit.native.js +4 -6
  324. package/src/quote/theme.scss +1 -2
  325. package/src/read-more/edit.js +1 -0
  326. package/src/read-more/index.php +4 -0
  327. package/src/rss/index.php +4 -0
  328. package/src/search/edit.js +2 -0
  329. package/src/search/edit.native.js +2 -2
  330. package/src/search/index.php +19 -1
  331. package/src/search/style.scss +11 -0
  332. package/src/shortcode/index.php +4 -0
  333. package/src/site-logo/editor.scss +2 -2
  334. package/src/site-logo/index.php +20 -0
  335. package/src/site-tagline/block.json +4 -0
  336. package/src/site-tagline/edit.js +16 -3
  337. package/src/site-tagline/index.php +13 -1
  338. package/src/site-title/index.php +4 -0
  339. package/src/social-link/edit.js +1 -1
  340. package/src/social-link/icons/medium.js +1 -1
  341. package/src/social-link/icons/reddit.js +1 -1
  342. package/src/social-link/index.php +22 -9
  343. package/src/social-link/socials-with-bg.scss +1 -1
  344. package/src/social-link/socials-without-bg.scss +1 -1
  345. package/src/social-links/editor.scss +1 -9
  346. package/src/table/block.json +1 -1
  347. package/src/table/deprecated.js +308 -175
  348. package/src/table/theme.scss +4 -2
  349. package/src/tag-cloud/index.php +4 -0
  350. package/src/template-part/edit/index.js +87 -79
  351. package/src/template-part/edit/inner-blocks.js +126 -13
  352. package/src/template-part/edit/selection-modal.js +1 -22
  353. package/src/template-part/editor.scss +11 -3
  354. package/src/template-part/index.php +12 -0
  355. package/src/template-part/theme.scss +1 -1
  356. package/src/term-description/index.php +4 -0
  357. package/src/utils/caption.js +19 -16
  358. package/src/utils/hooks.js +1 -0
  359. package/src/video/edit.native.js +2 -0
  360. package/src/video/editor.scss +2 -2
  361. package/src/video/theme.scss +1 -1
  362. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","RichText","getColorClassName","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","oldColors","v3","attributes","hasFixedLayout","type","default","caption","source","selector","head","query","cells","content","tag","scope","attribute","align","body","foot","supports","anchor","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalBorder","style","width","__experimentalSelector","save","isEmpty","length","colorProps","borderProps","classes","className","hasCaption","Section","rows","Tag","createElement","map","rowIndex","key","cellIndex","cellClasses","Content","undefined","tagName","value","v2","backgroundColor","backgroundClass","isEligible","migrate","v1"],"sources":["@wordpress/block-library/src/table/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\n\n// As the previous arbitrary colors won't match theme color palettes, the hex\n// value will be mapped to the style.color.background attribute as if it was\n// a custom color selection.\nconst oldColors = {\n\t'subtle-light-gray': '#f3f4f5',\n\t'subtle-pale-green': '#e9fbe5',\n\t'subtle-pale-blue': '#e7f5fe',\n\t'subtle-pale-pink': '#fcf0ef',\n};\n\n// In #41140 support was added to global styles for caption elements which\n// added a `wp-element-caption` classname to the embed figcaption element.\nconst v3 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tcolor: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames(\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t}\n\t\t);\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n// Deprecation migrating table block to use colors block support feature.\nconst v2 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave: ( { attributes } ) => {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor, caption } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table className={ classes === '' ? undefined : classes }>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tisEligible: ( attributes ) => {\n\t\treturn (\n\t\t\tattributes.backgroundColor &&\n\t\t\tattributes.backgroundColor in oldColors &&\n\t\t\t! attributes.style\n\t\t);\n\t},\n\n\t// This version is the first to introduce the style attribute to the\n\t// table block. As a result, we'll explicitly override that.\n\tmigrate: ( attributes ) => {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tbackgroundColor: undefined,\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<table className={ classes }>\n\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t</table>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v3, v2, v1 ];\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","RichText","getColorClassName","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetElementClassName","oldColors","v4Query","content","type","source","tag","default","scope","attribute","align","colspan","rowspan","v4","attributes","hasFixedLayout","caption","selector","head","query","cells","body","foot","supports","anchor","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalBorder","style","width","__experimentalSelector","interactivity","clientNavigation","save","isEmpty","length","colorProps","borderProps","classes","className","hasCaption","Section","rows","Tag","createElement","map","rowIndex","key","cellIndex","cellClasses","Content","undefined","tagName","value","colSpan","rowSpan","v3Query","v3","v2Query","v2","backgroundColor","backgroundClass","isEligible","migrate","v1Query","v1"],"sources":["@wordpress/block-library/src/table/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\n// As the previous arbitrary colors won't match theme color palettes, the hex\n// value will be mapped to the style.color.background attribute as if it was\n// a custom color selection.\nconst oldColors = {\n\t'subtle-light-gray': '#f3f4f5',\n\t'subtle-pale-green': '#e9fbe5',\n\t'subtle-pale-blue': '#e7f5fe',\n\t'subtle-pale-pink': '#fcf0ef',\n};\n\n// Fixed width table cells on by default.\nconst v4Query = {\n\tcontent: {\n\t\ttype: 'rich-text',\n\t\tsource: 'rich-text',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n\talign: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'data-align',\n\t},\n\tcolspan: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'colspan',\n\t},\n\trowspan: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'rowspan',\n\t},\n};\n\nconst v4 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v4Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v4Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v4Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tmargin: false,\n\t\t\t\tpadding: false,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tcolor: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t\tinteractivity: {\n\t\t\tclientNavigation: true,\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames(\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t}\n\t\t);\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\t\t\ttag,\n\t\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n// In #41140 support was added to global styles for caption elements which\n// added a `wp-element-caption` classname to the embed figcaption element.\nconst v3Query = {\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n\talign: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'data-align',\n\t},\n};\n\nconst v3 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v3Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v3Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v3Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tcolor: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames(\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t}\n\t\t);\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n// Deprecation migrating table block to use colors block support feature.\nconst v2Query = {\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n\talign: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'data-align',\n\t},\n};\n\nconst v2 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v2Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v2Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v2Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave: ( { attributes } ) => {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor, caption } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table className={ classes === '' ? undefined : classes }>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tisEligible: ( attributes ) => {\n\t\treturn (\n\t\t\tattributes.backgroundColor &&\n\t\t\tattributes.backgroundColor in oldColors &&\n\t\t\t! attributes.style\n\t\t);\n\t},\n\n\t// This version is the first to introduce the style attribute to the\n\t// table block. As a result, we'll explicitly override that.\n\tmigrate: ( attributes ) => {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tbackgroundColor: undefined,\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n};\n\nconst v1Query = {\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v1Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v1Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v1Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<table className={ classes }>\n\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t</table>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v4, v3, v2, v1 ];\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,QAAQ,EACRC,iBAAiB,EACjBC,aAAa,EACbC,uCAAuC,IAAIC,yBAAyB,EACpEC,sCAAsC,IAAIC,wBAAwB,EAClEC,iCAAiC,QAC3B,yBAAyB;;AAEhC;AACA;AACA;AACA,MAAMC,SAAS,GAAG;EACjB,mBAAmB,EAAE,SAAS;EAC9B,mBAAmB,EAAE,SAAS;EAC9B,kBAAkB,EAAE,SAAS;EAC7B,kBAAkB,EAAE;AACrB,CAAC;;AAED;AACA,MAAMC,OAAO,GAAG;EACfC,OAAO,EAAE;IACRC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACT,CAAC;EACDC,GAAG,EAAE;IACJF,IAAI,EAAE,QAAQ;IACdG,OAAO,EAAE,IAAI;IACbF,MAAM,EAAE;EACT,CAAC;EACDG,KAAK,EAAE;IACNJ,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,WAAW;IACnBI,SAAS,EAAE;EACZ,CAAC;EACDC,KAAK,EAAE;IACNN,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,WAAW;IACnBI,SAAS,EAAE;EACZ,CAAC;EACDE,OAAO,EAAE;IACRP,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,WAAW;IACnBI,SAAS,EAAE;EACZ,CAAC;EACDG,OAAO,EAAE;IACRR,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,WAAW;IACnBI,SAAS,EAAE;EACZ;AACD,CAAC;AAED,MAAMI,EAAE,GAAG;EACVC,UAAU,EAAE;IACXC,cAAc,EAAE;MACfX,IAAI,EAAE,SAAS;MACfG,OAAO,EAAE;IACV,CAAC;IACDS,OAAO,EAAE;MACRZ,IAAI,EAAE,WAAW;MACjBC,MAAM,EAAE,WAAW;MACnBY,QAAQ,EAAE;IACX,CAAC;IACDC,IAAI,EAAE;MACLd,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAEjB;QACR;MACD;IACD,CAAC;IACDmB,IAAI,EAAE;MACLjB,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAEjB;QACR;MACD;IACD,CAAC;IACDoB,IAAI,EAAE;MACLlB,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAEjB;QACR;MACD;IACD;EACD,CAAC;EACDqB,QAAQ,EAAE;IACTC,MAAM,EAAE,IAAI;IACZd,KAAK,EAAE,IAAI;IACXe,KAAK,EAAE;MACNC,+BAA+B,EAAE,IAAI;MACrCC,SAAS,EAAE,IAAI;MACfC,6BAA6B,EAAE;QAC9BC,UAAU,EAAE,IAAI;QAChBC,IAAI,EAAE;MACP;IACD,CAAC;IACDC,OAAO,EAAE;MACRC,MAAM,EAAE,IAAI;MACZC,OAAO,EAAE,IAAI;MACbL,6BAA6B,EAAE;QAC9BI,MAAM,EAAE,KAAK;QACbC,OAAO,EAAE;MACV;IACD,CAAC;IACDC,UAAU,EAAE;MACXC,QAAQ,EAAE,IAAI;MACdC,UAAU,EAAE,IAAI;MAChBC,wBAAwB,EAAE,IAAI;MAC9BC,uBAAuB,EAAE,IAAI;MAC7BC,wBAAwB,EAAE,IAAI;MAC9BC,2BAA2B,EAAE,IAAI;MACjCC,2BAA2B,EAAE,IAAI;MACjCC,4BAA4B,EAAE,IAAI;MAClCd,6BAA6B,EAAE;QAC9BO,QAAQ,EAAE;MACX;IACD,CAAC;IACDQ,oBAAoB,EAAE;MACrBjB,+BAA+B,EAAE,IAAI;MACrCD,KAAK,EAAE,IAAI;MACXmB,KAAK,EAAE,IAAI;MACXC,KAAK,EAAE,IAAI;MACXjB,6BAA6B,EAAE;QAC9BH,KAAK,EAAE,IAAI;QACXmB,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACR;IACD,CAAC;IACDC,sBAAsB,EAAE,yBAAyB;IACjDC,aAAa,EAAE;MACdC,gBAAgB,EAAE;IACnB;EACD,CAAC;EACDC,IAAIA,CAAE;IAAEnC;EAAW,CAAC,EAAG;IACtB,MAAM;MAAEC,cAAc;MAAEG,IAAI;MAAEG,IAAI;MAAEC,IAAI;MAAEN;IAAQ,CAAC,GAAGF,UAAU;IAChE,MAAMoC,OAAO,GAAG,CAAEhC,IAAI,CAACiC,MAAM,IAAI,CAAE9B,IAAI,CAAC8B,MAAM,IAAI,CAAE7B,IAAI,CAAC6B,MAAM;IAE/D,IAAKD,OAAO,EAAG;MACd,OAAO,IAAI;IACZ;IAEA,MAAME,UAAU,GAAGrD,wBAAwB,CAAEe,UAAW,CAAC;IACzD,MAAMuC,WAAW,GAAGxD,yBAAyB,CAAEiB,UAAW,CAAC;IAE3D,MAAMwC,OAAO,GAAG9D,UAAU,CACzB4D,UAAU,CAACG,SAAS,EACpBF,WAAW,CAACE,SAAS,EACrB;MACC,kBAAkB,EAAExC;IACrB,CACD,CAAC;IAED,MAAMyC,UAAU,GAAG,CAAE/D,QAAQ,CAACyD,OAAO,CAAElC,OAAQ,CAAC;IAEhD,MAAMyC,OAAO,GAAGA,CAAE;MAAErD,IAAI;MAAEsD;IAAK,CAAC,KAAM;MACrC,IAAK,CAAEA,IAAI,CAACP,MAAM,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAMQ,GAAG,GAAI,IAAIvD,IAAM,EAAC;MAExB,OACCwD,aAAA,CAACD,GAAG,QACDD,IAAI,CAACG,GAAG,CAAE,CAAE;QAAEzC;MAAM,CAAC,EAAE0C,QAAQ,KAChCF,aAAA;QAAIG,GAAG,EAAGD;MAAU,GACjB1C,KAAK,CAACyC,GAAG,CACV,CACC;QACC1D,OAAO;QACPG,GAAG;QACHE,KAAK;QACLE,KAAK;QACLC,OAAO;QACPC;MACD,CAAC,EACDoD,SAAS,KACL;QACJ,MAAMC,WAAW,GAAGzE,UAAU,CAAE;UAC/B,CAAG,kBAAkBkB,KAAO,EAAC,GAAIA;QAClC,CAAE,CAAC;QAEH,OACCkD,aAAA,CAACnE,QAAQ,CAACyE,OAAO;UAChBX,SAAS,EACRU,WAAW,GACRA,WAAW,GACXE,SACH;UACD,cAAazD,KAAO;UACpB0D,OAAO,EAAG9D,GAAK;UACf+D,KAAK,EAAGlE,OAAS;UACjB4D,GAAG,EAAGC,SAAW;UACjBxD,KAAK,EACJF,GAAG,KAAK,IAAI,GAAGE,KAAK,GAAG2D,SACvB;UACDG,OAAO,EAAG3D,OAAS;UACnB4D,OAAO,EAAG3D;QAAS,CACnB,CAAC;MAEJ,CACD,CACG,CACH,CACE,CAAC;IAER,CAAC;IAED,OACCgD,aAAA;MAAA,GAAajE,aAAa,CAACsD,IAAI,CAAC;IAAC,GAChCW,aAAA;MACCL,SAAS,EAAGD,OAAO,KAAK,EAAE,GAAGa,SAAS,GAAGb,OAAS;MAClDV,KAAK,EAAG;QAAE,GAAGQ,UAAU,CAACR,KAAK;QAAE,GAAGS,WAAW,CAACT;MAAM;IAAG,GAEvDgB,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGxC;IAAM,CAAE,CAAC,EACrC0C,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGrC;IAAM,CAAE,CAAC,EACrCuC,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGpC;IAAM,CAAE,CAC9B,CAAC,EACNkC,UAAU,IACXI,aAAA,CAACnE,QAAQ,CAACyE,OAAO;MAChBE,OAAO,EAAC,YAAY;MACpBC,KAAK,EAAGrD,OAAS;MACjBuC,SAAS,EAAGvD,iCAAiC,CAC5C,SACD;IAAG,CACH,CAEK,CAAC;EAEX;AACD,CAAC;;AAED;AACA;AACA,MAAMwE,OAAO,GAAG;EACfrE,OAAO,EAAE;IACRC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACT,CAAC;EACDC,GAAG,EAAE;IACJF,IAAI,EAAE,QAAQ;IACdG,OAAO,EAAE,IAAI;IACbF,MAAM,EAAE;EACT,CAAC;EACDG,KAAK,EAAE;IACNJ,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,WAAW;IACnBI,SAAS,EAAE;EACZ,CAAC;EACDC,KAAK,EAAE;IACNN,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,WAAW;IACnBI,SAAS,EAAE;EACZ;AACD,CAAC;AAED,MAAMgE,EAAE,GAAG;EACV3D,UAAU,EAAE;IACXC,cAAc,EAAE;MACfX,IAAI,EAAE,SAAS;MACfG,OAAO,EAAE;IACV,CAAC;IACDS,OAAO,EAAE;MACRZ,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,MAAM;MACdY,QAAQ,EAAE,YAAY;MACtBV,OAAO,EAAE;IACV,CAAC;IACDW,IAAI,EAAE;MACLd,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAEqD;QACR;MACD;IACD,CAAC;IACDnD,IAAI,EAAE;MACLjB,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAEqD;QACR;MACD;IACD,CAAC;IACDlD,IAAI,EAAE;MACLlB,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAEqD;QACR;MACD;IACD;EACD,CAAC;EACDjD,QAAQ,EAAE;IACTC,MAAM,EAAE,IAAI;IACZd,KAAK,EAAE,IAAI;IACXe,KAAK,EAAE;MACNC,+BAA+B,EAAE,IAAI;MACrCC,SAAS,EAAE,IAAI;MACfC,6BAA6B,EAAE;QAC9BC,UAAU,EAAE,IAAI;QAChBC,IAAI,EAAE;MACP;IACD,CAAC;IACDC,OAAO,EAAE;MACRC,MAAM,EAAE,IAAI;MACZC,OAAO,EAAE;IACV,CAAC;IACDC,UAAU,EAAE;MACXC,QAAQ,EAAE,IAAI;MACdC,UAAU,EAAE,IAAI;MAChBC,wBAAwB,EAAE,IAAI;MAC9BC,uBAAuB,EAAE,IAAI;MAC7BC,wBAAwB,EAAE,IAAI;MAC9BC,2BAA2B,EAAE,IAAI;MACjCC,2BAA2B,EAAE,IAAI;MACjCC,4BAA4B,EAAE,IAAI;MAClCd,6BAA6B,EAAE;QAC9BO,QAAQ,EAAE;MACX;IACD,CAAC;IACDQ,oBAAoB,EAAE;MACrBjB,+BAA+B,EAAE,IAAI;MACrCD,KAAK,EAAE,IAAI;MACXmB,KAAK,EAAE,IAAI;MACXC,KAAK,EAAE,IAAI;MACXjB,6BAA6B,EAAE;QAC9BH,KAAK,EAAE,IAAI;QACXmB,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACR;IACD,CAAC;IACDC,sBAAsB,EAAE;EACzB,CAAC;EACDG,IAAIA,CAAE;IAAEnC;EAAW,CAAC,EAAG;IACtB,MAAM;MAAEC,cAAc;MAAEG,IAAI;MAAEG,IAAI;MAAEC,IAAI;MAAEN;IAAQ,CAAC,GAAGF,UAAU;IAChE,MAAMoC,OAAO,GAAG,CAAEhC,IAAI,CAACiC,MAAM,IAAI,CAAE9B,IAAI,CAAC8B,MAAM,IAAI,CAAE7B,IAAI,CAAC6B,MAAM;IAE/D,IAAKD,OAAO,EAAG;MACd,OAAO,IAAI;IACZ;IAEA,MAAME,UAAU,GAAGrD,wBAAwB,CAAEe,UAAW,CAAC;IACzD,MAAMuC,WAAW,GAAGxD,yBAAyB,CAAEiB,UAAW,CAAC;IAE3D,MAAMwC,OAAO,GAAG9D,UAAU,CACzB4D,UAAU,CAACG,SAAS,EACpBF,WAAW,CAACE,SAAS,EACrB;MACC,kBAAkB,EAAExC;IACrB,CACD,CAAC;IAED,MAAMyC,UAAU,GAAG,CAAE/D,QAAQ,CAACyD,OAAO,CAAElC,OAAQ,CAAC;IAEhD,MAAMyC,OAAO,GAAGA,CAAE;MAAErD,IAAI;MAAEsD;IAAK,CAAC,KAAM;MACrC,IAAK,CAAEA,IAAI,CAACP,MAAM,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAMQ,GAAG,GAAI,IAAIvD,IAAM,EAAC;MAExB,OACCwD,aAAA,CAACD,GAAG,QACDD,IAAI,CAACG,GAAG,CAAE,CAAE;QAAEzC;MAAM,CAAC,EAAE0C,QAAQ,KAChCF,aAAA;QAAIG,GAAG,EAAGD;MAAU,GACjB1C,KAAK,CAACyC,GAAG,CACV,CACC;QAAE1D,OAAO;QAAEG,GAAG;QAAEE,KAAK;QAAEE;MAAM,CAAC,EAC9BsD,SAAS,KACL;QACJ,MAAMC,WAAW,GAAGzE,UAAU,CAAE;UAC/B,CAAG,kBAAkBkB,KAAO,EAAC,GAAIA;QAClC,CAAE,CAAC;QAEH,OACCkD,aAAA,CAACnE,QAAQ,CAACyE,OAAO;UAChBX,SAAS,EACRU,WAAW,GACRA,WAAW,GACXE,SACH;UACD,cAAazD,KAAO;UACpB0D,OAAO,EAAG9D,GAAK;UACf+D,KAAK,EAAGlE,OAAS;UACjB4D,GAAG,EAAGC,SAAW;UACjBxD,KAAK,EACJF,GAAG,KAAK,IAAI,GAAGE,KAAK,GAAG2D;QACvB,CACD,CAAC;MAEJ,CACD,CACG,CACH,CACE,CAAC;IAER,CAAC;IAED,OACCP,aAAA;MAAA,GAAajE,aAAa,CAACsD,IAAI,CAAC;IAAC,GAChCW,aAAA;MACCL,SAAS,EAAGD,OAAO,KAAK,EAAE,GAAGa,SAAS,GAAGb,OAAS;MAClDV,KAAK,EAAG;QAAE,GAAGQ,UAAU,CAACR,KAAK;QAAE,GAAGS,WAAW,CAACT;MAAM;IAAG,GAEvDgB,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGxC;IAAM,CAAE,CAAC,EACrC0C,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGrC;IAAM,CAAE,CAAC,EACrCuC,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGpC;IAAM,CAAE,CAC9B,CAAC,EACNkC,UAAU,IACXI,aAAA,CAACnE,QAAQ,CAACyE,OAAO;MAACE,OAAO,EAAC,YAAY;MAACC,KAAK,EAAGrD;IAAS,CAAE,CAEpD,CAAC;EAEX;AACD,CAAC;;AAED;AACA,MAAM0D,OAAO,GAAG;EACfvE,OAAO,EAAE;IACRC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACT,CAAC;EACDC,GAAG,EAAE;IACJF,IAAI,EAAE,QAAQ;IACdG,OAAO,EAAE,IAAI;IACbF,MAAM,EAAE;EACT,CAAC;EACDG,KAAK,EAAE;IACNJ,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,WAAW;IACnBI,SAAS,EAAE;EACZ,CAAC;EACDC,KAAK,EAAE;IACNN,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,WAAW;IACnBI,SAAS,EAAE;EACZ;AACD,CAAC;AAED,MAAMkE,EAAE,GAAG;EACV7D,UAAU,EAAE;IACXC,cAAc,EAAE;MACfX,IAAI,EAAE,SAAS;MACfG,OAAO,EAAE;IACV,CAAC;IACDqE,eAAe,EAAE;MAChBxE,IAAI,EAAE;IACP,CAAC;IACDY,OAAO,EAAE;MACRZ,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,MAAM;MACdY,QAAQ,EAAE,YAAY;MACtBV,OAAO,EAAE;IACV,CAAC;IACDW,IAAI,EAAE;MACLd,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAEuD;QACR;MACD;IACD,CAAC;IACDrD,IAAI,EAAE;MACLjB,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAEuD;QACR;MACD;IACD,CAAC;IACDpD,IAAI,EAAE;MACLlB,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAEuD;QACR;MACD;IACD;EACD,CAAC;EACDnD,QAAQ,EAAE;IACTC,MAAM,EAAE,IAAI;IACZd,KAAK,EAAE,IAAI;IACXoC,sBAAsB,EAAE;EACzB,CAAC;EACDG,IAAI,EAAEA,CAAE;IAAEnC;EAAW,CAAC,KAAM;IAC3B,MAAM;MAAEC,cAAc;MAAEG,IAAI;MAAEG,IAAI;MAAEC,IAAI;MAAEsD,eAAe;MAAE5D;IAAQ,CAAC,GACnEF,UAAU;IACX,MAAMoC,OAAO,GAAG,CAAEhC,IAAI,CAACiC,MAAM,IAAI,CAAE9B,IAAI,CAAC8B,MAAM,IAAI,CAAE7B,IAAI,CAAC6B,MAAM;IAE/D,IAAKD,OAAO,EAAG;MACd,OAAO,IAAI;IACZ;IAEA,MAAM2B,eAAe,GAAGnF,iBAAiB,CACxC,kBAAkB,EAClBkF,eACD,CAAC;IAED,MAAMtB,OAAO,GAAG9D,UAAU,CAAEqF,eAAe,EAAE;MAC5C,kBAAkB,EAAE9D,cAAc;MAClC,gBAAgB,EAAE,CAAC,CAAE8D;IACtB,CAAE,CAAC;IAEH,MAAMrB,UAAU,GAAG,CAAE/D,QAAQ,CAACyD,OAAO,CAAElC,OAAQ,CAAC;IAEhD,MAAMyC,OAAO,GAAGA,CAAE;MAAErD,IAAI;MAAEsD;IAAK,CAAC,KAAM;MACrC,IAAK,CAAEA,IAAI,CAACP,MAAM,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAMQ,GAAG,GAAI,IAAIvD,IAAM,EAAC;MAExB,OACCwD,aAAA,CAACD,GAAG,QACDD,IAAI,CAACG,GAAG,CAAE,CAAE;QAAEzC;MAAM,CAAC,EAAE0C,QAAQ,KAChCF,aAAA;QAAIG,GAAG,EAAGD;MAAU,GACjB1C,KAAK,CAACyC,GAAG,CACV,CACC;QAAE1D,OAAO;QAAEG,GAAG;QAAEE,KAAK;QAAEE;MAAM,CAAC,EAC9BsD,SAAS,KACL;QACJ,MAAMC,WAAW,GAAGzE,UAAU,CAAE;UAC/B,CAAG,kBAAkBkB,KAAO,EAAC,GAAIA;QAClC,CAAE,CAAC;QAEH,OACCkD,aAAA,CAACnE,QAAQ,CAACyE,OAAO;UAChBX,SAAS,EACRU,WAAW,GACRA,WAAW,GACXE,SACH;UACD,cAAazD,KAAO;UACpB0D,OAAO,EAAG9D,GAAK;UACf+D,KAAK,EAAGlE,OAAS;UACjB4D,GAAG,EAAGC,SAAW;UACjBxD,KAAK,EACJF,GAAG,KAAK,IAAI,GAAGE,KAAK,GAAG2D;QACvB,CACD,CAAC;MAEJ,CACD,CACG,CACH,CACE,CAAC;IAER,CAAC;IAED,OACCP,aAAA;MAAA,GAAajE,aAAa,CAACsD,IAAI,CAAC;IAAC,GAChCW,aAAA;MAAOL,SAAS,EAAGD,OAAO,KAAK,EAAE,GAAGa,SAAS,GAAGb;IAAS,GACxDM,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGxC;IAAM,CAAE,CAAC,EACrC0C,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGrC;IAAM,CAAE,CAAC,EACrCuC,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGpC;IAAM,CAAE,CAC9B,CAAC,EACNkC,UAAU,IACXI,aAAA,CAACnE,QAAQ,CAACyE,OAAO;MAACE,OAAO,EAAC,YAAY;MAACC,KAAK,EAAGrD;IAAS,CAAE,CAEpD,CAAC;EAEX,CAAC;EACD8D,UAAU,EAAIhE,UAAU,IAAM;IAC7B,OACCA,UAAU,CAAC8D,eAAe,IAC1B9D,UAAU,CAAC8D,eAAe,IAAI3E,SAAS,IACvC,CAAEa,UAAU,CAAC8B,KAAK;EAEpB,CAAC;EAED;EACA;EACAmC,OAAO,EAAIjE,UAAU,IAAM;IAC1B,OAAO;MACN,GAAGA,UAAU;MACb8D,eAAe,EAAET,SAAS;MAC1BvB,KAAK,EAAE;QACNnB,KAAK,EAAE;UACNI,UAAU,EAAE5B,SAAS,CAAEa,UAAU,CAAC8D,eAAe;QAClD;MACD;IACD,CAAC;EACF;AACD,CAAC;AAED,MAAMI,OAAO,GAAG;EACf7E,OAAO,EAAE;IACRC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACT,CAAC;EACDC,GAAG,EAAE;IACJF,IAAI,EAAE,QAAQ;IACdG,OAAO,EAAE,IAAI;IACbF,MAAM,EAAE;EACT,CAAC;EACDG,KAAK,EAAE;IACNJ,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,WAAW;IACnBI,SAAS,EAAE;EACZ;AACD,CAAC;AAED,MAAMwE,EAAE,GAAG;EACVnE,UAAU,EAAE;IACXC,cAAc,EAAE;MACfX,IAAI,EAAE,SAAS;MACfG,OAAO,EAAE;IACV,CAAC;IACDqE,eAAe,EAAE;MAChBxE,IAAI,EAAE;IACP,CAAC;IACDc,IAAI,EAAE;MACLd,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE6D;QACR;MACD;IACD,CAAC;IACD3D,IAAI,EAAE;MACLjB,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE6D;QACR;MACD;IACD,CAAC;IACD1D,IAAI,EAAE;MACLlB,IAAI,EAAE,OAAO;MACbG,OAAO,EAAE,EAAE;MACXF,MAAM,EAAE,OAAO;MACfY,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNhB,IAAI,EAAE,OAAO;UACbG,OAAO,EAAE,EAAE;UACXF,MAAM,EAAE,OAAO;UACfY,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE6D;QACR;MACD;IACD;EACD,CAAC;EACDzD,QAAQ,EAAE;IACTb,KAAK,EAAE;EACR,CAAC;EACDuC,IAAIA,CAAE;IAAEnC;EAAW,CAAC,EAAG;IACtB,MAAM;MAAEC,cAAc;MAAEG,IAAI;MAAEG,IAAI;MAAEC,IAAI;MAAEsD;IAAgB,CAAC,GAC1D9D,UAAU;IACX,MAAMoC,OAAO,GAAG,CAAEhC,IAAI,CAACiC,MAAM,IAAI,CAAE9B,IAAI,CAAC8B,MAAM,IAAI,CAAE7B,IAAI,CAAC6B,MAAM;IAE/D,IAAKD,OAAO,EAAG;MACd,OAAO,IAAI;IACZ;IAEA,MAAM2B,eAAe,GAAGnF,iBAAiB,CACxC,kBAAkB,EAClBkF,eACD,CAAC;IAED,MAAMtB,OAAO,GAAG9D,UAAU,CAAEqF,eAAe,EAAE;MAC5C,kBAAkB,EAAE9D,cAAc;MAClC,gBAAgB,EAAE,CAAC,CAAE8D;IACtB,CAAE,CAAC;IAEH,MAAMpB,OAAO,GAAGA,CAAE;MAAErD,IAAI;MAAEsD;IAAK,CAAC,KAAM;MACrC,IAAK,CAAEA,IAAI,CAACP,MAAM,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAMQ,GAAG,GAAI,IAAIvD,IAAM,EAAC;MAExB,OACCwD,aAAA,CAACD,GAAG,QACDD,IAAI,CAACG,GAAG,CAAE,CAAE;QAAEzC;MAAM,CAAC,EAAE0C,QAAQ,KAChCF,aAAA;QAAIG,GAAG,EAAGD;MAAU,GACjB1C,KAAK,CAACyC,GAAG,CACV,CAAE;QAAE1D,OAAO;QAAEG,GAAG;QAAEE;MAAM,CAAC,EAAEwD,SAAS,KACnCJ,aAAA,CAACnE,QAAQ,CAACyE,OAAO;QAChBE,OAAO,EAAG9D,GAAK;QACf+D,KAAK,EAAGlE,OAAS;QACjB4D,GAAG,EAAGC,SAAW;QACjBxD,KAAK,EACJF,GAAG,KAAK,IAAI,GAAGE,KAAK,GAAG2D;MACvB,CACD,CAEH,CACG,CACH,CACE,CAAC;IAER,CAAC;IAED,OACCP,aAAA;MAAOL,SAAS,EAAGD;IAAS,GAC3BM,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGxC;IAAM,CAAE,CAAC,EACrC0C,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGrC;IAAM,CAAE,CAAC,EACrCuC,aAAA,CAACH,OAAO;MAACrD,IAAI,EAAC,MAAM;MAACsD,IAAI,EAAGpC;IAAM,CAAE,CAC9B,CAAC;EAEV;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,CAAET,EAAE,EAAE4D,EAAE,EAAEE,EAAE,EAAEM,EAAE,CAAE"}
@@ -21,7 +21,7 @@ const metadata = {
21
21
  attributes: {
22
22
  hasFixedLayout: {
23
23
  type: "boolean",
24
- "default": false
24
+ "default": true
25
25
  },
26
26
  caption: {
27
27
  type: "rich-text",
@@ -2,9 +2,10 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
+ import { serialize } from '@wordpress/blocks';
5
6
  import { useSelect, useDispatch } from '@wordpress/data';
6
- import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, RecursionProvider, useHasRecursion, InspectorControls, __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
7
- import { PanelBody, Spinner, Modal, MenuItem } from '@wordpress/components';
7
+ import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, RecursionProvider, useHasRecursion, InspectorControls, __experimentalBlockPatternsList as BlockPatternsList, BlockControls } from '@wordpress/block-editor';
8
+ import { PanelBody, Spinner, Modal, MenuItem, ToolbarButton } from '@wordpress/components';
8
9
  import { useAsyncList } from '@wordpress/compose';
9
10
  import { __, sprintf } from '@wordpress/i18n';
10
11
  import { store as coreStore } from '@wordpress/core-data';
@@ -19,21 +20,20 @@ import TemplatePartSelectionModal from './selection-modal';
19
20
  import { TemplatePartAdvancedControls } from './advanced-controls';
20
21
  import TemplatePartInnerBlocks from './inner-blocks';
21
22
  import { createTemplatePartId } from './utils/create-template-part-id';
22
- import { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';
23
- import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useTemplatePartArea, useCreateTemplatePartFromBlocks } from './utils/hooks';
23
+ import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useTemplatePartArea } from './utils/hooks';
24
24
  function ReplaceButton({
25
25
  isEntityAvailable,
26
26
  area,
27
- clientId,
28
27
  templatePartId,
29
28
  isTemplatePartSelectionOpen,
30
29
  setIsTemplatePartSelectionOpen
31
30
  }) {
31
+ // This hook fetches patterns, so don't run it unconditionally in the main
32
+ // edit function!
32
33
  const {
33
34
  templateParts
34
35
  } = useAlternativeTemplateParts(area, templatePartId);
35
- const blockPatterns = useAlternativeBlockPatterns(area, clientId);
36
- const hasReplacements = !!templateParts.length || !!blockPatterns.length;
36
+ const hasReplacements = !!templateParts.length;
37
37
  const canReplace = isEntityAvailable && hasReplacements && (area === 'header' || area === 'footer');
38
38
  if (!canReplace) {
39
39
  return null;
@@ -47,19 +47,28 @@ function ReplaceButton({
47
47
  }, __('Replace'));
48
48
  }
49
49
  function TemplatesList({
50
- availableTemplates,
50
+ area,
51
+ clientId,
52
+ isEntityAvailable,
51
53
  onSelect
52
54
  }) {
53
- const shownTemplates = useAsyncList(availableTemplates);
54
- if (!availableTemplates) {
55
+ // This hook fetches patterns, so don't run it unconditionally in the main
56
+ // edit function!
57
+ const blockPatterns = useAlternativeBlockPatterns(area, clientId);
58
+ const canReplace = isEntityAvailable && !!blockPatterns.length && (area === 'header' || area === 'footer');
59
+ const shownTemplates = useAsyncList(blockPatterns);
60
+ if (!canReplace) {
55
61
  return null;
56
62
  }
57
- return createElement(BlockPatternsList, {
63
+ return createElement(PanelBody, {
64
+ title: __('Design')
65
+ }, createElement(BlockPatternsList, {
58
66
  label: __('Templates'),
59
- blockPatterns: availableTemplates,
67
+ blockPatterns: blockPatterns,
60
68
  shownPatterns: shownTemplates,
61
- onClickPattern: onSelect
62
- });
69
+ onClickPattern: onSelect,
70
+ showTitle: false
71
+ }));
63
72
  }
64
73
  export default function TemplatePartEdit({
65
74
  attributes,
@@ -69,6 +78,9 @@ export default function TemplatePartEdit({
69
78
  const {
70
79
  createSuccessNotice
71
80
  } = useDispatch(noticesStore);
81
+ const {
82
+ editEntityRecord
83
+ } = useDispatch(coreStore);
72
84
  const currentTheme = useSelect(select => select(coreStore).getCurrentTheme()?.stylesheet, []);
73
85
  const {
74
86
  slug,
@@ -83,14 +95,17 @@ export default function TemplatePartEdit({
83
95
  isResolved,
84
96
  hasInnerBlocks,
85
97
  isMissing,
86
- area
98
+ area,
99
+ onNavigateToEntityRecord,
100
+ title
87
101
  } = useSelect(select => {
88
102
  const {
89
103
  getEditedEntityRecord,
90
104
  hasFinishedResolution
91
105
  } = select(coreStore);
92
106
  const {
93
- getBlockCount
107
+ getBlockCount,
108
+ getSettings
94
109
  } = select(blockEditorStore);
95
110
  const getEntityArgs = ['postType', 'wp_template_part', templatePartId];
96
111
  const entityRecord = templatePartId ? getEditedEntityRecord(...getEntityArgs) : null;
@@ -100,21 +115,26 @@ export default function TemplatePartEdit({
100
115
  hasInnerBlocks: getBlockCount(clientId) > 0,
101
116
  isResolved: hasResolvedEntity,
102
117
  isMissing: hasResolvedEntity && (!entityRecord || Object.keys(entityRecord).length === 0),
103
- area: _area
118
+ area: _area,
119
+ onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord,
120
+ title: entityRecord?.title
104
121
  };
105
122
  }, [templatePartId, attributes.area, clientId]);
106
- const {
107
- templateParts
108
- } = useAlternativeTemplateParts(area, templatePartId);
109
- const blockPatterns = useAlternativeBlockPatterns(area, clientId);
110
- const hasReplacements = !!templateParts.length || !!blockPatterns.length;
111
123
  const areaObject = useTemplatePartArea(area);
112
124
  const blockProps = useBlockProps();
113
125
  const isPlaceholder = !slug;
114
126
  const isEntityAvailable = !isPlaceholder && !isMissing && isResolved;
115
127
  const TagName = tagName || areaObject.tagName;
116
- const canReplace = isEntityAvailable && hasReplacements && (area === 'header' || area === 'footer');
117
- const createFromBlocks = useCreateTemplatePartFromBlocks(area, setAttributes);
128
+ const onPatternSelect = async pattern => {
129
+ await editEntityRecord('postType', 'wp_template_part', templatePartId, {
130
+ blocks: pattern.blocks,
131
+ content: serialize(pattern.blocks)
132
+ });
133
+ createSuccessNotice(sprintf( /* translators: %s: template part title. */
134
+ __('Template Part "%s" updated.'), title || slug), {
135
+ type: 'snackbar'
136
+ });
137
+ };
118
138
 
119
139
  // We don't want to render a missing state if we have any inner blocks.
120
140
  // A new template part is automatically created if we have any inner blocks but no entity.
@@ -129,21 +149,16 @@ export default function TemplatePartEdit({
129
149
  ...blockProps
130
150
  }, createElement(Warning, null, __('Block cannot be rendered inside itself.')));
131
151
  }
132
- const partsAsPatterns = templateParts.map(templatePart => mapTemplatePartToBlockPattern(templatePart));
133
- const onTemplatePartSelect = templatePart => {
134
- setAttributes({
135
- slug: templatePart.slug,
136
- theme: templatePart.theme,
137
- area: undefined
138
- });
139
- createSuccessNotice(sprintf( /* translators: %s: template part title. */
140
- __('Template Part "%s" replaceed.'), templatePart.title?.rendered || templatePart.slug), {
141
- type: 'snackbar'
142
- });
143
- };
144
152
  return createElement(Fragment, null, createElement(RecursionProvider, {
145
153
  uniqueId: templatePartId
146
- }, createElement(InspectorControls, {
154
+ }, isEntityAvailable && onNavigateToEntityRecord && createElement(BlockControls, {
155
+ group: "other"
156
+ }, createElement(ToolbarButton, {
157
+ onClick: () => onNavigateToEntityRecord({
158
+ postId: templatePartId,
159
+ postType: 'wp_template_part'
160
+ })
161
+ }, __('Edit'))), createElement(InspectorControls, {
147
162
  group: "advanced"
148
163
  }, createElement(TemplatePartAdvancedControls, {
149
164
  tagName: tagName,
@@ -176,19 +191,12 @@ export default function TemplatePartEdit({
176
191
  isTemplatePartSelectionOpen,
177
192
  setIsTemplatePartSelectionOpen
178
193
  });
179
- }), canReplace && (partsAsPatterns.length > 0 || blockPatterns.length > 0) && createElement(InspectorControls, null, createElement(PanelBody, {
180
- title: __('Replace')
181
- }, createElement(TemplatesList, {
182
- availableTemplates: partsAsPatterns,
183
- onSelect: pattern => {
184
- onTemplatePartSelect(pattern.templatePart);
185
- }
186
- }), createElement(TemplatesList, {
187
- availableTemplates: blockPatterns,
188
- onSelect: (pattern, blocks) => {
189
- createFromBlocks(blocks, pattern.title);
190
- }
191
- }))), isEntityAvailable && createElement(TemplatePartInnerBlocks, {
194
+ }), createElement(InspectorControls, null, createElement(TemplatesList, {
195
+ area: area,
196
+ clientId: clientId,
197
+ isEntityAvailable: isEntityAvailable,
198
+ onSelect: pattern => onPatternSelect(pattern)
199
+ })), isEntityAvailable && createElement(TemplatePartInnerBlocks, {
192
200
  tagName: TagName,
193
201
  blockProps: blockProps,
194
202
  postId: templatePartId,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","__experimentalBlockPatternsList","BlockPatternsList","PanelBody","Spinner","Modal","MenuItem","useAsyncList","__","sprintf","coreStore","useState","noticesStore","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","mapTemplatePartToBlockPattern","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","useCreateTemplatePartFromBlocks","ReplaceButton","isEntityAvailable","area","clientId","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","blockPatterns","hasReplacements","length","canReplace","createElement","onClick","TemplatesList","availableTemplates","onSelect","shownTemplates","label","shownPatterns","onClickPattern","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","hasAlreadyRendered","isResolved","hasInnerBlocks","isMissing","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getEntityArgs","entityRecord","_area","hasResolvedEntity","Object","keys","areaObject","blockProps","isPlaceholder","TagName","createFromBlocks","partsAsPatterns","map","templatePart","onTemplatePartSelect","undefined","title","rendered","type","Fragment","uniqueId","group","defaultWrapper","onOpenSelectionModal","selectedClientIds","pattern","blocks","postId","overlayClassName","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\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} from '@wordpress/block-editor';\nimport { PanelBody, Spinner, Modal, MenuItem } 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 { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n\tuseCreateTemplatePartFromBlocks,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\tclientId,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.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( { availableTemplates, onSelect } ) {\n\tconst shownTemplates = useAsyncList( availableTemplates );\n\n\tif ( ! availableTemplates ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ availableTemplates }\n\t\t\tshownPatterns={ shownTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t/>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\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 { isResolved, hasInnerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount } = 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\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};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\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 canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\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\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\tmapTemplatePartToBlockPattern( templatePart )\n\t);\n\n\tconst onTemplatePartSelect = ( templatePart ) => {\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\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\" replaceed.' ),\n\t\t\t\ttemplatePart.title?.rendered || templatePart.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\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\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{ canReplace &&\n\t\t\t\t\t( partsAsPatterns.length > 0 ||\n\t\t\t\t\t\tblockPatterns.length > 0 ) && (\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Replace' ) }>\n\t\t\t\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\t\t\t\tavailableTemplates={ partsAsPatterns }\n\t\t\t\t\t\t\t\t\tonSelect={ ( pattern ) => {\n\t\t\t\t\t\t\t\t\t\tonTemplatePartSelect(\n\t\t\t\t\t\t\t\t\t\t\tpattern.templatePart\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\t\t\t\tavailableTemplates={ blockPatterns }\n\t\t\t\t\t\t\t\t\tonSelect={ ( pattern, blocks ) => {\n\t\t\t\t\t\t\t\t\t\tcreateFromBlocks(\n\t\t\t\t\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\t\t\t\t\tpattern.title\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\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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"}
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","ReplaceButton","isEntityAvailable","area","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","hasReplacements","length","canReplace","createElement","onClick","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","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getSettings","getEntityArgs","entityRecord","_area","hasResolvedEntity","Object","keys","areaObject","blockProps","isPlaceholder","TagName","onPatternSelect","pattern","blocks","content","type","Fragment","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} = 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\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};\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 && onNavigateToEntityRecord && (\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\tpostId: templatePartId,\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\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\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\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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"}
@@ -2,16 +2,25 @@ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { useEntityBlockEditor } from '@wordpress/core-data';
6
- import { InnerBlocks, useInnerBlocksProps, useSettings, store as blockEditorStore } from '@wordpress/block-editor';
5
+ import { useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';
6
+ import { InnerBlocks, useInnerBlocksProps, useSettings, store as blockEditorStore, useBlockEditingMode } from '@wordpress/block-editor';
7
7
  import { useSelect } from '@wordpress/data';
8
- export default function TemplatePartInnerBlocks({
9
- postId: id,
10
- hasInnerBlocks,
11
- layout,
12
- tagName: TagName,
13
- blockProps
14
- }) {
8
+ import { useMemo } from '@wordpress/element';
9
+ import { parse } from '@wordpress/blocks';
10
+ function useRenderAppender(hasInnerBlocks) {
11
+ const blockEditingMode = useBlockEditingMode();
12
+ // Disable appending when the editing mode is 'contentOnly'. This is so that the user can't
13
+ // append into a template part when editing a page in the site editor. See
14
+ // DisableNonPageContentBlocks. Ideally instead of (mis)using editing mode there would be a
15
+ // block editor API for achieving this.
16
+ if (blockEditingMode === 'contentOnly') {
17
+ return false;
18
+ }
19
+ if (!hasInnerBlocks) {
20
+ return InnerBlocks.ButtonBlockAppender;
21
+ }
22
+ }
23
+ function useLayout(layout) {
15
24
  const themeSupportsLayout = useSelect(select => {
16
25
  const {
17
26
  getSettings
@@ -19,7 +28,65 @@ export default function TemplatePartInnerBlocks({
19
28
  return getSettings()?.supportsLayout;
20
29
  }, []);
21
30
  const [defaultLayout] = useSettings('layout');
22
- const usedLayout = layout?.inherit ? defaultLayout || {} : layout;
31
+ if (themeSupportsLayout) {
32
+ return layout?.inherit ? defaultLayout || {} : layout;
33
+ }
34
+ }
35
+ function NonEditableTemplatePartPreview({
36
+ postId: id,
37
+ layout,
38
+ tagName: TagName,
39
+ blockProps
40
+ }) {
41
+ useBlockEditingMode('disabled');
42
+ const {
43
+ content,
44
+ editedBlocks
45
+ } = useSelect(select => {
46
+ if (!id) {
47
+ return {};
48
+ }
49
+ const {
50
+ getEditedEntityRecord
51
+ } = select(coreStore);
52
+ const editedRecord = getEditedEntityRecord('postType', 'wp_template_part', id, {
53
+ context: 'view'
54
+ });
55
+ return {
56
+ editedBlocks: editedRecord.blocks,
57
+ content: editedRecord.content
58
+ };
59
+ }, [id]);
60
+ const blocks = useMemo(() => {
61
+ if (!id) {
62
+ return undefined;
63
+ }
64
+ if (editedBlocks) {
65
+ return editedBlocks;
66
+ }
67
+ if (!content || typeof content !== 'string') {
68
+ return [];
69
+ }
70
+ return parse(content);
71
+ }, [id, editedBlocks, content]);
72
+ const innerBlocksProps = useInnerBlocksProps(blockProps, {
73
+ value: blocks,
74
+ onInput: () => {},
75
+ onChange: () => {},
76
+ renderAppender: false,
77
+ layout: useLayout(layout)
78
+ });
79
+ return createElement(TagName, {
80
+ ...innerBlocksProps
81
+ });
82
+ }
83
+ function EditableTemplatePartInnerBlocks({
84
+ postId: id,
85
+ hasInnerBlocks,
86
+ layout,
87
+ tagName: TagName,
88
+ blockProps
89
+ }) {
23
90
  const [blocks, onInput, onChange] = useEntityBlockEditor('postType', 'wp_template_part', {
24
91
  id
25
92
  });
@@ -27,11 +94,40 @@ export default function TemplatePartInnerBlocks({
27
94
  value: blocks,
28
95
  onInput,
29
96
  onChange,
30
- renderAppender: hasInnerBlocks ? undefined : InnerBlocks.ButtonBlockAppender,
31
- layout: themeSupportsLayout ? usedLayout : undefined
97
+ renderAppender: useRenderAppender(hasInnerBlocks),
98
+ layout: useLayout(layout)
32
99
  });
33
100
  return createElement(TagName, {
34
101
  ...innerBlocksProps
35
102
  });
36
103
  }
104
+ export default function TemplatePartInnerBlocks({
105
+ postId: id,
106
+ hasInnerBlocks,
107
+ layout,
108
+ tagName: TagName,
109
+ blockProps
110
+ }) {
111
+ const {
112
+ canViewTemplatePart,
113
+ canEditTemplatePart
114
+ } = useSelect(select => {
115
+ var _select$canUser, _select$canUser2;
116
+ 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
119
+ };
120
+ }, []);
121
+ if (!canViewTemplatePart) {
122
+ return null;
123
+ }
124
+ const TemplatePartInnerBlocksComponent = canEditTemplatePart ? EditableTemplatePartInnerBlocks : NonEditableTemplatePartPreview;
125
+ return createElement(TemplatePartInnerBlocksComponent, {
126
+ postId: id,
127
+ hasInnerBlocks: hasInnerBlocks,
128
+ layout: layout,
129
+ tagName: TagName,
130
+ blockProps: blockProps
131
+ });
132
+ }
37
133
  //# sourceMappingURL=inner-blocks.js.map