@wordpress/block-library 6.0.23 → 7.0.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 (1171) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +7 -1
  4. package/build/archives/index.js +1 -0
  5. package/build/archives/index.js.map +1 -1
  6. package/build/audio/edit.js +20 -5
  7. package/build/audio/edit.js.map +1 -1
  8. package/build/audio/index.js +1 -0
  9. package/build/audio/index.js.map +1 -1
  10. package/build/block/index.js +1 -0
  11. package/build/block/index.js.map +1 -1
  12. package/build/button/edit.native.js +1 -1
  13. package/build/button/edit.native.js.map +1 -1
  14. package/build/button/index.js +10 -2
  15. package/build/button/index.js.map +1 -1
  16. package/build/buttons/edit.js +6 -0
  17. package/build/buttons/edit.js.map +1 -1
  18. package/build/buttons/edit.native.js +16 -6
  19. package/build/buttons/edit.native.js.map +1 -1
  20. package/build/buttons/index.js +1 -0
  21. package/build/buttons/index.js.map +1 -1
  22. package/build/buttons/transforms.js +1 -0
  23. package/build/buttons/transforms.js.map +1 -1
  24. package/build/calendar/index.js +5 -1
  25. package/build/calendar/index.js.map +1 -1
  26. package/build/calendar/transforms.js +27 -0
  27. package/build/calendar/transforms.js.map +1 -0
  28. package/build/categories/index.js +1 -0
  29. package/build/categories/index.js.map +1 -1
  30. package/build/code/index.js +11 -2
  31. package/build/code/index.js.map +1 -1
  32. package/build/code/transforms.js +1 -1
  33. package/build/code/transforms.js.map +1 -1
  34. package/build/column/index.js +6 -1
  35. package/build/column/index.js.map +1 -1
  36. package/build/columns/index.js +16 -1
  37. package/build/columns/index.js.map +1 -1
  38. package/build/comment-author-avatar/edit.js +5 -2
  39. package/build/comment-author-avatar/edit.js.map +1 -1
  40. package/build/comment-author-avatar/index.js +9 -1
  41. package/build/comment-author-avatar/index.js.map +1 -1
  42. package/build/comment-author-name/index.js +7 -1
  43. package/build/comment-author-name/index.js.map +1 -1
  44. package/build/comment-content/index.js +6 -1
  45. package/build/comment-content/index.js.map +1 -1
  46. package/build/comment-date/index.js +7 -1
  47. package/build/comment-date/index.js.map +1 -1
  48. package/build/comment-edit-link/index.js +7 -2
  49. package/build/comment-edit-link/index.js.map +1 -1
  50. package/build/comment-reply-link/index.js +6 -1
  51. package/build/comment-reply-link/index.js.map +1 -1
  52. package/build/comment-template/edit.js +155 -26
  53. package/build/comment-template/edit.js.map +1 -1
  54. package/build/comment-template/index.js +4 -2
  55. package/build/comment-template/index.js.map +1 -1
  56. package/build/comment-template/util.js +68 -0
  57. package/build/comment-template/util.js.map +1 -0
  58. package/build/comments-pagination/comments-pagination-arrow-controls.js +39 -0
  59. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -0
  60. package/build/comments-pagination/edit.js +79 -0
  61. package/build/comments-pagination/edit.js.map +1 -0
  62. package/build/comments-pagination/index.js +76 -0
  63. package/build/comments-pagination/index.js.map +1 -0
  64. package/build/comments-pagination/save.js +18 -0
  65. package/build/comments-pagination/save.js.map +1 -0
  66. package/build/comments-pagination-next/edit.js +54 -0
  67. package/build/comments-pagination-next/edit.js.map +1 -0
  68. package/build/comments-pagination-next/index.js +69 -0
  69. package/build/comments-pagination-next/index.js.map +1 -0
  70. package/build/comments-pagination-numbers/edit.js +47 -0
  71. package/build/comments-pagination-numbers/edit.js.map +1 -0
  72. package/build/comments-pagination-numbers/index.js +46 -0
  73. package/build/comments-pagination-numbers/index.js.map +1 -0
  74. package/build/comments-pagination-previous/edit.js +54 -0
  75. package/build/comments-pagination-previous/edit.js.map +1 -0
  76. package/build/comments-pagination-previous/index.js +69 -0
  77. package/build/comments-pagination-previous/index.js.map +1 -0
  78. package/build/comments-query-loop/edit/comments-inspector-controls.js +102 -0
  79. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -0
  80. package/build/comments-query-loop/edit.js +23 -28
  81. package/build/comments-query-loop/edit.js.map +1 -1
  82. package/build/comments-query-loop/index.js +21 -8
  83. package/build/comments-query-loop/index.js.map +1 -1
  84. package/build/cover/deprecated.js +181 -15
  85. package/build/cover/deprecated.js.map +1 -1
  86. package/build/cover/edit.js +9 -5
  87. package/build/cover/edit.js.map +1 -1
  88. package/build/cover/edit.native.js +40 -32
  89. package/build/cover/edit.native.js.map +1 -1
  90. package/build/cover/index.js +1 -0
  91. package/build/cover/index.js.map +1 -1
  92. package/build/cover/overlay-color-settings.native.js +11 -1
  93. package/build/cover/overlay-color-settings.native.js.map +1 -1
  94. package/build/cover/save.js +8 -3
  95. package/build/cover/save.js.map +1 -1
  96. package/build/embed/deprecated.js +1 -0
  97. package/build/embed/deprecated.js.map +1 -1
  98. package/build/embed/edit.native.js +23 -20
  99. package/build/embed/edit.native.js.map +1 -1
  100. package/build/embed/embed-controls.native.js +69 -0
  101. package/build/embed/embed-controls.native.js.map +1 -0
  102. package/build/embed/embed-link-settings.native.js +101 -0
  103. package/build/embed/embed-link-settings.native.js.map +1 -0
  104. package/build/embed/embed-loading.js +1 -3
  105. package/build/embed/embed-loading.js.map +1 -1
  106. package/build/embed/embed-placeholder.native.js +9 -2
  107. package/build/embed/embed-placeholder.native.js.map +1 -1
  108. package/build/embed/index.js +1 -0
  109. package/build/embed/index.js.map +1 -1
  110. package/build/embed/transforms.js +1 -0
  111. package/build/embed/transforms.js.map +1 -1
  112. package/build/embed/util.js +1 -0
  113. package/build/embed/util.js.map +1 -1
  114. package/build/file/edit.native.js +5 -2
  115. package/build/file/edit.native.js.map +1 -1
  116. package/build/file/index.js +1 -0
  117. package/build/file/index.js.map +1 -1
  118. package/build/freeform/index.js +1 -0
  119. package/build/freeform/index.js.map +1 -1
  120. package/build/gallery/constants.js +5 -1
  121. package/build/gallery/constants.js.map +1 -1
  122. package/build/gallery/deprecated.js +4 -0
  123. package/build/gallery/deprecated.js.map +1 -1
  124. package/build/gallery/edit.js +45 -14
  125. package/build/gallery/edit.js.map +1 -1
  126. package/build/gallery/gallery.native.js +1 -1
  127. package/build/gallery/gallery.native.js.map +1 -1
  128. package/build/gallery/index.js +1 -0
  129. package/build/gallery/index.js.map +1 -1
  130. package/build/gallery/shared.js +1 -1
  131. package/build/gallery/shared.js.map +1 -1
  132. package/build/gallery/transforms.js +8 -2
  133. package/build/gallery/transforms.js.map +1 -1
  134. package/build/gallery/utils.js +4 -3
  135. package/build/gallery/utils.js.map +1 -1
  136. package/build/group/index.js +24 -2
  137. package/build/group/index.js.map +1 -1
  138. package/build/group/variations.js +18 -3
  139. package/build/group/variations.js.map +1 -1
  140. package/build/heading/edit.js +2 -0
  141. package/build/heading/edit.js.map +1 -1
  142. package/build/heading/index.js +6 -1
  143. package/build/heading/index.js.map +1 -1
  144. package/build/heading/transforms.js +8 -5
  145. package/build/heading/transforms.js.map +1 -1
  146. package/build/home-link/index.js +1 -0
  147. package/build/home-link/index.js.map +1 -1
  148. package/build/html/index.js +1 -0
  149. package/build/html/index.js.map +1 -1
  150. package/build/image/edit.js +56 -5
  151. package/build/image/edit.js.map +1 -1
  152. package/build/image/edit.native.js +59 -19
  153. package/build/image/edit.native.js.map +1 -1
  154. package/build/image/image.js +15 -4
  155. package/build/image/image.js.map +1 -1
  156. package/build/image/index.js +5 -1
  157. package/build/image/index.js.map +1 -1
  158. package/build/index.js +17 -3
  159. package/build/index.js.map +1 -1
  160. package/build/latest-comments/index.js +1 -0
  161. package/build/latest-comments/index.js.map +1 -1
  162. package/build/latest-posts/deprecated.js +1 -0
  163. package/build/latest-posts/deprecated.js.map +1 -1
  164. package/build/latest-posts/edit.js +47 -58
  165. package/build/latest-posts/edit.js.map +1 -1
  166. package/build/latest-posts/index.js +1 -0
  167. package/build/latest-posts/index.js.map +1 -1
  168. package/build/list/index.js +6 -1
  169. package/build/list/index.js.map +1 -1
  170. package/build/loginout/index.js +1 -0
  171. package/build/loginout/index.js.map +1 -1
  172. package/build/media-text/index.js +6 -1
  173. package/build/media-text/index.js.map +1 -1
  174. package/build/missing/index.js +1 -0
  175. package/build/missing/index.js.map +1 -1
  176. package/build/more/index.js +1 -0
  177. package/build/more/index.js.map +1 -1
  178. package/build/navigation/edit/existing-menus-options.js +62 -0
  179. package/build/navigation/edit/existing-menus-options.js.map +1 -0
  180. package/build/navigation/edit/index.js +48 -15
  181. package/build/navigation/edit/index.js.map +1 -1
  182. package/build/navigation/edit/inner-blocks.js +10 -4
  183. package/build/navigation/edit/inner-blocks.js.map +1 -1
  184. package/build/navigation/edit/navigation-menu-selector.js +51 -21
  185. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  186. package/build/navigation/edit/overlay-menu-icon.js +35 -0
  187. package/build/navigation/edit/overlay-menu-icon.js.map +1 -0
  188. package/build/navigation/edit/placeholder/index.js +33 -109
  189. package/build/navigation/edit/placeholder/index.js.map +1 -1
  190. package/build/navigation/edit/placeholder/placeholder-preview.js +8 -12
  191. package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  192. package/build/navigation/edit/responsive-wrapper.js +11 -22
  193. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  194. package/build/navigation/index.js +10 -1
  195. package/build/navigation/index.js.map +1 -1
  196. package/build/navigation/menu-items-to-blocks.js +4 -1
  197. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  198. package/build/navigation/use-convert-classic-menu.js +59 -0
  199. package/build/navigation/use-convert-classic-menu.js.map +1 -0
  200. package/build/navigation/use-navigation-entities.js +6 -3
  201. package/build/navigation/use-navigation-entities.js.map +1 -1
  202. package/build/navigation-area/edit.js +2 -1
  203. package/build/navigation-area/edit.js.map +1 -1
  204. package/build/navigation-area/index.js +2 -1
  205. package/build/navigation-area/index.js.map +1 -1
  206. package/build/navigation-link/edit.js +7 -0
  207. package/build/navigation-link/edit.js.map +1 -1
  208. package/build/navigation-link/index.js +1 -0
  209. package/build/navigation-link/index.js.map +1 -1
  210. package/build/navigation-submenu/edit.js +4 -1
  211. package/build/navigation-submenu/edit.js.map +1 -1
  212. package/build/navigation-submenu/index.js +1 -0
  213. package/build/navigation-submenu/index.js.map +1 -1
  214. package/build/nextpage/index.js +1 -0
  215. package/build/nextpage/index.js.map +1 -1
  216. package/build/page-list/edit.js +37 -10
  217. package/build/page-list/edit.js.map +1 -1
  218. package/build/page-list/index.js +6 -1
  219. package/build/page-list/index.js.map +1 -1
  220. package/build/paragraph/edit.js +12 -2
  221. package/build/paragraph/edit.js.map +1 -1
  222. package/build/paragraph/index.js +7 -2
  223. package/build/paragraph/index.js.map +1 -1
  224. package/build/paragraph/transforms.js +7 -2
  225. package/build/paragraph/transforms.js.map +1 -1
  226. package/build/pattern/index.js +1 -0
  227. package/build/pattern/index.js.map +1 -1
  228. package/build/post-author/index.js +7 -2
  229. package/build/post-author/index.js.map +1 -1
  230. package/build/post-author-biography/edit.js +76 -0
  231. package/build/post-author-biography/edit.js.map +1 -0
  232. package/build/post-author-biography/index.js +68 -0
  233. package/build/post-author-biography/index.js.map +1 -0
  234. package/build/post-author-name/edit.js +98 -0
  235. package/build/post-author-name/edit.js.map +1 -0
  236. package/build/post-author-name/index.js +75 -0
  237. package/build/post-author-name/index.js.map +1 -0
  238. package/build/post-comment/index.js +1 -0
  239. package/build/post-comment/index.js.map +1 -1
  240. package/build/post-comments/index.js +6 -1
  241. package/build/post-comments/index.js.map +1 -1
  242. package/build/post-comments-count/index.js +6 -1
  243. package/build/post-comments-count/index.js.map +1 -1
  244. package/build/post-comments-form/index.js +6 -1
  245. package/build/post-comments-form/index.js.map +1 -1
  246. package/build/post-comments-link/index.js +6 -1
  247. package/build/post-comments-link/index.js.map +1 -1
  248. package/build/post-content/edit.js +9 -3
  249. package/build/post-content/edit.js.map +1 -1
  250. package/build/post-content/index.js +1 -0
  251. package/build/post-content/index.js.map +1 -1
  252. package/build/post-date/index.js +7 -1
  253. package/build/post-date/index.js.map +1 -1
  254. package/build/post-excerpt/edit.js +2 -1
  255. package/build/post-excerpt/edit.js.map +1 -1
  256. package/build/post-excerpt/index.js +10 -1
  257. package/build/post-excerpt/index.js.map +1 -1
  258. package/build/post-excerpt/transforms.js +27 -0
  259. package/build/post-excerpt/transforms.js.map +1 -0
  260. package/build/post-featured-image/dimension-controls.js +74 -32
  261. package/build/post-featured-image/dimension-controls.js.map +1 -1
  262. package/build/post-featured-image/edit.js +52 -20
  263. package/build/post-featured-image/edit.js.map +1 -1
  264. package/build/post-featured-image/index.js +4 -0
  265. package/build/post-featured-image/index.js.map +1 -1
  266. package/build/post-navigation-link/index.js +1 -0
  267. package/build/post-navigation-link/index.js.map +1 -1
  268. package/build/post-template/edit.js +34 -7
  269. package/build/post-template/edit.js.map +1 -1
  270. package/build/post-template/index.js +2 -1
  271. package/build/post-template/index.js.map +1 -1
  272. package/build/post-terms/index.js +10 -1
  273. package/build/post-terms/index.js.map +1 -1
  274. package/build/post-title/edit.js +10 -7
  275. package/build/post-title/edit.js.map +1 -1
  276. package/build/post-title/index.js +7 -1
  277. package/build/post-title/index.js.map +1 -1
  278. package/build/preformatted/edit.native.js +3 -6
  279. package/build/preformatted/edit.native.js.map +1 -1
  280. package/build/preformatted/index.js +6 -1
  281. package/build/preformatted/index.js.map +1 -1
  282. package/build/pullquote/index.js +13 -2
  283. package/build/pullquote/index.js.map +1 -1
  284. package/build/query/deprecated.js +96 -3
  285. package/build/query/deprecated.js.map +1 -1
  286. package/build/query/edit/index.js +4 -4
  287. package/build/query/edit/index.js.map +1 -1
  288. package/build/query/edit/inspector-controls/author-control.js +102 -0
  289. package/build/query/edit/inspector-controls/author-control.js.map +1 -0
  290. package/build/query/edit/inspector-controls/index.js +166 -0
  291. package/build/query/edit/inspector-controls/index.js.map +1 -0
  292. package/build/query/edit/inspector-controls/order-control.js +55 -0
  293. package/build/query/edit/inspector-controls/order-control.js.map +1 -0
  294. package/build/query/edit/inspector-controls/taxonomy-controls.js +158 -0
  295. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -0
  296. package/build/query/index.js +8 -4
  297. package/build/query/index.js.map +1 -1
  298. package/build/query/utils.js +49 -38
  299. package/build/query/utils.js.map +1 -1
  300. package/build/query/variations.js +0 -4
  301. package/build/query/variations.js.map +1 -1
  302. package/build/query-pagination/index.js +8 -2
  303. package/build/query-pagination/index.js.map +1 -1
  304. package/build/query-pagination-next/index.js +6 -2
  305. package/build/query-pagination-next/index.js.map +1 -1
  306. package/build/query-pagination-numbers/index.js +2 -1
  307. package/build/query-pagination-numbers/index.js.map +1 -1
  308. package/build/query-pagination-previous/index.js +6 -2
  309. package/build/query-pagination-previous/index.js.map +1 -1
  310. package/build/query-title/index.js +9 -1
  311. package/build/query-title/index.js.map +1 -1
  312. package/build/quote/index.js +2 -5
  313. package/build/quote/index.js.map +1 -1
  314. package/build/read-more/edit.js +55 -0
  315. package/build/read-more/edit.js.map +1 -0
  316. package/build/read-more/index.js +87 -0
  317. package/build/read-more/index.js.map +1 -0
  318. package/build/rss/index.js +1 -0
  319. package/build/rss/index.js.map +1 -1
  320. package/build/search/edit.js +6 -4
  321. package/build/search/edit.js.map +1 -1
  322. package/build/search/edit.native.js +2 -2
  323. package/build/search/edit.native.js.map +1 -1
  324. package/build/search/index.js +13 -2
  325. package/build/search/index.js.map +1 -1
  326. package/build/separator/index.js +1 -0
  327. package/build/separator/index.js.map +1 -1
  328. package/build/shortcode/index.js +1 -0
  329. package/build/shortcode/index.js.map +1 -1
  330. package/build/site-logo/edit.js +4 -33
  331. package/build/site-logo/edit.js.map +1 -1
  332. package/build/site-logo/index.js +5 -1
  333. package/build/site-logo/index.js.map +1 -1
  334. package/build/site-logo/transforms.js +31 -0
  335. package/build/site-logo/transforms.js.map +1 -0
  336. package/build/site-tagline/edit.js +7 -2
  337. package/build/site-tagline/edit.js.map +1 -1
  338. package/build/site-tagline/index.js +7 -2
  339. package/build/site-tagline/index.js.map +1 -1
  340. package/build/site-title/index.js +10 -1
  341. package/build/site-title/index.js.map +1 -1
  342. package/build/site-title/transforms.js +31 -0
  343. package/build/site-title/transforms.js.map +1 -0
  344. package/build/social-link/edit.js +8 -1
  345. package/build/social-link/edit.js.map +1 -1
  346. package/build/social-link/index.js +3 -2
  347. package/build/social-link/index.js.map +1 -1
  348. package/build/social-links/edit.js +36 -25
  349. package/build/social-links/edit.js.map +1 -1
  350. package/build/social-links/index.js +7 -1
  351. package/build/social-links/index.js.map +1 -1
  352. package/build/social-links/save.js +2 -0
  353. package/build/social-links/save.js.map +1 -1
  354. package/build/spacer/controls.js +111 -0
  355. package/build/spacer/controls.js.map +1 -0
  356. package/build/spacer/controls.native.js +95 -0
  357. package/build/spacer/controls.native.js.map +1 -0
  358. package/build/spacer/deprecated.js +53 -0
  359. package/build/spacer/deprecated.js.map +1 -0
  360. package/build/spacer/edit.js +117 -98
  361. package/build/spacer/edit.js.map +1 -1
  362. package/build/spacer/edit.native.js +76 -0
  363. package/build/spacer/edit.native.js.map +1 -0
  364. package/build/spacer/index.js +8 -4
  365. package/build/spacer/index.js.map +1 -1
  366. package/build/spacer/save.js +6 -3
  367. package/build/spacer/save.js.map +1 -1
  368. package/build/table/index.js +12 -2
  369. package/build/table/index.js.map +1 -1
  370. package/build/table-of-contents/index.js +1 -0
  371. package/build/table-of-contents/index.js.map +1 -1
  372. package/build/tag-cloud/index.js +13 -1
  373. package/build/tag-cloud/index.js.map +1 -1
  374. package/build/tag-cloud/transforms.js +27 -0
  375. package/build/tag-cloud/transforms.js.map +1 -0
  376. package/build/template-part/index.js +1 -0
  377. package/build/template-part/index.js.map +1 -1
  378. package/build/term-description/index.js +6 -1
  379. package/build/term-description/index.js.map +1 -1
  380. package/build/text-columns/index.js +1 -0
  381. package/build/text-columns/index.js.map +1 -1
  382. package/build/verse/index.js +6 -1
  383. package/build/verse/index.js.map +1 -1
  384. package/build/video/index.js +1 -0
  385. package/build/video/index.js.map +1 -1
  386. package/build-module/archives/index.js +1 -0
  387. package/build-module/archives/index.js.map +1 -1
  388. package/build-module/audio/edit.js +18 -6
  389. package/build-module/audio/edit.js.map +1 -1
  390. package/build-module/audio/index.js +1 -0
  391. package/build-module/audio/index.js.map +1 -1
  392. package/build-module/block/index.js +1 -0
  393. package/build-module/block/index.js.map +1 -1
  394. package/build-module/button/edit.native.js +1 -1
  395. package/build-module/button/edit.native.js.map +1 -1
  396. package/build-module/button/index.js +10 -2
  397. package/build-module/button/index.js.map +1 -1
  398. package/build-module/buttons/edit.js +6 -0
  399. package/build-module/buttons/edit.js.map +1 -1
  400. package/build-module/buttons/edit.native.js +17 -7
  401. package/build-module/buttons/edit.native.js.map +1 -1
  402. package/build-module/buttons/index.js +1 -0
  403. package/build-module/buttons/index.js.map +1 -1
  404. package/build-module/buttons/transforms.js +1 -0
  405. package/build-module/buttons/transforms.js.map +1 -1
  406. package/build-module/calendar/index.js +4 -1
  407. package/build-module/calendar/index.js.map +1 -1
  408. package/build-module/calendar/transforms.js +18 -0
  409. package/build-module/calendar/transforms.js.map +1 -0
  410. package/build-module/categories/index.js +1 -0
  411. package/build-module/categories/index.js.map +1 -1
  412. package/build-module/code/index.js +11 -2
  413. package/build-module/code/index.js.map +1 -1
  414. package/build-module/code/transforms.js +1 -1
  415. package/build-module/code/transforms.js.map +1 -1
  416. package/build-module/column/index.js +6 -1
  417. package/build-module/column/index.js.map +1 -1
  418. package/build-module/columns/index.js +16 -1
  419. package/build-module/columns/index.js.map +1 -1
  420. package/build-module/comment-author-avatar/edit.js +6 -3
  421. package/build-module/comment-author-avatar/edit.js.map +1 -1
  422. package/build-module/comment-author-avatar/index.js +9 -1
  423. package/build-module/comment-author-avatar/index.js.map +1 -1
  424. package/build-module/comment-author-name/index.js +7 -1
  425. package/build-module/comment-author-name/index.js.map +1 -1
  426. package/build-module/comment-content/index.js +6 -1
  427. package/build-module/comment-content/index.js.map +1 -1
  428. package/build-module/comment-date/index.js +7 -1
  429. package/build-module/comment-date/index.js.map +1 -1
  430. package/build-module/comment-edit-link/index.js +7 -2
  431. package/build-module/comment-edit-link/index.js.map +1 -1
  432. package/build-module/comment-reply-link/index.js +6 -1
  433. package/build-module/comment-reply-link/index.js.map +1 -1
  434. package/build-module/comment-template/edit.js +153 -28
  435. package/build-module/comment-template/edit.js.map +1 -1
  436. package/build-module/comment-template/index.js +4 -2
  437. package/build-module/comment-template/index.js.map +1 -1
  438. package/build-module/comment-template/util.js +59 -0
  439. package/build-module/comment-template/util.js.map +1 -0
  440. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +30 -0
  441. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -0
  442. package/build-module/comments-pagination/edit.js +66 -0
  443. package/build-module/comments-pagination/edit.js.map +1 -0
  444. package/build-module/comments-pagination/index.js +62 -0
  445. package/build-module/comments-pagination/index.js.map +1 -0
  446. package/build-module/comments-pagination/save.js +10 -0
  447. package/build-module/comments-pagination/save.js.map +1 -0
  448. package/build-module/comments-pagination-next/edit.js +41 -0
  449. package/build-module/comments-pagination-next/edit.js.map +1 -0
  450. package/build-module/comments-pagination-next/index.js +56 -0
  451. package/build-module/comments-pagination-next/index.js.map +1 -0
  452. package/build-module/comments-pagination-numbers/edit.js +40 -0
  453. package/build-module/comments-pagination-numbers/edit.js.map +1 -0
  454. package/build-module/comments-pagination-numbers/index.js +33 -0
  455. package/build-module/comments-pagination-numbers/index.js.map +1 -0
  456. package/build-module/comments-pagination-previous/edit.js +41 -0
  457. package/build-module/comments-pagination-previous/edit.js.map +1 -0
  458. package/build-module/comments-pagination-previous/index.js +56 -0
  459. package/build-module/comments-pagination-previous/index.js.map +1 -0
  460. package/build-module/comments-query-loop/edit/comments-inspector-controls.js +91 -0
  461. package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -0
  462. package/build-module/comments-query-loop/edit.js +24 -28
  463. package/build-module/comments-query-loop/edit.js.map +1 -1
  464. package/build-module/comments-query-loop/index.js +21 -8
  465. package/build-module/comments-query-loop/index.js.map +1 -1
  466. package/build-module/cover/deprecated.js +185 -17
  467. package/build-module/cover/deprecated.js.map +1 -1
  468. package/build-module/cover/edit.js +9 -5
  469. package/build-module/cover/edit.js.map +1 -1
  470. package/build-module/cover/edit.native.js +41 -34
  471. package/build-module/cover/edit.native.js.map +1 -1
  472. package/build-module/cover/index.js +1 -0
  473. package/build-module/cover/index.js.map +1 -1
  474. package/build-module/cover/overlay-color-settings.native.js +11 -1
  475. package/build-module/cover/overlay-color-settings.native.js.map +1 -1
  476. package/build-module/cover/save.js +8 -3
  477. package/build-module/cover/save.js.map +1 -1
  478. package/build-module/embed/deprecated.js +1 -0
  479. package/build-module/embed/deprecated.js.map +1 -1
  480. package/build-module/embed/edit.native.js +24 -21
  481. package/build-module/embed/edit.native.js.map +1 -1
  482. package/build-module/embed/embed-controls.native.js +54 -0
  483. package/build-module/embed/embed-controls.native.js.map +1 -0
  484. package/build-module/embed/embed-link-settings.native.js +90 -0
  485. package/build-module/embed/embed-link-settings.native.js.map +1 -0
  486. package/build-module/embed/embed-loading.js +1 -2
  487. package/build-module/embed/embed-loading.js.map +1 -1
  488. package/build-module/embed/embed-placeholder.native.js +9 -2
  489. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  490. package/build-module/embed/index.js +1 -0
  491. package/build-module/embed/index.js.map +1 -1
  492. package/build-module/embed/transforms.js +1 -0
  493. package/build-module/embed/transforms.js.map +1 -1
  494. package/build-module/embed/util.js +1 -0
  495. package/build-module/embed/util.js.map +1 -1
  496. package/build-module/file/edit.native.js +4 -2
  497. package/build-module/file/edit.native.js.map +1 -1
  498. package/build-module/file/index.js +1 -0
  499. package/build-module/file/index.js.map +1 -1
  500. package/build-module/freeform/index.js +1 -0
  501. package/build-module/freeform/index.js.map +1 -1
  502. package/build-module/gallery/constants.js +2 -0
  503. package/build-module/gallery/constants.js.map +1 -1
  504. package/build-module/gallery/deprecated.js +4 -0
  505. package/build-module/gallery/deprecated.js.map +1 -1
  506. package/build-module/gallery/edit.js +45 -15
  507. package/build-module/gallery/edit.js.map +1 -1
  508. package/build-module/gallery/gallery.native.js +1 -1
  509. package/build-module/gallery/gallery.native.js.map +1 -1
  510. package/build-module/gallery/index.js +1 -0
  511. package/build-module/gallery/index.js.map +1 -1
  512. package/build-module/gallery/shared.js +1 -1
  513. package/build-module/gallery/shared.js.map +1 -1
  514. package/build-module/gallery/transforms.js +8 -2
  515. package/build-module/gallery/transforms.js.map +1 -1
  516. package/build-module/gallery/utils.js +5 -4
  517. package/build-module/gallery/utils.js.map +1 -1
  518. package/build-module/group/index.js +24 -2
  519. package/build-module/group/index.js.map +1 -1
  520. package/build-module/group/variations.js +18 -3
  521. package/build-module/group/variations.js.map +1 -1
  522. package/build-module/heading/edit.js +3 -1
  523. package/build-module/heading/edit.js.map +1 -1
  524. package/build-module/heading/index.js +6 -1
  525. package/build-module/heading/index.js.map +1 -1
  526. package/build-module/heading/transforms.js +8 -5
  527. package/build-module/heading/transforms.js.map +1 -1
  528. package/build-module/home-link/index.js +1 -0
  529. package/build-module/home-link/index.js.map +1 -1
  530. package/build-module/html/index.js +1 -0
  531. package/build-module/html/index.js.map +1 -1
  532. package/build-module/image/edit.js +52 -4
  533. package/build-module/image/edit.js.map +1 -1
  534. package/build-module/image/edit.native.js +58 -19
  535. package/build-module/image/edit.native.js.map +1 -1
  536. package/build-module/image/image.js +16 -5
  537. package/build-module/image/image.js.map +1 -1
  538. package/build-module/image/index.js +5 -1
  539. package/build-module/image/index.js.map +1 -1
  540. package/build-module/index.js +10 -3
  541. package/build-module/index.js.map +1 -1
  542. package/build-module/latest-comments/index.js +1 -0
  543. package/build-module/latest-comments/index.js.map +1 -1
  544. package/build-module/latest-posts/deprecated.js +1 -0
  545. package/build-module/latest-posts/deprecated.js.map +1 -1
  546. package/build-module/latest-posts/edit.js +48 -59
  547. package/build-module/latest-posts/edit.js.map +1 -1
  548. package/build-module/latest-posts/index.js +1 -0
  549. package/build-module/latest-posts/index.js.map +1 -1
  550. package/build-module/list/index.js +6 -1
  551. package/build-module/list/index.js.map +1 -1
  552. package/build-module/loginout/index.js +1 -0
  553. package/build-module/loginout/index.js.map +1 -1
  554. package/build-module/media-text/index.js +6 -1
  555. package/build-module/media-text/index.js.map +1 -1
  556. package/build-module/missing/index.js +1 -0
  557. package/build-module/missing/index.js.map +1 -1
  558. package/build-module/more/index.js +1 -0
  559. package/build-module/more/index.js.map +1 -1
  560. package/build-module/navigation/edit/existing-menus-options.js +53 -0
  561. package/build-module/navigation/edit/existing-menus-options.js.map +1 -0
  562. package/build-module/navigation/edit/index.js +46 -15
  563. package/build-module/navigation/edit/index.js.map +1 -1
  564. package/build-module/navigation/edit/inner-blocks.js +11 -5
  565. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  566. package/build-module/navigation/edit/navigation-menu-selector.js +49 -21
  567. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  568. package/build-module/navigation/edit/overlay-menu-icon.js +27 -0
  569. package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -0
  570. package/build-module/navigation/edit/placeholder/index.js +32 -109
  571. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  572. package/build-module/navigation/edit/placeholder/placeholder-preview.js +8 -13
  573. package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  574. package/build-module/navigation/edit/responsive-wrapper.js +10 -21
  575. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  576. package/build-module/navigation/index.js +10 -1
  577. package/build-module/navigation/index.js.map +1 -1
  578. package/build-module/navigation/menu-items-to-blocks.js +4 -1
  579. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  580. package/build-module/navigation/use-convert-classic-menu.js +47 -0
  581. package/build-module/navigation/use-convert-classic-menu.js.map +1 -0
  582. package/build-module/navigation/use-navigation-entities.js +6 -3
  583. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  584. package/build-module/navigation-area/edit.js +2 -1
  585. package/build-module/navigation-area/edit.js.map +1 -1
  586. package/build-module/navigation-area/index.js +2 -1
  587. package/build-module/navigation-area/index.js.map +1 -1
  588. package/build-module/navigation-link/edit.js +7 -0
  589. package/build-module/navigation-link/edit.js.map +1 -1
  590. package/build-module/navigation-link/index.js +1 -0
  591. package/build-module/navigation-link/index.js.map +1 -1
  592. package/build-module/navigation-submenu/edit.js +4 -1
  593. package/build-module/navigation-submenu/edit.js.map +1 -1
  594. package/build-module/navigation-submenu/index.js +1 -0
  595. package/build-module/navigation-submenu/index.js.map +1 -1
  596. package/build-module/nextpage/index.js +1 -0
  597. package/build-module/nextpage/index.js.map +1 -1
  598. package/build-module/page-list/edit.js +38 -11
  599. package/build-module/page-list/edit.js.map +1 -1
  600. package/build-module/page-list/index.js +6 -1
  601. package/build-module/page-list/index.js.map +1 -1
  602. package/build-module/paragraph/edit.js +13 -3
  603. package/build-module/paragraph/edit.js.map +1 -1
  604. package/build-module/paragraph/index.js +7 -2
  605. package/build-module/paragraph/index.js.map +1 -1
  606. package/build-module/paragraph/transforms.js +7 -2
  607. package/build-module/paragraph/transforms.js.map +1 -1
  608. package/build-module/pattern/index.js +1 -0
  609. package/build-module/pattern/index.js.map +1 -1
  610. package/build-module/post-author/index.js +7 -2
  611. package/build-module/post-author/index.js.map +1 -1
  612. package/build-module/post-author-biography/edit.js +64 -0
  613. package/build-module/post-author-biography/edit.js.map +1 -0
  614. package/build-module/post-author-biography/index.js +59 -0
  615. package/build-module/post-author-biography/index.js.map +1 -0
  616. package/build-module/post-author-name/edit.js +85 -0
  617. package/build-module/post-author-name/edit.js.map +1 -0
  618. package/build-module/post-author-name/index.js +66 -0
  619. package/build-module/post-author-name/index.js.map +1 -0
  620. package/build-module/post-comment/index.js +1 -0
  621. package/build-module/post-comment/index.js.map +1 -1
  622. package/build-module/post-comments/index.js +6 -1
  623. package/build-module/post-comments/index.js.map +1 -1
  624. package/build-module/post-comments-count/index.js +6 -1
  625. package/build-module/post-comments-count/index.js.map +1 -1
  626. package/build-module/post-comments-form/index.js +6 -1
  627. package/build-module/post-comments-form/index.js.map +1 -1
  628. package/build-module/post-comments-link/index.js +6 -1
  629. package/build-module/post-comments-link/index.js.map +1 -1
  630. package/build-module/post-content/edit.js +6 -4
  631. package/build-module/post-content/edit.js.map +1 -1
  632. package/build-module/post-content/index.js +1 -0
  633. package/build-module/post-content/index.js.map +1 -1
  634. package/build-module/post-date/index.js +7 -1
  635. package/build-module/post-date/index.js.map +1 -1
  636. package/build-module/post-excerpt/edit.js +2 -1
  637. package/build-module/post-excerpt/edit.js.map +1 -1
  638. package/build-module/post-excerpt/index.js +9 -1
  639. package/build-module/post-excerpt/index.js.map +1 -1
  640. package/build-module/post-excerpt/transforms.js +18 -0
  641. package/build-module/post-excerpt/transforms.js.map +1 -0
  642. package/build-module/post-featured-image/dimension-controls.js +76 -31
  643. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  644. package/build-module/post-featured-image/edit.js +54 -22
  645. package/build-module/post-featured-image/edit.js.map +1 -1
  646. package/build-module/post-featured-image/index.js +4 -0
  647. package/build-module/post-featured-image/index.js.map +1 -1
  648. package/build-module/post-navigation-link/index.js +1 -0
  649. package/build-module/post-navigation-link/index.js.map +1 -1
  650. package/build-module/post-template/edit.js +34 -7
  651. package/build-module/post-template/edit.js.map +1 -1
  652. package/build-module/post-template/index.js +2 -1
  653. package/build-module/post-template/index.js.map +1 -1
  654. package/build-module/post-terms/index.js +13 -1
  655. package/build-module/post-terms/index.js.map +1 -1
  656. package/build-module/post-title/edit.js +10 -8
  657. package/build-module/post-title/edit.js.map +1 -1
  658. package/build-module/post-title/index.js +7 -1
  659. package/build-module/post-title/index.js.map +1 -1
  660. package/build-module/preformatted/edit.native.js +3 -3
  661. package/build-module/preformatted/edit.native.js.map +1 -1
  662. package/build-module/preformatted/index.js +6 -1
  663. package/build-module/preformatted/index.js.map +1 -1
  664. package/build-module/pullquote/index.js +13 -2
  665. package/build-module/pullquote/index.js.map +1 -1
  666. package/build-module/query/deprecated.js +95 -4
  667. package/build-module/query/deprecated.js.map +1 -1
  668. package/build-module/query/edit/index.js +3 -3
  669. package/build-module/query/edit/index.js.map +1 -1
  670. package/build-module/query/edit/inspector-controls/author-control.js +89 -0
  671. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -0
  672. package/build-module/query/edit/inspector-controls/index.js +149 -0
  673. package/build-module/query/edit/inspector-controls/index.js.map +1 -0
  674. package/build-module/query/edit/inspector-controls/order-control.js +45 -0
  675. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -0
  676. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +145 -0
  677. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -0
  678. package/build-module/query/index.js +8 -4
  679. package/build-module/query/index.js.map +1 -1
  680. package/build-module/query/utils.js +43 -35
  681. package/build-module/query/utils.js.map +1 -1
  682. package/build-module/query/variations.js +0 -4
  683. package/build-module/query/variations.js.map +1 -1
  684. package/build-module/query-pagination/index.js +8 -2
  685. package/build-module/query-pagination/index.js.map +1 -1
  686. package/build-module/query-pagination-next/index.js +6 -2
  687. package/build-module/query-pagination-next/index.js.map +1 -1
  688. package/build-module/query-pagination-numbers/index.js +2 -1
  689. package/build-module/query-pagination-numbers/index.js.map +1 -1
  690. package/build-module/query-pagination-previous/index.js +6 -2
  691. package/build-module/query-pagination-previous/index.js.map +1 -1
  692. package/build-module/query-title/index.js +12 -1
  693. package/build-module/query-title/index.js.map +1 -1
  694. package/build-module/quote/index.js +2 -5
  695. package/build-module/quote/index.js.map +1 -1
  696. package/build-module/read-more/edit.js +41 -0
  697. package/build-module/read-more/edit.js.map +1 -0
  698. package/build-module/read-more/index.js +74 -0
  699. package/build-module/read-more/index.js.map +1 -0
  700. package/build-module/rss/index.js +1 -0
  701. package/build-module/rss/index.js.map +1 -1
  702. package/build-module/search/edit.js +6 -4
  703. package/build-module/search/edit.js.map +1 -1
  704. package/build-module/search/edit.native.js +2 -2
  705. package/build-module/search/edit.native.js.map +1 -1
  706. package/build-module/search/index.js +13 -2
  707. package/build-module/search/index.js.map +1 -1
  708. package/build-module/separator/index.js +1 -0
  709. package/build-module/separator/index.js.map +1 -1
  710. package/build-module/shortcode/index.js +1 -0
  711. package/build-module/shortcode/index.js.map +1 -1
  712. package/build-module/site-logo/edit.js +4 -33
  713. package/build-module/site-logo/edit.js.map +1 -1
  714. package/build-module/site-logo/index.js +4 -1
  715. package/build-module/site-logo/index.js.map +1 -1
  716. package/build-module/site-logo/transforms.js +22 -0
  717. package/build-module/site-logo/transforms.js.map +1 -0
  718. package/build-module/site-tagline/edit.js +6 -2
  719. package/build-module/site-tagline/edit.js.map +1 -1
  720. package/build-module/site-tagline/index.js +7 -2
  721. package/build-module/site-tagline/index.js.map +1 -1
  722. package/build-module/site-title/index.js +9 -1
  723. package/build-module/site-title/index.js.map +1 -1
  724. package/build-module/site-title/transforms.js +22 -0
  725. package/build-module/site-title/transforms.js.map +1 -0
  726. package/build-module/social-link/edit.js +8 -1
  727. package/build-module/social-link/edit.js.map +1 -1
  728. package/build-module/social-link/index.js +3 -2
  729. package/build-module/social-link/index.js.map +1 -1
  730. package/build-module/social-links/edit.js +36 -25
  731. package/build-module/social-links/edit.js.map +1 -1
  732. package/build-module/social-links/index.js +7 -1
  733. package/build-module/social-links/index.js.map +1 -1
  734. package/build-module/social-links/save.js +2 -0
  735. package/build-module/social-links/save.js.map +1 -1
  736. package/build-module/spacer/controls.js +101 -0
  737. package/build-module/spacer/controls.js.map +1 -0
  738. package/build-module/spacer/controls.native.js +82 -0
  739. package/build-module/spacer/controls.native.js.map +1 -0
  740. package/build-module/spacer/deprecated.js +44 -0
  741. package/build-module/spacer/deprecated.js.map +1 -0
  742. package/build-module/spacer/edit.js +114 -95
  743. package/build-module/spacer/edit.js.map +1 -1
  744. package/build-module/spacer/edit.native.js +61 -0
  745. package/build-module/spacer/edit.native.js.map +1 -0
  746. package/build-module/spacer/index.js +7 -4
  747. package/build-module/spacer/index.js.map +1 -1
  748. package/build-module/spacer/save.js +6 -3
  749. package/build-module/spacer/save.js.map +1 -1
  750. package/build-module/table/index.js +12 -2
  751. package/build-module/table/index.js.map +1 -1
  752. package/build-module/table-of-contents/index.js +1 -0
  753. package/build-module/table-of-contents/index.js.map +1 -1
  754. package/build-module/tag-cloud/index.js +12 -1
  755. package/build-module/tag-cloud/index.js.map +1 -1
  756. package/build-module/tag-cloud/transforms.js +18 -0
  757. package/build-module/tag-cloud/transforms.js.map +1 -0
  758. package/build-module/template-part/index.js +1 -0
  759. package/build-module/template-part/index.js.map +1 -1
  760. package/build-module/term-description/index.js +6 -1
  761. package/build-module/term-description/index.js.map +1 -1
  762. package/build-module/text-columns/index.js +1 -0
  763. package/build-module/text-columns/index.js.map +1 -1
  764. package/build-module/verse/index.js +6 -1
  765. package/build-module/verse/index.js.map +1 -1
  766. package/build-module/video/index.js +1 -0
  767. package/build-module/video/index.js.map +1 -1
  768. package/build-style/audio/editor-rtl.css +11 -0
  769. package/build-style/audio/editor.css +11 -0
  770. package/build-style/code/theme-rtl.css +5 -3
  771. package/build-style/code/theme.css +5 -3
  772. package/build-style/columns/editor-rtl.css +0 -10
  773. package/build-style/columns/editor.css +0 -10
  774. package/build-style/columns/style-rtl.css +8 -21
  775. package/build-style/columns/style.css +8 -21
  776. package/build-style/comment-template/style-rtl.css +91 -0
  777. package/build-style/comment-template/style.css +91 -0
  778. package/build-style/comments-pagination/editor-rtl.css +100 -0
  779. package/build-style/comments-pagination/editor.css +102 -0
  780. package/build-style/comments-pagination/style-rtl.css +104 -0
  781. package/build-style/comments-pagination/style.css +106 -0
  782. package/build-style/comments-pagination-numbers/editor-rtl.css +85 -0
  783. package/build-style/comments-pagination-numbers/editor.css +86 -0
  784. package/build-style/comments-query-loop/editor-rtl.css +79 -0
  785. package/build-style/comments-query-loop/editor.css +79 -0
  786. package/build-style/common-rtl.css +27 -0
  787. package/build-style/common.css +27 -0
  788. package/build-style/cover/style-rtl.css +119 -11
  789. package/build-style/cover/style.css +119 -11
  790. package/build-style/editor-rtl.css +173 -125
  791. package/build-style/editor.css +176 -125
  792. package/build-style/embed/editor-rtl.css +0 -12
  793. package/build-style/embed/editor.css +0 -12
  794. package/build-style/gallery/editor-rtl.css +7 -18
  795. package/build-style/gallery/editor.css +7 -18
  796. package/build-style/gallery/style-rtl.css +5 -1
  797. package/build-style/gallery/style.css +5 -1
  798. package/build-style/group/theme-rtl.css +1 -1
  799. package/build-style/group/theme.css +1 -1
  800. package/build-style/image/style-rtl.css +0 -2
  801. package/build-style/image/style.css +0 -2
  802. package/build-style/latest-posts/editor-rtl.css +7 -0
  803. package/build-style/latest-posts/editor.css +7 -0
  804. package/build-style/latest-posts/style-rtl.css +0 -9
  805. package/build-style/latest-posts/style.css +0 -9
  806. package/build-style/navigation/editor-rtl.css +93 -69
  807. package/build-style/navigation/editor.css +93 -69
  808. package/build-style/navigation/style-rtl.css +18 -7
  809. package/build-style/navigation/style.css +18 -7
  810. package/build-style/page-list/editor-rtl.css +9 -5
  811. package/build-style/page-list/editor.css +9 -5
  812. package/build-style/post-comments/style-rtl.css +9 -4
  813. package/build-style/post-comments/style.css +9 -4
  814. package/build-style/post-featured-image/editor-rtl.css +0 -7
  815. package/build-style/post-featured-image/editor.css +0 -7
  816. package/build-style/post-featured-image/style-rtl.css +1 -1
  817. package/build-style/post-featured-image/style.css +1 -1
  818. package/build-style/post-template/style-rtl.css +4 -0
  819. package/build-style/post-template/style.css +4 -0
  820. package/build-style/post-title/style-rtl.css +3 -0
  821. package/build-style/post-title/style.css +3 -0
  822. package/build-style/pullquote/style-rtl.css +1 -0
  823. package/build-style/pullquote/style.css +1 -0
  824. package/build-style/query-pagination/editor-rtl.css +0 -4
  825. package/build-style/query-pagination/editor.css +0 -4
  826. package/build-style/quote/style-rtl.css +5 -5
  827. package/build-style/quote/style.css +5 -5
  828. package/build-style/{home-link → read-more}/style-rtl.css +5 -22
  829. package/build-style/{home-link → read-more}/style.css +5 -22
  830. package/build-style/separator/style-rtl.css +0 -3
  831. package/build-style/separator/style.css +0 -3
  832. package/build-style/social-links/editor-rtl.css +3 -0
  833. package/build-style/social-links/editor.css +3 -0
  834. package/build-style/social-links/style-rtl.css +8 -1
  835. package/build-style/social-links/style.css +8 -1
  836. package/build-style/spacer/editor-rtl.css +4 -0
  837. package/build-style/spacer/editor.css +4 -0
  838. package/build-style/style-rtl.css +290 -110
  839. package/build-style/style.css +292 -110
  840. package/build-style/table/style-rtl.css +1 -0
  841. package/build-style/table/style.css +1 -0
  842. package/build-style/tag-cloud/style-rtl.css +8 -0
  843. package/build-style/tag-cloud/style.css +8 -0
  844. package/build-style/theme-rtl.css +6 -4
  845. package/build-style/theme.css +6 -4
  846. package/package.json +28 -30
  847. package/src/archives/block.json +1 -0
  848. package/src/archives/index.php +5 -9
  849. package/src/audio/block.json +1 -0
  850. package/src/audio/edit.js +19 -3
  851. package/src/audio/editor.scss +14 -0
  852. package/src/audio/test/__snapshots__/edit.native.js.snap +22 -0
  853. package/src/audio/test/edit.native.js +24 -11
  854. package/src/block/block.json +1 -0
  855. package/src/block/index.php +7 -2
  856. package/src/block/test/edit.native.js +7 -5
  857. package/src/button/block.json +10 -2
  858. package/src/button/edit.native.js +1 -1
  859. package/src/buttons/block.json +2 -1
  860. package/src/buttons/edit.js +17 -0
  861. package/src/buttons/edit.native.js +17 -5
  862. package/src/buttons/test/__snapshots__/edit.native.js.snap +27 -0
  863. package/src/buttons/test/edit.native.js +75 -45
  864. package/src/calendar/block.json +1 -0
  865. package/src/calendar/index.js +2 -0
  866. package/src/calendar/index.php +35 -39
  867. package/src/calendar/transforms.js +23 -0
  868. package/src/categories/block.json +1 -0
  869. package/src/categories/index.php +1 -1
  870. package/src/code/block.json +11 -2
  871. package/src/code/theme.scss +6 -4
  872. package/src/code/transforms.js +1 -1
  873. package/src/column/block.json +6 -1
  874. package/src/columns/block.json +16 -1
  875. package/src/columns/editor.scss +0 -15
  876. package/src/columns/style.scss +15 -36
  877. package/src/comment-author-avatar/block.json +9 -1
  878. package/src/comment-author-avatar/edit.js +9 -2
  879. package/src/comment-author-avatar/index.php +25 -6
  880. package/src/comment-author-name/block.json +7 -1
  881. package/src/comment-content/block.json +6 -1
  882. package/src/comment-date/block.json +7 -1
  883. package/src/comment-date/index.php +2 -2
  884. package/src/comment-edit-link/block.json +6 -1
  885. package/src/comment-edit-link/index.js +1 -1
  886. package/src/comment-reply-link/block.json +6 -1
  887. package/src/comment-template/block.json +4 -2
  888. package/src/comment-template/edit.js +174 -44
  889. package/src/comment-template/index.php +46 -19
  890. package/src/comment-template/style.scss +17 -0
  891. package/src/comment-template/test/index.js +45 -0
  892. package/src/comment-template/util.js +56 -0
  893. package/src/comments-pagination/block.json +42 -0
  894. package/src/comments-pagination/comments-pagination-arrow-controls.js +44 -0
  895. package/src/comments-pagination/edit.js +83 -0
  896. package/src/comments-pagination/editor.scss +34 -0
  897. package/src/comments-pagination/index.js +20 -0
  898. package/src/comments-pagination/index.php +39 -0
  899. package/src/comments-pagination/save.js +8 -0
  900. package/src/comments-pagination/style.scss +38 -0
  901. package/src/comments-pagination-next/block.json +38 -0
  902. package/src/comments-pagination-next/edit.js +44 -0
  903. package/src/comments-pagination-next/index.js +18 -0
  904. package/src/comments-pagination-next/index.php +62 -0
  905. package/src/comments-pagination-numbers/block.json +15 -0
  906. package/src/comments-pagination-numbers/edit.js +22 -0
  907. package/src/comments-pagination-numbers/editor.scss +12 -0
  908. package/src/comments-pagination-numbers/index.js +18 -0
  909. package/src/comments-pagination-numbers/index.php +69 -0
  910. package/src/comments-pagination-previous/block.json +38 -0
  911. package/src/comments-pagination-previous/edit.js +44 -0
  912. package/src/comments-pagination-previous/index.js +18 -0
  913. package/src/comments-pagination-previous/index.php +52 -0
  914. package/src/comments-query-loop/block.json +21 -8
  915. package/src/comments-query-loop/edit/comments-inspector-controls.js +93 -0
  916. package/src/comments-query-loop/edit.js +22 -27
  917. package/src/comments-query-loop/editor.scss +3 -0
  918. package/src/common.scss +28 -0
  919. package/src/cover/block.json +1 -0
  920. package/src/cover/deprecated.js +211 -1
  921. package/src/cover/edit.js +9 -4
  922. package/src/cover/edit.native.js +35 -19
  923. package/src/cover/overlay-color-settings.native.js +10 -0
  924. package/src/cover/save.js +10 -4
  925. package/src/cover/style.scss +24 -2
  926. package/src/cover/test/__snapshots__/edit.native.js.snap +33 -0
  927. package/src/cover/test/edit.native.js +284 -17
  928. package/src/editor.scss +3 -0
  929. package/src/embed/block.json +1 -0
  930. package/src/embed/edit.native.js +23 -18
  931. package/src/embed/editor.scss +0 -15
  932. package/src/embed/embed-controls.native.js +65 -0
  933. package/src/embed/embed-link-settings.native.js +100 -0
  934. package/src/embed/embed-loading.js +0 -2
  935. package/src/embed/embed-placeholder.native.js +8 -0
  936. package/src/embed/test/__snapshots__/index.native.js.snap +10 -0
  937. package/src/embed/test/index.native.js +230 -89
  938. package/src/file/block.json +1 -0
  939. package/src/file/edit.native.js +6 -2
  940. package/src/file/index.php +2 -2
  941. package/src/file/test/__snapshots__/edit.native.js.snap +18 -5
  942. package/src/file/test/edit.native.js +30 -12
  943. package/src/freeform/block.json +1 -0
  944. package/src/gallery/block.json +1 -0
  945. package/src/gallery/constants.js +2 -0
  946. package/src/gallery/deprecated.js +4 -0
  947. package/src/gallery/edit.js +60 -11
  948. package/src/gallery/editor.scss +8 -22
  949. package/src/gallery/gallery.native.js +1 -1
  950. package/src/gallery/shared.js +1 -1
  951. package/src/gallery/style.scss +8 -1
  952. package/src/gallery/test/__snapshots__/index.native.js.snap +7 -0
  953. package/src/gallery/test/index.native.js +128 -0
  954. package/src/gallery/test/use-get-new-images.js +93 -0
  955. package/src/gallery/transforms.js +7 -1
  956. package/src/gallery/utils.js +7 -3
  957. package/src/group/block.json +24 -2
  958. package/src/group/theme.scss +4 -5
  959. package/src/group/variations.js +11 -1
  960. package/src/heading/block.json +6 -1
  961. package/src/heading/edit.js +2 -1
  962. package/src/heading/transforms.js +2 -5
  963. package/src/home-link/block.json +1 -0
  964. package/src/home-link/index.php +3 -3
  965. package/src/html/block.json +1 -0
  966. package/src/image/block.json +5 -1
  967. package/src/image/edit.js +44 -0
  968. package/src/image/edit.native.js +69 -19
  969. package/src/image/image.js +14 -3
  970. package/src/image/index.php +3 -3
  971. package/src/image/style.scss +0 -2
  972. package/src/image/test/edit.native.js +170 -1
  973. package/src/index.js +41 -27
  974. package/src/latest-comments/block.json +1 -0
  975. package/src/latest-comments/index.php +1 -1
  976. package/src/latest-posts/block.json +1 -0
  977. package/src/latest-posts/edit.js +52 -64
  978. package/src/latest-posts/editor.scss +10 -0
  979. package/src/latest-posts/index.php +15 -13
  980. package/src/latest-posts/style.scss +0 -12
  981. package/src/list/block.json +6 -1
  982. package/src/list/test/edit.native.js +3 -3
  983. package/src/loginout/block.json +1 -0
  984. package/src/media-text/block.json +6 -1
  985. package/src/missing/block.json +1 -0
  986. package/src/missing/test/__snapshots__/edit.native.js.snap +5 -0
  987. package/src/missing/test/edit.native.js +26 -30
  988. package/src/more/block.json +1 -0
  989. package/src/navigation/README.md +13 -0
  990. package/src/navigation/block.json +12 -10
  991. package/src/navigation/edit/existing-menus-options.js +70 -0
  992. package/src/navigation/edit/index.js +84 -25
  993. package/src/navigation/edit/inner-blocks.js +19 -4
  994. package/src/navigation/edit/navigation-menu-selector.js +58 -32
  995. package/src/navigation/edit/overlay-menu-icon.js +20 -0
  996. package/src/navigation/edit/placeholder/index.js +49 -142
  997. package/src/navigation/edit/placeholder/placeholder-preview.js +8 -10
  998. package/src/navigation/edit/responsive-wrapper.js +12 -13
  999. package/src/navigation/editor.scss +137 -103
  1000. package/src/navigation/index.php +19 -12
  1001. package/src/navigation/menu-items-to-blocks.js +2 -1
  1002. package/src/navigation/style.scss +24 -7
  1003. package/src/navigation/use-convert-classic-menu.js +58 -0
  1004. package/src/navigation/use-navigation-entities.js +3 -1
  1005. package/src/navigation-area/block.json +3 -7
  1006. package/src/navigation-area/edit.js +2 -1
  1007. package/src/navigation-link/block.json +2 -3
  1008. package/src/navigation-link/edit.js +5 -0
  1009. package/src/navigation-link/index.php +4 -4
  1010. package/src/navigation-submenu/block.json +2 -3
  1011. package/src/navigation-submenu/edit.js +3 -1
  1012. package/src/navigation-submenu/index.php +8 -8
  1013. package/src/nextpage/block.json +1 -0
  1014. package/src/page-list/block.json +4 -0
  1015. package/src/page-list/edit.js +47 -9
  1016. package/src/page-list/editor.scss +8 -5
  1017. package/src/page-list/index.php +14 -9
  1018. package/src/paragraph/block.json +7 -2
  1019. package/src/paragraph/edit.js +12 -4
  1020. package/src/paragraph/test/edit.native.js +4 -13
  1021. package/src/pattern/block.json +1 -0
  1022. package/src/post-author/block.json +7 -2
  1023. package/src/post-author/index.php +1 -1
  1024. package/src/post-author-biography/block.json +41 -0
  1025. package/src/post-author-biography/edit.js +63 -0
  1026. package/src/post-author-biography/index.js +18 -0
  1027. package/src/post-author-biography/index.php +48 -0
  1028. package/src/post-author-name/block.json +48 -0
  1029. package/src/post-author-name/edit.js +95 -0
  1030. package/src/post-author-name/index.js +18 -0
  1031. package/src/post-author-name/index.php +49 -0
  1032. package/src/post-comment/block.json +1 -0
  1033. package/src/post-comments/block.json +6 -1
  1034. package/src/post-comments/style.scss +10 -4
  1035. package/src/post-comments-count/block.json +6 -1
  1036. package/src/post-comments-form/block.json +11 -2
  1037. package/src/post-comments-link/block.json +6 -1
  1038. package/src/post-comments-link/index.php +5 -5
  1039. package/src/post-content/block.json +1 -0
  1040. package/src/post-content/edit.js +4 -4
  1041. package/src/post-content/index.php +1 -1
  1042. package/src/post-date/block.json +7 -1
  1043. package/src/post-date/index.php +1 -1
  1044. package/src/post-excerpt/block.json +7 -1
  1045. package/src/post-excerpt/edit.js +1 -0
  1046. package/src/post-excerpt/index.js +2 -0
  1047. package/src/post-excerpt/index.php +1 -1
  1048. package/src/post-excerpt/transforms.js +23 -0
  1049. package/src/post-featured-image/block.json +4 -0
  1050. package/src/post-featured-image/dimension-controls.js +103 -51
  1051. package/src/post-featured-image/edit.js +61 -22
  1052. package/src/post-featured-image/editor.scss +0 -8
  1053. package/src/post-featured-image/index.php +3 -2
  1054. package/src/post-featured-image/style.scss +1 -1
  1055. package/src/post-navigation-link/block.json +1 -0
  1056. package/src/post-navigation-link/index.php +4 -4
  1057. package/src/post-template/block.json +2 -1
  1058. package/src/post-template/edit.js +27 -7
  1059. package/src/post-template/index.php +2 -2
  1060. package/src/post-template/style.scss +5 -0
  1061. package/src/post-terms/block.json +7 -1
  1062. package/src/post-terms/index.js +6 -0
  1063. package/src/post-terms/index.php +1 -1
  1064. package/src/post-title/block.json +7 -1
  1065. package/src/post-title/edit.js +8 -7
  1066. package/src/post-title/index.php +1 -1
  1067. package/src/post-title/style.scss +6 -2
  1068. package/src/preformatted/block.json +6 -1
  1069. package/src/preformatted/edit.native.js +4 -4
  1070. package/src/preformatted/test/__snapshots__/edit.native.js.snap +53 -14
  1071. package/src/preformatted/test/edit.native.js +11 -10
  1072. package/src/pullquote/block.json +13 -2
  1073. package/src/pullquote/style.scss +1 -0
  1074. package/src/query/block.json +8 -4
  1075. package/src/query/deprecated.js +80 -3
  1076. package/src/query/edit/index.js +3 -3
  1077. package/src/query/edit/inspector-controls/author-control.js +78 -0
  1078. package/src/query/edit/inspector-controls/index.js +163 -0
  1079. package/src/query/edit/inspector-controls/order-control.js +41 -0
  1080. package/src/query/edit/inspector-controls/taxonomy-controls.js +118 -0
  1081. package/src/query/test/utils.js +6 -4
  1082. package/src/query/utils.js +45 -35
  1083. package/src/query/variations.js +0 -4
  1084. package/src/query-pagination/block.json +8 -2
  1085. package/src/query-pagination/editor.scss +0 -4
  1086. package/src/query-pagination-next/block.json +6 -2
  1087. package/src/query-pagination-next/index.php +2 -1
  1088. package/src/query-pagination-numbers/block.json +2 -1
  1089. package/src/query-pagination-previous/block.json +6 -2
  1090. package/src/query-pagination-previous/index.php +2 -1
  1091. package/src/query-title/block.json +6 -1
  1092. package/src/query-title/index.js +6 -0
  1093. package/src/quote/block.json +2 -2
  1094. package/src/quote/index.js +0 -1
  1095. package/src/quote/style.scss +3 -3
  1096. package/src/quote/theme.scss +1 -1
  1097. package/src/read-more/block.json +56 -0
  1098. package/src/read-more/edit.js +50 -0
  1099. package/src/read-more/index.js +18 -0
  1100. package/src/read-more/index.php +45 -0
  1101. package/src/read-more/style.scss +12 -0
  1102. package/src/rss/block.json +1 -0
  1103. package/src/search/block.json +13 -2
  1104. package/src/search/edit.js +4 -2
  1105. package/src/search/edit.native.js +2 -5
  1106. package/src/search/index.php +26 -14
  1107. package/src/search/test/__snapshots__/edit.native.js.snap +7 -15
  1108. package/src/search/test/edit.native.js +32 -24
  1109. package/src/separator/block.json +1 -0
  1110. package/src/separator/style.scss +0 -5
  1111. package/src/shortcode/block.json +1 -0
  1112. package/src/site-logo/block.json +1 -0
  1113. package/src/site-logo/edit.js +5 -40
  1114. package/src/site-logo/index.js +2 -0
  1115. package/src/site-logo/index.php +1 -1
  1116. package/src/site-logo/transforms.js +21 -0
  1117. package/src/site-tagline/block.json +7 -2
  1118. package/src/site-tagline/edit.js +10 -1
  1119. package/src/site-title/block.json +7 -1
  1120. package/src/site-title/index.js +2 -0
  1121. package/src/site-title/index.php +6 -6
  1122. package/src/site-title/transforms.js +21 -0
  1123. package/src/social-link/block.json +3 -1
  1124. package/src/social-link/edit.js +14 -2
  1125. package/src/social-link/index.php +57 -54
  1126. package/src/social-links/block.json +8 -8
  1127. package/src/social-links/edit.js +37 -27
  1128. package/src/social-links/editor.scss +7 -0
  1129. package/src/social-links/save.js +7 -1
  1130. package/src/social-links/style.scss +11 -1
  1131. package/src/spacer/block.json +4 -3
  1132. package/src/spacer/controls.js +108 -0
  1133. package/src/spacer/controls.native.js +82 -0
  1134. package/src/spacer/deprecated.js +41 -0
  1135. package/src/spacer/edit.js +133 -132
  1136. package/src/spacer/edit.native.js +68 -0
  1137. package/src/spacer/editor.scss +6 -0
  1138. package/src/spacer/index.js +2 -0
  1139. package/src/spacer/save.js +5 -2
  1140. package/src/style.scss +4 -2
  1141. package/src/table/block.json +12 -2
  1142. package/src/table/style.scss +1 -0
  1143. package/src/table-of-contents/block.json +1 -0
  1144. package/src/table-of-contents/index.php +3 -3
  1145. package/src/tag-cloud/block.json +5 -0
  1146. package/src/tag-cloud/index.js +2 -0
  1147. package/src/tag-cloud/style.scss +9 -0
  1148. package/src/tag-cloud/transforms.js +23 -0
  1149. package/src/template-part/block.json +1 -0
  1150. package/src/template-part/index.php +6 -6
  1151. package/src/term-description/block.json +6 -1
  1152. package/src/text-columns/block.json +1 -0
  1153. package/src/verse/block.json +6 -1
  1154. package/src/verse/test/edit.native.js +7 -10
  1155. package/src/video/block.json +1 -0
  1156. package/build/comments-query-loop/toolbar.js +0 -58
  1157. package/build/comments-query-loop/toolbar.js.map +0 -1
  1158. package/build/embed/embed-bottom-sheet.native.js +0 -85
  1159. package/build/embed/embed-bottom-sheet.native.js.map +0 -1
  1160. package/build/query/edit/query-inspector-controls.js +0 -275
  1161. package/build/query/edit/query-inspector-controls.js.map +0 -1
  1162. package/build-module/comments-query-loop/toolbar.js +0 -48
  1163. package/build-module/comments-query-loop/toolbar.js.map +0 -1
  1164. package/build-module/embed/embed-bottom-sheet.native.js +0 -74
  1165. package/build-module/embed/embed-bottom-sheet.native.js.map +0 -1
  1166. package/build-module/query/edit/query-inspector-controls.js +0 -261
  1167. package/build-module/query/edit/query-inspector-controls.js.map +0 -1
  1168. package/src/comments-query-loop/toolbar.js +0 -57
  1169. package/src/embed/embed-bottom-sheet.native.js +0 -78
  1170. package/src/home-link/style.scss +0 -51
  1171. package/src/query/edit/query-inspector-controls.js +0 -281
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"names":["classnames","escape","pull","useSelect","useDispatch","PanelBody","Popover","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","displayShortcut","isKeyboardEvent","__","sprintf","BlockControls","InnerBlocks","useInnerBlocksProps","InspectorControls","RichText","__experimentalLinkControl","LinkControl","useBlockProps","store","blockEditorStore","getColorClassName","isURL","prependHTTP","safeDecodeURI","Fragment","useState","useEffect","useRef","createInterpolateElement","placeCaretAtHorizontalEdge","link","linkIcon","coreStore","speak","ItemSubmenuIcon","ALLOWED_BLOCKS","DEFAULT_BLOCK","MAX_NESTING","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","getSuggestionsQuery","type","kind","subtype","getColors","context","isSubMenu","textColor","customTextColor","backgroundColor","customBackgroundColor","overlayTextColor","customOverlayTextColor","overlayBackgroundColor","customOverlayBackgroundColor","style","colors","color","text","background","updateNavigationLinkBlockAttributes","updatedValue","setAttributes","blockAttributes","label","originalLabel","originalKind","originalType","title","url","opensInNewTab","id","newKind","newType","normalizedTitle","replace","normalizedURL","escapeTitle","isBuiltInType","indexOf","isCustomLink","encodeURI","undefined","Number","isInteger","NavigationSubmenuEdit","attributes","isSelected","mergeBlocks","onReplace","clientId","description","rel","showSubmenuIcon","openSubmenusOnClick","saveEntityRecord","__unstableMarkNextChangeAsNotPersistent","isLinkOpen","setIsLinkOpen","listItemRef","itemLabelPlaceholder","ref","isAtMaxNesting","isTopLevelItem","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasDescendants","selectedBlockHasDescendants","userCanCreatePages","userCanCreatePosts","select","getClientIdsOfDescendants","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","selectedBlockId","descendants","length","name","canUser","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","userCanCreate","handleCreate","pageTitle","postType","page","status","rendered","onKeyDown","primary","blockProps","className","innerBlocksColors","innerBlocksProps","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","__experimentalCaptureToolbars","renderAppender","ButtonBlockAppender","ParentElement","descriptionValue","titleValue","relValue","labelValue","searchTerm","format","mark"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { escape, pull } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tPopover,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\t__experimentalLinkControl as LinkControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport {\n\tFragment,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport { placeCaretAtHorizontalEdge } from '@wordpress/dom';\nimport { link as linkIcon } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { name } from './block.json';\n\nconst ALLOWED_BLOCKS = [ 'core/navigation-link', 'core/navigation-submenu' ];\n\nconst DEFAULT_BLOCK = [ 'core/navigation-link' ];\n\nconst MAX_NESTING = 5;\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\n/**\n * Given the Link block's type attribute, return the query params to give to\n * /wp/v2/search.\n *\n * @param {string} type Link block's type attribute.\n * @param {string} kind Link block's entity of kind (post-type|taxonomy)\n * @return {{ type?: string, subtype?: string }} Search query params.\n */\nfunction getSuggestionsQuery( type, kind ) {\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\tcase 'page':\n\t\t\treturn { type: 'post', subtype: type };\n\t\tcase 'category':\n\t\t\treturn { type: 'term', subtype: 'category' };\n\t\tcase 'tag':\n\t\t\treturn { type: 'term', subtype: 'post_tag' };\n\t\tcase 'post_format':\n\t\t\treturn { type: 'post-format' };\n\t\tdefault:\n\t\t\tif ( kind === 'taxonomy' ) {\n\t\t\t\treturn { type: 'term', subtype: type };\n\t\t\t}\n\t\t\tif ( kind === 'post-type' ) {\n\t\t\t\treturn { type: 'post', subtype: type };\n\t\t\t}\n\t\t\treturn {};\n\t}\n}\n\n/**\n * Determine the colors for a menu.\n *\n * Order of priority is:\n * 1: Overlay custom colors (if submenu)\n * 2: Overlay theme colors (if submenu)\n * 3: Custom colors\n * 4: Theme colors\n * 5: Global styles\n *\n * @param {Object} context\n * @param {boolean} isSubMenu\n */\nfunction getColors( context, isSubMenu ) {\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t\toverlayTextColor,\n\t\tcustomOverlayTextColor,\n\t\toverlayBackgroundColor,\n\t\tcustomOverlayBackgroundColor,\n\t\tstyle,\n\t} = context;\n\n\tconst colors = {};\n\n\tif ( isSubMenu && !! customOverlayTextColor ) {\n\t\tcolors.customTextColor = customOverlayTextColor;\n\t} else if ( isSubMenu && !! overlayTextColor ) {\n\t\tcolors.textColor = overlayTextColor;\n\t} else if ( !! customTextColor ) {\n\t\tcolors.customTextColor = customTextColor;\n\t} else if ( !! textColor ) {\n\t\tcolors.textColor = textColor;\n\t} else if ( !! style?.color?.text ) {\n\t\tcolors.customTextColor = style.color.text;\n\t}\n\n\tif ( isSubMenu && !! customOverlayBackgroundColor ) {\n\t\tcolors.customBackgroundColor = customOverlayBackgroundColor;\n\t} else if ( isSubMenu && !! overlayBackgroundColor ) {\n\t\tcolors.backgroundColor = overlayBackgroundColor;\n\t} else if ( !! customBackgroundColor ) {\n\t\tcolors.customBackgroundColor = customBackgroundColor;\n\t} else if ( !! backgroundColor ) {\n\t\tcolors.backgroundColor = backgroundColor;\n\t} else if ( !! style?.color?.background ) {\n\t\tcolors.customTextColor = style.color.background;\n\t}\n\n\treturn colors;\n}\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n\n/**\n * Link Control onChange handler that updates block attributes when a setting is changed.\n *\n * @param {Object} updatedValue New block attributes to update.\n * @param {Function} setAttributes Block attribute update function.\n * @param {WPNavigationLinkBlockAttributes} blockAttributes Current block attributes.\n *\n */\nexport const updateNavigationLinkBlockAttributes = (\n\tupdatedValue = {},\n\tsetAttributes,\n\tblockAttributes = {}\n) => {\n\tconst {\n\t\tlabel: originalLabel = '',\n\t\tkind: originalKind = '',\n\t\ttype: originalType = '',\n\t} = blockAttributes;\n\tconst {\n\t\ttitle = '',\n\t\turl = '',\n\t\topensInNewTab,\n\t\tid,\n\t\tkind: newKind = originalKind,\n\t\ttype: newType = originalType,\n\t} = updatedValue;\n\n\tconst normalizedTitle = title.replace( /http(s?):\\/\\//gi, '' );\n\tconst normalizedURL = url.replace( /http(s?):\\/\\//gi, '' );\n\tconst escapeTitle =\n\t\ttitle !== '' &&\n\t\tnormalizedTitle !== normalizedURL &&\n\t\toriginalLabel !== title;\n\tconst label = escapeTitle\n\t\t? escape( title )\n\t\t: originalLabel || escape( normalizedURL );\n\n\t// In https://github.com/WordPress/gutenberg/pull/24670 we decided to use \"tag\" in favor of \"post_tag\"\n\tconst type = newType === 'post_tag' ? 'tag' : newType.replace( '-', '_' );\n\n\tconst isBuiltInType =\n\t\t[ 'post', 'page', 'tag', 'category' ].indexOf( type ) > -1;\n\n\tconst isCustomLink =\n\t\t( ! newKind && ! isBuiltInType ) || newKind === 'custom';\n\tconst kind = isCustomLink ? 'custom' : newKind;\n\n\tsetAttributes( {\n\t\t// Passed `url` may already be encoded. To prevent double encoding, decodeURI is executed to revert to the original string.\n\t\t...( url && { url: encodeURI( safeDecodeURI( url ) ) } ),\n\t\t...( label && { label } ),\n\t\t...( undefined !== opensInNewTab && { opensInNewTab } ),\n\t\t...( id && Number.isInteger( id ) && { id } ),\n\t\t...( kind && { kind } ),\n\t\t...( type && type !== 'URL' && { type } ),\n\t} );\n};\n\nexport default function NavigationSubmenuEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\ttype,\n\t\topensInNewTab,\n\t\turl,\n\t\tdescription,\n\t\trel,\n\t\ttitle,\n\t\tkind,\n\t} = attributes;\n\tconst link = {\n\t\turl,\n\t\topensInNewTab,\n\t};\n\tconst { showSubmenuIcon, openSubmenusOnClick } = context;\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add text…' );\n\tconst ref = useRef();\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelItem,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasDescendants,\n\t\tselectedBlockHasDescendants,\n\t\tuserCanCreatePages,\n\t\tuserCanCreatePosts,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst descendants = getClientIdsOfDescendants( [ clientId ] )\n\t\t\t\t.length;\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, name ).length >=\n\t\t\t\t\tMAX_NESTING,\n\t\t\t\tisTopLevelItem:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, name ).length === 0,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasDescendants: !! descendants,\n\t\t\t\tselectedBlockHasDescendants: !! getClientIdsOfDescendants( [\n\t\t\t\t\tselectedBlockId,\n\t\t\t\t] )?.length,\n\t\t\t\tuserCanCreatePages: select( coreStore ).canUser(\n\t\t\t\t\t'create',\n\t\t\t\t\t'pages'\n\t\t\t\t),\n\t\t\t\tuserCanCreatePosts: select( coreStore ).canUser(\n\t\t\t\t\t'create',\n\t\t\t\t\t'posts'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// Show the LinkControl on mount if the URL is empty\n\t// ( When adding a new menu item)\n\t// This can't be done in the useState call because it conflicts\n\t// with the autofocus behavior of the BlockListBlock component.\n\tuseEffect( () => {\n\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [] );\n\n\t// Store the colors from context as attributes for rendering\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level as those should\n\t\t// only be created via user interactions. Mark this change as\n\t\t// not persistent to avoid undo level creation.\n\t\t// See https://github.com/WordPress/gutenberg/issues/34564.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isTopLevelItem } );\n\t}, [ isTopLevelItem ] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t} else {\n\t\t\t\t// Focus it (but do not select).\n\t\t\t\tplaceCaretAtHorizontalEdge( ref.current, true );\n\t\t\t}\n\t\t}\n\t}, [ url ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = userCanCreatePages;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = userCanCreatePosts;\n\t}\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst postType = type || 'page';\n\n\t\tconst page = await saveEntityRecord( 'postType', postType, {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: postType,\n\t\t\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelItem );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: listItemRef,\n\t\tclassName: classnames( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasDescendants,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t) ]: !! backgroundColor,\n\t\t\t'open-on-click': openSubmenusOnClick,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\t// Always use overlay colors for submenus\n\tconst innerBlocksColors = getColors( context, true );\n\n\tif ( isAtMaxNesting ) {\n\t\tpull( ALLOWED_BLOCKS, 'core/navigation-submenu' );\n\t}\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: classnames( 'wp-block-navigation__submenu-container', {\n\t\t\t\t'is-parent-of-selected-block': isParentOfSelectedBlock,\n\t\t\t\t'has-text-color': !! (\n\t\t\t\t\tinnerBlocksColors.textColor ||\n\t\t\t\t\tinnerBlocksColors.customTextColor\n\t\t\t\t),\n\t\t\t\t[ `has-${ innerBlocksColors.textColor }-color` ]: !! innerBlocksColors.textColor,\n\t\t\t\t'has-background': !! (\n\t\t\t\t\tinnerBlocksColors.backgroundColor ||\n\t\t\t\t\tinnerBlocksColors.customBackgroundColor\n\t\t\t\t),\n\t\t\t\t[ `has-${ innerBlocksColors.backgroundColor }-background-color` ]: !! innerBlocksColors.backgroundColor,\n\t\t\t} ),\n\t\t\tstyle: {\n\t\t\t\tcolor: innerBlocksColors.customTextColor,\n\t\t\t\tbackgroundColor: innerBlocksColors.customBackgroundColor,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: true,\n\n\t\t\t// Ensure block toolbar is not too far removed from item\n\t\t\t// being edited.\n\t\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t\t__experimentalCaptureToolbars: true,\n\n\t\t\trenderAppender:\n\t\t\t\tisSelected ||\n\t\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t\t! selectedBlockHasDescendants ) ||\n\t\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\t\thasDescendants\n\t\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t: false,\n\t\t}\n\t);\n\n\tconst ParentElement = openSubmenusOnClick ? 'button' : 'a';\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ ! openSubmenusOnClick && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\tonClick={ () => setIsLinkOpen( true ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Link title' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<ParentElement className=\"wp-block-navigation-item__content\">\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: labelValue } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\t\tsetIsLinkOpen( 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/>\n\t\t\t\t\t}\n\t\t\t\t\t{ ! openSubmenusOnClick && isLinkOpen && (\n\t\t\t\t\t\t<Popover\n\t\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\t\tonClose={ () => setIsLinkOpen( false ) }\n\t\t\t\t\t\t\tanchorRef={ listItemRef.current }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\t\t\tshowInitialSuggestions={ true }\n\t\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\t\t\tlet format;\n\t\t\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t\t\t'Create draft post: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t\t\t'Create draft page: <mark>%s</mark>'\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\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t\t\t{ mark: <mark /> }\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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery(\n\t\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t\tkind\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( updatedValue ) =>\n\t\t\t\t\t\t\t\t\tupdateNavigationLinkBlockAttributes(\n\t\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\t\tattributes\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\tonRemove={ () => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { url: '' } );\n\t\t\t\t\t\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( showSubmenuIcon || openSubmenusOnClick ) && (\n\t\t\t\t\t\t<span className=\"wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</ParentElement>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"names":["classnames","escape","pull","useSelect","useDispatch","PanelBody","Popover","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","displayShortcut","isKeyboardEvent","__","sprintf","BlockControls","InnerBlocks","useInnerBlocksProps","InspectorControls","RichText","__experimentalLinkControl","LinkControl","useBlockProps","store","blockEditorStore","getColorClassName","isURL","prependHTTP","safeDecodeURI","Fragment","useState","useEffect","useRef","createInterpolateElement","placeCaretAtHorizontalEdge","link","linkIcon","coreStore","speak","ItemSubmenuIcon","ALLOWED_BLOCKS","DEFAULT_BLOCK","name","MAX_NESTING","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","getSuggestionsQuery","type","kind","subtype","getColors","context","isSubMenu","textColor","customTextColor","backgroundColor","customBackgroundColor","overlayTextColor","customOverlayTextColor","overlayBackgroundColor","customOverlayBackgroundColor","style","colors","color","text","background","updateNavigationLinkBlockAttributes","updatedValue","setAttributes","blockAttributes","label","originalLabel","originalKind","originalType","title","url","opensInNewTab","id","newKind","newType","normalizedTitle","replace","normalizedURL","escapeTitle","isBuiltInType","indexOf","isCustomLink","encodeURI","undefined","Number","isInteger","NavigationSubmenuEdit","attributes","isSelected","mergeBlocks","onReplace","clientId","description","rel","showSubmenuIcon","openSubmenusOnClick","saveEntityRecord","__unstableMarkNextChangeAsNotPersistent","isLinkOpen","setIsLinkOpen","listItemRef","itemLabelPlaceholder","ref","isAtMaxNesting","isTopLevelItem","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasDescendants","selectedBlockHasDescendants","userCanCreatePages","userCanCreatePosts","select","getClientIdsOfDescendants","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","selectedBlockId","descendants","length","canUser","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","userCanCreate","handleCreate","pageTitle","postType","page","status","rendered","onKeyDown","primary","blockProps","className","innerBlocksColors","innerBlocksProps","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","__experimentalCaptureToolbars","renderAppender","ButtonBlockAppender","ParentElement","descriptionValue","titleValue","relValue","labelValue","searchTerm","format","mark"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { escape, pull } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tPopover,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\t__experimentalLinkControl as LinkControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport {\n\tFragment,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport { placeCaretAtHorizontalEdge } from '@wordpress/dom';\nimport { link as linkIcon } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { name } from './block.json';\n\nconst ALLOWED_BLOCKS = [ 'core/navigation-link', 'core/navigation-submenu' ];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nconst MAX_NESTING = 5;\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\n/**\n * Given the Link block's type attribute, return the query params to give to\n * /wp/v2/search.\n *\n * @param {string} type Link block's type attribute.\n * @param {string} kind Link block's entity of kind (post-type|taxonomy)\n * @return {{ type?: string, subtype?: string }} Search query params.\n */\nfunction getSuggestionsQuery( type, kind ) {\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\tcase 'page':\n\t\t\treturn { type: 'post', subtype: type };\n\t\tcase 'category':\n\t\t\treturn { type: 'term', subtype: 'category' };\n\t\tcase 'tag':\n\t\t\treturn { type: 'term', subtype: 'post_tag' };\n\t\tcase 'post_format':\n\t\t\treturn { type: 'post-format' };\n\t\tdefault:\n\t\t\tif ( kind === 'taxonomy' ) {\n\t\t\t\treturn { type: 'term', subtype: type };\n\t\t\t}\n\t\t\tif ( kind === 'post-type' ) {\n\t\t\t\treturn { type: 'post', subtype: type };\n\t\t\t}\n\t\t\treturn {};\n\t}\n}\n\n/**\n * Determine the colors for a menu.\n *\n * Order of priority is:\n * 1: Overlay custom colors (if submenu)\n * 2: Overlay theme colors (if submenu)\n * 3: Custom colors\n * 4: Theme colors\n * 5: Global styles\n *\n * @param {Object} context\n * @param {boolean} isSubMenu\n */\nfunction getColors( context, isSubMenu ) {\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t\toverlayTextColor,\n\t\tcustomOverlayTextColor,\n\t\toverlayBackgroundColor,\n\t\tcustomOverlayBackgroundColor,\n\t\tstyle,\n\t} = context;\n\n\tconst colors = {};\n\n\tif ( isSubMenu && !! customOverlayTextColor ) {\n\t\tcolors.customTextColor = customOverlayTextColor;\n\t} else if ( isSubMenu && !! overlayTextColor ) {\n\t\tcolors.textColor = overlayTextColor;\n\t} else if ( !! customTextColor ) {\n\t\tcolors.customTextColor = customTextColor;\n\t} else if ( !! textColor ) {\n\t\tcolors.textColor = textColor;\n\t} else if ( !! style?.color?.text ) {\n\t\tcolors.customTextColor = style.color.text;\n\t}\n\n\tif ( isSubMenu && !! customOverlayBackgroundColor ) {\n\t\tcolors.customBackgroundColor = customOverlayBackgroundColor;\n\t} else if ( isSubMenu && !! overlayBackgroundColor ) {\n\t\tcolors.backgroundColor = overlayBackgroundColor;\n\t} else if ( !! customBackgroundColor ) {\n\t\tcolors.customBackgroundColor = customBackgroundColor;\n\t} else if ( !! backgroundColor ) {\n\t\tcolors.backgroundColor = backgroundColor;\n\t} else if ( !! style?.color?.background ) {\n\t\tcolors.customTextColor = style.color.background;\n\t}\n\n\treturn colors;\n}\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n\n/**\n * Link Control onChange handler that updates block attributes when a setting is changed.\n *\n * @param {Object} updatedValue New block attributes to update.\n * @param {Function} setAttributes Block attribute update function.\n * @param {WPNavigationLinkBlockAttributes} blockAttributes Current block attributes.\n *\n */\nexport const updateNavigationLinkBlockAttributes = (\n\tupdatedValue = {},\n\tsetAttributes,\n\tblockAttributes = {}\n) => {\n\tconst {\n\t\tlabel: originalLabel = '',\n\t\tkind: originalKind = '',\n\t\ttype: originalType = '',\n\t} = blockAttributes;\n\tconst {\n\t\ttitle = '',\n\t\turl = '',\n\t\topensInNewTab,\n\t\tid,\n\t\tkind: newKind = originalKind,\n\t\ttype: newType = originalType,\n\t} = updatedValue;\n\n\tconst normalizedTitle = title.replace( /http(s?):\\/\\//gi, '' );\n\tconst normalizedURL = url.replace( /http(s?):\\/\\//gi, '' );\n\tconst escapeTitle =\n\t\ttitle !== '' &&\n\t\tnormalizedTitle !== normalizedURL &&\n\t\toriginalLabel !== title;\n\tconst label = escapeTitle\n\t\t? escape( title )\n\t\t: originalLabel || escape( normalizedURL );\n\n\t// In https://github.com/WordPress/gutenberg/pull/24670 we decided to use \"tag\" in favor of \"post_tag\"\n\tconst type = newType === 'post_tag' ? 'tag' : newType.replace( '-', '_' );\n\n\tconst isBuiltInType =\n\t\t[ 'post', 'page', 'tag', 'category' ].indexOf( type ) > -1;\n\n\tconst isCustomLink =\n\t\t( ! newKind && ! isBuiltInType ) || newKind === 'custom';\n\tconst kind = isCustomLink ? 'custom' : newKind;\n\n\tsetAttributes( {\n\t\t// Passed `url` may already be encoded. To prevent double encoding, decodeURI is executed to revert to the original string.\n\t\t...( url && { url: encodeURI( safeDecodeURI( url ) ) } ),\n\t\t...( label && { label } ),\n\t\t...( undefined !== opensInNewTab && { opensInNewTab } ),\n\t\t...( id && Number.isInteger( id ) && { id } ),\n\t\t...( kind && { kind } ),\n\t\t...( type && type !== 'URL' && { type } ),\n\t} );\n};\n\nexport default function NavigationSubmenuEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\ttype,\n\t\topensInNewTab,\n\t\turl,\n\t\tdescription,\n\t\trel,\n\t\ttitle,\n\t\tkind,\n\t} = attributes;\n\tconst link = {\n\t\turl,\n\t\topensInNewTab,\n\t};\n\tconst { showSubmenuIcon, openSubmenusOnClick } = context;\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add text…' );\n\tconst ref = useRef();\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelItem,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasDescendants,\n\t\tselectedBlockHasDescendants,\n\t\tuserCanCreatePages,\n\t\tuserCanCreatePosts,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst descendants = getClientIdsOfDescendants( [ clientId ] )\n\t\t\t\t.length;\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, name ).length >=\n\t\t\t\t\tMAX_NESTING,\n\t\t\t\tisTopLevelItem:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, name ).length === 0,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasDescendants: !! descendants,\n\t\t\t\tselectedBlockHasDescendants: !! getClientIdsOfDescendants( [\n\t\t\t\t\tselectedBlockId,\n\t\t\t\t] )?.length,\n\t\t\t\tuserCanCreatePages: select( coreStore ).canUser(\n\t\t\t\t\t'create',\n\t\t\t\t\t'pages'\n\t\t\t\t),\n\t\t\t\tuserCanCreatePosts: select( coreStore ).canUser(\n\t\t\t\t\t'create',\n\t\t\t\t\t'posts'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// Show the LinkControl on mount if the URL is empty\n\t// ( When adding a new menu item)\n\t// This can't be done in the useState call because it conflicts\n\t// with the autofocus behavior of the BlockListBlock component.\n\tuseEffect( () => {\n\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [] );\n\n\t// Store the colors from context as attributes for rendering\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level as those should\n\t\t// only be created via user interactions. Mark this change as\n\t\t// not persistent to avoid undo level creation.\n\t\t// See https://github.com/WordPress/gutenberg/issues/34564.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isTopLevelItem } );\n\t}, [ isTopLevelItem ] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t} else {\n\t\t\t\t// Focus it (but do not select).\n\t\t\t\tplaceCaretAtHorizontalEdge( ref.current, true );\n\t\t\t}\n\t\t}\n\t}, [ url ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = userCanCreatePages;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = userCanCreatePosts;\n\t}\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst postType = type || 'page';\n\n\t\tconst page = await saveEntityRecord( 'postType', postType, {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: postType,\n\t\t\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelItem );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: listItemRef,\n\t\tclassName: classnames( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasDescendants,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t) ]: !! backgroundColor,\n\t\t\t'open-on-click': openSubmenusOnClick,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\t// Always use overlay colors for submenus\n\tconst innerBlocksColors = getColors( context, true );\n\n\tif ( isAtMaxNesting ) {\n\t\tpull( ALLOWED_BLOCKS, 'core/navigation-submenu' );\n\t}\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: classnames( 'wp-block-navigation__submenu-container', {\n\t\t\t\t'is-parent-of-selected-block': isParentOfSelectedBlock,\n\t\t\t\t'has-text-color': !! (\n\t\t\t\t\tinnerBlocksColors.textColor ||\n\t\t\t\t\tinnerBlocksColors.customTextColor\n\t\t\t\t),\n\t\t\t\t[ `has-${ innerBlocksColors.textColor }-color` ]: !! innerBlocksColors.textColor,\n\t\t\t\t'has-background': !! (\n\t\t\t\t\tinnerBlocksColors.backgroundColor ||\n\t\t\t\t\tinnerBlocksColors.customBackgroundColor\n\t\t\t\t),\n\t\t\t\t[ `has-${ innerBlocksColors.backgroundColor }-background-color` ]: !! innerBlocksColors.backgroundColor,\n\t\t\t} ),\n\t\t\tstyle: {\n\t\t\t\tcolor: innerBlocksColors.customTextColor,\n\t\t\t\tbackgroundColor: innerBlocksColors.customBackgroundColor,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: true,\n\n\t\t\t// Ensure block toolbar is not too far removed from item\n\t\t\t// being edited.\n\t\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t\t__experimentalCaptureToolbars: true,\n\n\t\t\trenderAppender:\n\t\t\t\tisSelected ||\n\t\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t\t! selectedBlockHasDescendants ) ||\n\t\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\t\thasDescendants\n\t\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t: false,\n\t\t}\n\t);\n\n\tconst ParentElement = openSubmenusOnClick ? 'button' : 'a';\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ ! openSubmenusOnClick && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\tonClick={ () => setIsLinkOpen( true ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Link title' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<ParentElement className=\"wp-block-navigation-item__content\">\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: labelValue } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\t\tsetIsLinkOpen( 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/>\n\t\t\t\t\t}\n\t\t\t\t\t{ ! openSubmenusOnClick && isLinkOpen && (\n\t\t\t\t\t\t<Popover\n\t\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\t\tonClose={ () => setIsLinkOpen( false ) }\n\t\t\t\t\t\t\tanchorRef={ listItemRef.current }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\t\t\tshowInitialSuggestions={ true }\n\t\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\t\t\tlet format;\n\t\t\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t\t\t'Create draft post: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t\t\t'Create draft page: <mark>%s</mark>'\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\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t\t\t{ mark: <mark /> }\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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery(\n\t\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t\tkind\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( updatedValue ) =>\n\t\t\t\t\t\t\t\t\tupdateNavigationLinkBlockAttributes(\n\t\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\t\tattributes\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\tonRemove={ () => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { url: '' } );\n\t\t\t\t\t\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( showSubmenuIcon || openSubmenusOnClick ) && (\n\t\t\t\t\t\t<span className=\"wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</ParentElement>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n}\n"]}
@@ -7,6 +7,7 @@ import { addSubmenu } from '@wordpress/icons';
7
7
  */
8
8
 
9
9
  const metadata = {
10
+ $schema: "https://schemas.wp.org/trunk/block.json",
10
11
  apiVersion: 2,
11
12
  name: "core/navigation-submenu",
12
13
  title: "Submenu",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation-submenu/index.js"],"names":["addSubmenu","edit","save","transforms","name","metadata","settings","icon","__experimentalLabel","label"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,kBAA3B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAOC,IAAP,MAAiB,QAAjB;AACA,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;AACvBC,EAAAA,IAAI,EAAEP,UADiB;AAGvBQ,EAAAA,mBAAmB,EAAE;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WAAiBA,KAAjB;AAAA,GAHE;AAKvBR,EAAAA,IALuB;AAOvBC,EAAAA,IAPuB;AASvBC,EAAAA;AATuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addSubmenu } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\n\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: addSubmenu,\n\n\t__experimentalLabel: ( { label } ) => label,\n\n\tedit,\n\n\tsave,\n\n\ttransforms,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation-submenu/index.js"],"names":["addSubmenu","edit","save","transforms","name","metadata","settings","icon","__experimentalLabel","label"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,kBAA3B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAOC,IAAP,MAAiB,QAAjB;AACA,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;AACvBC,EAAAA,IAAI,EAAEP,UADiB;AAGvBQ,EAAAA,mBAAmB,EAAE;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WAAiBA,KAAjB;AAAA,GAHE;AAKvBR,EAAAA,IALuB;AAOvBC,EAAAA,IAPuB;AASvBC,EAAAA;AATuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addSubmenu } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\n\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: addSubmenu,\n\n\t__experimentalLabel: ( { label } ) => label,\n\n\tedit,\n\n\tsave,\n\n\ttransforms,\n};\n"]}
@@ -8,6 +8,7 @@ import { pageBreak as icon } from '@wordpress/icons';
8
8
 
9
9
  import edit from './edit';
10
10
  const metadata = {
11
+ $schema: "https://schemas.wp.org/trunk/block.json",
11
12
  apiVersion: 2,
12
13
  name: "core/nextpage",
13
14
  title: "Page Break",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/nextpage/index.js"],"names":["pageBreak","icon","edit","save","transforms","name","metadata","settings","example"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,IAAIC,IAAtB,QAAkC,kBAAlC;AAEA;AACA;AACA;;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;AACvBN,EAAAA,IADuB;AAEvBO,EAAAA,OAAO,EAAE,EAFc;AAGvBJ,EAAAA,UAHuB;AAIvBF,EAAAA,IAJuB;AAKvBC,EAAAA;AALuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { pageBreak as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\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\ttransforms,\n\tedit,\n\tsave,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/nextpage/index.js"],"names":["pageBreak","icon","edit","save","transforms","name","metadata","settings","example"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,IAAIC,IAAtB,QAAkC,kBAAlC;AAEA;AACA;AACA;;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;AACvBN,EAAAA,IADuB;AAEvBO,EAAAA,OAAO,EAAE,EAFc;AAGvBJ,EAAAA,UAHuB;AAIvBF,EAAAA,IAJuB;AAKvBC,EAAAA;AALuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { pageBreak as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\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\ttransforms,\n\tedit,\n\tsave,\n};\n"]}
@@ -10,7 +10,7 @@ import { sortBy } from 'lodash';
10
10
  */
11
11
 
12
12
  import { BlockControls, useBlockProps, getColorClassName } from '@wordpress/block-editor';
13
- import { ToolbarButton, Placeholder, Spinner } from '@wordpress/components';
13
+ import { ToolbarButton, Placeholder, Spinner, Notice } from '@wordpress/components';
14
14
  import { __ } from '@wordpress/i18n';
15
15
  import { useMemo, useState, memo } from '@wordpress/element';
16
16
  import { useSelect } from '@wordpress/data';
@@ -33,8 +33,9 @@ export default function PageListEdit(_ref) {
33
33
  } = _ref;
34
34
  const {
35
35
  pagesByParentId,
36
- totalPages
37
- } = usePagesByParentId();
36
+ totalPages,
37
+ hasResolvedPages
38
+ } = usePageData();
38
39
  const isNavigationChild = ('showSubmenuIcon' in context);
39
40
  const allowConvertToLinks = isNavigationChild && totalPages <= MAX_PAGE_COUNT;
40
41
  const [isOpen, setOpen] = useState(false);
@@ -61,18 +62,33 @@ export default function PageListEdit(_ref) {
61
62
  }, __('Edit'))), allowConvertToLinks && isOpen && createElement(ConvertToLinksModal, {
62
63
  onClose: closeModal,
63
64
  clientId: clientId
64
- }), totalPages === undefined && createElement("div", blockProps, createElement(Placeholder, null, createElement(Spinner, null))), totalPages === 0 && createElement("div", blockProps, createElement("span", null, __('Page List: No pages to show.'))), totalPages > 0 && createElement("ul", blockProps, createElement(PageItems, {
65
+ }), !hasResolvedPages && createElement("div", blockProps, createElement(Placeholder, null, createElement(Spinner, null))), hasResolvedPages && totalPages === null && createElement("div", blockProps, createElement("div", blockProps, createElement(Notice, {
66
+ status: 'warning',
67
+ isDismissible: false
68
+ }, __('Page List: Cannot retrieve Pages.')))), totalPages === 0 && createElement("div", blockProps, createElement(Notice, {
69
+ status: 'info',
70
+ isDismissible: false
71
+ }, __('Page List: Cannot retrieve Pages.'))), totalPages > 0 && createElement("ul", blockProps, createElement(PageItems, {
65
72
  context: context,
66
73
  pagesByParentId: pagesByParentId
67
74
  })));
68
75
  }
69
76
 
70
- function usePagesByParentId() {
77
+ function useFrontPageId() {
78
+ return useSelect(select => {
79
+ const site = select(coreStore).getEntityRecord('root', 'site');
80
+ return (site === null || site === void 0 ? void 0 : site.show_on_front) === 'page' && (site === null || site === void 0 ? void 0 : site.page_on_front);
81
+ }, []);
82
+ }
83
+
84
+ function usePageData() {
71
85
  const {
72
- pages
86
+ pages,
87
+ hasResolvedPages
73
88
  } = useSelect(select => {
74
89
  const {
75
- getEntityRecords
90
+ getEntityRecords,
91
+ hasFinishedResolution
76
92
  } = select(coreStore);
77
93
  return {
78
94
  pages: getEntityRecords('postType', 'page', {
@@ -80,10 +96,18 @@ function usePagesByParentId() {
80
96
  order: 'asc',
81
97
  _fields: ['id', 'link', 'parent', 'title', 'menu_order'],
82
98
  per_page: -1
83
- })
99
+ }),
100
+ hasResolvedPages: hasFinishedResolution('getEntityRecords', ['postType', 'page', {
101
+ orderby: 'menu_order',
102
+ order: 'asc',
103
+ _fields: ['id', 'link', 'parent', 'title', 'menu_order'],
104
+ per_page: -1
105
+ }])
84
106
  };
85
107
  }, []);
86
108
  return useMemo(() => {
109
+ var _pages$length;
110
+
87
111
  // TODO: Once the REST API supports passing multiple values to
88
112
  // 'orderby', this can be removed.
89
113
  // https://core.trac.wordpress.org/ticket/39037
@@ -103,9 +127,10 @@ function usePagesByParentId() {
103
127
  }, new Map());
104
128
  return {
105
129
  pagesByParentId,
106
- totalPages: pages === null || pages === void 0 ? void 0 : pages.length
130
+ hasResolvedPages,
131
+ totalPages: (_pages$length = pages === null || pages === void 0 ? void 0 : pages.length) !== null && _pages$length !== void 0 ? _pages$length : null
107
132
  };
108
- }, [pages]);
133
+ }, [pages, hasResolvedPages]);
109
134
  }
110
135
 
111
136
  const PageItems = memo(function PageItems(_ref2) {
@@ -116,6 +141,7 @@ const PageItems = memo(function PageItems(_ref2) {
116
141
  depth = 0
117
142
  } = _ref2;
118
143
  const pages = pagesByParentId.get(parentId);
144
+ const frontPageId = useFrontPageId();
119
145
 
120
146
  if (!(pages !== null && pages !== void 0 && pages.length)) {
121
147
  return [];
@@ -132,7 +158,8 @@ const PageItems = memo(function PageItems(_ref2) {
132
158
  'has-child': hasChildren,
133
159
  'wp-block-navigation-item': isNavigationChild,
134
160
  'open-on-click': context.openSubmenusOnClick,
135
- 'open-on-hover-click': !context.openSubmenusOnClick && context.showSubmenuIcon
161
+ 'open-on-hover-click': !context.openSubmenusOnClick && context.showSubmenuIcon,
162
+ 'menu-item-home': page.id === frontPageId
136
163
  })
137
164
  }, hasChildren && context.openSubmenusOnClick ? createElement(ItemSubmenuToggle, {
138
165
  title: (_page$title = page.title) === null || _page$title === void 0 ? void 0 : _page$title.rendered
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["classnames","sortBy","BlockControls","useBlockProps","getColorClassName","ToolbarButton","Placeholder","Spinner","__","useMemo","useState","memo","useSelect","store","coreStore","ConvertToLinksModal","ItemSubmenuIcon","MAX_PAGE_COUNT","PageListEdit","context","clientId","pagesByParentId","totalPages","usePagesByParentId","isNavigationChild","allowConvertToLinks","isOpen","setOpen","openModal","closeModal","blockProps","className","textColor","backgroundColor","style","color","undefined","pages","select","getEntityRecords","orderby","order","_fields","per_page","sortedPages","reduce","accumulator","page","parent","has","get","push","set","Map","length","PageItems","parentId","depth","map","hasChildren","id","openSubmenusOnClick","showSubmenuIcon","title","rendered","link","ItemSubmenuToggle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { sortBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { ToolbarButton, Placeholder, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport ConvertToLinksModal from './convert-to-links-modal';\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\n\nexport default function PageListEdit( { context, clientId } ) {\n\tconst { pagesByParentId, totalPages } = usePagesByParentId();\n\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst allowConvertToLinks =\n\t\tisNavigationChild && totalPages <= MAX_PAGE_COUNT;\n\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = () => setOpen( true );\n\tconst closeModal = () => setOpen( false );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\tcontext.textColor\n\t\t\t) ]: !! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && isOpen && (\n\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ totalPages === undefined && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</Placeholder>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages === 0 && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<span>{ __( 'Page List: No pages to show.' ) }</span>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages > 0 && (\n\t\t\t\t<ul { ...blockProps }>\n\t\t\t\t\t<PageItems\n\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t/>\n\t\t\t\t</ul>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction usePagesByParentId() {\n\tconst { pages } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\treturn {\n\t\t\tpages: getEntityRecords( 'postType', 'page', {\n\t\t\t\torderby: 'menu_order',\n\t\t\t\torder: 'asc',\n\t\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\t\tper_page: -1,\n\t\t\t} ),\n\t\t};\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = sortBy( pages, [ 'menu_order', 'title.rendered' ] );\n\t\tconst pagesByParentId = sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\n\t\treturn {\n\t\t\tpagesByParentId,\n\t\t\ttotalPages: pages?.length,\n\t\t};\n\t}, [ pages ] );\n}\n\nconst PageItems = memo( function PageItems( {\n\tcontext,\n\tpagesByParentId,\n\tparentId = 0,\n\tdepth = 0,\n} ) {\n\tconst pages = pagesByParentId.get( parentId );\n\n\tif ( ! pages?.length ) {\n\t\treturn [];\n\t}\n\n\treturn pages.map( ( page ) => {\n\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tkey={ page.id }\n\t\t\t\tclassName={ classnames( 'wp-block-pages-list__item', {\n\t\t\t\t\t'has-child': hasChildren,\n\t\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t\t! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t\t<ItemSubmenuToggle title={ page.title?.rendered } />\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-pages-list__item__link',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\thref={ page.link }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ page.title?.rendered }\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ hasChildren && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\t\tcontext.showSubmenuIcon && <ItemSubmenuToggle /> }\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\tclassName={ classnames( 'submenu-container', {\n\t\t\t\t\t\t\t\t'wp-block-navigation__submenu-container': isNavigationChild,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PageItems\n\t\t\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t\t\t\tparentId={ page.id }\n\t\t\t\t\t\t\t\tdepth={ depth + 1 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t} );\n} );\n\nfunction ItemSubmenuToggle( { title } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\taria-expanded=\"false\"\n\t\t>\n\t\t\t{ title }\n\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t<ItemSubmenuIcon />\n\t\t\t</span>\n\t\t</button>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["classnames","sortBy","BlockControls","useBlockProps","getColorClassName","ToolbarButton","Placeholder","Spinner","Notice","__","useMemo","useState","memo","useSelect","store","coreStore","ConvertToLinksModal","ItemSubmenuIcon","MAX_PAGE_COUNT","PageListEdit","context","clientId","pagesByParentId","totalPages","hasResolvedPages","usePageData","isNavigationChild","allowConvertToLinks","isOpen","setOpen","openModal","closeModal","blockProps","className","textColor","backgroundColor","style","color","useFrontPageId","select","site","getEntityRecord","show_on_front","page_on_front","pages","getEntityRecords","hasFinishedResolution","orderby","order","_fields","per_page","sortedPages","reduce","accumulator","page","parent","has","get","push","set","Map","length","PageItems","parentId","depth","frontPageId","map","hasChildren","id","openSubmenusOnClick","showSubmenuIcon","title","rendered","link","ItemSubmenuToggle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { sortBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tPlaceholder,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport ConvertToLinksModal from './convert-to-links-modal';\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\n\nexport default function PageListEdit( { context, clientId } ) {\n\tconst { pagesByParentId, totalPages, hasResolvedPages } = usePageData();\n\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst allowConvertToLinks =\n\t\tisNavigationChild && totalPages <= MAX_PAGE_COUNT;\n\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = () => setOpen( true );\n\tconst closeModal = () => setOpen( false );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\tcontext.textColor\n\t\t\t) ]: !! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && isOpen && (\n\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! hasResolvedPages && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</Placeholder>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ hasResolvedPages && totalPages === null && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ totalPages === 0 && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Notice status={ 'info' } isDismissible={ false }>\n\t\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t\t</Notice>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages > 0 && (\n\t\t\t\t<ul { ...blockProps }>\n\t\t\t\t\t<PageItems\n\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t/>\n\t\t\t\t</ul>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useFrontPageId() {\n\treturn useSelect( ( select ) => {\n\t\tconst site = select( coreStore ).getEntityRecord( 'root', 'site' );\n\t\treturn site?.show_on_front === 'page' && site?.page_on_front;\n\t}, [] );\n}\n\nfunction usePageData() {\n\tconst { pages, hasResolvedPages } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, hasFinishedResolution } = select( coreStore );\n\n\t\treturn {\n\t\t\tpages: getEntityRecords( 'postType', 'page', {\n\t\t\t\torderby: 'menu_order',\n\t\t\t\torder: 'asc',\n\t\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\t\tper_page: -1,\n\t\t\t} ),\n\t\t\thasResolvedPages: hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t'postType',\n\t\t\t\t'page',\n\t\t\t\t{\n\t\t\t\t\torderby: 'menu_order',\n\t\t\t\t\torder: 'asc',\n\t\t\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\t\t\tper_page: -1,\n\t\t\t\t},\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = sortBy( pages, [ 'menu_order', 'title.rendered' ] );\n\t\tconst pagesByParentId = sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\n\t\treturn {\n\t\t\tpagesByParentId,\n\t\t\thasResolvedPages,\n\t\t\ttotalPages: pages?.length ?? null,\n\t\t};\n\t}, [ pages, hasResolvedPages ] );\n}\n\nconst PageItems = memo( function PageItems( {\n\tcontext,\n\tpagesByParentId,\n\tparentId = 0,\n\tdepth = 0,\n} ) {\n\tconst pages = pagesByParentId.get( parentId );\n\tconst frontPageId = useFrontPageId();\n\n\tif ( ! pages?.length ) {\n\t\treturn [];\n\t}\n\n\treturn pages.map( ( page ) => {\n\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tkey={ page.id }\n\t\t\t\tclassName={ classnames( 'wp-block-pages-list__item', {\n\t\t\t\t\t'has-child': hasChildren,\n\t\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t\t! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon,\n\t\t\t\t\t'menu-item-home': page.id === frontPageId,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t\t<ItemSubmenuToggle title={ page.title?.rendered } />\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-pages-list__item__link',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\thref={ page.link }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ page.title?.rendered }\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ hasChildren && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\t\tcontext.showSubmenuIcon && <ItemSubmenuToggle /> }\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\tclassName={ classnames( 'submenu-container', {\n\t\t\t\t\t\t\t\t'wp-block-navigation__submenu-container': isNavigationChild,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PageItems\n\t\t\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t\t\t\tparentId={ page.id }\n\t\t\t\t\t\t\t\tdepth={ depth + 1 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t} );\n} );\n\nfunction ItemSubmenuToggle( { title } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\taria-expanded=\"false\"\n\t\t>\n\t\t\t{ title }\n\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t<ItemSubmenuIcon />\n\t\t\t</span>\n\t\t</button>\n\t);\n}\n"]}
@@ -7,6 +7,7 @@ import { pages as icon } from '@wordpress/icons';
7
7
  */
8
8
 
9
9
  const metadata = {
10
+ $schema: "https://schemas.wp.org/trunk/block.json",
10
11
  apiVersion: 2,
11
12
  name: "core/page-list",
12
13
  title: "Page List",
@@ -14,7 +15,11 @@ const metadata = {
14
15
  description: "Display a list of all pages.",
15
16
  keywords: ["menu", "navigation"],
16
17
  textdomain: "default",
17
- attributes: {},
18
+ attributes: {
19
+ __unstableMaxPages: {
20
+ type: "number"
21
+ }
22
+ },
18
23
  usesContext: ["textColor", "customTextColor", "backgroundColor", "customBackgroundColor", "overlayTextColor", "customOverlayTextColor", "overlayBackgroundColor", "customOverlayBackgroundColor", "fontSize", "customFontSize", "showSubmenuIcon", "style", "openSubmenusOnClick"],
19
24
  supports: {
20
25
  reusable: false,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/page-list/index.js"],"names":["pages","icon","edit","name","metadata","settings","example"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBJ,EAAAA,IADuB;AAEvBK,EAAAA,OAAO,EAAE,EAFc;AAGvBJ,EAAAA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { pages as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit.js';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/page-list/index.js"],"names":["pages","icon","edit","name","metadata","settings","example"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBJ,EAAAA,IADuB;AAEvBK,EAAAA,OAAO,EAAE,EAFc;AAGvBJ,EAAAA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { pages as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit.js';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n"]}
@@ -10,7 +10,7 @@ import classnames from 'classnames';
10
10
  */
11
11
 
12
12
  import { __, _x, isRTL } from '@wordpress/i18n';
13
- import { ToolbarDropdownMenu, PanelBody, ToggleControl } from '@wordpress/components';
13
+ import { ToolbarDropdownMenu, ToggleControl, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
14
14
  import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, useSetting } from '@wordpress/block-editor';
15
15
  import { createBlock } from '@wordpress/blocks';
16
16
  import { formatLtr } from '@wordpress/icons';
@@ -73,8 +73,18 @@ function ParagraphBlock(_ref2) {
73
73
  setDirection: newDirection => setAttributes({
74
74
  direction: newDirection
75
75
  })
76
- })), isDropCapFeatureEnabled && createElement(InspectorControls, null, createElement(PanelBody, {
77
- title: __('Text settings')
76
+ })), isDropCapFeatureEnabled && createElement(InspectorControls, {
77
+ __experimentalGroup: "typography"
78
+ }, createElement(ToolsPanelItem, {
79
+ hasValue: () => !!dropCap,
80
+ label: __('Drop cap'),
81
+ onDeselect: () => setAttributes({
82
+ dropCap: undefined
83
+ }),
84
+ resetAllFilter: () => ({
85
+ dropCap: undefined
86
+ }),
87
+ panelId: clientId
78
88
  }, createElement(ToggleControl, {
79
89
  label: __('Drop cap'),
80
90
  checked: !!dropCap,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/paragraph/edit.js"],"names":["classnames","__","_x","isRTL","ToolbarDropdownMenu","PanelBody","ToggleControl","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","useSetting","createBlock","formatLtr","name","ParagraphRTLControl","direction","setDirection","icon","title","isActive","onClick","undefined","ParagraphBlock","attributes","mergeBlocks","onReplace","onRemove","setAttributes","clientId","align","content","dropCap","placeholder","isDropCapFeatureEnabled","blockProps","className","style","newAlign","newDirection","newContent","value","isOriginal","newAttributes","block"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tToolbarDropdownMenu,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport { formatLtr } from '@wordpress/icons';\n\nconst name = 'core/paragraph';\n\nfunction ParagraphRTLControl( { direction, setDirection } ) {\n\treturn (\n\t\tisRTL() && (\n\t\t\t<ToolbarDropdownMenu\n\t\t\t\tcontrols={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: formatLtr,\n\t\t\t\t\t\ttitle: _x( 'Left to right', 'editor button' ),\n\t\t\t\t\t\tisActive: direction === 'ltr',\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\tsetDirection(\n\t\t\t\t\t\t\t\tdirection === 'ltr' ? undefined : 'ltr'\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);\n}\n\nfunction ParagraphBlock( {\n\tattributes,\n\tmergeBlocks,\n\tonReplace,\n\tonRemove,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { align, content, direction, dropCap, placeholder } = attributes;\n\tconst isDropCapFeatureEnabled = useSetting( 'typography.dropCap' );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'has-drop-cap': dropCap,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} ),\n\t\tstyle: { direction },\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ align }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { align: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ParagraphRTLControl\n\t\t\t\t\tdirection={ direction }\n\t\t\t\t\tsetDirection={ ( newDirection ) =>\n\t\t\t\t\t\tsetAttributes( { direction: newDirection } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ isDropCapFeatureEnabled && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Text settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\t\t\t\tchecked={ !! dropCap }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { dropCap: ! dropCap } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tdropCap\n\t\t\t\t\t\t\t\t\t? __( 'Showing large initial letter.' )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'Toggle to show a large initial letter.'\n\t\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</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"p\"\n\t\t\t\t{ ...blockProps }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newContent ) =>\n\t\t\t\t\tsetAttributes( { content: newContent } )\n\t\t\t\t}\n\t\t\t\tonSplit={ ( value, isOriginal ) => {\n\t\t\t\t\tlet newAttributes;\n\n\t\t\t\t\tif ( isOriginal || value ) {\n\t\t\t\t\t\tnewAttributes = {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tconst block = createBlock( name, newAttributes );\n\n\t\t\t\t\tif ( isOriginal ) {\n\t\t\t\t\t\tblock.clientId = clientId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn block;\n\t\t\t\t} }\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ onRemove }\n\t\t\t\taria-label={\n\t\t\t\t\tcontent\n\t\t\t\t\t\t? __( 'Paragraph block' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'Empty block; start writing or type forward slash to choose a block'\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tdata-empty={ content ? false : true }\n\t\t\t\tplaceholder={ placeholder || __( 'Type / to choose a block' ) }\n\t\t\t\t__unstableEmbedURLOnPaste\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default ParagraphBlock;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/paragraph/edit.js"],"names":["classnames","__","_x","isRTL","ToolbarDropdownMenu","ToggleControl","__experimentalToolsPanelItem","ToolsPanelItem","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","useSetting","createBlock","formatLtr","name","ParagraphRTLControl","direction","setDirection","icon","title","isActive","onClick","undefined","ParagraphBlock","attributes","mergeBlocks","onReplace","onRemove","setAttributes","clientId","align","content","dropCap","placeholder","isDropCapFeatureEnabled","blockProps","className","style","newAlign","newDirection","newContent","value","isOriginal","newAttributes","block"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tToolbarDropdownMenu,\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport { formatLtr } from '@wordpress/icons';\n\nconst name = 'core/paragraph';\n\nfunction ParagraphRTLControl( { direction, setDirection } ) {\n\treturn (\n\t\tisRTL() && (\n\t\t\t<ToolbarDropdownMenu\n\t\t\t\tcontrols={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: formatLtr,\n\t\t\t\t\t\ttitle: _x( 'Left to right', 'editor button' ),\n\t\t\t\t\t\tisActive: direction === 'ltr',\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\tsetDirection(\n\t\t\t\t\t\t\t\tdirection === 'ltr' ? undefined : 'ltr'\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);\n}\n\nfunction ParagraphBlock( {\n\tattributes,\n\tmergeBlocks,\n\tonReplace,\n\tonRemove,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { align, content, direction, dropCap, placeholder } = attributes;\n\tconst isDropCapFeatureEnabled = useSetting( 'typography.dropCap' );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'has-drop-cap': dropCap,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} ),\n\t\tstyle: { direction },\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ align }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { align: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ParagraphRTLControl\n\t\t\t\t\tdirection={ direction }\n\t\t\t\t\tsetDirection={ ( newDirection ) =>\n\t\t\t\t\t\tsetAttributes( { direction: newDirection } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ isDropCapFeatureEnabled && (\n\t\t\t\t<InspectorControls __experimentalGroup=\"typography\">\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! dropCap }\n\t\t\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { dropCap: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresetAllFilter={ () => ( { dropCap: undefined } ) }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\t\t\t\tchecked={ !! dropCap }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { dropCap: ! dropCap } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tdropCap\n\t\t\t\t\t\t\t\t\t? __( 'Showing large initial letter.' )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'Toggle to show a large initial letter.'\n\t\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</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"p\"\n\t\t\t\t{ ...blockProps }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newContent ) =>\n\t\t\t\t\tsetAttributes( { content: newContent } )\n\t\t\t\t}\n\t\t\t\tonSplit={ ( value, isOriginal ) => {\n\t\t\t\t\tlet newAttributes;\n\n\t\t\t\t\tif ( isOriginal || value ) {\n\t\t\t\t\t\tnewAttributes = {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tconst block = createBlock( name, newAttributes );\n\n\t\t\t\t\tif ( isOriginal ) {\n\t\t\t\t\t\tblock.clientId = clientId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn block;\n\t\t\t\t} }\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ onRemove }\n\t\t\t\taria-label={\n\t\t\t\t\tcontent\n\t\t\t\t\t\t? __( 'Paragraph block' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'Empty block; start writing or type forward slash to choose a block'\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tdata-empty={ content ? false : true }\n\t\t\t\tplaceholder={ placeholder || __( 'Type / to choose a block' ) }\n\t\t\t\t__unstableEmbedURLOnPaste\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default ParagraphBlock;\n"]}
@@ -15,11 +15,12 @@ import { paragraph as icon } from '@wordpress/icons';
15
15
  import deprecated from './deprecated';
16
16
  import edit from './edit';
17
17
  const metadata = {
18
+ $schema: "https://schemas.wp.org/trunk/block.json",
18
19
  apiVersion: 2,
19
20
  name: "core/paragraph",
20
21
  title: "Paragraph",
21
22
  category: "text",
22
- description: "Start with the building block of all narrative.",
23
+ description: "Start with the basic building block of all narrative.",
23
24
  keywords: ["text"],
24
25
  textdomain: "default",
25
26
  attributes: {
@@ -49,7 +50,11 @@ const metadata = {
49
50
  anchor: true,
50
51
  className: false,
51
52
  color: {
52
- link: true
53
+ link: true,
54
+ __experimentalDefaultControls: {
55
+ background: true,
56
+ text: true
57
+ }
53
58
  },
54
59
  typography: {
55
60
  fontSize: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/paragraph/index.js"],"names":["isEmpty","__","paragraph","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","content","style","typography","fontSize","dropCap","__experimentalLabel","context","merge","attributesToMerge"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAS,IAAIC,IAAtB,QAAkC,kBAAlC;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,OAAO,EAAEZ,EAAE,CACV,kOADU,CADA;AAIXa,MAAAA,KAAK,EAAE;AACNC,QAAAA,UAAU,EAAE;AACXC,UAAAA,QAAQ,EAAE;AADC;AADN,OAJI;AASXC,MAAAA,OAAO,EAAE;AATE;AADJ,GAFc;;AAevBC,EAAAA,mBAAmB,CAAEN,UAAF,QAA4B;AAAA,QAAd;AAAEO,MAAAA;AAAF,KAAc;;AAC9C,QAAKA,OAAO,KAAK,eAAjB,EAAmC;AAClC,YAAM;AAAEN,QAAAA;AAAF,UAAcD,UAApB;AACA,aAAOZ,OAAO,CAAEa,OAAF,CAAP,GAAqBZ,EAAE,CAAE,OAAF,CAAvB,GAAqCY,OAA5C;AACA;AACD,GApBsB;;AAqBvBN,EAAAA,UArBuB;AAsBvBH,EAAAA,UAtBuB;;AAuBvBgB,EAAAA,KAAK,CAAER,UAAF,EAAcS,iBAAd,EAAkC;AACtC,WAAO;AACNR,MAAAA,OAAO,EACN,CAAED,UAAU,CAACC,OAAX,IAAsB,EAAxB,KACEQ,iBAAiB,CAACR,OAAlB,IAA6B,EAD/B;AAFK,KAAP;AAKA,GA7BsB;;AA8BvBR,EAAAA,IA9BuB;AA+BvBC,EAAAA;AA/BuB,CAAjB","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { paragraph 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\tcontent: __(\n\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t),\n\t\t\tstyle: {\n\t\t\t\ttypography: {\n\t\t\t\t\tfontSize: 28,\n\t\t\t\t},\n\t\t\t},\n\t\t\tdropCap: true,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { content } = attributes;\n\t\t\treturn isEmpty( content ) ? __( 'Empty' ) : content;\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/paragraph/index.js"],"names":["isEmpty","__","paragraph","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","content","style","typography","fontSize","dropCap","__experimentalLabel","context","merge","attributesToMerge"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAS,IAAIC,IAAtB,QAAkC,kBAAlC;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,OAAO,EAAEZ,EAAE,CACV,kOADU,CADA;AAIXa,MAAAA,KAAK,EAAE;AACNC,QAAAA,UAAU,EAAE;AACXC,UAAAA,QAAQ,EAAE;AADC;AADN,OAJI;AASXC,MAAAA,OAAO,EAAE;AATE;AADJ,GAFc;;AAevBC,EAAAA,mBAAmB,CAAEN,UAAF,QAA4B;AAAA,QAAd;AAAEO,MAAAA;AAAF,KAAc;;AAC9C,QAAKA,OAAO,KAAK,eAAjB,EAAmC;AAClC,YAAM;AAAEN,QAAAA;AAAF,UAAcD,UAApB;AACA,aAAOZ,OAAO,CAAEa,OAAF,CAAP,GAAqBZ,EAAE,CAAE,OAAF,CAAvB,GAAqCY,OAA5C;AACA;AACD,GApBsB;;AAqBvBN,EAAAA,UArBuB;AAsBvBH,EAAAA,UAtBuB;;AAuBvBgB,EAAAA,KAAK,CAAER,UAAF,EAAcS,iBAAd,EAAkC;AACtC,WAAO;AACNR,MAAAA,OAAO,EACN,CAAED,UAAU,CAACC,OAAX,IAAsB,EAAxB,KACEQ,iBAAiB,CAACR,OAAlB,IAA6B,EAD/B;AAFK,KAAP;AAKA,GA7BsB;;AA8BvBR,EAAAA,IA9BuB;AA+BvBC,EAAAA;AA/BuB,CAAjB","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { paragraph 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\tcontent: __(\n\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t),\n\t\t\tstyle: {\n\t\t\t\ttypography: {\n\t\t\t\t\tfontSize: 28,\n\t\t\t\t},\n\t\t\t},\n\t\t\tdropCap: true,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { content } = attributes;\n\t\t\treturn isEmpty( content ) ? __( 'Empty' ) : content;\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n"]}
@@ -9,11 +9,12 @@ import { createBlock, getBlockAttributes } from '@wordpress/blocks';
9
9
  const {
10
10
  name: name
11
11
  } = {
12
+ $schema: "https://schemas.wp.org/trunk/block.json",
12
13
  apiVersion: 2,
13
14
  name: "core/paragraph",
14
15
  title: "Paragraph",
15
16
  category: "text",
16
- description: "Start with the building block of all narrative.",
17
+ description: "Start with the basic building block of all narrative.",
17
18
  keywords: ["text"],
18
19
  textdomain: "default",
19
20
  attributes: {
@@ -43,7 +44,11 @@ const {
43
44
  anchor: true,
44
45
  className: false,
45
46
  color: {
46
- link: true
47
+ link: true,
48
+ __experimentalDefaultControls: {
49
+ background: true,
50
+ text: true
51
+ }
47
52
  },
48
53
  typography: {
49
54
  fontSize: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/paragraph/transforms.js"],"names":["createBlock","getBlockAttributes","transforms","from","type","priority","selector","schema","phrasingContentSchema","isPaste","p","children","attributes","transform","node","name","outerHTML","textAlign","style","align"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,kBAAtB,QAAgD,mBAAhD;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,KADP;AAEC;AACAC,IAAAA,QAAQ,EAAE,EAHX;AAICC,IAAAA,QAAQ,EAAE,GAJX;AAKCC,IAAAA,MAAM,EAAE;AAAA,UAAE;AAAEC,QAAAA,qBAAF;AAAyBC,QAAAA;AAAzB,OAAF;AAAA,aAA4C;AACnDC,QAAAA,CAAC,EAAE;AACFC,UAAAA,QAAQ,EAAEH,qBADR;AAEFI,UAAAA,UAAU,EAAEH,OAAO,GAAG,EAAH,GAAQ,CAAE,OAAF,EAAW,IAAX;AAFzB;AADgD,OAA5C;AAAA,KALT;;AAWCI,IAAAA,SAAS,CAAEC,IAAF,EAAS;AACjB,YAAMF,UAAU,GAAGX,kBAAkB,CAAEc,IAAF,EAAQD,IAAI,CAACE,SAAb,CAArC;AACA,YAAM;AAAEC,QAAAA;AAAF,UAAgBH,IAAI,CAACI,KAAL,IAAc,EAApC;;AAEA,UACCD,SAAS,KAAK,MAAd,IACAA,SAAS,KAAK,QADd,IAEAA,SAAS,KAAK,OAHf,EAIE;AACDL,QAAAA,UAAU,CAACO,KAAX,GAAmBF,SAAnB;AACA;;AAED,aAAOjB,WAAW,CAAEe,IAAF,EAAQH,UAAR,CAAlB;AACA;;AAxBF,GADK;AADY,CAAnB;AA+BA,eAAeV,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name } from './block.json';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\t// Paragraph is a fallback and should be matched last.\n\t\t\tpriority: 20,\n\t\t\tselector: 'p',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => ( {\n\t\t\t\tp: {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t},\n\t\t\t} ),\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes( name, node.outerHTML );\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.align = textAlign;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( name, attributes );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/paragraph/transforms.js"],"names":["createBlock","getBlockAttributes","transforms","from","type","priority","selector","schema","phrasingContentSchema","isPaste","p","children","attributes","transform","node","name","outerHTML","textAlign","style","align"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,kBAAtB,QAAgD,mBAAhD;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,KADP;AAEC;AACAC,IAAAA,QAAQ,EAAE,EAHX;AAICC,IAAAA,QAAQ,EAAE,GAJX;AAKCC,IAAAA,MAAM,EAAE;AAAA,UAAE;AAAEC,QAAAA,qBAAF;AAAyBC,QAAAA;AAAzB,OAAF;AAAA,aAA4C;AACnDC,QAAAA,CAAC,EAAE;AACFC,UAAAA,QAAQ,EAAEH,qBADR;AAEFI,UAAAA,UAAU,EAAEH,OAAO,GAAG,EAAH,GAAQ,CAAE,OAAF,EAAW,IAAX;AAFzB;AADgD,OAA5C;AAAA,KALT;;AAWCI,IAAAA,SAAS,CAAEC,IAAF,EAAS;AACjB,YAAMF,UAAU,GAAGX,kBAAkB,CAAEc,IAAF,EAAQD,IAAI,CAACE,SAAb,CAArC;AACA,YAAM;AAAEC,QAAAA;AAAF,UAAgBH,IAAI,CAACI,KAAL,IAAc,EAApC;;AAEA,UACCD,SAAS,KAAK,MAAd,IACAA,SAAS,KAAK,QADd,IAEAA,SAAS,KAAK,OAHf,EAIE;AACDL,QAAAA,UAAU,CAACO,KAAX,GAAmBF,SAAnB;AACA;;AAED,aAAOjB,WAAW,CAAEe,IAAF,EAAQH,UAAR,CAAlB;AACA;;AAxBF,GADK;AADY,CAAnB;AA+BA,eAAeV,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name } from './block.json';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\t// Paragraph is a fallback and should be matched last.\n\t\t\tpriority: 20,\n\t\t\tselector: 'p',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => ( {\n\t\t\t\tp: {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t},\n\t\t\t} ),\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes( name, node.outerHTML );\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.align = textAlign;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( name, attributes );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}