@wordpress/block-library 7.7.0 → 7.8.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 (489) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/audio/index.js +6 -1
  3. package/build/audio/index.js.map +1 -1
  4. package/build/avatar/hooks.js +2 -2
  5. package/build/avatar/hooks.js.map +1 -1
  6. package/build/block/edit.js.map +1 -1
  7. package/build/block/edit.native.js.map +1 -1
  8. package/build/button/deprecated.js.map +1 -1
  9. package/build/button/edit.js.map +1 -1
  10. package/build/button/edit.native.js.map +1 -1
  11. package/build/button/index.js +24 -1
  12. package/build/button/index.js.map +1 -1
  13. package/build/button/save.js.map +1 -1
  14. package/build/buttons/deprecated.js.map +1 -1
  15. package/build/buttons/edit.js.map +1 -1
  16. package/build/buttons/edit.native.js.map +1 -1
  17. package/build/column/deprecated.js.map +1 -1
  18. package/build/column/edit.js.map +1 -1
  19. package/build/column/edit.native.js.map +1 -1
  20. package/build/columns/deprecated.js.map +1 -1
  21. package/build/columns/edit.js +1 -1
  22. package/build/columns/edit.js.map +1 -1
  23. package/build/columns/edit.native.js +1 -1
  24. package/build/columns/edit.native.js.map +1 -1
  25. package/build/columns/index.js.map +1 -1
  26. package/build/columns/utils.js +1 -1
  27. package/build/columns/utils.js.map +1 -1
  28. package/build/comment-author-name/edit.js +4 -2
  29. package/build/comment-author-name/edit.js.map +1 -1
  30. package/build/comment-date/edit.js +1 -1
  31. package/build/comment-date/edit.js.map +1 -1
  32. package/build/comments-title/edit.js +1 -1
  33. package/build/comments-title/edit.js.map +1 -1
  34. package/build/cover/controls.native.js.map +1 -1
  35. package/build/cover/deprecated.js.map +1 -1
  36. package/build/cover/edit/block-controls.js +3 -10
  37. package/build/cover/edit/block-controls.js.map +1 -1
  38. package/build/cover/edit/index.js +21 -28
  39. package/build/cover/edit/index.js.map +1 -1
  40. package/build/cover/edit/inspector-controls.js +34 -6
  41. package/build/cover/edit/inspector-controls.js.map +1 -1
  42. package/build/cover/edit.native.js.map +1 -1
  43. package/build/cover/save.js.map +1 -1
  44. package/build/cover/transforms.js.map +1 -1
  45. package/build/embed/deprecated.js +6 -1
  46. package/build/embed/deprecated.js.map +1 -1
  47. package/build/embed/edit.js.map +1 -1
  48. package/build/embed/edit.native.js.map +1 -1
  49. package/build/embed/embed-controls.native.js.map +1 -1
  50. package/build/embed/index.js +6 -1
  51. package/build/embed/index.js.map +1 -1
  52. package/build/embed/transforms.js +6 -1
  53. package/build/embed/transforms.js.map +1 -1
  54. package/build/embed/util.js +6 -1
  55. package/build/embed/util.js.map +1 -1
  56. package/build/file/edit.js.map +1 -1
  57. package/build/file/edit.native.js.map +1 -1
  58. package/build/file/index.js.map +1 -1
  59. package/build/gallery/edit.js +1 -1
  60. package/build/gallery/edit.js.map +1 -1
  61. package/build/gallery/gallery.native.js.map +1 -1
  62. package/build/gallery/index.js.map +1 -1
  63. package/build/gallery/shared.js +27 -10
  64. package/build/gallery/shared.js.map +1 -1
  65. package/build/gallery/v1/edit.js.map +1 -1
  66. package/build/gallery/v1/gallery-image.js.map +1 -1
  67. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  68. package/build/heading/autogenerate-anchors.js +7 -2
  69. package/build/heading/autogenerate-anchors.js.map +1 -1
  70. package/build/heading/deprecated.js.map +1 -1
  71. package/build/heading/edit.js.map +1 -1
  72. package/build/image/deprecated.js.map +1 -1
  73. package/build/image/edit.native.js.map +1 -1
  74. package/build/image/image.js.map +1 -1
  75. package/build/image/index.js +5 -0
  76. package/build/image/index.js.map +1 -1
  77. package/build/image/transforms.js.map +1 -1
  78. package/build/image/utils.js +2 -1
  79. package/build/image/utils.js.map +1 -1
  80. package/build/index.js +1 -1
  81. package/build/index.js.map +1 -1
  82. package/build/latest-comments/edit.js.map +1 -1
  83. package/build/latest-posts/edit.js +1 -1
  84. package/build/latest-posts/edit.js.map +1 -1
  85. package/build/latest-posts/edit.native.js.map +1 -1
  86. package/build/list/index.js.map +1 -1
  87. package/build/list/v2/edit.js.map +1 -1
  88. package/build/list-item/hooks/use-backspace.js.map +1 -1
  89. package/build/list-item/hooks/use-enter.js.map +1 -1
  90. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  91. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  92. package/build/list-item/hooks/use-space.js.map +1 -1
  93. package/build/media-text/deprecated.js +5 -3
  94. package/build/media-text/deprecated.js.map +1 -1
  95. package/build/media-text/edit.native.js.map +1 -1
  96. package/build/media-text/media-container.js +3 -3
  97. package/build/media-text/media-container.js.map +1 -1
  98. package/build/media-text/media-container.native.js.map +1 -1
  99. package/build/media-text/save.js +3 -1
  100. package/build/media-text/save.js.map +1 -1
  101. package/build/missing/edit.native.js.map +1 -1
  102. package/build/navigation/deprecated.js.map +1 -1
  103. package/build/navigation/edit/index.js.map +1 -1
  104. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  105. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  106. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  107. package/build/navigation/use-navigation-entities.js.map +1 -1
  108. package/build/navigation/use-navigation-menu.js +130 -38
  109. package/build/navigation/use-navigation-menu.js.map +1 -1
  110. package/build/navigation/use-template-part-area-label.js +4 -1
  111. package/build/navigation/use-template-part-area-label.js.map +1 -1
  112. package/build/navigation-link/edit.js +14 -8
  113. package/build/navigation-link/edit.js.map +1 -1
  114. package/build/navigation-submenu/edit.js.map +1 -1
  115. package/build/page-list/convert-to-links-modal.js.map +1 -1
  116. package/build/page-list/edit.js.map +1 -1
  117. package/build/paragraph/deprecated.js +1 -1
  118. package/build/paragraph/deprecated.js.map +1 -1
  119. package/build/pattern/edit.js.map +1 -1
  120. package/build/post-author/edit.js.map +1 -1
  121. package/build/post-content/edit.js.map +1 -1
  122. package/build/post-featured-image/edit.js +10 -24
  123. package/build/post-featured-image/edit.js.map +1 -1
  124. package/build/post-navigation-link/index.js +4 -0
  125. package/build/post-navigation-link/index.js.map +1 -1
  126. package/build/pullquote/deprecated.js.map +1 -1
  127. package/build/query/edit/index.js +5 -1
  128. package/build/query/edit/index.js.map +1 -1
  129. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  130. package/build/query/edit/query-toolbar.js +16 -2
  131. package/build/query/edit/query-toolbar.js.map +1 -1
  132. package/build/quote/v2/edit.js.map +1 -1
  133. package/build/search/edit.js.map +1 -1
  134. package/build/search/edit.native.js.map +1 -1
  135. package/build/separator/use-deprecated-opacity.js.map +1 -1
  136. package/build/shortcode/edit.native.js.map +1 -1
  137. package/build/site-logo/edit.js +3 -12
  138. package/build/site-logo/edit.js.map +1 -1
  139. package/build/social-links/deprecated.js.map +1 -1
  140. package/build/social-links/edit.native.js.map +1 -1
  141. package/build/spacer/controls.js.map +1 -1
  142. package/build/table/deprecated.js.map +1 -1
  143. package/build/table/index.js +6 -1
  144. package/build/table/index.js.map +1 -1
  145. package/build/table/state.js.map +1 -1
  146. package/build/table-of-contents/edit.js.map +1 -1
  147. package/build/tag-cloud/edit.js.map +1 -1
  148. package/build/template-part/edit/advanced-controls.js +4 -1
  149. package/build/template-part/edit/advanced-controls.js.map +1 -1
  150. package/build/template-part/edit/index.js.map +1 -1
  151. package/build/template-part/edit/utils/hooks.js +4 -1
  152. package/build/template-part/edit/utils/hooks.js.map +1 -1
  153. package/build/transformationCategories.native.js.map +1 -1
  154. package/build/video/edit-common-settings.js.map +1 -1
  155. package/build/video/edit.native.js +43 -0
  156. package/build/video/edit.native.js.map +1 -1
  157. package/build/video/index.js +6 -1
  158. package/build/video/index.js.map +1 -1
  159. package/build-module/audio/index.js +6 -1
  160. package/build-module/audio/index.js.map +1 -1
  161. package/build-module/avatar/hooks.js +2 -2
  162. package/build-module/avatar/hooks.js.map +1 -1
  163. package/build-module/block/edit.js.map +1 -1
  164. package/build-module/block/edit.native.js.map +1 -1
  165. package/build-module/button/deprecated.js.map +1 -1
  166. package/build-module/button/edit.js.map +1 -1
  167. package/build-module/button/edit.native.js.map +1 -1
  168. package/build-module/button/index.js +24 -1
  169. package/build-module/button/index.js.map +1 -1
  170. package/build-module/button/save.js.map +1 -1
  171. package/build-module/buttons/deprecated.js.map +1 -1
  172. package/build-module/buttons/edit.js.map +1 -1
  173. package/build-module/buttons/edit.native.js.map +1 -1
  174. package/build-module/column/deprecated.js.map +1 -1
  175. package/build-module/column/edit.js.map +1 -1
  176. package/build-module/column/edit.native.js.map +1 -1
  177. package/build-module/columns/deprecated.js.map +1 -1
  178. package/build-module/columns/edit.js +2 -2
  179. package/build-module/columns/edit.js.map +1 -1
  180. package/build-module/columns/edit.native.js +2 -2
  181. package/build-module/columns/edit.native.js.map +1 -1
  182. package/build-module/columns/index.js.map +1 -1
  183. package/build-module/columns/utils.js +2 -2
  184. package/build-module/columns/utils.js.map +1 -1
  185. package/build-module/comment-author-name/edit.js +4 -2
  186. package/build-module/comment-author-name/edit.js.map +1 -1
  187. package/build-module/comment-date/edit.js +1 -1
  188. package/build-module/comment-date/edit.js.map +1 -1
  189. package/build-module/comments-title/edit.js +1 -1
  190. package/build-module/comments-title/edit.js.map +1 -1
  191. package/build-module/cover/controls.native.js.map +1 -1
  192. package/build-module/cover/deprecated.js.map +1 -1
  193. package/build-module/cover/edit/block-controls.js +3 -8
  194. package/build-module/cover/edit/block-controls.js.map +1 -1
  195. package/build-module/cover/edit/index.js +22 -29
  196. package/build-module/cover/edit/index.js.map +1 -1
  197. package/build-module/cover/edit/inspector-controls.js +32 -7
  198. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  199. package/build-module/cover/edit.native.js.map +1 -1
  200. package/build-module/cover/save.js.map +1 -1
  201. package/build-module/cover/transforms.js.map +1 -1
  202. package/build-module/embed/deprecated.js +6 -1
  203. package/build-module/embed/deprecated.js.map +1 -1
  204. package/build-module/embed/edit.js.map +1 -1
  205. package/build-module/embed/edit.native.js.map +1 -1
  206. package/build-module/embed/embed-controls.native.js.map +1 -1
  207. package/build-module/embed/index.js +6 -1
  208. package/build-module/embed/index.js.map +1 -1
  209. package/build-module/embed/transforms.js +6 -1
  210. package/build-module/embed/transforms.js.map +1 -1
  211. package/build-module/embed/util.js +6 -1
  212. package/build-module/embed/util.js.map +1 -1
  213. package/build-module/file/edit.js.map +1 -1
  214. package/build-module/file/edit.native.js.map +1 -1
  215. package/build-module/file/index.js.map +1 -1
  216. package/build-module/gallery/edit.js +2 -2
  217. package/build-module/gallery/edit.js.map +1 -1
  218. package/build-module/gallery/gallery.native.js.map +1 -1
  219. package/build-module/gallery/index.js.map +1 -1
  220. package/build-module/gallery/shared.js +25 -8
  221. package/build-module/gallery/shared.js.map +1 -1
  222. package/build-module/gallery/v1/edit.js.map +1 -1
  223. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  224. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  225. package/build-module/heading/autogenerate-anchors.js +5 -2
  226. package/build-module/heading/autogenerate-anchors.js.map +1 -1
  227. package/build-module/heading/deprecated.js.map +1 -1
  228. package/build-module/heading/edit.js.map +1 -1
  229. package/build-module/image/deprecated.js.map +1 -1
  230. package/build-module/image/edit.native.js.map +1 -1
  231. package/build-module/image/image.js.map +1 -1
  232. package/build-module/image/index.js +5 -0
  233. package/build-module/image/index.js.map +1 -1
  234. package/build-module/image/transforms.js.map +1 -1
  235. package/build-module/image/utils.js +2 -2
  236. package/build-module/image/utils.js.map +1 -1
  237. package/build-module/index.js +1 -1
  238. package/build-module/index.js.map +1 -1
  239. package/build-module/latest-comments/edit.js.map +1 -1
  240. package/build-module/latest-posts/edit.js +2 -2
  241. package/build-module/latest-posts/edit.js.map +1 -1
  242. package/build-module/latest-posts/edit.native.js.map +1 -1
  243. package/build-module/list/index.js.map +1 -1
  244. package/build-module/list/v2/edit.js.map +1 -1
  245. package/build-module/list-item/hooks/use-backspace.js.map +1 -1
  246. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  247. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  248. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  249. package/build-module/list-item/hooks/use-space.js.map +1 -1
  250. package/build-module/media-text/deprecated.js +3 -1
  251. package/build-module/media-text/deprecated.js.map +1 -1
  252. package/build-module/media-text/edit.native.js.map +1 -1
  253. package/build-module/media-text/media-container.js +3 -1
  254. package/build-module/media-text/media-container.js.map +1 -1
  255. package/build-module/media-text/media-container.native.js.map +1 -1
  256. package/build-module/media-text/save.js +4 -1
  257. package/build-module/media-text/save.js.map +1 -1
  258. package/build-module/missing/edit.native.js.map +1 -1
  259. package/build-module/navigation/deprecated.js.map +1 -1
  260. package/build-module/navigation/edit/index.js.map +1 -1
  261. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  262. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  263. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  264. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  265. package/build-module/navigation/use-navigation-menu.js +130 -38
  266. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  267. package/build-module/navigation/use-template-part-area-label.js +4 -1
  268. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  269. package/build-module/navigation-link/edit.js +14 -8
  270. package/build-module/navigation-link/edit.js.map +1 -1
  271. package/build-module/navigation-submenu/edit.js.map +1 -1
  272. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  273. package/build-module/page-list/edit.js.map +1 -1
  274. package/build-module/paragraph/deprecated.js +2 -2
  275. package/build-module/paragraph/deprecated.js.map +1 -1
  276. package/build-module/pattern/edit.js.map +1 -1
  277. package/build-module/post-author/edit.js.map +1 -1
  278. package/build-module/post-content/edit.js.map +1 -1
  279. package/build-module/post-featured-image/edit.js +10 -23
  280. package/build-module/post-featured-image/edit.js.map +1 -1
  281. package/build-module/post-navigation-link/index.js +4 -0
  282. package/build-module/post-navigation-link/index.js.map +1 -1
  283. package/build-module/pullquote/deprecated.js.map +1 -1
  284. package/build-module/query/edit/index.js +5 -1
  285. package/build-module/query/edit/index.js.map +1 -1
  286. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  287. package/build-module/query/edit/query-toolbar.js +14 -2
  288. package/build-module/query/edit/query-toolbar.js.map +1 -1
  289. package/build-module/quote/v2/edit.js.map +1 -1
  290. package/build-module/search/edit.js.map +1 -1
  291. package/build-module/search/edit.native.js.map +1 -1
  292. package/build-module/separator/use-deprecated-opacity.js.map +1 -1
  293. package/build-module/shortcode/edit.native.js.map +1 -1
  294. package/build-module/site-logo/edit.js +3 -11
  295. package/build-module/site-logo/edit.js.map +1 -1
  296. package/build-module/social-links/deprecated.js.map +1 -1
  297. package/build-module/social-links/edit.native.js.map +1 -1
  298. package/build-module/spacer/controls.js.map +1 -1
  299. package/build-module/table/deprecated.js.map +1 -1
  300. package/build-module/table/index.js +6 -1
  301. package/build-module/table/index.js.map +1 -1
  302. package/build-module/table/state.js.map +1 -1
  303. package/build-module/table-of-contents/edit.js.map +1 -1
  304. package/build-module/tag-cloud/edit.js.map +1 -1
  305. package/build-module/template-part/edit/advanced-controls.js +4 -1
  306. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  307. package/build-module/template-part/edit/index.js.map +1 -1
  308. package/build-module/template-part/edit/utils/hooks.js +4 -1
  309. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  310. package/build-module/transformationCategories.native.js.map +1 -1
  311. package/build-module/video/edit-common-settings.js.map +1 -1
  312. package/build-module/video/edit.native.js +42 -1
  313. package/build-module/video/edit.native.js.map +1 -1
  314. package/build-module/video/index.js +6 -1
  315. package/build-module/video/index.js.map +1 -1
  316. package/build-style/audio/style-rtl.css +0 -3
  317. package/build-style/audio/style.css +0 -3
  318. package/build-style/button/style-rtl.css +0 -5
  319. package/build-style/button/style.css +0 -5
  320. package/build-style/common-rtl.css +1 -3
  321. package/build-style/common.css +1 -3
  322. package/build-style/cover/editor-rtl.css +11 -0
  323. package/build-style/cover/editor.css +11 -0
  324. package/build-style/cover/style-rtl.css +1 -2
  325. package/build-style/cover/style.css +1 -2
  326. package/build-style/editor-rtl.css +11 -39
  327. package/build-style/editor.css +11 -39
  328. package/build-style/embed/style-rtl.css +0 -1
  329. package/build-style/embed/style.css +0 -1
  330. package/build-style/file/style-rtl.css +9 -7
  331. package/build-style/file/style.css +9 -7
  332. package/build-style/gallery/style-rtl.css +2 -4
  333. package/build-style/gallery/style.css +2 -4
  334. package/build-style/image/style-rtl.css +0 -3
  335. package/build-style/image/style.css +0 -3
  336. package/build-style/post-featured-image/editor-rtl.css +0 -27
  337. package/build-style/post-featured-image/editor.css +0 -27
  338. package/build-style/search/style-rtl.css +4 -4
  339. package/build-style/search/style.css +4 -4
  340. package/build-style/site-logo/editor-rtl.css +0 -12
  341. package/build-style/site-logo/editor.css +0 -12
  342. package/build-style/style-rtl.css +18 -38
  343. package/build-style/style.css +18 -38
  344. package/build-style/table/style-rtl.css +0 -1
  345. package/build-style/table/style.css +0 -1
  346. package/build-style/video/style-rtl.css +1 -5
  347. package/build-style/video/style.css +1 -5
  348. package/package.json +30 -29
  349. package/src/audio/block.json +6 -1
  350. package/src/audio/index.js +1 -2
  351. package/src/audio/style.scss +0 -2
  352. package/src/avatar/hooks.js +9 -6
  353. package/src/block/edit.js +4 -6
  354. package/src/block/edit.native.js +12 -16
  355. package/src/block/test/edit.native.js +5 -8
  356. package/src/button/block.json +24 -1
  357. package/src/button/deprecated.js +10 -46
  358. package/src/button/edit.js +4 -10
  359. package/src/button/edit.native.js +2 -3
  360. package/src/button/save.js +2 -10
  361. package/src/button/style.scss +0 -5
  362. package/src/buttons/deprecated.js +4 -6
  363. package/src/buttons/edit.js +3 -3
  364. package/src/buttons/edit.native.js +7 -11
  365. package/src/column/deprecated.js +2 -1
  366. package/src/column/edit.js +2 -3
  367. package/src/column/edit.native.js +2 -2
  368. package/src/columns/deprecated.js +4 -2
  369. package/src/columns/edit.js +6 -7
  370. package/src/columns/edit.native.js +12 -16
  371. package/src/columns/index.js +1 -2
  372. package/src/columns/utils.js +5 -3
  373. package/src/comment-author-name/edit.js +2 -2
  374. package/src/comment-date/edit.js +1 -1
  375. package/src/comments-title/edit.js +1 -1
  376. package/src/comments-title/index.php +1 -1
  377. package/src/cover/controls.native.js +2 -4
  378. package/src/cover/deprecated.js +10 -15
  379. package/src/cover/edit/block-controls.js +11 -20
  380. package/src/cover/edit/index.js +58 -55
  381. package/src/cover/edit/inspector-controls.js +38 -7
  382. package/src/cover/edit.native.js +8 -13
  383. package/src/cover/editor.scss +13 -0
  384. package/src/cover/save.js +2 -3
  385. package/src/cover/test/edit.native.js +4 -7
  386. package/src/cover/transforms.js +2 -7
  387. package/src/embed/block.json +6 -1
  388. package/src/embed/edit.js +38 -40
  389. package/src/embed/edit.native.js +46 -49
  390. package/src/embed/embed-controls.native.js +2 -3
  391. package/src/embed/style.scss +0 -1
  392. package/src/embed/test/index.native.js +24 -50
  393. package/src/file/edit.js +2 -4
  394. package/src/file/edit.native.js +14 -25
  395. package/src/file/index.js +1 -2
  396. package/src/file/style.scss +15 -14
  397. package/src/gallery/edit.js +8 -6
  398. package/src/gallery/gallery.native.js +2 -4
  399. package/src/gallery/index.js +2 -4
  400. package/src/gallery/shared.js +22 -9
  401. package/src/gallery/test/index.native.js +18 -34
  402. package/src/gallery/v1/edit.js +15 -20
  403. package/src/gallery/v1/gallery-image.js +6 -11
  404. package/src/gallery/v1/gallery-image.native.js +8 -17
  405. package/src/heading/autogenerate-anchors.js +8 -5
  406. package/src/heading/deprecated.js +6 -21
  407. package/src/heading/edit.js +2 -3
  408. package/src/image/block.json +5 -0
  409. package/src/image/deprecated.js +6 -29
  410. package/src/image/edit.native.js +14 -26
  411. package/src/image/image.js +31 -38
  412. package/src/image/style.scss +0 -2
  413. package/src/image/transforms.js +4 -3
  414. package/src/image/utils.js +2 -2
  415. package/src/index.js +1 -1
  416. package/src/latest-comments/edit.js +2 -6
  417. package/src/latest-posts/edit.js +6 -7
  418. package/src/latest-posts/edit.native.js +10 -15
  419. package/src/list/index.js +1 -2
  420. package/src/list/test/migrate.js +1 -2
  421. package/src/list/v2/edit.js +6 -9
  422. package/src/list-item/hooks/use-backspace.js +2 -3
  423. package/src/list-item/hooks/use-enter.js +2 -3
  424. package/src/list-item/hooks/use-indent-list-item.js +2 -3
  425. package/src/list-item/hooks/use-outdent-list-item.js +2 -3
  426. package/src/list-item/hooks/use-space.js +2 -3
  427. package/src/media-text/deprecated.js +6 -3
  428. package/src/media-text/edit.native.js +2 -5
  429. package/src/media-text/media-container.js +1 -1
  430. package/src/media-text/media-container.native.js +6 -9
  431. package/src/media-text/save.js +2 -1
  432. package/src/missing/edit.native.js +2 -3
  433. package/src/missing/test/edit-integration.native.js +2 -3
  434. package/src/missing/test/edit.native.js +6 -9
  435. package/src/navigation/deprecated.js +2 -5
  436. package/src/navigation/edit/index.js +24 -36
  437. package/src/navigation/edit/navigation-menu-delete-control.js +2 -3
  438. package/src/navigation/edit/unsaved-inner-blocks.js +31 -30
  439. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -3
  440. package/src/navigation/test/use-navigation-menu.js +236 -0
  441. package/src/navigation/use-navigation-entities.js +11 -13
  442. package/src/navigation/use-navigation-menu.js +152 -82
  443. package/src/navigation/use-template-part-area-label.js +8 -7
  444. package/src/navigation-link/edit.js +24 -20
  445. package/src/navigation-link/test/edit.js +2 -4
  446. package/src/navigation-submenu/edit.js +10 -20
  447. package/src/page-list/convert-to-links-modal.js +51 -54
  448. package/src/page-list/edit.js +6 -6
  449. package/src/page-list/test/convert-to-links-modal.js +6 -12
  450. package/src/paragraph/deprecated.js +2 -2
  451. package/src/pattern/edit.js +2 -4
  452. package/src/post-author/edit.js +2 -3
  453. package/src/post-content/edit.js +2 -3
  454. package/src/post-featured-image/edit.js +14 -30
  455. package/src/post-featured-image/editor.scss +0 -29
  456. package/src/post-navigation-link/block.json +4 -0
  457. package/src/pullquote/deprecated.js +2 -1
  458. package/src/query/edit/index.js +10 -10
  459. package/src/query/edit/inspector-controls/parent-control.js +2 -3
  460. package/src/query/edit/query-toolbar.js +25 -5
  461. package/src/quote/v2/edit.js +4 -6
  462. package/src/quote/v2/test/migrate.js +1 -2
  463. package/src/search/edit.js +6 -12
  464. package/src/search/edit.native.js +4 -6
  465. package/src/search/style.scss +2 -1
  466. package/src/separator/use-deprecated-opacity.js +2 -4
  467. package/src/shortcode/edit.native.js +4 -3
  468. package/src/shortcode/test/edit.native.js +2 -5
  469. package/src/site-logo/edit.js +3 -17
  470. package/src/site-logo/editor.scss +0 -14
  471. package/src/social-links/deprecated.js +4 -2
  472. package/src/social-links/edit.native.js +3 -5
  473. package/src/spacer/controls.js +2 -3
  474. package/src/spacer/test/index.native.js +10 -21
  475. package/src/table/block.json +6 -1
  476. package/src/table/deprecated.js +4 -8
  477. package/src/table/state.js +2 -4
  478. package/src/table/style.scss +0 -1
  479. package/src/table-of-contents/edit.js +6 -10
  480. package/src/tag-cloud/edit.js +4 -7
  481. package/src/template-part/edit/advanced-controls.js +4 -4
  482. package/src/template-part/edit/index.js +6 -10
  483. package/src/template-part/edit/utils/hooks.js +8 -7
  484. package/src/transformationCategories.native.js +3 -3
  485. package/src/video/block.json +6 -1
  486. package/src/video/edit-common-settings.js +2 -8
  487. package/src/video/edit.native.js +38 -16
  488. package/src/video/index.js +1 -2
  489. package/src/video/style.scss +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/social-links/edit.native.js"],"names":["View","InnerBlocks","store","blockEditorStore","withDispatch","withSelect","useRef","useEffect","useState","compose","usePreferredColorSchemeStyle","styles","variations","ALLOWED_BLOCKS","map","v","name","TEMPLATE","service","url","SocialLinksEdit","shouldDelete","onDelete","isSelected","isInnerIconSelected","innerBlocks","attributes","activeInnerBlocks","getBlock","blockWidth","initialCreation","setInitialCreation","shouldRenderFooterAppender","align","marginLeft","spacing","renderFooterAppender","placeholderStyle","placeholder","placeholderDark","renderPlaceholder","Array","length","_","index","filterInnerBlocks","blockIds","filter","blockId","placeholderWrapper","current","undefined","select","clientId","getBlockCount","getBlockParents","getSelectedBlockClientId","getBlocks","selectedBlockClientId","selectedBlockParents","block","dispatch","removeBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { compose, usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport variations from '../social-link/variations';\n\nconst ALLOWED_BLOCKS = variations.map(\n\t( v ) => `core/social-link-${ v.name }`\n);\n\n// Template contains the links that show when start.\nconst TEMPLATE = [\n\t[\n\t\t'core/social-link-wordpress',\n\t\t{ service: 'wordpress', url: 'https://wordpress.org' },\n\t],\n\t[ 'core/social-link-facebook', { service: 'facebook' } ],\n\t[ 'core/social-link-twitter', { service: 'twitter' } ],\n\t[ 'core/social-link-instagram', { service: 'instagram' } ],\n];\n\nfunction SocialLinksEdit( {\n\tshouldDelete,\n\tonDelete,\n\tisSelected,\n\tisInnerIconSelected,\n\tinnerBlocks,\n\tattributes,\n\tactiveInnerBlocks,\n\tgetBlock,\n\tblockWidth,\n} ) {\n\tconst [ initialCreation, setInitialCreation ] = useState( true );\n\tconst shouldRenderFooterAppender = isSelected || isInnerIconSelected;\n\tconst { align } = attributes;\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\tuseEffect( () => {\n\t\tif ( ! shouldRenderFooterAppender ) {\n\t\t\tsetInitialCreation( false );\n\t\t}\n\t}, [ shouldRenderFooterAppender ] );\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View>\n\t\t\t<InnerBlocks.ButtonBlockAppender isFloating={ true } />\n\t\t</View>\n\t) );\n\n\tconst placeholderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.placeholder,\n\t\tstyles.placeholderDark\n\t);\n\n\tfunction renderPlaceholder() {\n\t\treturn [\n\t\t\t...new Array( innerBlocks.length || 1 ),\n\t\t].map( ( _, index ) => (\n\t\t\t<View style={ placeholderStyle } key={ index } />\n\t\t) );\n\t}\n\n\tfunction filterInnerBlocks( blockIds ) {\n\t\treturn blockIds.filter(\n\t\t\t( blockId ) => getBlock( blockId ).attributes.url\n\t\t);\n\t}\n\n\tif ( ! shouldRenderFooterAppender && activeInnerBlocks.length === 0 ) {\n\t\treturn (\n\t\t\t<View style={ styles.placeholderWrapper }>\n\t\t\t\t{ renderPlaceholder() }\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<InnerBlocks\n\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\ttemplateLock={ false }\n\t\t\ttemplate={ initialCreation && TEMPLATE }\n\t\t\trenderFooterAppender={\n\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t}\n\t\t\torientation={ 'horizontal' }\n\t\t\tonDeleteBlock={ shouldDelete ? onDelete : undefined }\n\t\t\tmarginVertical={ spacing }\n\t\t\tmarginHorizontal={ spacing }\n\t\t\thorizontalAlignment={ align }\n\t\t\tfilterInnerBlocks={\n\t\t\t\t! shouldRenderFooterAppender && filterInnerBlocks\n\t\t\t}\n\t\t\tblockWidth={ blockWidth }\n\t\t/>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst selectedBlockParents = getBlockParents(\n\t\t\tselectedBlockClientId,\n\t\t\ttrue\n\t\t);\n\t\tconst innerBlocks = getBlocks( clientId );\n\t\tconst activeInnerBlocks = innerBlocks.filter(\n\t\t\t( block ) => block.attributes?.url\n\t\t);\n\n\t\treturn {\n\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\tisInnerIconSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\tinnerBlocks,\n\t\t\tactiveInnerBlocks,\n\t\t\tgetBlock,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId } ) => {\n\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tonDelete: () => {\n\t\t\t\tremoveBlock( clientId, false );\n\t\t\t},\n\t\t};\n\t} )\n)( SocialLinksEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/social-links/edit.native.js"],"names":["View","InnerBlocks","store","blockEditorStore","withDispatch","withSelect","useRef","useEffect","useState","compose","usePreferredColorSchemeStyle","styles","variations","ALLOWED_BLOCKS","map","v","name","TEMPLATE","service","url","SocialLinksEdit","shouldDelete","onDelete","isSelected","isInnerIconSelected","innerBlocks","attributes","activeInnerBlocks","getBlock","blockWidth","initialCreation","setInitialCreation","shouldRenderFooterAppender","align","marginLeft","spacing","renderFooterAppender","placeholderStyle","placeholder","placeholderDark","renderPlaceholder","Array","length","_","index","filterInnerBlocks","blockIds","filter","blockId","placeholderWrapper","current","undefined","select","clientId","getBlockCount","getBlockParents","getSelectedBlockClientId","getBlocks","selectedBlockClientId","selectedBlockParents","block","dispatch","removeBlock"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,cAArB;AACA;AACA;AACA;;AACA,SACCC,WADD,EAECC,KAAK,IAAIC,gBAFV,QAGO,yBAHP;AAIA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AACA,SAASC,MAAT,EAAiBC,SAAjB,EAA4BC,QAA5B,QAA4C,oBAA5C;AACA,SAASC,OAAT,EAAkBC,4BAAlB,QAAsD,oBAAtD;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,eAAnB;AACA,OAAOC,UAAP,MAAuB,2BAAvB;AAEA,MAAMC,cAAc,GAAGD,UAAU,CAACE,GAAX,CACpBC,CAAF,IAAU,oBAAoBA,CAAC,CAACC,IAAM,EADhB,CAAvB,C,CAIA;;AACA,MAAMC,QAAQ,GAAG,CAChB,CACC,4BADD,EAEC;AAAEC,EAAAA,OAAO,EAAE,WAAX;AAAwBC,EAAAA,GAAG,EAAE;AAA7B,CAFD,CADgB,EAKhB,CAAE,2BAAF,EAA+B;AAAED,EAAAA,OAAO,EAAE;AAAX,CAA/B,CALgB,EAMhB,CAAE,0BAAF,EAA8B;AAAEA,EAAAA,OAAO,EAAE;AAAX,CAA9B,CANgB,EAOhB,CAAE,4BAAF,EAAgC;AAAEA,EAAAA,OAAO,EAAE;AAAX,CAAhC,CAPgB,CAAjB;;AAUA,SAASE,eAAT,OAUI;AAAA,MAVsB;AACzBC,IAAAA,YADyB;AAEzBC,IAAAA,QAFyB;AAGzBC,IAAAA,UAHyB;AAIzBC,IAAAA,mBAJyB;AAKzBC,IAAAA,WALyB;AAMzBC,IAAAA,UANyB;AAOzBC,IAAAA,iBAPyB;AAQzBC,IAAAA,QARyB;AASzBC,IAAAA;AATyB,GAUtB;AACH,QAAM,CAAEC,eAAF,EAAmBC,kBAAnB,IAA0CvB,QAAQ,CAAE,IAAF,CAAxD;AACA,QAAMwB,0BAA0B,GAAGT,UAAU,IAAIC,mBAAjD;AACA,QAAM;AAAES,IAAAA;AAAF,MAAYP,UAAlB;AACA,QAAM;AAAEQ,IAAAA,UAAU,EAAEC;AAAd,MAA0BxB,MAAM,CAACwB,OAAvC;AAEA5B,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEyB,0BAAP,EAAoC;AACnCD,MAAAA,kBAAkB,CAAE,KAAF,CAAlB;AACA;AACD,GAJQ,EAIN,CAAEC,0BAAF,CAJM,CAAT;AAMA,QAAMI,oBAAoB,GAAG9B,MAAM,CAAE,MACpC,cAAC,IAAD,QACC,cAAC,WAAD,CAAa,mBAAb;AAAiC,IAAA,UAAU,EAAG;AAA9C,IADD,CADkC,CAAnC;AAMA,QAAM+B,gBAAgB,GAAG3B,4BAA4B,CACpDC,MAAM,CAAC2B,WAD6C,EAEpD3B,MAAM,CAAC4B,eAF6C,CAArD;;AAKA,WAASC,iBAAT,GAA6B;AAC5B,WAAO,CAAE,GAAG,IAAIC,KAAJ,CAAWhB,WAAW,CAACiB,MAAZ,IAAsB,CAAjC,CAAL,EAA4C5B,GAA5C,CACN,CAAE6B,CAAF,EAAKC,KAAL,KAAgB,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGP,gBAAd;AAAiC,MAAA,GAAG,EAAGO;AAAvC,MADV,CAAP;AAGA;;AAED,WAASC,iBAAT,CAA4BC,QAA5B,EAAuC;AACtC,WAAOA,QAAQ,CAACC,MAAT,CACJC,OAAF,IAAepB,QAAQ,CAAEoB,OAAF,CAAR,CAAoBtB,UAApB,CAA+BP,GADxC,CAAP;AAGA;;AAED,MAAK,CAAEa,0BAAF,IAAgCL,iBAAiB,CAACe,MAAlB,KAA6B,CAAlE,EAAsE;AACrE,WACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG/B,MAAM,CAACsC;AAArB,OACGT,iBAAiB,EADpB,CADD;AAKA;;AAED,SACC,cAAC,WAAD;AACC,IAAA,aAAa,EAAG3B,cADjB;AAEC,IAAA,YAAY,EAAG,KAFhB;AAGC,IAAA,QAAQ,EAAGiB,eAAe,IAAIb,QAH/B;AAIC,IAAA,oBAAoB,EACnBe,0BAA0B,IAAII,oBAAoB,CAACc,OALrD;AAOC,IAAA,WAAW,EAAG,YAPf;AAQC,IAAA,aAAa,EAAG7B,YAAY,GAAGC,QAAH,GAAc6B,SAR3C;AASC,IAAA,cAAc,EAAGhB,OATlB;AAUC,IAAA,gBAAgB,EAAGA,OAVpB;AAWC,IAAA,mBAAmB,EAAGF,KAXvB;AAYC,IAAA,iBAAiB,EAChB,CAAED,0BAAF,IAAgCa,iBAblC;AAeC,IAAA,UAAU,EAAGhB;AAfd,IADD;AAmBA;;AAED,eAAepB,OAAO,CACrBJ,UAAU,CAAE,CAAE+C,MAAF,YAA4B;AAAA,MAAlB;AAAEC,IAAAA;AAAF,GAAkB;AACvC,QAAM;AACLC,IAAAA,aADK;AAELC,IAAAA,eAFK;AAGLC,IAAAA,wBAHK;AAILC,IAAAA,SAJK;AAKL7B,IAAAA;AALK,MAMFwB,MAAM,CAAEjD,gBAAF,CANV;AAOA,QAAMuD,qBAAqB,GAAGF,wBAAwB,EAAtD;AACA,QAAMG,oBAAoB,GAAGJ,eAAe,CAC3CG,qBAD2C,EAE3C,IAF2C,CAA5C;AAIA,QAAMjC,WAAW,GAAGgC,SAAS,CAAEJ,QAAF,CAA7B;AACA,QAAM1B,iBAAiB,GAAGF,WAAW,CAACsB,MAAZ,CACvBa,KAAF;AAAA;;AAAA,gCAAaA,KAAK,CAAClC,UAAnB,sDAAa,kBAAkBP,GAA/B;AAAA,GADyB,CAA1B;AAIA,SAAO;AACNE,IAAAA,YAAY,EAAEiC,aAAa,CAAED,QAAF,CAAb,KAA8B,CADtC;AAEN7B,IAAAA,mBAAmB,EAAEmC,oBAAoB,CAAE,CAAF,CAApB,KAA8BN,QAF7C;AAGN5B,IAAAA,WAHM;AAINE,IAAAA,iBAJM;AAKNC,IAAAA;AALM,GAAP;AAOA,CAzBS,CADW,EA2BrBxB,YAAY,CAAE,CAAEyD,QAAF,YAA8B;AAAA,MAAlB;AAAER,IAAAA;AAAF,GAAkB;AAC3C,QAAM;AAAES,IAAAA;AAAF,MAAkBD,QAAQ,CAAE1D,gBAAF,CAAhC;AAEA,SAAO;AACNmB,IAAAA,QAAQ,EAAE,MAAM;AACfwC,MAAAA,WAAW,CAAET,QAAF,EAAY,KAAZ,CAAX;AACA;AAHK,GAAP;AAKA,CARW,CA3BS,CAAP,CAoCZjC,eApCY,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { compose, usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport variations from '../social-link/variations';\n\nconst ALLOWED_BLOCKS = variations.map(\n\t( v ) => `core/social-link-${ v.name }`\n);\n\n// Template contains the links that show when start.\nconst TEMPLATE = [\n\t[\n\t\t'core/social-link-wordpress',\n\t\t{ service: 'wordpress', url: 'https://wordpress.org' },\n\t],\n\t[ 'core/social-link-facebook', { service: 'facebook' } ],\n\t[ 'core/social-link-twitter', { service: 'twitter' } ],\n\t[ 'core/social-link-instagram', { service: 'instagram' } ],\n];\n\nfunction SocialLinksEdit( {\n\tshouldDelete,\n\tonDelete,\n\tisSelected,\n\tisInnerIconSelected,\n\tinnerBlocks,\n\tattributes,\n\tactiveInnerBlocks,\n\tgetBlock,\n\tblockWidth,\n} ) {\n\tconst [ initialCreation, setInitialCreation ] = useState( true );\n\tconst shouldRenderFooterAppender = isSelected || isInnerIconSelected;\n\tconst { align } = attributes;\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\tuseEffect( () => {\n\t\tif ( ! shouldRenderFooterAppender ) {\n\t\t\tsetInitialCreation( false );\n\t\t}\n\t}, [ shouldRenderFooterAppender ] );\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View>\n\t\t\t<InnerBlocks.ButtonBlockAppender isFloating={ true } />\n\t\t</View>\n\t) );\n\n\tconst placeholderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.placeholder,\n\t\tstyles.placeholderDark\n\t);\n\n\tfunction renderPlaceholder() {\n\t\treturn [ ...new Array( innerBlocks.length || 1 ) ].map(\n\t\t\t( _, index ) => <View style={ placeholderStyle } key={ index } />\n\t\t);\n\t}\n\n\tfunction filterInnerBlocks( blockIds ) {\n\t\treturn blockIds.filter(\n\t\t\t( blockId ) => getBlock( blockId ).attributes.url\n\t\t);\n\t}\n\n\tif ( ! shouldRenderFooterAppender && activeInnerBlocks.length === 0 ) {\n\t\treturn (\n\t\t\t<View style={ styles.placeholderWrapper }>\n\t\t\t\t{ renderPlaceholder() }\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<InnerBlocks\n\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\ttemplateLock={ false }\n\t\t\ttemplate={ initialCreation && TEMPLATE }\n\t\t\trenderFooterAppender={\n\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t}\n\t\t\torientation={ 'horizontal' }\n\t\t\tonDeleteBlock={ shouldDelete ? onDelete : undefined }\n\t\t\tmarginVertical={ spacing }\n\t\t\tmarginHorizontal={ spacing }\n\t\t\thorizontalAlignment={ align }\n\t\t\tfilterInnerBlocks={\n\t\t\t\t! shouldRenderFooterAppender && filterInnerBlocks\n\t\t\t}\n\t\t\tblockWidth={ blockWidth }\n\t\t/>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst selectedBlockParents = getBlockParents(\n\t\t\tselectedBlockClientId,\n\t\t\ttrue\n\t\t);\n\t\tconst innerBlocks = getBlocks( clientId );\n\t\tconst activeInnerBlocks = innerBlocks.filter(\n\t\t\t( block ) => block.attributes?.url\n\t\t);\n\n\t\treturn {\n\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\tisInnerIconSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\tinnerBlocks,\n\t\t\tactiveInnerBlocks,\n\t\t\tgetBlock,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId } ) => {\n\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tonDelete: () => {\n\t\t\t\tremoveBlock( clientId, false );\n\t\t\t},\n\t\t};\n\t} )\n)( SocialLinksEdit );\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/spacer/controls.js"],"names":["__","InspectorControls","useSetting","BaseControl","PanelBody","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","MIN_SPACER_SIZE","DimensionInput","label","onChange","isResizing","value","inputId","availableUnitSettings","undefined","filter","availableUnit","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","parsedQuantity","parsedUnit","computedValue","join","maxWidth","SpacerControls","setAttributes","orientation","height","width","nextWidth","nextHeight"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\nimport {\n\tBaseControl,\n\tPanelBody,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SPACER_SIZE } from './constants';\n\nfunction DimensionInput( { label, onChange, isResizing, value = '' } ) {\n\tconst inputId = useInstanceId( UnitControl, 'block-spacer-height-input' );\n\n\t// In most contexts the spacer size cannot meaningfully be set to a\n\t// percentage, since this is relative to the parent container. This\n\t// unit is disabled from the UI.\n\tconst availableUnitSettings = (\n\t\tuseSetting( 'spacing.units' ) || undefined\n\t)?.filter( ( availableUnit ) => availableUnit !== '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnitSettings || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 100, em: 10, rem: 10, vw: 10, vh: 25 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tonChange( unprocessedValue );\n\t};\n\n\t// Force the unit to update to `px` when the Spacer is being resized.\n\tconst [ parsedQuantity, parsedUnit ] = parseQuantityAndUnitFromRawValue(\n\t\tvalue\n\t);\n\tconst computedValue = [\n\t\tparsedQuantity,\n\t\tisResizing ? 'px' : parsedUnit,\n\t].join( '' );\n\n\treturn (\n\t\t<BaseControl label={ label } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ MIN_SPACER_SIZE }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tvalue={ computedValue }\n\t\t\t\tunits={ units }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nexport default function SpacerControls( {\n\tsetAttributes,\n\torientation,\n\theight,\n\twidth,\n\tisResizing,\n} ) {\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t{ orientation === 'horizontal' && (\n\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ width }\n\t\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: nextWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ orientation !== 'horizontal' && (\n\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\tvalue={ height }\n\t\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { height: nextHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/spacer/controls.js"],"names":["__","InspectorControls","useSetting","BaseControl","PanelBody","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","MIN_SPACER_SIZE","DimensionInput","label","onChange","isResizing","value","inputId","availableUnitSettings","undefined","filter","availableUnit","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","parsedQuantity","parsedUnit","computedValue","join","maxWidth","SpacerControls","setAttributes","orientation","height","width","nextWidth","nextHeight"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\nimport {\n\tBaseControl,\n\tPanelBody,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SPACER_SIZE } from './constants';\n\nfunction DimensionInput( { label, onChange, isResizing, value = '' } ) {\n\tconst inputId = useInstanceId( UnitControl, 'block-spacer-height-input' );\n\n\t// In most contexts the spacer size cannot meaningfully be set to a\n\t// percentage, since this is relative to the parent container. This\n\t// unit is disabled from the UI.\n\tconst availableUnitSettings = (\n\t\tuseSetting( 'spacing.units' ) || undefined\n\t)?.filter( ( availableUnit ) => availableUnit !== '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnitSettings || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 100, em: 10, rem: 10, vw: 10, vh: 25 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tonChange( unprocessedValue );\n\t};\n\n\t// Force the unit to update to `px` when the Spacer is being resized.\n\tconst [ parsedQuantity, parsedUnit ] =\n\t\tparseQuantityAndUnitFromRawValue( value );\n\tconst computedValue = [\n\t\tparsedQuantity,\n\t\tisResizing ? 'px' : parsedUnit,\n\t].join( '' );\n\n\treturn (\n\t\t<BaseControl label={ label } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ MIN_SPACER_SIZE }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tvalue={ computedValue }\n\t\t\t\tunits={ units }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nexport default function SpacerControls( {\n\tsetAttributes,\n\torientation,\n\theight,\n\twidth,\n\tisResizing,\n} ) {\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t{ orientation === 'horizontal' && (\n\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ width }\n\t\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: nextWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ orientation !== 'horizontal' && (\n\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\tvalue={ height }\n\t\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { height: nextHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table/deprecated.js"],"names":["classnames","RichText","getColorClassName","useBlockProps","supports","align","oldColors","deprecated","attributes","hasFixedLayout","type","default","backgroundColor","caption","source","selector","head","query","cells","content","tag","scope","attribute","body","foot","anchor","__experimentalSelector","save","isEmpty","length","backgroundClass","classes","hasCaption","Section","rows","Tag","map","rowIndex","cellIndex","cellClasses","undefined","isEligible","style","migrate","color","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\nconst supports = {\n\talign: true,\n};\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\nconst deprecated = [\n\t// Deprecation migrating table block to use colors block support feature.\n\t{\n\t\tattributes: {\n\t\t\thasFixedLayout: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcaption: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'html',\n\t\t\t\tselector: 'figcaption',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\thead: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'thead tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t\tbody: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tbody tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t\tfoot: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tfoot tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\t__experimentalSelector: '.wp-block-table > table',\n\t\t},\n\t\tsave: ( { attributes } ) => {\n\t\t\tconst {\n\t\t\t\thasFixedLayout,\n\t\t\t\thead,\n\t\t\t\tbody,\n\t\t\t\tfoot,\n\t\t\t\tbackgroundColor,\n\t\t\t\tcaption,\n\t\t\t} = attributes;\n\t\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\t\tif ( isEmpty ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst classes = classnames( backgroundClass, {\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t'has-background': !! backgroundClass,\n\t\t\t} );\n\n\t\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\t\tconst Section = ( { type, rows } ) => {\n\t\t\t\tif ( ! rows.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst Tag = `t${ type }`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tag>\n\t\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\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\t} );\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\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\t? cellClasses\n\t\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\t}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? scope\n\t\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\t}\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</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tag>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t\t<table className={ classes === '' ? undefined : classes }>\n\t\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t\t</table>\n\t\t\t\t\t{ hasCaption && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t\tisEligible: ( attributes ) => {\n\t\t\treturn (\n\t\t\t\tattributes.backgroundColor &&\n\t\t\t\tattributes.backgroundColor in oldColors &&\n\t\t\t\t! attributes.style\n\t\t\t);\n\t\t},\n\n\t\t// This version is the first to introduce the style attribute to the\n\t\t// table block. As a result, we'll explicitly override that.\n\t\tmigrate: ( attributes ) => {\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tbackgroundColor: undefined,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\thasFixedLayout: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\thead: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'thead tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t\tbody: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tbody tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t\tfoot: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tfoot tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t},\n\t\tsupports,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\thasFixedLayout,\n\t\t\t\thead,\n\t\t\t\tbody,\n\t\t\t\tfoot,\n\t\t\t\tbackgroundColor,\n\t\t\t} = attributes;\n\t\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\t\tif ( isEmpty ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst classes = classnames( backgroundClass, {\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t'has-background': !! backgroundClass,\n\t\t\t} );\n\n\t\t\tconst Section = ( { type, rows } ) => {\n\t\t\t\tif ( ! rows.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst Tag = `t${ type }`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tag>\n\t\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\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</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tag>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<table className={ 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);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table/deprecated.js"],"names":["classnames","RichText","getColorClassName","useBlockProps","supports","align","oldColors","deprecated","attributes","hasFixedLayout","type","default","backgroundColor","caption","source","selector","head","query","cells","content","tag","scope","attribute","body","foot","anchor","__experimentalSelector","save","isEmpty","length","backgroundClass","classes","hasCaption","Section","rows","Tag","map","rowIndex","cellIndex","cellClasses","undefined","isEligible","style","migrate","color","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\nconst supports = {\n\talign: true,\n};\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\nconst deprecated = [\n\t// Deprecation migrating table block to use colors block support feature.\n\t{\n\t\tattributes: {\n\t\t\thasFixedLayout: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcaption: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'html',\n\t\t\t\tselector: 'figcaption',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\thead: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'thead tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t\tbody: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tbody tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t\tfoot: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tfoot tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\t\t},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: true,\n\t\t\t__experimentalSelector: '.wp-block-table > table',\n\t\t},\n\t\tsave: ( { attributes } ) => {\n\t\t\tconst {\n\t\t\t\thasFixedLayout,\n\t\t\t\thead,\n\t\t\t\tbody,\n\t\t\t\tfoot,\n\t\t\t\tbackgroundColor,\n\t\t\t\tcaption,\n\t\t\t} = attributes;\n\t\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\t\tif ( isEmpty ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst classes = classnames( backgroundClass, {\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t'has-background': !! backgroundClass,\n\t\t\t} );\n\n\t\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\t\tconst Section = ( { type, rows } ) => {\n\t\t\t\tif ( ! rows.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst Tag = `t${ type }`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tag>\n\t\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]:\n\t\t\t\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\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\t? cellClasses\n\t\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\t}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? scope\n\t\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\t}\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</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tag>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t\t<table className={ classes === '' ? undefined : classes }>\n\t\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t\t</table>\n\t\t\t\t\t{ hasCaption && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t\tisEligible: ( attributes ) => {\n\t\t\treturn (\n\t\t\t\tattributes.backgroundColor &&\n\t\t\t\tattributes.backgroundColor in oldColors &&\n\t\t\t\t! attributes.style\n\t\t\t);\n\t\t},\n\n\t\t// This version is the first to introduce the style attribute to the\n\t\t// table block. As a result, we'll explicitly override that.\n\t\tmigrate: ( attributes ) => {\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tbackgroundColor: undefined,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\thasFixedLayout: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\thead: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'thead tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t\tbody: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tbody tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t\tfoot: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdefault: [],\n\t\t\t\tsource: 'query',\n\t\t\t\tselector: 'tfoot tr',\n\t\t\t\tquery: {\n\t\t\t\t\tcells: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\t\tattribute: 'scope',\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},\n\t\t},\n\t\tsupports,\n\t\tsave( { attributes } ) {\n\t\t\tconst { hasFixedLayout, head, body, foot, backgroundColor } =\n\t\t\t\tattributes;\n\t\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\t\tif ( isEmpty ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\n\t\t\tconst classes = classnames( backgroundClass, {\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t'has-background': !! backgroundClass,\n\t\t\t} );\n\n\t\t\tconst Section = ( { type, rows } ) => {\n\t\t\t\tif ( ! rows.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst Tag = `t${ type }`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tag>\n\t\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\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</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tag>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<table className={ 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);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -167,7 +167,12 @@ const metadata = {
167
167
  width: true
168
168
  }
169
169
  },
170
- __experimentalSelector: ".wp-block-table > table"
170
+ __experimentalSelector: ".wp-block-table > table",
171
+ __experimentalStyle: {
172
+ spacing: {
173
+ margin: "0 0 1em 0"
174
+ }
175
+ }
171
176
  },
172
177
  styles: [{
173
178
  name: "regular",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table/index.js"],"names":["__","blockTable","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","head","cells","content","tag","body"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,IAAI,EAAE,CACL;AACCC,QAAAA,KAAK,EAAE,CACN;AACCC,UAAAA,OAAO,EAAEd,EAAE,CAAE,SAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SADM,EAKN;AACCD,UAAAA,OAAO,EAAEd,EAAE,CAAE,eAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SALM,EASN;AACCD,UAAAA,OAAO,EAAEd,EAAE,CAAE,cAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SATM;AADR,OADK,CADK;AAmBXC,MAAAA,IAAI,EAAE,CACL;AACCH,QAAAA,KAAK,EAAE,CACN;AACCC,UAAAA,OAAO,EAAE,KADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SADM,EAKN;AACCD,UAAAA,OAAO,EAAE,gBADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SALM,EASN;AACCD,UAAAA,OAAO,EAAEd,EAAE,CAAE,aAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SATM;AADR,OADK,EAiBL;AACCF,QAAAA,KAAK,EAAE,CACN;AACCC,UAAAA,OAAO,EAAE,KADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SADM,EAKN;AACCD,UAAAA,OAAO,EAAE,cADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SALM,EASN;AACCD,UAAAA,OAAO,EAAEd,EAAE,CAAE,mBAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SATM;AADR,OAjBK,EAiCL;AACCF,QAAAA,KAAK,EAAE,CACN;AACCC,UAAAA,OAAO,EAAE,KADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SADM,EAKN;AACCD,UAAAA,OAAO,EAAE,aADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SALM,EASN;AACCD,UAAAA,OAAO,EAAEd,EAAE,CAAE,kBAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SATM;AADR,OAjCK;AAnBK;AADJ,GAFc;AA0EvBT,EAAAA,UA1EuB;AA2EvBF,EAAAA,IA3EuB;AA4EvBC,EAAAA,IA5EuB;AA6EvBF,EAAAA;AA7EuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { blockTable as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\thead: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Version' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Jazz Musician' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Release Date' ),\n\t\t\t\t\t\t\ttag: 'th',\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\tbody: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.2',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Jaco Pastorius',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'May 7, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.1',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Betty Carter',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'February 21, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.0',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Bebo Valdés',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'December 6, 2018' ),\n\t\t\t\t\t\t\ttag: 'td',\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\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table/index.js"],"names":["__","blockTable","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","head","cells","content","tag","body"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,IAAI,EAAE,CACL;AACCC,QAAAA,KAAK,EAAE,CACN;AACCC,UAAAA,OAAO,EAAEd,EAAE,CAAE,SAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SADM,EAKN;AACCD,UAAAA,OAAO,EAAEd,EAAE,CAAE,eAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SALM,EASN;AACCD,UAAAA,OAAO,EAAEd,EAAE,CAAE,cAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SATM;AADR,OADK,CADK;AAmBXC,MAAAA,IAAI,EAAE,CACL;AACCH,QAAAA,KAAK,EAAE,CACN;AACCC,UAAAA,OAAO,EAAE,KADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SADM,EAKN;AACCD,UAAAA,OAAO,EAAE,gBADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SALM,EASN;AACCD,UAAAA,OAAO,EAAEd,EAAE,CAAE,aAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SATM;AADR,OADK,EAiBL;AACCF,QAAAA,KAAK,EAAE,CACN;AACCC,UAAAA,OAAO,EAAE,KADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SADM,EAKN;AACCD,UAAAA,OAAO,EAAE,cADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SALM,EASN;AACCD,UAAAA,OAAO,EAAEd,EAAE,CAAE,mBAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SATM;AADR,OAjBK,EAiCL;AACCF,QAAAA,KAAK,EAAE,CACN;AACCC,UAAAA,OAAO,EAAE,KADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SADM,EAKN;AACCD,UAAAA,OAAO,EAAE,aADV;AAECC,UAAAA,GAAG,EAAE;AAFN,SALM,EASN;AACCD,UAAAA,OAAO,EAAEd,EAAE,CAAE,kBAAF,CADZ;AAECe,UAAAA,GAAG,EAAE;AAFN,SATM;AADR,OAjCK;AAnBK;AADJ,GAFc;AA0EvBT,EAAAA,UA1EuB;AA2EvBF,EAAAA,IA3EuB;AA4EvBC,EAAAA,IA5EuB;AA6EvBF,EAAAA;AA7EuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { blockTable as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\thead: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Version' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Jazz Musician' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Release Date' ),\n\t\t\t\t\t\t\ttag: 'th',\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\tbody: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.2',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Jaco Pastorius',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'May 7, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.1',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Betty Carter',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'February 21, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.0',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Bebo Valdés',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'December 6, 2018' ),\n\t\t\t\t\t\t\ttag: 'td',\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\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table/state.js"],"names":["times","get","mapValues","every","pick","INHERITED_COLUMN_ATTRIBUTES","createTable","rowCount","columnCount","body","cells","content","tag","getFirstRow","state","isEmptyTableSection","head","foot","getCellAttribute","cellLocation","attributeName","sectionName","rowIndex","columnIndex","updateSelectedCell","selection","updateCell","tableSections","selectionSectionName","selectionRowIndex","section","map","row","cellAttributes","isCellSelected","type","insertRow","firstRow","cellCount","undefined","slice","index","firstCellInColumn","inheritedAttributes","deleteRow","filter","insertColumn","isEmptyRow","length","deleteColumn","cell","toggleSection"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { times, get, mapValues, every, pick } from 'lodash';\n\nconst INHERITED_COLUMN_ATTRIBUTES = [ 'align' ];\n\n/**\n * Creates a table state.\n *\n * @param {Object} options\n * @param {number} options.rowCount Row count for the table to create.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function createTable( { rowCount, columnCount } ) {\n\treturn {\n\t\tbody: times( rowCount, () => ( {\n\t\t\tcells: times( columnCount, () => ( {\n\t\t\t\tcontent: '',\n\t\t\t\ttag: 'td',\n\t\t\t} ) ),\n\t\t} ) ),\n\t};\n}\n\n/**\n * Returns the first row in the table.\n *\n * @param {Object} state Current table state.\n *\n * @return {Object} The first table row.\n */\nexport function getFirstRow( state ) {\n\tif ( ! isEmptyTableSection( state.head ) ) {\n\t\treturn state.head[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.body ) ) {\n\t\treturn state.body[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.foot ) ) {\n\t\treturn state.foot[ 0 ];\n\t}\n}\n\n/**\n * Gets an attribute for a cell.\n *\n * @param {Object} state Current table state.\n * @param {Object} cellLocation The location of the cell\n * @param {string} attributeName The name of the attribute to get the value of.\n *\n * @return {*} The attribute value.\n */\nexport function getCellAttribute( state, cellLocation, attributeName ) {\n\tconst { sectionName, rowIndex, columnIndex } = cellLocation;\n\treturn get( state, [\n\t\tsectionName,\n\t\trowIndex,\n\t\t'cells',\n\t\tcolumnIndex,\n\t\tattributeName,\n\t] );\n}\n\n/**\n * Returns updated cell attributes after applying the `updateCell` function to the selection.\n *\n * @param {Object} state The block attributes.\n * @param {Object} selection The selection of cells to update.\n * @param {Function} updateCell A function to update the selected cell attributes.\n *\n * @return {Object} New table state including the updated cells.\n */\nexport function updateSelectedCell( state, selection, updateCell ) {\n\tif ( ! selection ) {\n\t\treturn state;\n\t}\n\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\tconst {\n\t\tsectionName: selectionSectionName,\n\t\trowIndex: selectionRowIndex,\n\t} = selection;\n\n\treturn mapValues( tableSections, ( section, sectionName ) => {\n\t\tif ( selectionSectionName && selectionSectionName !== sectionName ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section.map( ( row, rowIndex ) => {\n\t\t\tif ( selectionRowIndex && selectionRowIndex !== rowIndex ) {\n\t\t\t\treturn row;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcells: row.cells.map( ( cellAttributes, columnIndex ) => {\n\t\t\t\t\tconst cellLocation = {\n\t\t\t\t\t\tsectionName,\n\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\trowIndex,\n\t\t\t\t\t};\n\n\t\t\t\t\tif ( ! isCellSelected( cellLocation, selection ) ) {\n\t\t\t\t\t\treturn cellAttributes;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn updateCell( cellAttributes );\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\t} );\n}\n\n/**\n * Returns whether the cell at `cellLocation` is included in the selection `selection`.\n *\n * @param {Object} cellLocation An object containing cell location properties.\n * @param {Object} selection An object containing selection properties.\n *\n * @return {boolean} True if the cell is selected, false otherwise.\n */\nexport function isCellSelected( cellLocation, selection ) {\n\tif ( ! cellLocation || ! selection ) {\n\t\treturn false;\n\t}\n\n\tswitch ( selection.type ) {\n\t\tcase 'column':\n\t\t\treturn (\n\t\t\t\tselection.type === 'column' &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex\n\t\t\t);\n\t\tcase 'cell':\n\t\t\treturn (\n\t\t\t\tselection.type === 'cell' &&\n\t\t\t\tcellLocation.sectionName === selection.sectionName &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex &&\n\t\t\t\tcellLocation.rowIndex === selection.rowIndex\n\t\t\t);\n\t}\n}\n\n/**\n * Inserts a row in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to insert the row.\n * @param {number} options.rowIndex Row index at which to insert the row.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function insertRow( state, { sectionName, rowIndex, columnCount } ) {\n\tconst firstRow = getFirstRow( state );\n\tconst cellCount =\n\t\tcolumnCount === undefined\n\t\t\t? get( firstRow, [ 'cells', 'length' ] )\n\t\t\t: columnCount;\n\n\t// Bail early if the function cannot determine how many cells to add.\n\tif ( ! cellCount ) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\t[ sectionName ]: [\n\t\t\t...state[ sectionName ].slice( 0, rowIndex ),\n\t\t\t{\n\t\t\t\tcells: times( cellCount, ( index ) => {\n\t\t\t\t\tconst firstCellInColumn = get(\n\t\t\t\t\t\tfirstRow,\n\t\t\t\t\t\t[ 'cells', index ],\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\tconst inheritedAttributes = pick(\n\t\t\t\t\t\tfirstCellInColumn,\n\t\t\t\t\t\tINHERITED_COLUMN_ATTRIBUTES\n\t\t\t\t\t);\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...inheritedAttributes,\n\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\n\t\t\t\t\t};\n\t\t\t\t} ),\n\t\t\t},\n\t\t\t...state[ sectionName ].slice( rowIndex ),\n\t\t],\n\t};\n}\n\n/**\n * Deletes a row from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to delete the row.\n * @param {number} options.rowIndex Row index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteRow( state, { sectionName, rowIndex } ) {\n\treturn {\n\t\t[ sectionName ]: state[ sectionName ].filter(\n\t\t\t( row, index ) => index !== rowIndex\n\t\t),\n\t};\n}\n\n/**\n * Inserts a column in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index at which to insert the column.\n *\n * @return {Object} New table state.\n */\nexport function insertColumn( state, { columnIndex } ) {\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\n\treturn mapValues( tableSections, ( section, sectionName ) => {\n\t\t// Bail early if the table section is empty.\n\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section.map( ( row ) => {\n\t\t\t// Bail early if the row is empty or it's an attempt to insert past\n\t\t\t// the last possible index of the array.\n\t\t\tif ( isEmptyRow( row ) || row.cells.length < columnIndex ) {\n\t\t\t\treturn row;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcells: [\n\t\t\t\t\t...row.cells.slice( 0, columnIndex ),\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\n\t\t\t\t\t},\n\t\t\t\t\t...row.cells.slice( columnIndex ),\n\t\t\t\t],\n\t\t\t};\n\t\t} );\n\t} );\n}\n\n/**\n * Deletes a column from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteColumn( state, { columnIndex } ) {\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\n\treturn mapValues( tableSections, ( section ) => {\n\t\t// Bail early if the table section is empty.\n\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section\n\t\t\t.map( ( row ) => ( {\n\t\t\t\tcells:\n\t\t\t\t\trow.cells.length >= columnIndex\n\t\t\t\t\t\t? row.cells.filter(\n\t\t\t\t\t\t\t\t( cell, index ) => index !== columnIndex\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: row.cells,\n\t\t\t} ) )\n\t\t\t.filter( ( row ) => row.cells.length );\n\t} );\n}\n\n/**\n * Toggles the existance of a section.\n *\n * @param {Object} state Current table state.\n * @param {string} sectionName Name of the section to toggle.\n *\n * @return {Object} New table state.\n */\nexport function toggleSection( state, sectionName ) {\n\t// Section exists, replace it with an empty row to remove it.\n\tif ( ! isEmptyTableSection( state[ sectionName ] ) ) {\n\t\treturn { [ sectionName ]: [] };\n\t}\n\n\t// Get the length of the first row of the body to use when creating the header.\n\tconst columnCount = get( state, [ 'body', 0, 'cells', 'length' ], 1 );\n\n\t// Section doesn't exist, insert an empty row to create the section.\n\treturn insertRow( state, { sectionName, rowIndex: 0, columnCount } );\n}\n\n/**\n * Determines whether a table section is empty.\n *\n * @param {Object} section Table section state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyTableSection( section ) {\n\treturn ! section || ! section.length || every( section, isEmptyRow );\n}\n\n/**\n * Determines whether a table row is empty.\n *\n * @param {Object} row Table row state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyRow( row ) {\n\treturn ! ( row.cells && row.cells.length );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table/state.js"],"names":["times","get","mapValues","every","pick","INHERITED_COLUMN_ATTRIBUTES","createTable","rowCount","columnCount","body","cells","content","tag","getFirstRow","state","isEmptyTableSection","head","foot","getCellAttribute","cellLocation","attributeName","sectionName","rowIndex","columnIndex","updateSelectedCell","selection","updateCell","tableSections","selectionSectionName","selectionRowIndex","section","map","row","cellAttributes","isCellSelected","type","insertRow","firstRow","cellCount","undefined","slice","index","firstCellInColumn","inheritedAttributes","deleteRow","filter","insertColumn","isEmptyRow","length","deleteColumn","cell","toggleSection"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { times, get, mapValues, every, pick } from 'lodash';\n\nconst INHERITED_COLUMN_ATTRIBUTES = [ 'align' ];\n\n/**\n * Creates a table state.\n *\n * @param {Object} options\n * @param {number} options.rowCount Row count for the table to create.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function createTable( { rowCount, columnCount } ) {\n\treturn {\n\t\tbody: times( rowCount, () => ( {\n\t\t\tcells: times( columnCount, () => ( {\n\t\t\t\tcontent: '',\n\t\t\t\ttag: 'td',\n\t\t\t} ) ),\n\t\t} ) ),\n\t};\n}\n\n/**\n * Returns the first row in the table.\n *\n * @param {Object} state Current table state.\n *\n * @return {Object} The first table row.\n */\nexport function getFirstRow( state ) {\n\tif ( ! isEmptyTableSection( state.head ) ) {\n\t\treturn state.head[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.body ) ) {\n\t\treturn state.body[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.foot ) ) {\n\t\treturn state.foot[ 0 ];\n\t}\n}\n\n/**\n * Gets an attribute for a cell.\n *\n * @param {Object} state Current table state.\n * @param {Object} cellLocation The location of the cell\n * @param {string} attributeName The name of the attribute to get the value of.\n *\n * @return {*} The attribute value.\n */\nexport function getCellAttribute( state, cellLocation, attributeName ) {\n\tconst { sectionName, rowIndex, columnIndex } = cellLocation;\n\treturn get( state, [\n\t\tsectionName,\n\t\trowIndex,\n\t\t'cells',\n\t\tcolumnIndex,\n\t\tattributeName,\n\t] );\n}\n\n/**\n * Returns updated cell attributes after applying the `updateCell` function to the selection.\n *\n * @param {Object} state The block attributes.\n * @param {Object} selection The selection of cells to update.\n * @param {Function} updateCell A function to update the selected cell attributes.\n *\n * @return {Object} New table state including the updated cells.\n */\nexport function updateSelectedCell( state, selection, updateCell ) {\n\tif ( ! selection ) {\n\t\treturn state;\n\t}\n\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\tconst { sectionName: selectionSectionName, rowIndex: selectionRowIndex } =\n\t\tselection;\n\n\treturn mapValues( tableSections, ( section, sectionName ) => {\n\t\tif ( selectionSectionName && selectionSectionName !== sectionName ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section.map( ( row, rowIndex ) => {\n\t\t\tif ( selectionRowIndex && selectionRowIndex !== rowIndex ) {\n\t\t\t\treturn row;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcells: row.cells.map( ( cellAttributes, columnIndex ) => {\n\t\t\t\t\tconst cellLocation = {\n\t\t\t\t\t\tsectionName,\n\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\trowIndex,\n\t\t\t\t\t};\n\n\t\t\t\t\tif ( ! isCellSelected( cellLocation, selection ) ) {\n\t\t\t\t\t\treturn cellAttributes;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn updateCell( cellAttributes );\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\t} );\n}\n\n/**\n * Returns whether the cell at `cellLocation` is included in the selection `selection`.\n *\n * @param {Object} cellLocation An object containing cell location properties.\n * @param {Object} selection An object containing selection properties.\n *\n * @return {boolean} True if the cell is selected, false otherwise.\n */\nexport function isCellSelected( cellLocation, selection ) {\n\tif ( ! cellLocation || ! selection ) {\n\t\treturn false;\n\t}\n\n\tswitch ( selection.type ) {\n\t\tcase 'column':\n\t\t\treturn (\n\t\t\t\tselection.type === 'column' &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex\n\t\t\t);\n\t\tcase 'cell':\n\t\t\treturn (\n\t\t\t\tselection.type === 'cell' &&\n\t\t\t\tcellLocation.sectionName === selection.sectionName &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex &&\n\t\t\t\tcellLocation.rowIndex === selection.rowIndex\n\t\t\t);\n\t}\n}\n\n/**\n * Inserts a row in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to insert the row.\n * @param {number} options.rowIndex Row index at which to insert the row.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function insertRow( state, { sectionName, rowIndex, columnCount } ) {\n\tconst firstRow = getFirstRow( state );\n\tconst cellCount =\n\t\tcolumnCount === undefined\n\t\t\t? get( firstRow, [ 'cells', 'length' ] )\n\t\t\t: columnCount;\n\n\t// Bail early if the function cannot determine how many cells to add.\n\tif ( ! cellCount ) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\t[ sectionName ]: [\n\t\t\t...state[ sectionName ].slice( 0, rowIndex ),\n\t\t\t{\n\t\t\t\tcells: times( cellCount, ( index ) => {\n\t\t\t\t\tconst firstCellInColumn = get(\n\t\t\t\t\t\tfirstRow,\n\t\t\t\t\t\t[ 'cells', index ],\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\tconst inheritedAttributes = pick(\n\t\t\t\t\t\tfirstCellInColumn,\n\t\t\t\t\t\tINHERITED_COLUMN_ATTRIBUTES\n\t\t\t\t\t);\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...inheritedAttributes,\n\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\n\t\t\t\t\t};\n\t\t\t\t} ),\n\t\t\t},\n\t\t\t...state[ sectionName ].slice( rowIndex ),\n\t\t],\n\t};\n}\n\n/**\n * Deletes a row from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to delete the row.\n * @param {number} options.rowIndex Row index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteRow( state, { sectionName, rowIndex } ) {\n\treturn {\n\t\t[ sectionName ]: state[ sectionName ].filter(\n\t\t\t( row, index ) => index !== rowIndex\n\t\t),\n\t};\n}\n\n/**\n * Inserts a column in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index at which to insert the column.\n *\n * @return {Object} New table state.\n */\nexport function insertColumn( state, { columnIndex } ) {\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\n\treturn mapValues( tableSections, ( section, sectionName ) => {\n\t\t// Bail early if the table section is empty.\n\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section.map( ( row ) => {\n\t\t\t// Bail early if the row is empty or it's an attempt to insert past\n\t\t\t// the last possible index of the array.\n\t\t\tif ( isEmptyRow( row ) || row.cells.length < columnIndex ) {\n\t\t\t\treturn row;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcells: [\n\t\t\t\t\t...row.cells.slice( 0, columnIndex ),\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\n\t\t\t\t\t},\n\t\t\t\t\t...row.cells.slice( columnIndex ),\n\t\t\t\t],\n\t\t\t};\n\t\t} );\n\t} );\n}\n\n/**\n * Deletes a column from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteColumn( state, { columnIndex } ) {\n\tconst tableSections = pick( state, [ 'head', 'body', 'foot' ] );\n\n\treturn mapValues( tableSections, ( section ) => {\n\t\t// Bail early if the table section is empty.\n\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\treturn section;\n\t\t}\n\n\t\treturn section\n\t\t\t.map( ( row ) => ( {\n\t\t\t\tcells:\n\t\t\t\t\trow.cells.length >= columnIndex\n\t\t\t\t\t\t? row.cells.filter(\n\t\t\t\t\t\t\t\t( cell, index ) => index !== columnIndex\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: row.cells,\n\t\t\t} ) )\n\t\t\t.filter( ( row ) => row.cells.length );\n\t} );\n}\n\n/**\n * Toggles the existance of a section.\n *\n * @param {Object} state Current table state.\n * @param {string} sectionName Name of the section to toggle.\n *\n * @return {Object} New table state.\n */\nexport function toggleSection( state, sectionName ) {\n\t// Section exists, replace it with an empty row to remove it.\n\tif ( ! isEmptyTableSection( state[ sectionName ] ) ) {\n\t\treturn { [ sectionName ]: [] };\n\t}\n\n\t// Get the length of the first row of the body to use when creating the header.\n\tconst columnCount = get( state, [ 'body', 0, 'cells', 'length' ], 1 );\n\n\t// Section doesn't exist, insert an empty row to create the section.\n\treturn insertRow( state, { sectionName, rowIndex: 0, columnCount } );\n}\n\n/**\n * Determines whether a table section is empty.\n *\n * @param {Object} section Table section state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyTableSection( section ) {\n\treturn ! section || ! section.length || every( section, isEmptyRow );\n}\n\n/**\n * Determines whether a table row is empty.\n *\n * @param {Object} row Table row state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyRow( row ) {\n\treturn ! ( row.cells && row.cells.length );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"names":["isEqual","BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDisabled","useDispatch","useSelect","__unstableStripHTML","stripHTML","renderToString","useEffect","__","addQueryArgs","removeQueryArgs","icon","TableOfContentsList","linearToNestedHeadingList","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","disabledRef","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","__unstableMarkNextChangeAsNotPersistent","replaceBlocks","latestHeadings","getBlockAttributes","getBlockName","getClientIdsWithDescendants","__experimentalGetGlobalBlocksByName","getGlobalBlocksByName","editorSelectors","pageBreakClientIds","isPaginated","length","allBlockClientIds","tocPage","tocIndex","indexOf","blockIndex","blockClientId","entries","_latestHeadings","headingPage","permalink","getPermalink","headingPageLink","page","blockName","headingAttributes","canBeLinked","anchor","push","content","replace","level","link","headingTree","toolbarControls","ordered","values","inspectorControls","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEqual } from 'lodash';\n\n/**\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 { useDisabled } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { renderToString, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport icon from './icon';\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\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 {WPComponent} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\n\tconst disabledRef = useDisabled();\n\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\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 {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlocks,\n\t} = useDispatch( blockEditorStore );\n\n\t/**\n\t * The latest heading data, or null if the new data deeply equals the saved\n\t * headings attribute.\n\t *\n\t * Since useSelect forces a re-render when its return value is shallowly\n\t * inequal to its prior call, we would be re-rendering this block every time\n\t * the stores change, even if the latest headings were deeply equal to the\n\t * ones saved in the block attributes.\n\t *\n\t * By returning null when they're equal, we reduce that to 2 renders: one\n\t * when there are new latest headings (and so it returns them), and one when\n\t * they haven't changed (so it returns null). As long as the latest heading\n\t * data remains the same, further calls of the useSelect callback will\n\t * continue to return null, thus preventing any forced re-renders.\n\t */\n\tconst latestHeadings = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetClientIdsWithDescendants,\n\t\t\t\t__experimentalGetGlobalBlocksByName: getGlobalBlocksByName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor, so to avoid\n\t\t\t// declaring @wordpress/editor as a dependency, we must access its\n\t\t\t// store by string. When the store is not available, editorSelectors\n\t\t\t// will be null, and the block's saved markup will lack permalinks.\n\t\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\t\tconst editorSelectors = select( 'core/editor' );\n\n\t\t\tconst pageBreakClientIds = getGlobalBlocksByName( 'core/nextpage' );\n\n\t\t\tconst isPaginated = pageBreakClientIds.length !== 0;\n\n\t\t\t// Get the client ids of all blocks in the editor.\n\t\t\tconst allBlockClientIds = getClientIdsWithDescendants();\n\n\t\t\t// If onlyIncludeCurrentPage is true, calculate the page (of a paginated post) this block is part of, so we know which headings to include; otherwise, skip the calculation.\n\t\t\tlet tocPage = 1;\n\n\t\t\tif ( isPaginated && onlyIncludeCurrentPage ) {\n\t\t\t\t// We can't use getBlockIndex because it only returns the index\n\t\t\t\t// relative to sibling blocks.\n\t\t\t\tconst tocIndex = allBlockClientIds.indexOf( clientId );\n\n\t\t\t\tfor ( const [\n\t\t\t\t\tblockIndex,\n\t\t\t\t\tblockClientId,\n\t\t\t\t] of allBlockClientIds.entries() ) {\n\t\t\t\t\t// If we've reached blocks after the Table of Contents, we've\n\t\t\t\t\t// finished calculating which page the block is on.\n\t\t\t\t\tif ( blockIndex >= tocIndex ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif ( getBlockName( blockClientId ) === 'core/nextpage' ) {\n\t\t\t\t\t\ttocPage++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst _latestHeadings = [];\n\n\t\t\t/** The page (of a paginated post) a heading will be part of. */\n\t\t\tlet headingPage = 1;\n\n\t\t\t/**\n\t\t\t * A permalink to the current post. If the core/editor store is\n\t\t\t * unavailable, this variable will be null.\n\t\t\t */\n\t\t\tconst permalink = editorSelectors?.getPermalink() ?? null;\n\n\t\t\tlet headingPageLink = null;\n\n\t\t\t// If the core/editor store is available, we can add permalinks to the\n\t\t\t// generated table of contents.\n\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\theadingPageLink = isPaginated\n\t\t\t\t\t? addQueryArgs( permalink, { page: headingPage } )\n\t\t\t\t\t: permalink;\n\t\t\t}\n\n\t\t\tfor ( const blockClientId of allBlockClientIds ) {\n\t\t\t\tconst blockName = getBlockName( blockClientId );\n\t\t\t\tif ( blockName === 'core/nextpage' ) {\n\t\t\t\t\theadingPage++;\n\n\t\t\t\t\t// If we're only including headings from the current page (of\n\t\t\t\t\t// a paginated post), then exit the loop if we've reached the\n\t\t\t\t\t// pages after the one with the Table of Contents block.\n\t\t\t\t\tif ( onlyIncludeCurrentPage && headingPage > tocPage ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\t\t\theadingPageLink = addQueryArgs(\n\t\t\t\t\t\t\tremoveQueryArgs( permalink, [ 'page' ] ),\n\t\t\t\t\t\t\t{ page: headingPage }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If we're including all headings or we've reached headings on\n\t\t\t\t// the same page as the Table of Contents block, add them to the\n\t\t\t\t// list.\n\t\t\t\telse if (\n\t\t\t\t\t! onlyIncludeCurrentPage ||\n\t\t\t\t\theadingPage === tocPage\n\t\t\t\t) {\n\t\t\t\t\tif ( blockName === 'core/heading' ) {\n\t\t\t\t\t\tconst headingAttributes = getBlockAttributes(\n\t\t\t\t\t\t\tblockClientId\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst canBeLinked =\n\t\t\t\t\t\t\ttypeof headingPageLink === 'string' &&\n\t\t\t\t\t\t\ttypeof headingAttributes.anchor === 'string' &&\n\t\t\t\t\t\t\theadingAttributes.anchor !== '';\n\n\t\t\t\t\t\t_latestHeadings.push( {\n\t\t\t\t\t\t\t// Convert line breaks to spaces, and get rid of HTML tags in the headings.\n\t\t\t\t\t\t\tcontent: stripHTML(\n\t\t\t\t\t\t\t\theadingAttributes.content.replace(\n\t\t\t\t\t\t\t\t\t/(<br *\\/?>)+/g,\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\tlevel: headingAttributes.level,\n\t\t\t\t\t\t\tlink: canBeLinked\n\t\t\t\t\t\t\t\t? `${ headingPageLink }#${ headingAttributes.anchor }`\n\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( isEqual( headings, _latestHeadings ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn _latestHeadings;\n\t\t},\n\t\t[ clientId, onlyIncludeCurrentPage, headings ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( latestHeadings !== null ) {\n\t\t\t// This is required to keep undo working and not create 2 undo steps\n\t\t\t// for each heading change.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { headings: latestHeadings } );\n\t\t}\n\t}, [ latestHeadings ] );\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\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 ref={ disabledRef }>\n\t\t\t\t\t<TableOfContentsList nestedHeadingList={ headingTree } />\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"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"names":["isEqual","BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDisabled","useDispatch","useSelect","__unstableStripHTML","stripHTML","renderToString","useEffect","__","addQueryArgs","removeQueryArgs","icon","TableOfContentsList","linearToNestedHeadingList","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","disabledRef","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","__unstableMarkNextChangeAsNotPersistent","replaceBlocks","latestHeadings","getBlockAttributes","getBlockName","getClientIdsWithDescendants","__experimentalGetGlobalBlocksByName","getGlobalBlocksByName","editorSelectors","pageBreakClientIds","isPaginated","length","allBlockClientIds","tocPage","tocIndex","indexOf","blockIndex","blockClientId","entries","_latestHeadings","headingPage","permalink","getPermalink","headingPageLink","page","blockName","headingAttributes","canBeLinked","anchor","push","content","replace","level","link","headingTree","toolbarControls","ordered","values","inspectorControls","value"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;AAEA;AACA;AACA;;AACA,SACCC,aADD,EAECC,SAFD,EAGCC,iBAHD,EAICC,KAAK,IAAIC,gBAJV,EAKCC,aALD,QAMO,yBANP;AAOA,SAASC,WAAT,QAA4B,mBAA5B;AACA,SACCC,SADD,EAECC,WAFD,EAGCC,aAHD,EAICC,aAJD,EAKCC,YALD,QAMO,uBANP;AAOA,SAASC,WAAT,QAA4B,oBAA5B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,mBAAmB,IAAIC,SAAhC,QAAiD,gBAAjD;AACA,SAASC,cAAT,EAAyBC,SAAzB,QAA0C,oBAA1C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,EAAuBC,eAAvB,QAA8C,gBAA9C;AAEA;AACA;AACA;;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,mBAAP,MAAgC,QAAhC;AACA,SAASC,yBAAT,QAA0C,SAA1C;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,mBAAT,OAIX;AAAA,MAJyC;AAC5CC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,QAAQ,GAAG,EAAb;AAAiBC,MAAAA;AAAjB,KADgC;AAE5CC,IAAAA,QAF4C;AAG5CC,IAAAA;AAH4C,GAIzC;AACH,QAAMC,UAAU,GAAG1B,aAAa,EAAhC;AACA,QAAM2B,WAAW,GAAGpB,WAAW,EAA/B;AAEA,QAAMqB,aAAa,GAAGnB,SAAS,CAC5BoB,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,oBAAF;AAAwBC,MAAAA;AAAxB,QACLF,MAAM,CAAE9B,gBAAF,CADP;AAEA,UAAMiC,YAAY,GAAGF,oBAAoB,CAAEN,QAAF,CAAzC;AAEA,WAAOO,kBAAkB,CAAE,WAAF,EAAeC,YAAf,CAAzB;AACA,GAP6B,EAQ9B,CAAER,QAAF,CAR8B,CAA/B;AAWA,QAAM;AAAES,IAAAA,uCAAF;AAA2CC,IAAAA;AAA3C,MACL1B,WAAW,CAAET,gBAAF,CADZ;AAGA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,QAAMoC,cAAc,GAAG1B,SAAS,CAC7BoB,MAAF,IAAc;AAAA;;AACb,UAAM;AACLO,MAAAA,kBADK;AAELC,MAAAA,YAFK;AAGLC,MAAAA,2BAHK;AAILC,MAAAA,mCAAmC,EAAEC;AAJhC,QAKFX,MAAM,CAAE9B,gBAAF,CALV,CADa,CAQb;AACA;AACA;AACA;AACA;AACA;;AACA,UAAM0C,eAAe,GAAGZ,MAAM,CAAE,aAAF,CAA9B;AAEA,UAAMa,kBAAkB,GAAGF,qBAAqB,CAAE,eAAF,CAAhD;AAEA,UAAMG,WAAW,GAAGD,kBAAkB,CAACE,MAAnB,KAA8B,CAAlD,CAlBa,CAoBb;;AACA,UAAMC,iBAAiB,GAAGP,2BAA2B,EAArD,CArBa,CAuBb;;AACA,QAAIQ,OAAO,GAAG,CAAd;;AAEA,QAAKH,WAAW,IAAIpB,sBAApB,EAA6C;AAC5C;AACA;AACA,YAAMwB,QAAQ,GAAGF,iBAAiB,CAACG,OAAlB,CAA2BxB,QAA3B,CAAjB;;AAEA,WAAM,MAAM,CACXyB,UADW,EAEXC,aAFW,CAAZ,IAGKL,iBAAiB,CAACM,OAAlB,EAHL,EAGmC;AAClC;AACA;AACA,YAAKF,UAAU,IAAIF,QAAnB,EAA8B;AAC7B;AACA;;AACD,YAAKV,YAAY,CAAEa,aAAF,CAAZ,KAAkC,eAAvC,EAAyD;AACxDJ,UAAAA,OAAO;AACP;AACD;AACD;;AAED,UAAMM,eAAe,GAAG,EAAxB;AAEA;;AACA,QAAIC,WAAW,GAAG,CAAlB;AAEA;AACH;AACA;AACA;;AACG,UAAMC,SAAS,4BAAGb,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAEc,YAAjB,EAAH,yEAAsC,IAArD;AAEA,QAAIC,eAAe,GAAG,IAAtB,CAzDa,CA2Db;AACA;;AACA,QAAK,OAAOF,SAAP,KAAqB,QAA1B,EAAqC;AACpCE,MAAAA,eAAe,GAAGb,WAAW,GAC1B5B,YAAY,CAAEuC,SAAF,EAAa;AAAEG,QAAAA,IAAI,EAAEJ;AAAR,OAAb,CADc,GAE1BC,SAFH;AAGA;;AAED,SAAM,MAAMJ,aAAZ,IAA6BL,iBAA7B,EAAiD;AAChD,YAAMa,SAAS,GAAGrB,YAAY,CAAEa,aAAF,CAA9B;;AACA,UAAKQ,SAAS,KAAK,eAAnB,EAAqC;AACpCL,QAAAA,WAAW,GADyB,CAGpC;AACA;AACA;;AACA,YAAK9B,sBAAsB,IAAI8B,WAAW,GAAGP,OAA7C,EAAuD;AACtD;AACA;;AAED,YAAK,OAAOQ,SAAP,KAAqB,QAA1B,EAAqC;AACpCE,UAAAA,eAAe,GAAGzC,YAAY,CAC7BC,eAAe,CAAEsC,SAAF,EAAa,CAAE,MAAF,CAAb,CADc,EAE7B;AAAEG,YAAAA,IAAI,EAAEJ;AAAR,WAF6B,CAA9B;AAIA;AACD,OAhBD,CAiBA;AACA;AACA;AAnBA,WAoBK,IACJ,CAAE9B,sBAAF,IACA8B,WAAW,KAAKP,OAFZ,EAGH;AACD,YAAKY,SAAS,KAAK,cAAnB,EAAoC;AACnC,gBAAMC,iBAAiB,GACtBvB,kBAAkB,CAAEc,aAAF,CADnB;AAGA,gBAAMU,WAAW,GAChB,OAAOJ,eAAP,KAA2B,QAA3B,IACA,OAAOG,iBAAiB,CAACE,MAAzB,KAAoC,QADpC,IAEAF,iBAAiB,CAACE,MAAlB,KAA6B,EAH9B;;AAKAT,UAAAA,eAAe,CAACU,IAAhB,CAAsB;AACrB;AACAC,YAAAA,OAAO,EAAEpD,SAAS,CACjBgD,iBAAiB,CAACI,OAAlB,CAA0BC,OAA1B,CACC,eADD,EAEC,GAFD,CADiB,CAFG;AAQrBC,YAAAA,KAAK,EAAEN,iBAAiB,CAACM,KARJ;AASrBC,YAAAA,IAAI,EAAEN,WAAW,GACb,GAAGJ,eAAiB,IAAIG,iBAAiB,CAACE,MAAQ,EADrC,GAEd;AAXkB,WAAtB;AAaA;AACD;AACD;;AAED,QAAKnE,OAAO,CAAE4B,QAAF,EAAY8B,eAAZ,CAAZ,EAA4C;AAC3C,aAAO,IAAP;AACA;;AACD,WAAOA,eAAP;AACA,GA5H8B,EA6H/B,CAAE5B,QAAF,EAAYD,sBAAZ,EAAoCD,QAApC,CA7H+B,CAAhC;AAgIAT,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKsB,cAAc,KAAK,IAAxB,EAA+B;AAC9B;AACA;AACAF,MAAAA,uCAAuC;;AACvCR,MAAAA,aAAa,CAAE;AAAEH,QAAAA,QAAQ,EAAEa;AAAZ,OAAF,CAAb;AACA;AACD,GAPQ,EAON,CAAEA,cAAF,CAPM,CAAT;AASA,QAAMgC,WAAW,GAAGhD,yBAAyB,CAAEG,QAAF,CAA7C;AAEA,QAAM8C,eAAe,GAAGxC,aAAa,IACpC,cAAC,aAAD,QACC,cAAC,YAAD,QACC,cAAC,aAAD;AACC,IAAA,OAAO,EAAG,MACTM,aAAa,CACZV,QADY,EAEZvB,WAAW,CAAE,WAAF,EAAe;AACzBoE,MAAAA,OAAO,EAAE,IADgB;AAEzBC,MAAAA,MAAM,EAAE1D,cAAc,CACrB,cAAC,mBAAD;AACC,QAAA,iBAAiB,EAAGuD;AADrB,QADqB;AAFG,KAAf,CAFC;AAFf,KAeGrD,EAAE,CAAE,wBAAF,CAfL,CADD,CADD,CADD;AAwBA,QAAMyD,iBAAiB,GACtB,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGzD,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,2BAAF,CADX;AAEC,IAAA,OAAO,EAAGS,sBAFX;AAGC,IAAA,QAAQ,EAAKiD,KAAF,IACV/C,aAAa,CAAE;AAAEF,MAAAA,sBAAsB,EAAEiD;AAA1B,KAAF,CAJf;AAMC,IAAA,IAAI,EACHjD,sBAAsB,GACnBT,EAAE,CACF,2EADE,CADiB,GAInBA,EAAE,CACF,mFADE;AAXP,IADD,CADD,CADD,CApMG,CA2NH;AACA;AACA;;AACA,MAAKQ,QAAQ,CAACsB,MAAT,KAAoB,CAAzB,EAA6B;AAC5B,WACC,8BACC,qBAAUlB,UAAV,EACC,cAAC,WAAD;AACC,MAAA,IAAI,EAAG,cAAC,SAAD;AAAW,QAAA,IAAI,EAAGT;AAAlB,QADR;AAEC,MAAA,KAAK,EAAC,mBAFP;AAGC,MAAA,YAAY,EAAGH,EAAE,CAChB,4GADgB;AAHlB,MADD,CADD,EAUGyD,iBAVH,CADD;AAcA;;AAED,SACC,8BACC,qBAAU7C,UAAV,EACC;AAAI,IAAA,GAAG,EAAGC;AAAV,KACC,cAAC,mBAAD;AAAqB,IAAA,iBAAiB,EAAGwC;AAAzC,IADD,CADD,CADD,EAMGC,eANH,EAOGG,iBAPH,CADD;AAWA","sourcesContent":["/**\n * External dependencies\n */\nimport { isEqual } from 'lodash';\n\n/**\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 { useDisabled } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { renderToString, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport icon from './icon';\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\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 {WPComponent} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\n\tconst disabledRef = useDisabled();\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 { __unstableMarkNextChangeAsNotPersistent, replaceBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\t/**\n\t * The latest heading data, or null if the new data deeply equals the saved\n\t * headings attribute.\n\t *\n\t * Since useSelect forces a re-render when its return value is shallowly\n\t * inequal to its prior call, we would be re-rendering this block every time\n\t * the stores change, even if the latest headings were deeply equal to the\n\t * ones saved in the block attributes.\n\t *\n\t * By returning null when they're equal, we reduce that to 2 renders: one\n\t * when there are new latest headings (and so it returns them), and one when\n\t * they haven't changed (so it returns null). As long as the latest heading\n\t * data remains the same, further calls of the useSelect callback will\n\t * continue to return null, thus preventing any forced re-renders.\n\t */\n\tconst latestHeadings = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetClientIdsWithDescendants,\n\t\t\t\t__experimentalGetGlobalBlocksByName: getGlobalBlocksByName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor, so to avoid\n\t\t\t// declaring @wordpress/editor as a dependency, we must access its\n\t\t\t// store by string. When the store is not available, editorSelectors\n\t\t\t// will be null, and the block's saved markup will lack permalinks.\n\t\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\t\tconst editorSelectors = select( 'core/editor' );\n\n\t\t\tconst pageBreakClientIds = getGlobalBlocksByName( 'core/nextpage' );\n\n\t\t\tconst isPaginated = pageBreakClientIds.length !== 0;\n\n\t\t\t// Get the client ids of all blocks in the editor.\n\t\t\tconst allBlockClientIds = getClientIdsWithDescendants();\n\n\t\t\t// If onlyIncludeCurrentPage is true, calculate the page (of a paginated post) this block is part of, so we know which headings to include; otherwise, skip the calculation.\n\t\t\tlet tocPage = 1;\n\n\t\t\tif ( isPaginated && onlyIncludeCurrentPage ) {\n\t\t\t\t// We can't use getBlockIndex because it only returns the index\n\t\t\t\t// relative to sibling blocks.\n\t\t\t\tconst tocIndex = allBlockClientIds.indexOf( clientId );\n\n\t\t\t\tfor ( const [\n\t\t\t\t\tblockIndex,\n\t\t\t\t\tblockClientId,\n\t\t\t\t] of allBlockClientIds.entries() ) {\n\t\t\t\t\t// If we've reached blocks after the Table of Contents, we've\n\t\t\t\t\t// finished calculating which page the block is on.\n\t\t\t\t\tif ( blockIndex >= tocIndex ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif ( getBlockName( blockClientId ) === 'core/nextpage' ) {\n\t\t\t\t\t\ttocPage++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst _latestHeadings = [];\n\n\t\t\t/** The page (of a paginated post) a heading will be part of. */\n\t\t\tlet headingPage = 1;\n\n\t\t\t/**\n\t\t\t * A permalink to the current post. If the core/editor store is\n\t\t\t * unavailable, this variable will be null.\n\t\t\t */\n\t\t\tconst permalink = editorSelectors?.getPermalink() ?? null;\n\n\t\t\tlet headingPageLink = null;\n\n\t\t\t// If the core/editor store is available, we can add permalinks to the\n\t\t\t// generated table of contents.\n\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\theadingPageLink = isPaginated\n\t\t\t\t\t? addQueryArgs( permalink, { page: headingPage } )\n\t\t\t\t\t: permalink;\n\t\t\t}\n\n\t\t\tfor ( const blockClientId of allBlockClientIds ) {\n\t\t\t\tconst blockName = getBlockName( blockClientId );\n\t\t\t\tif ( blockName === 'core/nextpage' ) {\n\t\t\t\t\theadingPage++;\n\n\t\t\t\t\t// If we're only including headings from the current page (of\n\t\t\t\t\t// a paginated post), then exit the loop if we've reached the\n\t\t\t\t\t// pages after the one with the Table of Contents block.\n\t\t\t\t\tif ( onlyIncludeCurrentPage && headingPage > tocPage ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\t\t\theadingPageLink = addQueryArgs(\n\t\t\t\t\t\t\tremoveQueryArgs( permalink, [ 'page' ] ),\n\t\t\t\t\t\t\t{ page: headingPage }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If we're including all headings or we've reached headings on\n\t\t\t\t// the same page as the Table of Contents block, add them to the\n\t\t\t\t// list.\n\t\t\t\telse if (\n\t\t\t\t\t! onlyIncludeCurrentPage ||\n\t\t\t\t\theadingPage === tocPage\n\t\t\t\t) {\n\t\t\t\t\tif ( blockName === 'core/heading' ) {\n\t\t\t\t\t\tconst headingAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( blockClientId );\n\n\t\t\t\t\t\tconst canBeLinked =\n\t\t\t\t\t\t\ttypeof headingPageLink === 'string' &&\n\t\t\t\t\t\t\ttypeof headingAttributes.anchor === 'string' &&\n\t\t\t\t\t\t\theadingAttributes.anchor !== '';\n\n\t\t\t\t\t\t_latestHeadings.push( {\n\t\t\t\t\t\t\t// Convert line breaks to spaces, and get rid of HTML tags in the headings.\n\t\t\t\t\t\t\tcontent: stripHTML(\n\t\t\t\t\t\t\t\theadingAttributes.content.replace(\n\t\t\t\t\t\t\t\t\t/(<br *\\/?>)+/g,\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\tlevel: headingAttributes.level,\n\t\t\t\t\t\t\tlink: canBeLinked\n\t\t\t\t\t\t\t\t? `${ headingPageLink }#${ headingAttributes.anchor }`\n\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( isEqual( headings, _latestHeadings ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn _latestHeadings;\n\t\t},\n\t\t[ clientId, onlyIncludeCurrentPage, headings ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( latestHeadings !== null ) {\n\t\t\t// This is required to keep undo working and not create 2 undo steps\n\t\t\t// for each heading change.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { headings: latestHeadings } );\n\t\t}\n\t}, [ latestHeadings ] );\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\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 ref={ disabledRef }>\n\t\t\t\t\t<TableOfContentsList nestedHeadingList={ headingTree } />\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"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/tag-cloud/edit.js"],"names":["map","filter","Flex","FlexItem","PanelBody","ToggleControl","SelectControl","RangeControl","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","withSelect","__","InspectorControls","useBlockProps","useSetting","ServerSideRender","store","coreStore","MIN_TAGS","MAX_TAGS","MIN_FONT_SIZE","MAX_FONT_SIZE","TagCloudEdit","attributes","setAttributes","taxonomies","taxonomy","showTagCounts","numberOfTags","smallestFontSize","largestFontSize","units","availableUnits","getTaxonomyOptions","selectOption","label","value","disabled","taxonomyOptions","item","slug","name","onFontSizeChange","fontSizeLabel","newValue","quantity","newUnit","Number","isFinite","updateObj","Object","entries","forEach","attribute","currentValue","currentQuantity","currentUnit","inspectorControls","selectedTaxonomy","select","getTaxonomies","per_page"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tFlex,\n\tFlexItem,\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n\tRangeControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Minimum number of tags a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_TAGS = 1;\n\n/**\n * Maximum number of tags a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_TAGS = 100;\n\nconst MIN_FONT_SIZE = 0.1;\nconst MAX_FONT_SIZE = 100;\n\nfunction TagCloudEdit( { attributes, setAttributes, taxonomies } ) {\n\tconst {\n\t\ttaxonomy,\n\t\tshowTagCounts,\n\t\tnumberOfTags,\n\t\tsmallestFontSize,\n\t\tlargestFontSize,\n\t} = attributes;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t],\n\t} );\n\n\tconst getTaxonomyOptions = () => {\n\t\tconst selectOption = {\n\t\t\tlabel: __( '- Select -' ),\n\t\t\tvalue: '',\n\t\t\tdisabled: true,\n\t\t};\n\t\tconst taxonomyOptions = map(\n\t\t\tfilter( taxonomies, 'show_cloud' ),\n\t\t\t( item ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: item.slug,\n\t\t\t\t\tlabel: item.name,\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\n\t\treturn [ selectOption, ...taxonomyOptions ];\n\t};\n\n\tconst onFontSizeChange = ( fontSizeLabel, newValue ) => {\n\t\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\t\tconst [ quantity, newUnit ] = parseQuantityAndUnitFromRawValue(\n\t\t\tnewValue\n\t\t);\n\t\tif ( ! Number.isFinite( quantity ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst updateObj = { [ fontSizeLabel ]: newValue };\n\t\t// We need to keep in sync the `unit` changes to both `smallestFontSize`\n\t\t// and `largestFontSize` attributes.\n\t\tObject.entries( {\n\t\t\tsmallestFontSize,\n\t\t\tlargestFontSize,\n\t\t} ).forEach( ( [ attribute, currentValue ] ) => {\n\t\t\tconst [\n\t\t\t\tcurrentQuantity,\n\t\t\t\tcurrentUnit,\n\t\t\t] = parseQuantityAndUnitFromRawValue( currentValue );\n\t\t\t// Only add an update if the other font size attribute has a different unit.\n\t\t\tif ( attribute !== fontSizeLabel && currentUnit !== newUnit ) {\n\t\t\t\tupdateObj[ attribute ] = `${ currentQuantity }${ newUnit }`;\n\t\t\t}\n\t\t} );\n\t\tsetAttributes( updateObj );\n\t};\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\toptions={ getTaxonomyOptions() }\n\t\t\t\t\tvalue={ taxonomy }\n\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\tsetAttributes( { taxonomy: selectedTaxonomy } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\tchecked={ showTagCounts }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( { showTagCounts: ! showTagCounts } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Number of tags' ) }\n\t\t\t\t\tvalue={ numberOfTags }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { numberOfTags: value } )\n\t\t\t\t\t}\n\t\t\t\t\tmin={ MIN_TAGS }\n\t\t\t\t\tmax={ MAX_TAGS }\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Smallest size' ) }\n\t\t\t\t\t\t\tvalue={ smallestFontSize }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonFontSizeChange( 'smallestFontSize', value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tmin={ MIN_FONT_SIZE }\n\t\t\t\t\t\t\tmax={ MAX_FONT_SIZE }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Largest size' ) }\n\t\t\t\t\t\t\tvalue={ largestFontSize }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonFontSizeChange( 'largestFontSize', value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tmin={ MIN_FONT_SIZE }\n\t\t\t\t\t\t\tmax={ MAX_FONT_SIZE }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tkey=\"tag-cloud\"\n\t\t\t\t\tblock=\"core/tag-cloud\"\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\treturn {\n\t\ttaxonomies: select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t};\n} )( TagCloudEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/tag-cloud/edit.js"],"names":["map","filter","Flex","FlexItem","PanelBody","ToggleControl","SelectControl","RangeControl","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","withSelect","__","InspectorControls","useBlockProps","useSetting","ServerSideRender","store","coreStore","MIN_TAGS","MAX_TAGS","MIN_FONT_SIZE","MAX_FONT_SIZE","TagCloudEdit","attributes","setAttributes","taxonomies","taxonomy","showTagCounts","numberOfTags","smallestFontSize","largestFontSize","units","availableUnits","getTaxonomyOptions","selectOption","label","value","disabled","taxonomyOptions","item","slug","name","onFontSizeChange","fontSizeLabel","newValue","quantity","newUnit","Number","isFinite","updateObj","Object","entries","forEach","attribute","currentValue","currentQuantity","currentUnit","inspectorControls","selectedTaxonomy","select","getTaxonomies","per_page"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,MAAd,QAA4B,QAA5B;AAEA;AACA;AACA;;AACA,SACCC,IADD,EAECC,QAFD,EAGCC,SAHD,EAICC,aAJD,EAKCC,aALD,EAMCC,YAND,EAOCC,yBAAyB,IAAIC,WAP9B,EAQCC,4BAA4B,IAAIC,cARjC,EASCC,8CAA8C,IAAIC,gCATnD,QAUO,uBAVP;AAWA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,iBADD,EAECC,aAFD,EAGCC,UAHD,QAIO,yBAJP;AAKA,OAAOC,gBAAP,MAA6B,+BAA7B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;AACA;AACA;;AACA,MAAMC,QAAQ,GAAG,CAAjB;AAEA;AACA;AACA;AACA;AACA;;AACA,MAAMC,QAAQ,GAAG,GAAjB;AAEA,MAAMC,aAAa,GAAG,GAAtB;AACA,MAAMC,aAAa,GAAG,GAAtB;;AAEA,SAASC,YAAT,OAAmE;AAAA,MAA5C;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,aAAd;AAA6BC,IAAAA;AAA7B,GAA4C;AAClE,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,aAFK;AAGLC,IAAAA,YAHK;AAILC,IAAAA,gBAJK;AAKLC,IAAAA;AALK,MAMFP,UANJ;AAQA,QAAMQ,KAAK,GAAGxB,cAAc,CAAE;AAC7ByB,IAAAA,cAAc,EAAElB,UAAU,CAAE,eAAF,CAAV,IAAiC,CAChD,GADgD,EAEhD,IAFgD,EAGhD,IAHgD,EAIhD,KAJgD;AADpB,GAAF,CAA5B;;AASA,QAAMmB,kBAAkB,GAAG,MAAM;AAChC,UAAMC,YAAY,GAAG;AACpBC,MAAAA,KAAK,EAAExB,EAAE,CAAE,YAAF,CADW;AAEpByB,MAAAA,KAAK,EAAE,EAFa;AAGpBC,MAAAA,QAAQ,EAAE;AAHU,KAArB;AAKA,UAAMC,eAAe,GAAG1C,GAAG,CAC1BC,MAAM,CAAE4B,UAAF,EAAc,YAAd,CADoB,EAExBc,IAAF,IAAY;AACX,aAAO;AACNH,QAAAA,KAAK,EAAEG,IAAI,CAACC,IADN;AAENL,QAAAA,KAAK,EAAEI,IAAI,CAACE;AAFN,OAAP;AAIA,KAPyB,CAA3B;AAUA,WAAO,CAAEP,YAAF,EAAgB,GAAGI,eAAnB,CAAP;AACA,GAjBD;;AAmBA,QAAMI,gBAAgB,GAAG,CAAEC,aAAF,EAAiBC,QAAjB,KAA+B;AACvD;AACA,UAAM,CAAEC,QAAF,EAAYC,OAAZ,IACLrC,gCAAgC,CAAEmC,QAAF,CADjC;;AAEA,QAAK,CAAEG,MAAM,CAACC,QAAP,CAAiBH,QAAjB,CAAP,EAAqC;AACpC;AACA;;AACD,UAAMI,SAAS,GAAG;AAAE,OAAEN,aAAF,GAAmBC;AAArB,KAAlB,CAPuD,CAQvD;AACA;;AACAM,IAAAA,MAAM,CAACC,OAAP,CAAgB;AACftB,MAAAA,gBADe;AAEfC,MAAAA;AAFe,KAAhB,EAGIsB,OAHJ,CAGa,SAAmC;AAAA,UAAjC,CAAEC,SAAF,EAAaC,YAAb,CAAiC;AAC/C,YAAM,CAAEC,eAAF,EAAmBC,WAAnB,IACL/C,gCAAgC,CAAE6C,YAAF,CADjC,CAD+C,CAG/C;;AACA,UAAKD,SAAS,KAAKV,aAAd,IAA+Ba,WAAW,KAAKV,OAApD,EAA8D;AAC7DG,QAAAA,SAAS,CAAEI,SAAF,CAAT,GAA0B,GAAGE,eAAiB,GAAGT,OAAS,EAA1D;AACA;AACD,KAVD;AAWAtB,IAAAA,aAAa,CAAEyB,SAAF,CAAb;AACA,GAtBD;;AAwBA,QAAMQ,iBAAiB,GACtB,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAG9C,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,UAAF,CADX;AAEC,IAAA,OAAO,EAAGsB,kBAAkB,EAF7B;AAGC,IAAA,KAAK,EAAGP,QAHT;AAIC,IAAA,QAAQ,EAAKgC,gBAAF,IACVlC,aAAa,CAAE;AAAEE,MAAAA,QAAQ,EAAEgC;AAAZ,KAAF;AALf,IADD,EASC,cAAC,aAAD;AACC,IAAA,KAAK,EAAG/C,EAAE,CAAE,kBAAF,CADX;AAEC,IAAA,OAAO,EAAGgB,aAFX;AAGC,IAAA,QAAQ,EAAG,MACVH,aAAa,CAAE;AAAEG,MAAAA,aAAa,EAAE,CAAEA;AAAnB,KAAF;AAJf,IATD,EAgBC,cAAC,YAAD;AACC,IAAA,KAAK,EAAGhB,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,KAAK,EAAGiB,YAFT;AAGC,IAAA,QAAQ,EAAKQ,KAAF,IACVZ,aAAa,CAAE;AAAEI,MAAAA,YAAY,EAAEQ;AAAhB,KAAF,CAJf;AAMC,IAAA,GAAG,EAAGlB,QANP;AAOC,IAAA,GAAG,EAAGC,QAPP;AAQC,IAAA,QAAQ;AART,IAhBD,EA0BC,cAAC,IAAD,QACC,cAAC,QAAD;AAAU,IAAA,OAAO;AAAjB,KACC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGR,EAAE,CAAE,eAAF,CADX;AAEC,IAAA,KAAK,EAAGkB,gBAFT;AAGC,IAAA,QAAQ,EAAKO,KAAF,IAAa;AACvBM,MAAAA,gBAAgB,CAAE,kBAAF,EAAsBN,KAAtB,CAAhB;AACA,KALF;AAMC,IAAA,KAAK,EAAGL,KANT;AAOC,IAAA,GAAG,EAAGX,aAPP;AAQC,IAAA,GAAG,EAAGC;AARP,IADD,CADD,EAaC,cAAC,QAAD;AAAU,IAAA,OAAO;AAAjB,KACC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGV,EAAE,CAAE,cAAF,CADX;AAEC,IAAA,KAAK,EAAGmB,eAFT;AAGC,IAAA,QAAQ,EAAKM,KAAF,IAAa;AACvBM,MAAAA,gBAAgB,CAAE,iBAAF,EAAqBN,KAArB,CAAhB;AACA,KALF;AAMC,IAAA,KAAK,EAAGL,KANT;AAOC,IAAA,GAAG,EAAGX,aAPP;AAQC,IAAA,GAAG,EAAGC;AARP,IADD,CAbD,CA1BD,CADD,CADD;AA0DA,SACC,8BACGoC,iBADH,EAEC,qBAAU5C,aAAa,EAAvB,EACC,cAAC,gBAAD;AACC,IAAA,GAAG,EAAC,WADL;AAEC,IAAA,KAAK,EAAC,gBAFP;AAGC,IAAA,UAAU,EAAGU;AAHd,IADD,CAFD,CADD;AAYA;;AAED,eAAeb,UAAU,CAAIiD,MAAF,IAAc;AACxC,SAAO;AACNlC,IAAAA,UAAU,EAAEkC,MAAM,CAAE1C,SAAF,CAAN,CAAoB2C,aAApB,CAAmC;AAAEC,MAAAA,QAAQ,EAAE,CAAC;AAAb,KAAnC;AADN,GAAP;AAGA,CAJwB,CAAV,CAIVvC,YAJU,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tFlex,\n\tFlexItem,\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n\tRangeControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Minimum number of tags a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_TAGS = 1;\n\n/**\n * Maximum number of tags a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_TAGS = 100;\n\nconst MIN_FONT_SIZE = 0.1;\nconst MAX_FONT_SIZE = 100;\n\nfunction TagCloudEdit( { attributes, setAttributes, taxonomies } ) {\n\tconst {\n\t\ttaxonomy,\n\t\tshowTagCounts,\n\t\tnumberOfTags,\n\t\tsmallestFontSize,\n\t\tlargestFontSize,\n\t} = attributes;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t],\n\t} );\n\n\tconst getTaxonomyOptions = () => {\n\t\tconst selectOption = {\n\t\t\tlabel: __( '- Select -' ),\n\t\t\tvalue: '',\n\t\t\tdisabled: true,\n\t\t};\n\t\tconst taxonomyOptions = map(\n\t\t\tfilter( taxonomies, 'show_cloud' ),\n\t\t\t( item ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: item.slug,\n\t\t\t\t\tlabel: item.name,\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\n\t\treturn [ selectOption, ...taxonomyOptions ];\n\t};\n\n\tconst onFontSizeChange = ( fontSizeLabel, newValue ) => {\n\t\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\t\tconst [ quantity, newUnit ] =\n\t\t\tparseQuantityAndUnitFromRawValue( newValue );\n\t\tif ( ! Number.isFinite( quantity ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst updateObj = { [ fontSizeLabel ]: newValue };\n\t\t// We need to keep in sync the `unit` changes to both `smallestFontSize`\n\t\t// and `largestFontSize` attributes.\n\t\tObject.entries( {\n\t\t\tsmallestFontSize,\n\t\t\tlargestFontSize,\n\t\t} ).forEach( ( [ attribute, currentValue ] ) => {\n\t\t\tconst [ currentQuantity, currentUnit ] =\n\t\t\t\tparseQuantityAndUnitFromRawValue( currentValue );\n\t\t\t// Only add an update if the other font size attribute has a different unit.\n\t\t\tif ( attribute !== fontSizeLabel && currentUnit !== newUnit ) {\n\t\t\t\tupdateObj[ attribute ] = `${ currentQuantity }${ newUnit }`;\n\t\t\t}\n\t\t} );\n\t\tsetAttributes( updateObj );\n\t};\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\toptions={ getTaxonomyOptions() }\n\t\t\t\t\tvalue={ taxonomy }\n\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\tsetAttributes( { taxonomy: selectedTaxonomy } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\tchecked={ showTagCounts }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( { showTagCounts: ! showTagCounts } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Number of tags' ) }\n\t\t\t\t\tvalue={ numberOfTags }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { numberOfTags: value } )\n\t\t\t\t\t}\n\t\t\t\t\tmin={ MIN_TAGS }\n\t\t\t\t\tmax={ MAX_TAGS }\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Smallest size' ) }\n\t\t\t\t\t\t\tvalue={ smallestFontSize }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonFontSizeChange( 'smallestFontSize', value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tmin={ MIN_FONT_SIZE }\n\t\t\t\t\t\t\tmax={ MAX_FONT_SIZE }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Largest size' ) }\n\t\t\t\t\t\t\tvalue={ largestFontSize }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonFontSizeChange( 'largestFontSize', value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tmin={ MIN_FONT_SIZE }\n\t\t\t\t\t\t\tmax={ MAX_FONT_SIZE }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tkey=\"tag-cloud\"\n\t\t\t\t\tblock=\"core/tag-cloud\"\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\treturn {\n\t\ttaxonomies: select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t};\n} )( TagCloudEdit );\n"]}
@@ -23,8 +23,11 @@ export function TemplatePartAdvancedControls(_ref) {
23
23
  } = useSelect(select => {
24
24
  // FIXME: @wordpress/block-library should not depend on @wordpress/editor.
25
25
  // Blocks can be loaded into a *non-post* block editor.
26
- // eslint-disable-next-line @wordpress/data-no-store-string-literals
26
+
27
+ /* eslint-disable @wordpress/data-no-store-string-literals */
27
28
  const definedAreas = select('core/editor').__experimentalGetDefaultTemplatePartAreas();
29
+ /* eslint-enable @wordpress/data-no-store-string-literals */
30
+
28
31
 
29
32
  return {
30
33
  areaOptions: definedAreas.map(_ref2 => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/advanced-controls.js"],"names":["useEntityProp","SelectControl","TextControl","sprintf","__","InspectorControls","useSelect","TemplatePartAdvancedControls","tagName","setAttributes","isEntityAvailable","templatePartId","defaultWrapper","area","setArea","title","setTitle","areaOptions","select","definedAreas","__experimentalGetDefaultTemplatePartAreas","map","label","_area","value","event","target"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { SelectControl, TextControl } from '@wordpress/components';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\nexport function TemplatePartAdvancedControls( {\n\ttagName,\n\tsetAttributes,\n\tisEntityAvailable,\n\ttemplatePartId,\n\tdefaultWrapper,\n} ) {\n\tconst [ area, setArea ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t'area',\n\t\ttemplatePartId\n\t);\n\n\tconst [ title, setTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t'title',\n\t\ttemplatePartId\n\t);\n\n\tconst { areaOptions } = useSelect( ( select ) => {\n\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\tconst definedAreas = select(\n\t\t\t'core/editor'\n\t\t).__experimentalGetDefaultTemplatePartAreas();\n\t\treturn {\n\t\t\tareaOptions: definedAreas.map( ( { label, area: _area } ) => ( {\n\t\t\t\tlabel,\n\t\t\t\tvalue: _area,\n\t\t\t} ) ),\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t{ isEntityAvailable && (\n\t\t\t\t<>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetTitle( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonFocus={ ( event ) => event.target.select() }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\toptions={ areaOptions }\n\t\t\t\t\t\tvalue={ area }\n\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: sprintf(\n\t\t\t\t\t\t\t/* translators: %s: HTML tag based on area. */\n\t\t\t\t\t\t\t__( 'Default based on area (%s)' ),\n\t\t\t\t\t\t\t`<${ defaultWrapper }>`\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t},\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t{ label: '<div>', value: 'div' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName || '' }\n\t\t\t\tonChange={ ( value ) => setAttributes( { tagName: value } ) }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/advanced-controls.js"],"names":["useEntityProp","SelectControl","TextControl","sprintf","__","InspectorControls","useSelect","TemplatePartAdvancedControls","tagName","setAttributes","isEntityAvailable","templatePartId","defaultWrapper","area","setArea","title","setTitle","areaOptions","select","definedAreas","__experimentalGetDefaultTemplatePartAreas","map","label","_area","value","event","target"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { SelectControl, TextControl } from '@wordpress/components';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\nexport function TemplatePartAdvancedControls( {\n\ttagName,\n\tsetAttributes,\n\tisEntityAvailable,\n\ttemplatePartId,\n\tdefaultWrapper,\n} ) {\n\tconst [ area, setArea ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t'area',\n\t\ttemplatePartId\n\t);\n\n\tconst [ title, setTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t'title',\n\t\ttemplatePartId\n\t);\n\n\tconst { areaOptions } = useSelect( ( select ) => {\n\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t/* eslint-disable @wordpress/data-no-store-string-literals */\n\t\tconst definedAreas =\n\t\t\tselect( 'core/editor' ).__experimentalGetDefaultTemplatePartAreas();\n\t\t/* eslint-enable @wordpress/data-no-store-string-literals */\n\t\treturn {\n\t\t\tareaOptions: definedAreas.map( ( { label, area: _area } ) => ( {\n\t\t\t\tlabel,\n\t\t\t\tvalue: _area,\n\t\t\t} ) ),\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t{ isEntityAvailable && (\n\t\t\t\t<>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetTitle( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonFocus={ ( event ) => event.target.select() }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\toptions={ areaOptions }\n\t\t\t\t\t\tvalue={ area }\n\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: sprintf(\n\t\t\t\t\t\t\t/* translators: %s: HTML tag based on area. */\n\t\t\t\t\t\t\t__( 'Default based on area (%s)' ),\n\t\t\t\t\t\t\t`<${ defaultWrapper }>`\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t},\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t{ label: '<div>', value: 'div' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName || '' }\n\t\t\t\tonChange={ ( value ) => setAttributes( { tagName: value } ) }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"names":["isEmpty","useSelect","BlockControls","useBlockProps","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","Warning","store","blockEditorStore","__experimentalUseBlockOverlayActive","useBlockOverlayActive","ToolbarGroup","ToolbarButton","Spinner","Modal","__","sprintf","coreStore","useState","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","TemplatePartEdit","attributes","setAttributes","clientId","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","RecursionProvider","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","isResolved","innerBlocks","isMissing","area","select","getEditedEntityRecord","hasFinishedResolution","getBlocks","getEntityArgs","entityRecord","_area","hasResolvedEntity","templateParts","blockPatterns","hasReplacements","length","areaObject","hasBlockOverlay","blockProps","className","undefined","__unstableIsDisabled","isPlaceholder","isEntityAvailable","TagName","label","toLowerCase"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tSpinner,\n\tModal,\n} 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\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\ttemplatePartId\n\t);\n\tconst [\n\t\tisTemplatePartSelectionOpen,\n\t\tsetIsTemplatePartSelectionOpen,\n\t] = useState( false );\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst { isResolved, innerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } = select(\n\t\t\t\tcoreStore\n\t\t\t);\n\t\t\tconst { getBlocks } = 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\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing: hasResolvedEntity && isEmpty( entityRecord ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, clientId ]\n\t);\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 hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps(\n\t\t{\n\t\t\tclassName: hasBlockOverlay\n\t\t\t\t? 'block-editor-block-content-overlay'\n\t\t\t\t: undefined,\n\t\t},\n\t\t{ __unstableIsDisabled: hasBlockOverlay }\n\t);\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\tinnerBlocks.length === 0 &&\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<RecursionProvider>\n\t\t\t<TemplatePartAdvancedControls\n\t\t\t\ttagName={ tagName }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t/>\n\t\t\t{ isPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t\t{ isEntityAvailable &&\n\t\t\t\thasReplacements &&\n\t\t\t\t( area === 'header' || area === 'footer' ) && (\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-template-part__block-control-group\">\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t{ isEntityAvailable && (\n\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\tclassName=\"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\tcloseLabel={ __( 'Cancel' ) }\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>\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</RecursionProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"names":["isEmpty","useSelect","BlockControls","useBlockProps","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","Warning","store","blockEditorStore","__experimentalUseBlockOverlayActive","useBlockOverlayActive","ToolbarGroup","ToolbarButton","Spinner","Modal","__","sprintf","coreStore","useState","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","TemplatePartEdit","attributes","setAttributes","clientId","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","RecursionProvider","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","isResolved","innerBlocks","isMissing","area","select","getEditedEntityRecord","hasFinishedResolution","getBlocks","getEntityArgs","entityRecord","_area","hasResolvedEntity","templateParts","blockPatterns","hasReplacements","length","areaObject","hasBlockOverlay","blockProps","className","undefined","__unstableIsDisabled","isPlaceholder","isEntityAvailable","TagName","label","toLowerCase"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tSpinner,\n\tModal,\n} 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\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst [ hasAlreadyRendered, RecursionProvider ] =\n\t\tuseNoRecursiveRenders( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst { isResolved, innerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlocks } = 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\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing: hasResolvedEntity && isEmpty( entityRecord ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, clientId ]\n\t);\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 hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps(\n\t\t{\n\t\t\tclassName: hasBlockOverlay\n\t\t\t\t? 'block-editor-block-content-overlay'\n\t\t\t\t: undefined,\n\t\t},\n\t\t{ __unstableIsDisabled: hasBlockOverlay }\n\t);\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\tinnerBlocks.length === 0 &&\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<RecursionProvider>\n\t\t\t<TemplatePartAdvancedControls\n\t\t\t\ttagName={ tagName }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t/>\n\t\t\t{ isPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t\t{ isEntityAvailable &&\n\t\t\t\thasReplacements &&\n\t\t\t\t( area === 'header' || area === 'footer' ) && (\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-template-part__block-control-group\">\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t{ isEntityAvailable && (\n\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\tclassName=\"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\tcloseLabel={ __( 'Cancel' ) }\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>\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</RecursionProvider>\n\t);\n}\n"]}
@@ -119,8 +119,11 @@ export function useTemplatePartArea(area) {
119
119
 
120
120
  // FIXME: @wordpress/block-library should not depend on @wordpress/editor.
121
121
  // Blocks can be loaded into a *non-post* block editor.
122
- // eslint-disable-next-line @wordpress/data-no-store-string-literals
122
+
123
+ /* eslint-disable @wordpress/data-no-store-string-literals */
123
124
  const definedAreas = select('core/editor').__experimentalGetDefaultTemplatePartAreas();
125
+ /* eslint-enable @wordpress/data-no-store-string-literals */
126
+
124
127
 
125
128
  const selectedArea = find(definedAreas, {
126
129
  area