@wordpress/block-library 8.29.0 → 8.31.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 (527) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/audio/edit.js +7 -17
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js.map +1 -1
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/block/deprecated.js +71 -11
  7. package/build/block/deprecated.js.map +1 -1
  8. package/build/block/edit.js +65 -31
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +2 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/edit.native.js.map +1 -1
  13. package/build/buttons/transforms.js +16 -2
  14. package/build/buttons/transforms.js.map +1 -1
  15. package/build/code/save.js +3 -1
  16. package/build/code/save.js.map +1 -1
  17. package/build/code/transforms.js +17 -6
  18. package/build/code/transforms.js.map +1 -1
  19. package/build/columns/edit.js +3 -2
  20. package/build/columns/edit.js.map +1 -1
  21. package/build/comment-author-avatar/edit.js +1 -1
  22. package/build/comment-author-avatar/edit.js.map +1 -1
  23. package/build/cover/edit/block-controls.js +14 -3
  24. package/build/cover/edit/block-controls.js.map +1 -1
  25. package/build/cover/edit/index.js +2 -1
  26. package/build/cover/edit/index.js.map +1 -1
  27. package/build/cover/edit/inspector-controls.js.map +1 -1
  28. package/build/cover/edit/resizable-cover-popover.js +0 -6
  29. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  30. package/build/cover/edit.native.js.map +1 -1
  31. package/build/details/edit.js +1 -0
  32. package/build/details/edit.js.map +1 -1
  33. package/build/file/deprecated.js.map +1 -1
  34. package/build/file/edit.js +8 -13
  35. package/build/file/edit.js.map +1 -1
  36. package/build/file/edit.native.js.map +1 -1
  37. package/build/file/save.js.map +1 -1
  38. package/build/form-input/edit.js +1 -1
  39. package/build/form-input/edit.js.map +1 -1
  40. package/build/gallery/edit.js.map +1 -1
  41. package/build/gallery/gallery.native.js.map +1 -1
  42. package/build/gallery/v1/edit.js.map +1 -1
  43. package/build/gallery/v1/gallery.native.js.map +1 -1
  44. package/build/heading/index.js +4 -3
  45. package/build/heading/index.js.map +1 -1
  46. package/build/heading/transforms.js +17 -4
  47. package/build/heading/transforms.js.map +1 -1
  48. package/build/image/edit.js +8 -4
  49. package/build/image/edit.js.map +1 -1
  50. package/build/image/edit.native.js.map +1 -1
  51. package/build/image/image.js +22 -8
  52. package/build/image/image.js.map +1 -1
  53. package/build/latest-posts/edit.native.js.map +1 -1
  54. package/build/list/ordered-list-settings.js +1 -1
  55. package/build/list/ordered-list-settings.js.map +1 -1
  56. package/build/list-item/edit.js +1 -3
  57. package/build/list-item/edit.js.map +1 -1
  58. package/build/list-item/edit.native.js.map +1 -1
  59. package/build/list-item/hooks/index.js +0 -7
  60. package/build/list-item/hooks/index.js.map +1 -1
  61. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  62. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  63. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  64. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  65. package/build/list-item/hooks/use-space.js +16 -7
  66. package/build/list-item/hooks/use-space.js.map +1 -1
  67. package/build/list-item/index.js +4 -1
  68. package/build/list-item/index.js.map +1 -1
  69. package/build/media-text/edit.js +33 -9
  70. package/build/media-text/edit.js.map +1 -1
  71. package/build/media-text/index.js +5 -0
  72. package/build/media-text/index.js.map +1 -1
  73. package/build/media-text/media-container.js +30 -11
  74. package/build/media-text/media-container.js.map +1 -1
  75. package/build/media-text/media-container.native.js +1 -1
  76. package/build/media-text/media-container.native.js.map +1 -1
  77. package/build/media-text/save.js +2 -2
  78. package/build/media-text/save.js.map +1 -1
  79. package/build/navigation/edit/index.js +23 -29
  80. package/build/navigation/edit/index.js.map +1 -1
  81. package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
  82. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  83. package/build/navigation/edit/navigation-menu-selector.js +24 -23
  84. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  85. package/build/navigation/edit/placeholder/index.js +4 -4
  86. package/build/navigation/edit/placeholder/index.js.map +1 -1
  87. package/build/navigation/use-navigation-menu.js +15 -12
  88. package/build/navigation/use-navigation-menu.js.map +1 -1
  89. package/build/navigation-link/edit.js +12 -10
  90. package/build/navigation-link/edit.js.map +1 -1
  91. package/build/navigation-link/link-ui.js.map +1 -1
  92. package/build/navigation-submenu/edit.js +4 -0
  93. package/build/navigation-submenu/edit.js.map +1 -1
  94. package/build/paragraph/edit.native.js.map +1 -1
  95. package/build/pattern/edit.js +11 -0
  96. package/build/pattern/edit.js.map +1 -1
  97. package/build/post-author/edit.js +1 -0
  98. package/build/post-author/edit.js.map +1 -1
  99. package/build/post-excerpt/edit.js +1 -0
  100. package/build/post-excerpt/edit.js.map +1 -1
  101. package/build/post-featured-image/dimension-controls.js.map +1 -1
  102. package/build/post-featured-image/edit.js +12 -12
  103. package/build/post-featured-image/edit.js.map +1 -1
  104. package/build/post-featured-image/index.js +6 -0
  105. package/build/post-featured-image/index.js.map +1 -1
  106. package/build/post-navigation-link/edit.js +1 -0
  107. package/build/post-navigation-link/edit.js.map +1 -1
  108. package/build/post-terms/edit.js +2 -0
  109. package/build/post-terms/edit.js.map +1 -1
  110. package/build/post-title/edit.js +2 -2
  111. package/build/post-title/edit.js.map +1 -1
  112. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  113. package/build/query/utils.js +7 -5
  114. package/build/query/utils.js.map +1 -1
  115. package/build/query-pagination-next/edit.js.map +1 -1
  116. package/build/query-pagination-previous/edit.js.map +1 -1
  117. package/build/quote/deprecated.js +111 -12
  118. package/build/quote/deprecated.js.map +1 -1
  119. package/build/quote/edit.js +7 -7
  120. package/build/quote/edit.js.map +1 -1
  121. package/build/quote/index.js +1 -1
  122. package/build/quote/index.js.map +1 -1
  123. package/build/quote/save.js +2 -2
  124. package/build/quote/save.js.map +1 -1
  125. package/build/read-more/edit.js +1 -0
  126. package/build/read-more/edit.js.map +1 -1
  127. package/build/search/edit.js +3 -1
  128. package/build/search/edit.js.map +1 -1
  129. package/build/search/edit.native.js +2 -2
  130. package/build/search/edit.native.js.map +1 -1
  131. package/build/site-logo/edit.js +7 -2
  132. package/build/site-logo/edit.js.map +1 -1
  133. package/build/site-title/{edit/index.js → edit.js} +1 -1
  134. package/build/site-title/edit.js.map +1 -0
  135. package/build/social-link/edit.js +1 -1
  136. package/build/social-link/edit.js.map +1 -1
  137. package/build/social-link/icons/medium.js +1 -1
  138. package/build/social-link/icons/medium.js.map +1 -1
  139. package/build/social-link/icons/reddit.js +1 -1
  140. package/build/social-link/icons/reddit.js.map +1 -1
  141. package/build/social-links/edit.native.js.map +1 -1
  142. package/build/spacer/edit.js.map +1 -1
  143. package/build/table/deprecated.js +285 -175
  144. package/build/table/deprecated.js.map +1 -1
  145. package/build/table/index.js +1 -1
  146. package/build/table-of-contents/edit.js.map +1 -1
  147. package/build/template-part/edit/index.js +53 -1
  148. package/build/template-part/edit/index.js.map +1 -1
  149. package/build/template-part/edit/selection-modal.js +2 -8
  150. package/build/template-part/edit/selection-modal.js.map +1 -1
  151. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  152. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  153. package/build/utils/caption.js +15 -5
  154. package/build/utils/caption.js.map +1 -1
  155. package/build/utils/get-transformed-metadata.js +57 -0
  156. package/build/utils/get-transformed-metadata.js.map +1 -0
  157. package/build/utils/hooks.js +55 -4
  158. package/build/utils/hooks.js.map +1 -1
  159. package/build/video/edit-common-settings.js.map +1 -1
  160. package/build/video/edit.js +7 -16
  161. package/build/video/edit.js.map +1 -1
  162. package/build/video/edit.native.js +3 -8
  163. package/build/video/edit.native.js.map +1 -1
  164. package/build-module/audio/edit.js +10 -20
  165. package/build-module/audio/edit.js.map +1 -1
  166. package/build-module/audio/edit.native.js.map +1 -1
  167. package/build-module/avatar/edit.js.map +1 -1
  168. package/build-module/block/deprecated.js +71 -11
  169. package/build-module/block/deprecated.js.map +1 -1
  170. package/build-module/block/edit.js +66 -32
  171. package/build-module/block/edit.js.map +1 -1
  172. package/build-module/button/edit.js +3 -3
  173. package/build-module/button/edit.js.map +1 -1
  174. package/build-module/buttons/edit.native.js.map +1 -1
  175. package/build-module/buttons/transforms.js +16 -2
  176. package/build-module/buttons/transforms.js.map +1 -1
  177. package/build-module/code/save.js +3 -1
  178. package/build-module/code/save.js.map +1 -1
  179. package/build-module/code/transforms.js +17 -6
  180. package/build-module/code/transforms.js.map +1 -1
  181. package/build-module/columns/edit.js +3 -2
  182. package/build-module/columns/edit.js.map +1 -1
  183. package/build-module/comment-author-avatar/edit.js +1 -1
  184. package/build-module/comment-author-avatar/edit.js.map +1 -1
  185. package/build-module/cover/edit/block-controls.js +15 -4
  186. package/build-module/cover/edit/block-controls.js.map +1 -1
  187. package/build-module/cover/edit/index.js +2 -1
  188. package/build-module/cover/edit/index.js.map +1 -1
  189. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  190. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  191. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  192. package/build-module/cover/edit.native.js.map +1 -1
  193. package/build-module/details/edit.js +1 -0
  194. package/build-module/details/edit.js.map +1 -1
  195. package/build-module/file/deprecated.js.map +1 -1
  196. package/build-module/file/edit.js +9 -14
  197. package/build-module/file/edit.js.map +1 -1
  198. package/build-module/file/edit.native.js.map +1 -1
  199. package/build-module/file/save.js.map +1 -1
  200. package/build-module/form-input/edit.js +1 -1
  201. package/build-module/form-input/edit.js.map +1 -1
  202. package/build-module/gallery/edit.js.map +1 -1
  203. package/build-module/gallery/gallery.native.js.map +1 -1
  204. package/build-module/gallery/v1/edit.js.map +1 -1
  205. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  206. package/build-module/heading/index.js +4 -3
  207. package/build-module/heading/index.js.map +1 -1
  208. package/build-module/heading/transforms.js +17 -4
  209. package/build-module/heading/transforms.js.map +1 -1
  210. package/build-module/image/edit.js +9 -5
  211. package/build-module/image/edit.js.map +1 -1
  212. package/build-module/image/edit.native.js.map +1 -1
  213. package/build-module/image/image.js +23 -9
  214. package/build-module/image/image.js.map +1 -1
  215. package/build-module/latest-posts/edit.native.js.map +1 -1
  216. package/build-module/list/ordered-list-settings.js +1 -1
  217. package/build-module/list/ordered-list-settings.js.map +1 -1
  218. package/build-module/list-item/edit.js +2 -4
  219. package/build-module/list-item/edit.js.map +1 -1
  220. package/build-module/list-item/edit.native.js.map +1 -1
  221. package/build-module/list-item/hooks/index.js +0 -1
  222. package/build-module/list-item/hooks/index.js.map +1 -1
  223. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  224. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  225. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  226. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  227. package/build-module/list-item/hooks/use-space.js +17 -8
  228. package/build-module/list-item/hooks/use-space.js.map +1 -1
  229. package/build-module/list-item/index.js +4 -1
  230. package/build-module/list-item/index.js.map +1 -1
  231. package/build-module/media-text/edit.js +34 -10
  232. package/build-module/media-text/edit.js.map +1 -1
  233. package/build-module/media-text/index.js +5 -0
  234. package/build-module/media-text/index.js.map +1 -1
  235. package/build-module/media-text/media-container.js +31 -12
  236. package/build-module/media-text/media-container.js.map +1 -1
  237. package/build-module/media-text/media-container.native.js +1 -1
  238. package/build-module/media-text/media-container.native.js.map +1 -1
  239. package/build-module/media-text/save.js +2 -2
  240. package/build-module/media-text/save.js.map +1 -1
  241. package/build-module/navigation/edit/index.js +24 -30
  242. package/build-module/navigation/edit/index.js.map +1 -1
  243. package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
  244. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  245. package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
  246. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  247. package/build-module/navigation/edit/placeholder/index.js +4 -4
  248. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  249. package/build-module/navigation/use-navigation-menu.js +15 -12
  250. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  251. package/build-module/navigation-link/edit.js +13 -11
  252. package/build-module/navigation-link/edit.js.map +1 -1
  253. package/build-module/navigation-link/link-ui.js.map +1 -1
  254. package/build-module/navigation-submenu/edit.js +4 -0
  255. package/build-module/navigation-submenu/edit.js.map +1 -1
  256. package/build-module/paragraph/edit.native.js.map +1 -1
  257. package/build-module/pattern/edit.js +11 -0
  258. package/build-module/pattern/edit.js.map +1 -1
  259. package/build-module/post-author/edit.js +1 -0
  260. package/build-module/post-author/edit.js.map +1 -1
  261. package/build-module/post-excerpt/edit.js +1 -0
  262. package/build-module/post-excerpt/edit.js.map +1 -1
  263. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  264. package/build-module/post-featured-image/edit.js +13 -13
  265. package/build-module/post-featured-image/edit.js.map +1 -1
  266. package/build-module/post-featured-image/index.js +6 -0
  267. package/build-module/post-featured-image/index.js.map +1 -1
  268. package/build-module/post-navigation-link/edit.js +1 -0
  269. package/build-module/post-navigation-link/edit.js.map +1 -1
  270. package/build-module/post-terms/edit.js +2 -0
  271. package/build-module/post-terms/edit.js.map +1 -1
  272. package/build-module/post-title/edit.js +2 -2
  273. package/build-module/post-title/edit.js.map +1 -1
  274. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  275. package/build-module/query/utils.js +7 -5
  276. package/build-module/query/utils.js.map +1 -1
  277. package/build-module/query-pagination-next/edit.js.map +1 -1
  278. package/build-module/query-pagination-previous/edit.js.map +1 -1
  279. package/build-module/quote/deprecated.js +112 -13
  280. package/build-module/quote/deprecated.js.map +1 -1
  281. package/build-module/quote/edit.js +7 -7
  282. package/build-module/quote/edit.js.map +1 -1
  283. package/build-module/quote/index.js +1 -1
  284. package/build-module/quote/index.js.map +1 -1
  285. package/build-module/quote/save.js +2 -2
  286. package/build-module/quote/save.js.map +1 -1
  287. package/build-module/read-more/edit.js +1 -0
  288. package/build-module/read-more/edit.js.map +1 -1
  289. package/build-module/search/edit.js +3 -1
  290. package/build-module/search/edit.js.map +1 -1
  291. package/build-module/search/edit.native.js +2 -2
  292. package/build-module/search/edit.native.js.map +1 -1
  293. package/build-module/site-logo/edit.js +7 -2
  294. package/build-module/site-logo/edit.js.map +1 -1
  295. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  296. package/build-module/site-title/edit.js.map +1 -0
  297. package/build-module/social-link/edit.js +1 -1
  298. package/build-module/social-link/edit.js.map +1 -1
  299. package/build-module/social-link/icons/medium.js +1 -1
  300. package/build-module/social-link/icons/medium.js.map +1 -1
  301. package/build-module/social-link/icons/reddit.js +1 -1
  302. package/build-module/social-link/icons/reddit.js.map +1 -1
  303. package/build-module/social-links/edit.native.js.map +1 -1
  304. package/build-module/spacer/edit.js.map +1 -1
  305. package/build-module/table/deprecated.js +286 -176
  306. package/build-module/table/deprecated.js.map +1 -1
  307. package/build-module/table/index.js +1 -1
  308. package/build-module/table-of-contents/edit.js.map +1 -1
  309. package/build-module/template-part/edit/index.js +57 -5
  310. package/build-module/template-part/edit/index.js.map +1 -1
  311. package/build-module/template-part/edit/selection-modal.js +2 -8
  312. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  313. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  314. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  315. package/build-module/utils/caption.js +13 -3
  316. package/build-module/utils/caption.js.map +1 -1
  317. package/build-module/utils/get-transformed-metadata.js +51 -0
  318. package/build-module/utils/get-transformed-metadata.js.map +1 -0
  319. package/build-module/utils/hooks.js +54 -3
  320. package/build-module/utils/hooks.js.map +1 -1
  321. package/build-module/video/edit-common-settings.js.map +1 -1
  322. package/build-module/video/edit.js +10 -19
  323. package/build-module/video/edit.js.map +1 -1
  324. package/build-module/video/edit.native.js +3 -8
  325. package/build-module/video/edit.native.js.map +1 -1
  326. package/build-style/common-rtl.css +1 -0
  327. package/build-style/common.css +1 -0
  328. package/build-style/cover/style-rtl.css +2 -1
  329. package/build-style/cover/style.css +2 -1
  330. package/build-style/editor-rtl.css +11 -2
  331. package/build-style/editor.css +11 -2
  332. package/build-style/file/editor-rtl.css +3 -0
  333. package/build-style/file/editor.css +3 -0
  334. package/build-style/group/editor-rtl.css +1 -1
  335. package/build-style/group/editor.css +1 -1
  336. package/build-style/media-text/editor-rtl.css +7 -1
  337. package/build-style/media-text/editor.css +7 -1
  338. package/build-style/search/style-rtl.css +2 -0
  339. package/build-style/search/style.css +2 -0
  340. package/build-style/social-links/style-rtl.css +2 -2
  341. package/build-style/social-links/style.css +2 -2
  342. package/build-style/style-rtl.css +6 -3
  343. package/build-style/style.css +6 -3
  344. package/package.json +34 -34
  345. package/src/archives/index.php +4 -0
  346. package/src/audio/edit.js +9 -19
  347. package/src/audio/edit.native.js +3 -3
  348. package/src/avatar/edit.js +1 -1
  349. package/src/avatar/index.php +6 -0
  350. package/src/block/deprecated.js +76 -11
  351. package/src/block/edit.js +100 -32
  352. package/src/block/index.php +27 -12
  353. package/src/block/test/edit.native.js +67 -0
  354. package/src/button/edit.js +4 -3
  355. package/src/buttons/edit.native.js +1 -1
  356. package/src/buttons/transforms.js +14 -4
  357. package/src/calendar/index.php +17 -0
  358. package/src/categories/index.php +6 -0
  359. package/src/code/save.js +7 -1
  360. package/src/code/transforms.js +20 -5
  361. package/src/columns/edit.js +3 -2
  362. package/src/comment-author-avatar/edit.js +1 -1
  363. package/src/comment-author-name/index.php +4 -0
  364. package/src/comment-content/index.php +4 -0
  365. package/src/comment-date/index.php +4 -0
  366. package/src/comment-edit-link/index.php +4 -0
  367. package/src/comment-reply-link/index.php +4 -0
  368. package/src/comment-template/index.php +4 -0
  369. package/src/comments/index.php +12 -0
  370. package/src/comments-pagination/index.php +4 -0
  371. package/src/comments-pagination-next/index.php +4 -0
  372. package/src/comments-pagination-numbers/index.php +4 -0
  373. package/src/comments-pagination-previous/index.php +4 -0
  374. package/src/comments-title/index.php +4 -0
  375. package/src/cover/edit/block-controls.js +16 -2
  376. package/src/cover/edit/index.js +6 -3
  377. package/src/cover/edit/inspector-controls.js +1 -1
  378. package/src/cover/edit/resizable-cover-popover.js +1 -6
  379. package/src/cover/edit.native.js +1 -1
  380. package/src/cover/index.php +4 -0
  381. package/src/cover/style.scss +3 -2
  382. package/src/details/edit.js +1 -0
  383. package/src/file/deprecated.js +3 -3
  384. package/src/file/edit.js +10 -15
  385. package/src/file/edit.native.js +4 -4
  386. package/src/file/editor.scss +3 -0
  387. package/src/file/index.php +4 -0
  388. package/src/file/save.js +1 -1
  389. package/src/footnotes/index.php +1 -1
  390. package/src/form-input/edit.js +1 -1
  391. package/src/gallery/edit.js +3 -3
  392. package/src/gallery/gallery.native.js +1 -1
  393. package/src/gallery/index.php +6 -0
  394. package/src/gallery/test/index.native.js +1 -1
  395. package/src/gallery/v1/edit.js +2 -2
  396. package/src/gallery/v1/gallery.native.js +1 -1
  397. package/src/group/editor.scss +1 -1
  398. package/src/heading/index.js +4 -3
  399. package/src/heading/index.php +4 -0
  400. package/src/heading/transforms.js +27 -8
  401. package/src/home-link/index.php +10 -0
  402. package/src/image/edit.js +13 -5
  403. package/src/image/edit.native.js +1 -1
  404. package/src/image/editor.scss +1 -0
  405. package/src/image/image.js +34 -22
  406. package/src/image/index.php +12 -1
  407. package/src/latest-comments/index.php +4 -0
  408. package/src/latest-posts/edit.native.js +1 -1
  409. package/src/latest-posts/index.php +8 -0
  410. package/src/list/ordered-list-settings.js +1 -1
  411. package/src/list-item/edit.js +1 -2
  412. package/src/list-item/edit.native.js +1 -1
  413. package/src/list-item/hooks/index.js +0 -1
  414. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  415. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  416. package/src/list-item/hooks/use-space.js +16 -9
  417. package/src/list-item/index.js +3 -0
  418. package/src/loginout/index.php +4 -0
  419. package/src/media-text/block.json +5 -0
  420. package/src/media-text/edit.js +70 -19
  421. package/src/media-text/editor.scss +7 -1
  422. package/src/media-text/index.php +70 -0
  423. package/src/media-text/media-container.js +49 -9
  424. package/src/media-text/media-container.native.js +5 -3
  425. package/src/media-text/save.js +2 -2
  426. package/src/media-text/test/edit.native.js +58 -0
  427. package/src/missing/test/edit-integration.native.js +2 -1
  428. package/src/navigation/edit/index.js +68 -72
  429. package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
  430. package/src/navigation/edit/navigation-menu-selector.js +39 -21
  431. package/src/navigation/edit/placeholder/index.js +4 -4
  432. package/src/navigation/edit/test/navigation-menu-selector.js +77 -55
  433. package/src/navigation/index.php +118 -34
  434. package/src/navigation/test/use-navigation-menu.js +21 -21
  435. package/src/navigation/use-navigation-menu.js +23 -9
  436. package/src/navigation-link/edit.js +12 -13
  437. package/src/navigation-link/index.php +14 -0
  438. package/src/navigation-link/link-ui.js +2 -2
  439. package/src/navigation-submenu/edit.js +4 -0
  440. package/src/navigation-submenu/index.php +8 -0
  441. package/src/page-list/index.php +12 -0
  442. package/src/page-list-item/index.php +2 -0
  443. package/src/paragraph/edit.native.js +1 -1
  444. package/src/paragraph/test/edit.native.js +36 -0
  445. package/src/pattern/edit.js +14 -0
  446. package/src/pattern/index.php +2 -0
  447. package/src/post-author/edit.js +1 -0
  448. package/src/post-author/index.php +4 -0
  449. package/src/post-author-biography/index.php +4 -0
  450. package/src/post-author-name/index.php +4 -0
  451. package/src/post-comments-form/index.php +6 -0
  452. package/src/post-content/index.php +4 -0
  453. package/src/post-date/index.php +4 -0
  454. package/src/post-excerpt/edit.js +2 -1
  455. package/src/post-excerpt/index.php +4 -0
  456. package/src/post-featured-image/block.json +6 -0
  457. package/src/post-featured-image/dimension-controls.js +4 -4
  458. package/src/post-featured-image/edit.js +14 -12
  459. package/src/post-featured-image/index.php +15 -0
  460. package/src/post-navigation-link/edit.js +2 -1
  461. package/src/post-navigation-link/index.php +4 -0
  462. package/src/post-template/index.php +6 -0
  463. package/src/post-terms/edit.js +2 -0
  464. package/src/post-terms/index.php +6 -0
  465. package/src/post-title/edit.js +49 -43
  466. package/src/post-title/index.php +2 -0
  467. package/src/query/edit/pattern-selection-modal.js +1 -1
  468. package/src/query/index.php +2 -0
  469. package/src/query/utils.js +6 -4
  470. package/src/query-no-results/index.php +4 -0
  471. package/src/query-pagination/index.php +4 -0
  472. package/src/query-pagination-next/edit.js +1 -1
  473. package/src/query-pagination-next/index.php +4 -0
  474. package/src/query-pagination-numbers/index.php +4 -0
  475. package/src/query-pagination-previous/edit.js +1 -1
  476. package/src/query-pagination-previous/index.php +4 -0
  477. package/src/query-title/index.php +4 -0
  478. package/src/quote/block.json +1 -1
  479. package/src/quote/deprecated.js +110 -15
  480. package/src/quote/edit.js +16 -10
  481. package/src/quote/save.js +2 -2
  482. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  483. package/src/read-more/edit.js +2 -1
  484. package/src/read-more/index.php +4 -0
  485. package/src/rss/index.php +4 -0
  486. package/src/search/edit.js +3 -1
  487. package/src/search/edit.native.js +6 -6
  488. package/src/search/index.php +20 -2
  489. package/src/search/style.scss +2 -0
  490. package/src/shortcode/index.php +4 -0
  491. package/src/site-logo/edit.js +11 -6
  492. package/src/site-logo/index.php +20 -0
  493. package/src/site-tagline/index.php +4 -0
  494. package/src/site-title/index.php +4 -0
  495. package/src/social-link/edit.js +2 -2
  496. package/src/social-link/icons/medium.js +1 -1
  497. package/src/social-link/icons/reddit.js +1 -1
  498. package/src/social-link/index.php +22 -9
  499. package/src/social-link/socials-with-bg.scss +1 -1
  500. package/src/social-link/socials-without-bg.scss +1 -1
  501. package/src/social-links/edit.native.js +1 -1
  502. package/src/spacer/edit.js +1 -1
  503. package/src/table/block.json +1 -1
  504. package/src/table/deprecated.js +308 -175
  505. package/src/table-of-contents/edit.js +1 -1
  506. package/src/tag-cloud/index.php +4 -0
  507. package/src/template-part/edit/index.js +91 -4
  508. package/src/template-part/edit/selection-modal.js +4 -8
  509. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  510. package/src/template-part/index.php +10 -0
  511. package/src/term-description/index.php +4 -0
  512. package/src/utils/caption.js +10 -1
  513. package/src/utils/get-transformed-metadata.js +65 -0
  514. package/src/utils/hooks.js +53 -3
  515. package/src/video/edit-common-settings.js +1 -1
  516. package/src/video/edit.js +10 -18
  517. package/src/video/edit.native.js +7 -8
  518. package/src/video/test/edit.native.js +0 -14
  519. package/tsconfig.json +1 -0
  520. package/build/list-item/hooks/use-copy.js +0 -39
  521. package/build/list-item/hooks/use-copy.js.map +0 -1
  522. package/build/site-title/edit/index.js.map +0 -1
  523. package/build-module/list-item/hooks/use-copy.js +0 -32
  524. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  525. package/build-module/site-title/edit/index.js.map +0 -1
  526. package/src/list-item/hooks/use-copy.js +0 -38
  527. /package/src/site-title/{edit/index.js → edit.js} +0 -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":"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"}
@@ -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",
@@ -1 +1 @@
1
- {"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","tableOfContents","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","instanceId","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","headingTree","toolbarControls","createElement","onClick","ordered","values","nestedHeadingList","inspectorControls","title","__nextHasNoMarginBottom","label","checked","onChange","value","help","length","Fragment","instructions","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings A list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {string} props.clientId\n * @param {(attributes: Object) => void} props.setAttributes\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/table-of-contents/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\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)\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={\n\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Toggle to only include headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation={ true }\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t/>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","tableOfContents","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","instanceId","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","headingTree","toolbarControls","createElement","onClick","ordered","values","nestedHeadingList","inspectorControls","title","__nextHasNoMarginBottom","label","checked","onChange","value","help","length","Fragment","instructions","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings A list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {string} props.clientId\n * @param {(attributes: Object) => void} props.setAttributes\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/table-of-contents/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\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)\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={\n\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Toggle to only include headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t/>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -2,12 +2,14 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { useSelect } from '@wordpress/data';
6
- import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, RecursionProvider, useHasRecursion, InspectorControls } from '@wordpress/block-editor';
7
- import { Spinner, Modal, MenuItem } from '@wordpress/components';
5
+ 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';
8
+ import { useAsyncList } from '@wordpress/compose';
8
9
  import { __, sprintf } from '@wordpress/i18n';
9
10
  import { store as coreStore } from '@wordpress/core-data';
10
11
  import { useState } from '@wordpress/element';
12
+ import { store as noticesStore } from '@wordpress/notices';
11
13
 
12
14
  /**
13
15
  * Internal dependencies
@@ -17,7 +19,8 @@ import TemplatePartSelectionModal from './selection-modal';
17
19
  import { TemplatePartAdvancedControls } from './advanced-controls';
18
20
  import TemplatePartInnerBlocks from './inner-blocks';
19
21
  import { createTemplatePartId } from './utils/create-template-part-id';
20
- import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useTemplatePartArea } from './utils/hooks';
22
+ import { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';
23
+ import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useTemplatePartArea, useCreateTemplatePartFromBlocks } from './utils/hooks';
21
24
  function ReplaceButton({
22
25
  isEntityAvailable,
23
26
  area,
@@ -43,11 +46,29 @@ function ReplaceButton({
43
46
  "aria-haspopup": "dialog"
44
47
  }, __('Replace'));
45
48
  }
49
+ function TemplatesList({
50
+ availableTemplates,
51
+ onSelect
52
+ }) {
53
+ const shownTemplates = useAsyncList(availableTemplates);
54
+ if (!availableTemplates) {
55
+ return null;
56
+ }
57
+ return createElement(BlockPatternsList, {
58
+ label: __('Templates'),
59
+ blockPatterns: availableTemplates,
60
+ shownPatterns: shownTemplates,
61
+ onClickPattern: onSelect
62
+ });
63
+ }
46
64
  export default function TemplatePartEdit({
47
65
  attributes,
48
66
  setAttributes,
49
67
  clientId
50
68
  }) {
69
+ const {
70
+ createSuccessNotice
71
+ } = useDispatch(noticesStore);
51
72
  const currentTheme = useSelect(select => select(coreStore).getCurrentTheme()?.stylesheet, []);
52
73
  const {
53
74
  slug,
@@ -82,11 +103,18 @@ export default function TemplatePartEdit({
82
103
  area: _area
83
104
  };
84
105
  }, [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;
85
111
  const areaObject = useTemplatePartArea(area);
86
112
  const blockProps = useBlockProps();
87
113
  const isPlaceholder = !slug;
88
114
  const isEntityAvailable = !isPlaceholder && !isMissing && isResolved;
89
115
  const TagName = tagName || areaObject.tagName;
116
+ const canReplace = isEntityAvailable && hasReplacements && (area === 'header' || area === 'footer');
117
+ const createFromBlocks = useCreateTemplatePartFromBlocks(area, setAttributes);
90
118
 
91
119
  // We don't want to render a missing state if we have any inner blocks.
92
120
  // A new template part is automatically created if we have any inner blocks but no entity.
@@ -101,6 +129,18 @@ export default function TemplatePartEdit({
101
129
  ...blockProps
102
130
  }, createElement(Warning, null, __('Block cannot be rendered inside itself.')));
103
131
  }
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" replaced.'), templatePart.title?.rendered || templatePart.slug), {
141
+ type: 'snackbar'
142
+ });
143
+ };
104
144
  return createElement(Fragment, null, createElement(RecursionProvider, {
105
145
  uniqueId: templatePartId
106
146
  }, createElement(InspectorControls, {
@@ -136,7 +176,19 @@ export default function TemplatePartEdit({
136
176
  isTemplatePartSelectionOpen,
137
177
  setIsTemplatePartSelectionOpen
138
178
  });
139
- }), isEntityAvailable && createElement(TemplatePartInnerBlocks, {
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, {
140
192
  tagName: TagName,
141
193
  blockProps: blockProps,
142
194
  postId: templatePartId,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","Spinner","Modal","MenuItem","__","sprintf","coreStore","useState","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","ReplaceButton","isEntityAvailable","area","clientId","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","blockPatterns","hasReplacements","length","canReplace","createElement","onClick","TemplatePartEdit","attributes","setAttributes","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","Fragment","uniqueId","group","defaultWrapper","onOpenSelectionModal","selectedClientIds","postId","overlayClassName","title","label","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport { Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\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\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\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\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\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 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\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<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\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={ true }\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":["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\" replaced.' ),\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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"}
@@ -6,7 +6,6 @@ import { useMemo, useState } from '@wordpress/element';
6
6
  import { __, sprintf } from '@wordpress/i18n';
7
7
  import { store as noticesStore } from '@wordpress/notices';
8
8
  import { useDispatch } from '@wordpress/data';
9
- import { parse } from '@wordpress/blocks';
10
9
  import { useAsyncList } from '@wordpress/compose';
11
10
  import { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
12
11
  import { SearchControl, __experimentalHStack as HStack } from '@wordpress/components';
@@ -15,7 +14,7 @@ import { SearchControl, __experimentalHStack as HStack } from '@wordpress/compon
15
14
  * Internal dependencies
16
15
  */
17
16
  import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useCreateTemplatePartFromBlocks } from './utils/hooks';
18
- import { createTemplatePartId } from './utils/create-template-part-id';
17
+ import { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';
19
18
  import { searchPatterns } from '../../utils/search-patterns';
20
19
  export default function TemplatePartSelectionModal({
21
20
  setAttributes,
@@ -30,12 +29,7 @@ export default function TemplatePartSelectionModal({
30
29
  } = useAlternativeTemplateParts(area, templatePartId);
31
30
  // We can map template parts to block patters to reuse the BlockPatternsList UI
32
31
  const filteredTemplateParts = useMemo(() => {
33
- const partsAsPatterns = templateParts.map(templatePart => ({
34
- name: createTemplatePartId(templatePart.theme, templatePart.slug),
35
- title: templatePart.title.rendered,
36
- blocks: parse(templatePart.content.raw),
37
- templatePart
38
- }));
32
+ const partsAsPatterns = templateParts.map(templatePart => mapTemplatePartToBlockPattern(templatePart));
39
33
  return searchPatterns(partsAsPatterns, searchValue);
40
34
  }, [templateParts, searchValue]);
41
35
  const shownTemplateParts = useAsyncList(filteredTemplateParts);
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useState","__","sprintf","store","noticesStore","useDispatch","parse","useAsyncList","__experimentalBlockPatternsList","BlockPatternsList","SearchControl","__experimentalHStack","HStack","useAlternativeBlockPatterns","useAlternativeTemplateParts","useCreateTemplatePartFromBlocks","createTemplatePartId","searchPatterns","TemplatePartSelectionModal","setAttributes","onClose","templatePartId","area","clientId","searchValue","setSearchValue","templateParts","filteredTemplateParts","partsAsPatterns","map","templatePart","name","theme","slug","title","rendered","blocks","content","raw","shownTemplateParts","blockPatterns","filteredBlockPatterns","shownBlockPatterns","createSuccessNotice","onTemplatePartSelect","undefined","type","createFromBlocks","hasTemplateParts","length","hasBlockPatterns","createElement","className","__nextHasNoMarginBottom","onChange","value","label","placeholder","shownPatterns","onClickPattern","pattern","alignment"],"sources":["@wordpress/block-library/src/template-part/edit/selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseCreateTemplatePartFromBlocks,\n} from './utils/hooks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function TemplatePartSelectionModal( {\n\tsetAttributes,\n\tonClose,\n\ttemplatePartId = null,\n\tarea,\n\tclientId,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\t// We can map template parts to block patters to reuse the BlockPatternsList UI\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tconst partsAsPatterns = templateParts.map( ( templatePart ) => ( {\n\t\t\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\t\t\ttitle: templatePart.title.rendered,\n\t\t\tblocks: parse( templatePart.content.raw ),\n\t\t\ttemplatePart,\n\t\t} ) );\n\n\t\treturn searchPatterns( partsAsPatterns, searchValue );\n\t}, [ templateParts, searchValue ] );\n\tconst shownTemplateParts = useAsyncList( filteredTemplateParts );\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\tconst shownBlockPatterns = useAsyncList( filteredBlockPatterns );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\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\" inserted.' ),\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\tonClose();\n\t};\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\tconst hasTemplateParts = !! filteredTemplateParts.length;\n\tconst hasBlockPatterns = !! filteredBlockPatterns.length;\n\n\treturn (\n\t\t<div className=\"block-library-template-part__selection-content\">\n\t\t\t<div className=\"block-library-template-part__selection-search\">\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\tlabel={ __( 'Search for replacements' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasTemplateParts && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Existing template parts' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredTemplateParts }\n\t\t\t\t\t\tshownPatterns={ shownTemplateParts }\n\t\t\t\t\t\tonClickPattern={ ( pattern ) => {\n\t\t\t\t\t\t\tonTemplatePartSelect( pattern.templatePart );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ hasBlockPatterns && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Patterns' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\t\t\t\tonClickPattern={ ( pattern, blocks ) => {\n\t\t\t\t\t\t\tcreateFromBlocks( blocks, pattern.title );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! hasTemplateParts && ! hasBlockPatterns && (\n\t\t\t\t<HStack alignment=\"center\">\n\t\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useMemo","useState","__","sprintf","store","noticesStore","useDispatch","useAsyncList","__experimentalBlockPatternsList","BlockPatternsList","SearchControl","__experimentalHStack","HStack","useAlternativeBlockPatterns","useAlternativeTemplateParts","useCreateTemplatePartFromBlocks","mapTemplatePartToBlockPattern","searchPatterns","TemplatePartSelectionModal","setAttributes","onClose","templatePartId","area","clientId","searchValue","setSearchValue","templateParts","filteredTemplateParts","partsAsPatterns","map","templatePart","shownTemplateParts","blockPatterns","filteredBlockPatterns","shownBlockPatterns","createSuccessNotice","onTemplatePartSelect","slug","theme","undefined","title","rendered","type","createFromBlocks","hasTemplateParts","length","hasBlockPatterns","createElement","className","__nextHasNoMarginBottom","onChange","value","label","placeholder","shownPatterns","onClickPattern","pattern","blocks","alignment"],"sources":["@wordpress/block-library/src/template-part/edit/selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseCreateTemplatePartFromBlocks,\n} from './utils/hooks';\nimport { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function TemplatePartSelectionModal( {\n\tsetAttributes,\n\tonClose,\n\ttemplatePartId = null,\n\tarea,\n\tclientId,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\t// We can map template parts to block patters to reuse the BlockPatternsList UI\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\t\tmapTemplatePartToBlockPattern( templatePart )\n\t\t);\n\n\t\treturn searchPatterns( partsAsPatterns, searchValue );\n\t}, [ templateParts, searchValue ] );\n\tconst shownTemplateParts = useAsyncList( filteredTemplateParts );\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\tconst shownBlockPatterns = useAsyncList( filteredBlockPatterns );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\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\" inserted.' ),\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\tonClose();\n\t};\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\tconst hasTemplateParts = !! filteredTemplateParts.length;\n\tconst hasBlockPatterns = !! filteredBlockPatterns.length;\n\n\treturn (\n\t\t<div className=\"block-library-template-part__selection-content\">\n\t\t\t<div className=\"block-library-template-part__selection-search\">\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\tlabel={ __( 'Search for replacements' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasTemplateParts && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Existing template parts' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredTemplateParts }\n\t\t\t\t\t\tshownPatterns={ shownTemplateParts }\n\t\t\t\t\t\tonClickPattern={ ( pattern ) => {\n\t\t\t\t\t\t\tonTemplatePartSelect( pattern.templatePart );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ hasBlockPatterns && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Patterns' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\t\t\t\tonClickPattern={ ( pattern, blocks ) => {\n\t\t\t\t\t\t\tcreateFromBlocks( blocks, pattern.title );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! hasTemplateParts && ! hasBlockPatterns && (\n\t\t\t\t<HStack alignment=\"center\">\n\t\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;AACtD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,+BAA+B,IAAIC,iBAAiB,QAAQ,yBAAyB;AAC9F,SACCC,aAAa,EACbC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;;AAE9B;AACA;AACA;AACA,SACCC,2BAA2B,EAC3BC,2BAA2B,EAC3BC,+BAA+B,QACzB,eAAe;AACtB,SAASC,6BAA6B,QAAQ,4CAA4C;AAC1F,SAASC,cAAc,QAAQ,6BAA6B;AAE5D,eAAe,SAASC,0BAA0BA,CAAE;EACnDC,aAAa;EACbC,OAAO;EACPC,cAAc,GAAG,IAAI;EACrBC,IAAI;EACJC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAGxB,QAAQ,CAAE,EAAG,CAAC;EAEtD,MAAM;IAAEyB;EAAc,CAAC,GAAGZ,2BAA2B,CACpDQ,IAAI,EACJD,cACD,CAAC;EACD;EACA,MAAMM,qBAAqB,GAAG3B,OAAO,CAAE,MAAM;IAC5C,MAAM4B,eAAe,GAAGF,aAAa,CAACG,GAAG,CAAIC,YAAY,IACxDd,6BAA6B,CAAEc,YAAa,CAC7C,CAAC;IAED,OAAOb,cAAc,CAAEW,eAAe,EAAEJ,WAAY,CAAC;EACtD,CAAC,EAAE,CAAEE,aAAa,EAAEF,WAAW,CAAG,CAAC;EACnC,MAAMO,kBAAkB,GAAGxB,YAAY,CAAEoB,qBAAsB,CAAC;EAChE,MAAMK,aAAa,GAAGnB,2BAA2B,CAAES,IAAI,EAAEC,QAAS,CAAC;EACnE,MAAMU,qBAAqB,GAAGjC,OAAO,CAAE,MAAM;IAC5C,OAAOiB,cAAc,CAAEe,aAAa,EAAER,WAAY,CAAC;EACpD,CAAC,EAAE,CAAEQ,aAAa,EAAER,WAAW,CAAG,CAAC;EACnC,MAAMU,kBAAkB,GAAG3B,YAAY,CAAE0B,qBAAsB,CAAC;EAEhE,MAAM;IAAEE;EAAoB,CAAC,GAAG7B,WAAW,CAAED,YAAa,CAAC;EAE3D,MAAM+B,oBAAoB,GAAKN,YAAY,IAAM;IAChDX,aAAa,CAAE;MACdkB,IAAI,EAAEP,YAAY,CAACO,IAAI;MACvBC,KAAK,EAAER,YAAY,CAACQ,KAAK;MACzBhB,IAAI,EAAEiB;IACP,CAAE,CAAC;IACHJ,mBAAmB,CAClBhC,OAAO,EACN;IACAD,EAAE,CAAE,8BAA+B,CAAC,EACpC4B,YAAY,CAACU,KAAK,EAAEC,QAAQ,IAAIX,YAAY,CAACO,IAC9C,CAAC,EACD;MACCK,IAAI,EAAE;IACP,CACD,CAAC;IACDtB,OAAO,CAAC,CAAC;EACV,CAAC;EAED,MAAMuB,gBAAgB,GAAG5B,+BAA+B,CACvDO,IAAI,EACJH,aACD,CAAC;EAED,MAAMyB,gBAAgB,GAAG,CAAC,CAAEjB,qBAAqB,CAACkB,MAAM;EACxD,MAAMC,gBAAgB,GAAG,CAAC,CAAEb,qBAAqB,CAACY,MAAM;EAExD,OACCE,aAAA;IAAKC,SAAS,EAAC;EAAgD,GAC9DD,aAAA;IAAKC,SAAS,EAAC;EAA+C,GAC7DD,aAAA,CAACrC,aAAa;IACbuC,uBAAuB;IACvBC,QAAQ,EAAGzB,cAAgB;IAC3B0B,KAAK,EAAG3B,WAAa;IACrB4B,KAAK,EAAGlD,EAAE,CAAE,yBAA0B,CAAG;IACzCmD,WAAW,EAAGnD,EAAE,CAAE,QAAS;EAAG,CAC9B,CACG,CAAC,EACJ0C,gBAAgB,IACjBG,aAAA,cACCA,aAAA,aAAM7C,EAAE,CAAE,yBAA0B,CAAO,CAAC,EAC5C6C,aAAA,CAACtC,iBAAiB;IACjBuB,aAAa,EAAGL,qBAAuB;IACvC2B,aAAa,EAAGvB,kBAAoB;IACpCwB,cAAc,EAAKC,OAAO,IAAM;MAC/BpB,oBAAoB,CAAEoB,OAAO,CAAC1B,YAAa,CAAC;IAC7C;EAAG,CACH,CACG,CACL,EAECgB,gBAAgB,IACjBC,aAAA,cACCA,aAAA,aAAM7C,EAAE,CAAE,UAAW,CAAO,CAAC,EAC7B6C,aAAA,CAACtC,iBAAiB;IACjBuB,aAAa,EAAGC,qBAAuB;IACvCqB,aAAa,EAAGpB,kBAAoB;IACpCqB,cAAc,EAAGA,CAAEC,OAAO,EAAEC,MAAM,KAAM;MACvCd,gBAAgB,CAAEc,MAAM,EAAED,OAAO,CAAChB,KAAM,CAAC;MACzCpB,OAAO,CAAC,CAAC;IACV;EAAG,CACH,CACG,CACL,EAEC,CAAEwB,gBAAgB,IAAI,CAAEE,gBAAgB,IACzCC,aAAA,CAACnC,MAAM;IAAC8C,SAAS,EAAC;EAAQ,GACzBX,aAAA,YAAK7C,EAAE,CAAE,mBAAoB,CAAM,CAC5B,CAEL,CAAC;AAER"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { parse } from '@wordpress/blocks';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { createTemplatePartId } from './create-template-part-id';
10
+
11
+ /**
12
+ * This maps the properties of a template part to those of a block pattern.
13
+ * @param {Object} templatePart
14
+ * @return {Object} The template part in the shape of block pattern.
15
+ */
16
+ export function mapTemplatePartToBlockPattern(templatePart) {
17
+ return {
18
+ name: createTemplatePartId(templatePart.theme, templatePart.slug),
19
+ title: templatePart.title.rendered,
20
+ blocks: parse(templatePart.content.raw),
21
+ templatePart
22
+ };
23
+ }
24
+ //# sourceMappingURL=map-template-part-to-block-pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parse","createTemplatePartId","mapTemplatePartToBlockPattern","templatePart","name","theme","slug","title","rendered","blocks","content","raw"],"sources":["@wordpress/block-library/src/template-part/edit/utils/map-template-part-to-block-pattern.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createTemplatePartId } from './create-template-part-id';\n\n/**\n * This maps the properties of a template part to those of a block pattern.\n * @param {Object} templatePart\n * @return {Object} The template part in the shape of block pattern.\n */\nexport function mapTemplatePartToBlockPattern( templatePart ) {\n\treturn {\n\t\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\t\ttitle: templatePart.title.rendered,\n\t\tblocks: parse( templatePart.content.raw ),\n\t\ttemplatePart,\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,QAAQ,mBAAmB;;AAEzC;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,2BAA2B;;AAEhE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,6BAA6BA,CAAEC,YAAY,EAAG;EAC7D,OAAO;IACNC,IAAI,EAAEH,oBAAoB,CAAEE,YAAY,CAACE,KAAK,EAAEF,YAAY,CAACG,IAAK,CAAC;IACnEC,KAAK,EAAEJ,YAAY,CAACI,KAAK,CAACC,QAAQ;IAClCC,MAAM,EAAET,KAAK,CAAEG,YAAY,CAACO,OAAO,CAACC,GAAI,CAAC;IACzCR;EACD,CAAC;AACF"}
@@ -10,10 +10,18 @@ import classnames from 'classnames';
10
10
  import { useState, useEffect, useCallback } from '@wordpress/element';
11
11
  import { usePrevious } from '@wordpress/compose';
12
12
  import { __ } from '@wordpress/i18n';
13
- import { RichText, BlockControls, __experimentalGetElementClassName } from '@wordpress/block-editor';
13
+ import { BlockControls, __experimentalGetElementClassName, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
14
14
  import { ToolbarButton } from '@wordpress/components';
15
15
  import { caption as captionIcon } from '@wordpress/icons';
16
16
  import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+ import { unlock } from '../lock-unlock';
22
+ const {
23
+ PrivateRichText: RichText
24
+ } = unlock(blockEditorPrivateApis);
17
25
  export function Caption({
18
26
  key = 'caption',
19
27
  attributes,
@@ -23,7 +31,8 @@ export function Caption({
23
31
  placeholder = __('Add caption'),
24
32
  label = __('Caption text'),
25
33
  showToolbarButton = true,
26
- className
34
+ className,
35
+ disableEditing
27
36
  }) {
28
37
  const caption = attributes[key];
29
38
  const prevCaption = usePrevious(caption);
@@ -76,7 +85,8 @@ export function Caption({
76
85
  caption: value
77
86
  }),
78
87
  inlineToolbar: true,
79
- __unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
88
+ __unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName())),
89
+ disableEditing: disableEditing
80
90
  }));
81
91
  }
82
92
  //# sourceMappingURL=caption.js.map