@wordpress/block-library 7.3.5 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/edit.js +1 -1
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/audio/edit.js +4 -16
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/audio/edit.native.js +1 -1
  7. package/build/audio/edit.native.js.map +1 -1
  8. package/build/button/edit.native.js +7 -3
  9. package/build/button/edit.native.js.map +1 -1
  10. package/build/categories/edit.js +8 -3
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/categories/index.js +4 -0
  13. package/build/categories/index.js.map +1 -1
  14. package/build/column/index.js +10 -0
  15. package/build/column/index.js.map +1 -1
  16. package/build/comment-template/edit.js +1 -3
  17. package/build/comment-template/edit.js.map +1 -1
  18. package/build/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
  19. package/{build-module/comments-query-loop → build/comments}/edit/comments-inspector-controls.js.map +1 -1
  20. package/build/{comments-query-loop → comments}/edit.js +2 -2
  21. package/build/comments/edit.js.map +1 -0
  22. package/build/{comments-query-loop → comments}/index.js +1 -1
  23. package/build/comments/index.js.map +1 -0
  24. package/build/{comments-query-loop → comments}/save.js +2 -2
  25. package/build/comments/save.js.map +1 -0
  26. package/build/cover/edit.js +4 -71
  27. package/build/cover/edit.js.map +1 -1
  28. package/build/cover/edit.native.js +36 -15
  29. package/build/cover/edit.native.js.map +1 -1
  30. package/build/cover/transforms.js +77 -6
  31. package/build/cover/transforms.js.map +1 -1
  32. package/build/cover/use-cover-is-dark.js +81 -0
  33. package/build/cover/use-cover-is-dark.js.map +1 -0
  34. package/build/cover/use-cover-is-dark.native.js +60 -0
  35. package/build/cover/use-cover-is-dark.native.js.map +1 -0
  36. package/build/embed/edit.js +12 -18
  37. package/build/embed/edit.js.map +1 -1
  38. package/build/embed/edit.native.js +1 -7
  39. package/build/embed/edit.native.js.map +1 -1
  40. package/build/embed/util.js +29 -4
  41. package/build/embed/util.js.map +1 -1
  42. package/build/file/inspector.js +2 -4
  43. package/build/file/inspector.js.map +1 -1
  44. package/build/gallery/edit.js +1 -1
  45. package/build/gallery/edit.js.map +1 -1
  46. package/build/gallery/v1/edit.js +1 -1
  47. package/build/gallery/v1/edit.js.map +1 -1
  48. package/build/group/index.js +1 -0
  49. package/build/group/index.js.map +1 -1
  50. package/build/heading/transforms.js +8 -4
  51. package/build/heading/transforms.js.map +1 -1
  52. package/build/html/edit.js +2 -2
  53. package/build/html/edit.js.map +1 -1
  54. package/build/image/edit.js +4 -6
  55. package/build/image/edit.js.map +1 -1
  56. package/build/image/edit.native.js +1 -1
  57. package/build/image/edit.native.js.map +1 -1
  58. package/build/image/image.js +1 -1
  59. package/build/image/image.js.map +1 -1
  60. package/build/index.js +4 -6
  61. package/build/index.js.map +1 -1
  62. package/build/index.native.js +14 -3
  63. package/build/index.native.js.map +1 -1
  64. package/build/latest-comments/edit.js +1 -1
  65. package/build/latest-comments/edit.js.map +1 -1
  66. package/build/latest-posts/edit.native.js +49 -0
  67. package/build/latest-posts/edit.native.js.map +1 -1
  68. package/build/loginout/edit.js +1 -1
  69. package/build/loginout/edit.js.map +1 -1
  70. package/build/media-text/edit.js +1 -2
  71. package/build/media-text/edit.js.map +1 -1
  72. package/build/media-text/edit.native.js +1 -1
  73. package/build/media-text/edit.native.js.map +1 -1
  74. package/build/navigation/edit/index.js +5 -28
  75. package/build/navigation/edit/index.js.map +1 -1
  76. package/build/navigation/edit/unsaved-inner-blocks.js +5 -4
  77. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  78. package/build/navigation/index.js +1 -2
  79. package/build/navigation/index.js.map +1 -1
  80. package/build/navigation/view-modal.js +62 -0
  81. package/build/navigation/view-modal.js.map +1 -0
  82. package/build/navigation/view.js +1 -34
  83. package/build/navigation/view.js.map +1 -1
  84. package/build/navigation-link/edit.js +1 -1
  85. package/build/navigation-link/edit.js.map +1 -1
  86. package/build/paragraph/edit.js +10 -0
  87. package/build/paragraph/edit.js.map +1 -1
  88. package/build/paragraph/edit.native.js +6 -2
  89. package/build/paragraph/edit.native.js.map +1 -1
  90. package/build/paragraph/use-enter.js +94 -0
  91. package/build/paragraph/use-enter.js.map +1 -0
  92. package/build/post-author/edit.js +1 -1
  93. package/build/post-author/edit.js.map +1 -1
  94. package/build/post-comment/index.js +1 -1
  95. package/build/post-comments/edit.js +13 -34
  96. package/build/post-comments/edit.js.map +1 -1
  97. package/build/post-comments/index.js +1 -1
  98. package/build/post-comments-form/edit.js +37 -24
  99. package/build/post-comments-form/edit.js.map +1 -1
  100. package/build/post-comments-form/form.js +48 -0
  101. package/build/post-comments-form/form.js.map +1 -0
  102. package/build/post-excerpt/edit.js +1 -1
  103. package/build/post-excerpt/edit.js.map +1 -1
  104. package/build/post-terms/edit.js +25 -3
  105. package/build/post-terms/edit.js.map +1 -1
  106. package/build/post-terms/index.js +8 -0
  107. package/build/post-terms/index.js.map +1 -1
  108. package/build/quote/index.js +7 -0
  109. package/build/quote/index.js.map +1 -1
  110. package/build/quote/v2/edit.js +11 -3
  111. package/build/quote/v2/edit.js.map +1 -1
  112. package/build/rss/edit.js +1 -1
  113. package/build/rss/edit.js.map +1 -1
  114. package/build/search/edit.js +11 -9
  115. package/build/search/edit.js.map +1 -1
  116. package/build/separator/index.js +3 -0
  117. package/build/separator/index.js.map +1 -1
  118. package/build/spacer/constants.js +9 -0
  119. package/build/spacer/constants.js.map +1 -0
  120. package/build/spacer/controls.js +3 -3
  121. package/build/spacer/controls.js.map +1 -1
  122. package/build/spacer/controls.native.js +2 -2
  123. package/build/spacer/controls.native.js.map +1 -1
  124. package/build/spacer/edit.js +5 -6
  125. package/build/spacer/edit.js.map +1 -1
  126. package/build/table/edit.js +8 -2
  127. package/build/table/edit.js.map +1 -1
  128. package/build/tag-cloud/edit.js +1 -1
  129. package/build/tag-cloud/edit.js.map +1 -1
  130. package/build/video/edit.js +4 -8
  131. package/build/video/edit.js.map +1 -1
  132. package/build/video/edit.native.js +1 -1
  133. package/build/video/edit.native.js.map +1 -1
  134. package/build-module/archives/edit.js +1 -1
  135. package/build-module/archives/edit.js.map +1 -1
  136. package/build-module/audio/edit.js +4 -16
  137. package/build-module/audio/edit.js.map +1 -1
  138. package/build-module/audio/edit.native.js +1 -1
  139. package/build-module/audio/edit.native.js.map +1 -1
  140. package/build-module/button/edit.native.js +7 -3
  141. package/build-module/button/edit.native.js.map +1 -1
  142. package/build-module/categories/edit.js +8 -3
  143. package/build-module/categories/edit.js.map +1 -1
  144. package/build-module/categories/index.js +4 -0
  145. package/build-module/categories/index.js.map +1 -1
  146. package/build-module/column/index.js +10 -0
  147. package/build-module/column/index.js.map +1 -1
  148. package/build-module/comment-template/edit.js +1 -3
  149. package/build-module/comment-template/edit.js.map +1 -1
  150. package/build-module/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
  151. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -0
  152. package/build-module/{comments-query-loop → comments}/edit.js +1 -1
  153. package/build-module/comments/edit.js.map +1 -0
  154. package/build-module/{comments-query-loop → comments}/index.js +1 -1
  155. package/build-module/comments/index.js.map +1 -0
  156. package/build-module/{comments-query-loop → comments}/save.js +1 -1
  157. package/build-module/comments/save.js.map +1 -0
  158. package/build-module/cover/edit.js +4 -71
  159. package/build-module/cover/edit.js.map +1 -1
  160. package/build-module/cover/edit.native.js +35 -16
  161. package/build-module/cover/edit.native.js.map +1 -1
  162. package/build-module/cover/transforms.js +74 -6
  163. package/build-module/cover/transforms.js.map +1 -1
  164. package/build-module/cover/use-cover-is-dark.js +70 -0
  165. package/build-module/cover/use-cover-is-dark.js.map +1 -0
  166. package/build-module/cover/use-cover-is-dark.native.js +51 -0
  167. package/build-module/cover/use-cover-is-dark.native.js.map +1 -0
  168. package/build-module/embed/edit.js +13 -19
  169. package/build-module/embed/edit.js.map +1 -1
  170. package/build-module/embed/edit.native.js +2 -8
  171. package/build-module/embed/edit.native.js.map +1 -1
  172. package/build-module/embed/util.js +25 -3
  173. package/build-module/embed/util.js.map +1 -1
  174. package/build-module/file/inspector.js +2 -4
  175. package/build-module/file/inspector.js.map +1 -1
  176. package/build-module/gallery/edit.js +1 -1
  177. package/build-module/gallery/edit.js.map +1 -1
  178. package/build-module/gallery/v1/edit.js +1 -1
  179. package/build-module/gallery/v1/edit.js.map +1 -1
  180. package/build-module/group/index.js +1 -0
  181. package/build-module/group/index.js.map +1 -1
  182. package/build-module/heading/transforms.js +8 -4
  183. package/build-module/heading/transforms.js.map +1 -1
  184. package/build-module/html/edit.js +2 -2
  185. package/build-module/html/edit.js.map +1 -1
  186. package/build-module/image/edit.js +4 -6
  187. package/build-module/image/edit.js.map +1 -1
  188. package/build-module/image/edit.native.js +1 -1
  189. package/build-module/image/edit.native.js.map +1 -1
  190. package/build-module/image/image.js +1 -1
  191. package/build-module/image/image.js.map +1 -1
  192. package/build-module/index.js +3 -4
  193. package/build-module/index.js.map +1 -1
  194. package/build-module/index.native.js +14 -3
  195. package/build-module/index.native.js.map +1 -1
  196. package/build-module/latest-comments/edit.js +1 -1
  197. package/build-module/latest-comments/edit.js.map +1 -1
  198. package/build-module/latest-posts/edit.native.js +51 -2
  199. package/build-module/latest-posts/edit.native.js.map +1 -1
  200. package/build-module/loginout/edit.js +1 -1
  201. package/build-module/loginout/edit.js.map +1 -1
  202. package/build-module/media-text/edit.js +1 -2
  203. package/build-module/media-text/edit.js.map +1 -1
  204. package/build-module/media-text/edit.native.js +1 -1
  205. package/build-module/media-text/edit.native.js.map +1 -1
  206. package/build-module/navigation/edit/index.js +6 -28
  207. package/build-module/navigation/edit/index.js.map +1 -1
  208. package/build-module/navigation/edit/unsaved-inner-blocks.js +5 -4
  209. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  210. package/build-module/navigation/index.js +1 -2
  211. package/build-module/navigation/index.js.map +1 -1
  212. package/build-module/navigation/view-modal.js +56 -0
  213. package/build-module/navigation/view-modal.js.map +1 -0
  214. package/build-module/navigation/view.js +1 -30
  215. package/build-module/navigation/view.js.map +1 -1
  216. package/build-module/navigation-link/edit.js +1 -1
  217. package/build-module/navigation-link/edit.js.map +1 -1
  218. package/build-module/paragraph/edit.js +9 -0
  219. package/build-module/paragraph/edit.js.map +1 -1
  220. package/build-module/paragraph/edit.native.js +6 -2
  221. package/build-module/paragraph/edit.native.js.map +1 -1
  222. package/build-module/paragraph/use-enter.js +81 -0
  223. package/build-module/paragraph/use-enter.js.map +1 -0
  224. package/build-module/post-author/edit.js +1 -1
  225. package/build-module/post-author/edit.js.map +1 -1
  226. package/build-module/post-comment/index.js +1 -1
  227. package/build-module/post-comments/edit.js +13 -35
  228. package/build-module/post-comments/edit.js.map +1 -1
  229. package/build-module/post-comments/index.js +1 -1
  230. package/build-module/post-comments-form/edit.js +38 -26
  231. package/build-module/post-comments-form/edit.js.map +1 -1
  232. package/build-module/post-comments-form/form.js +39 -0
  233. package/build-module/post-comments-form/form.js.map +1 -0
  234. package/build-module/post-excerpt/edit.js +1 -1
  235. package/build-module/post-excerpt/edit.js.map +1 -1
  236. package/build-module/post-terms/edit.js +26 -4
  237. package/build-module/post-terms/edit.js.map +1 -1
  238. package/build-module/post-terms/index.js +8 -0
  239. package/build-module/post-terms/index.js.map +1 -1
  240. package/build-module/quote/index.js +2 -1
  241. package/build-module/quote/index.js.map +1 -1
  242. package/build-module/quote/v2/edit.js +10 -3
  243. package/build-module/quote/v2/edit.js.map +1 -1
  244. package/build-module/rss/edit.js +1 -1
  245. package/build-module/rss/edit.js.map +1 -1
  246. package/build-module/search/edit.js +11 -9
  247. package/build-module/search/edit.js.map +1 -1
  248. package/build-module/separator/index.js +3 -0
  249. package/build-module/separator/index.js.map +1 -1
  250. package/build-module/spacer/constants.js +2 -0
  251. package/build-module/spacer/constants.js.map +1 -0
  252. package/build-module/spacer/controls.js +2 -2
  253. package/build-module/spacer/controls.js.map +1 -1
  254. package/build-module/spacer/controls.native.js +1 -1
  255. package/build-module/spacer/controls.native.js.map +1 -1
  256. package/build-module/spacer/edit.js +1 -1
  257. package/build-module/spacer/edit.js.map +1 -1
  258. package/build-module/table/edit.js +9 -3
  259. package/build-module/table/edit.js.map +1 -1
  260. package/build-module/tag-cloud/edit.js +1 -1
  261. package/build-module/tag-cloud/edit.js.map +1 -1
  262. package/build-module/video/edit.js +4 -8
  263. package/build-module/video/edit.js.map +1 -1
  264. package/build-module/video/edit.native.js +1 -1
  265. package/build-module/video/edit.native.js.map +1 -1
  266. package/build-style/{comments-query-loop → comments}/editor-rtl.css +0 -0
  267. package/build-style/{comments-query-loop → comments}/editor.css +0 -0
  268. package/build-style/common-rtl.css +32 -0
  269. package/build-style/common.css +32 -0
  270. package/build-style/cover/style-rtl.css +0 -4
  271. package/build-style/cover/style.css +0 -4
  272. package/build-style/editor-rtl.css +12 -4
  273. package/build-style/editor.css +12 -4
  274. package/build-style/navigation/style-rtl.css +3 -0
  275. package/build-style/navigation/style.css +3 -0
  276. package/build-style/style-rtl.css +73 -4
  277. package/build-style/style.css +73 -4
  278. package/build-style/table/editor-rtl.css +8 -0
  279. package/build-style/table/editor.css +8 -0
  280. package/build-style/table/style-rtl.css +38 -0
  281. package/build-style/table/style.css +38 -0
  282. package/package.json +28 -28
  283. package/src/archives/edit.js +1 -1
  284. package/src/audio/edit.js +3 -8
  285. package/src/audio/edit.native.js +1 -1
  286. package/src/button/edit.native.js +6 -3
  287. package/src/categories/block.json +4 -0
  288. package/src/categories/edit.js +8 -2
  289. package/src/categories/index.php +1 -0
  290. package/src/column/block.json +10 -0
  291. package/src/comment-template/edit.js +1 -5
  292. package/src/comment-template/index.php +4 -0
  293. package/src/{comments-query-loop → comments}/block.json +1 -1
  294. package/src/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
  295. package/src/{comments-query-loop → comments}/edit.js +1 -1
  296. package/src/{comments-query-loop → comments}/editor.scss +0 -0
  297. package/src/{comments-query-loop → comments}/index.js +0 -0
  298. package/src/{comments-query-loop → comments}/save.js +1 -3
  299. package/src/comments-pagination/index.php +4 -0
  300. package/src/comments-title/index.php +4 -0
  301. package/src/common.scss +24 -1
  302. package/src/cover/edit.js +2 -67
  303. package/src/cover/edit.native.js +40 -13
  304. package/src/cover/style.native.scss +4 -0
  305. package/src/cover/style.scss +0 -4
  306. package/src/cover/test/__snapshots__/edit.native.js.snap +6 -6
  307. package/src/cover/test/transforms.js +301 -0
  308. package/src/cover/transforms.js +112 -7
  309. package/src/cover/use-cover-is-dark.js +71 -0
  310. package/src/cover/use-cover-is-dark.native.js +51 -0
  311. package/src/editor.scss +1 -1
  312. package/src/embed/edit.js +19 -24
  313. package/src/embed/edit.native.js +9 -14
  314. package/src/embed/util.js +34 -2
  315. package/src/file/inspector.js +1 -3
  316. package/src/gallery/edit.js +1 -1
  317. package/src/gallery/v1/edit.js +1 -1
  318. package/src/group/block.json +1 -0
  319. package/src/heading/transforms.js +4 -3
  320. package/src/html/edit.js +2 -2
  321. package/src/image/edit.js +2 -4
  322. package/src/image/edit.native.js +1 -1
  323. package/src/image/image.js +1 -1
  324. package/src/index.js +2 -5
  325. package/src/index.native.js +12 -2
  326. package/src/latest-comments/edit.js +1 -1
  327. package/src/latest-posts/edit.native.js +56 -1
  328. package/src/loginout/edit.js +1 -1
  329. package/src/media-text/edit.js +1 -2
  330. package/src/media-text/edit.native.js +1 -1
  331. package/src/navigation/block.json +1 -2
  332. package/src/navigation/edit/index.js +6 -36
  333. package/src/navigation/edit/unsaved-inner-blocks.js +5 -4
  334. package/src/navigation/index.php +5 -0
  335. package/src/navigation/style.scss +3 -0
  336. package/src/navigation/view-modal.js +68 -0
  337. package/src/navigation/view.js +0 -35
  338. package/src/navigation-link/edit.js +1 -1
  339. package/src/paragraph/edit.js +6 -0
  340. package/src/paragraph/edit.native.js +13 -1
  341. package/src/paragraph/use-enter.js +103 -0
  342. package/src/post-author/edit.js +1 -1
  343. package/src/post-author/index.php +1 -1
  344. package/src/post-comment/block.json +1 -1
  345. package/src/post-comments/block.json +1 -1
  346. package/src/post-comments/edit.js +13 -43
  347. package/src/post-comments/index.php +2 -0
  348. package/src/post-comments-form/edit.js +50 -58
  349. package/src/post-comments-form/form.js +43 -0
  350. package/src/post-comments-form/index.php +5 -1
  351. package/src/post-excerpt/edit.js +1 -1
  352. package/src/post-terms/block.json +8 -0
  353. package/src/post-terms/edit.js +28 -1
  354. package/src/post-terms/index.php +12 -2
  355. package/src/quote/block.json +1 -0
  356. package/src/quote/index.js +1 -1
  357. package/src/quote/v2/edit.js +3 -0
  358. package/src/rss/edit.js +1 -1
  359. package/src/search/edit.js +13 -7
  360. package/src/search/index.php +84 -33
  361. package/src/separator/block.json +3 -0
  362. package/src/spacer/constants.js +1 -0
  363. package/src/spacer/controls.js +2 -2
  364. package/src/spacer/controls.native.js +1 -1
  365. package/src/spacer/edit.js +1 -2
  366. package/src/table/edit.js +11 -2
  367. package/src/table/editor.scss +13 -0
  368. package/src/table/style.scss +52 -0
  369. package/src/tag-cloud/edit.js +1 -1
  370. package/src/video/edit.js +4 -5
  371. package/src/video/edit.native.js +1 -1
  372. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +0 -1
  373. package/build/comments-query-loop/edit.js.map +0 -1
  374. package/build/comments-query-loop/index.js.map +0 -1
  375. package/build/comments-query-loop/save.js.map +0 -1
  376. package/build/navigation-area/edit.js +0 -110
  377. package/build/navigation-area/edit.js.map +0 -1
  378. package/build/navigation-area/index.js +0 -62
  379. package/build/navigation-area/index.js.map +0 -1
  380. package/build/navigation-area/inner-blocks.js +0 -34
  381. package/build/navigation-area/inner-blocks.js.map +0 -1
  382. package/build/navigation-area/save.js +0 -18
  383. package/build/navigation-area/save.js.map +0 -1
  384. package/build-module/comments-query-loop/edit.js.map +0 -1
  385. package/build-module/comments-query-loop/index.js.map +0 -1
  386. package/build-module/comments-query-loop/save.js.map +0 -1
  387. package/build-module/navigation-area/edit.js +0 -94
  388. package/build-module/navigation-area/edit.js.map +0 -1
  389. package/build-module/navigation-area/index.js +0 -48
  390. package/build-module/navigation-area/index.js.map +0 -1
  391. package/build-module/navigation-area/inner-blocks.js +0 -26
  392. package/build-module/navigation-area/inner-blocks.js.map +0 -1
  393. package/build-module/navigation-area/save.js +0 -10
  394. package/build-module/navigation-area/save.js.map +0 -1
  395. package/src/navigation-area/block.json +0 -23
  396. package/src/navigation-area/edit.js +0 -111
  397. package/src/navigation-area/index.js +0 -26
  398. package/src/navigation-area/index.php +0 -22
  399. package/src/navigation-area/inner-blocks.js +0 -24
  400. package/src/navigation-area/save.js +0 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"names":["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","useIsInvalidLink","isPostType","hasId","postStatus","select","getEntityRecord","coreStore","status","isInvalid","isDraft","useMissingText","missingText","navStripHTML","html","doc","document","implementation","createHTMLDocument","body","innerHTML","textContent","LinkControlTransforms","clientId","getBlock","blockTransforms","_getBlock","getBlockRootClientId","getBlockTransformItems","blockEditorStore","featuredBlocks","transforms","filter","item","includes","name","length","map","index","icon","NavigationLinkEdit","attributes","isSelected","insertBlocksAfter","mergeBlocks","onReplace","description","rel","maxNestingLevel","link","saveEntityRecord","replaceBlock","__unstableMarkNextChangeAsNotPersistent","isLinkOpen","setIsLinkOpen","listItemRef","itemLabelPlaceholder","ref","innerBlocks","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","userCanCreatePages","userCanCreatePosts","getBlocks","getBlockCount","getBlockName","hasSelectedInnerBlock","getBlockParentsByBlockName","canUser","transformToSubmenu","newSubmenu","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","userCanCreate","handleCreate","pageTitle","postType","page","rendered","onKeyDown","isKeyboardEvent","primary","keyCode","ENTER","blockProps","className","onClick","classes","placeholderText","tooltipText","linkIcon","displayShortcut","addSubmenu","descriptionValue","titleValue","relValue","labelValue","enter","trim","searchTerm","format","mark"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { escape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock, switchToBlockType } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\tPanelBody,\n\tPopover,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tTooltip,\n\tToolbarGroup,\n\tKeyboardShortcuts,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockIcon,\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, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { name } from './block.json';\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\n\tconst {\n\t\ttitle = '', // the title of any provided Post.\n\t\turl = '',\n\n\t\topensInNewTab,\n\t\tid,\n\t\tkind: newKind = originalKind,\n\t\ttype: newType = originalType,\n\t} = updatedValue;\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\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\nconst useIsInvalidLink = ( kind, type, id ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nconst useMissingText = ( type ) => {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n};\n\n/**\n * Removes HTML from a given string.\n * Note the does not provide XSS protection or otherwise attempt\n * to filter strings with malicious intent.\n *\n * See also: https://github.com/WordPress/gutenberg/pull/35539\n *\n * @param {string} html the string from which HTML should be removed.\n * @return {string} the \"cleaned\" string.\n */\nfunction navStripHTML( html ) {\n\tconst doc = document.implementation.createHTMLDocument( '' );\n\tdoc.body.innerHTML = html;\n\treturn doc.body.textContent || '';\n}\n\n/**\n * Add transforms to Link Control\n */\n\nfunction LinkControlTransforms( { clientId, replace } ) {\n\tconst { getBlock, blockTransforms } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tblockTransforms: getBlockTransformItems(\n\t\t\t\t\t[ _getBlock( clientId ) ],\n\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst featuredBlocks = [\n\t\t'core/site-logo',\n\t\t'core/social-links',\n\t\t'core/search',\n\t];\n\tconst transforms = blockTransforms.filter( ( item ) => {\n\t\treturn featuredBlocks.includes( item.name );\n\t} );\n\n\tif ( ! transforms?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"link-control-transform\">\n\t\t\t<h3 className=\"link-control-transform__subheading\">\n\t\t\t\t{ __( 'Transform' ) }\n\t\t\t</h3>\n\t\t\t<div className=\"link-control-transform__items\">\n\t\t\t\t{ transforms.map( ( item, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ `transform-${ index }` }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\treplace(\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\tswitchToBlockType(\n\t\t\t\t\t\t\t\t\t\tgetBlock( clientId ),\n\t\t\t\t\t\t\t\t\t\titem.name\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"link-control-transform__item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockIcon icon={ item.icon } />\n\t\t\t\t\t\t\t{ item.title }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\tid,\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\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink( kind, type, id );\n\tconst { maxNestingLevel } = context;\n\n\tconst link = {\n\t\turl,\n\t\topensInNewTab,\n\t\ttitle: label && navStripHTML( label ), // don't allow HTML to display inside the <LinkControl>\n\t};\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add link…' );\n\tconst ref = useRef();\n\n\tconst {\n\t\tinnerBlocks,\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t\tuserCanCreatePages,\n\t\tuserCanCreatePosts,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\tname,\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\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\thasChildren: !! getBlockCount( clientId ),\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\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( { isTopLevelLink } );\n\t}, [ isTopLevelLink ] );\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tfunction transformToSubmenu() {\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t}\n\n\tuseEffect( () => {\n\t\t// Show the LinkControl on mount if the URL is empty\n\t\t// ( When adding a new menu item)\n\t\t// This can't be done in the useState call because it conflicts\n\t\t// with the autofocus behavior of the BlockListBlock component.\n\t\tif ( ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [] );\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\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\tlabel: '',\n\t\t\tid: '',\n\t\t\tkind: '',\n\t\t\ttype: '',\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\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, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif (\n\t\t\tisKeyboardEvent.primary( event, 'k' ) ||\n\t\t\t( ! url && event.keyCode === ENTER )\n\t\t) {\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': hasChildren,\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} ),\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\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => setIsLinkOpen( true );\n\t}\n\n\tconst classes = classnames( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = useMissingText( type, isInvalid, isDraft );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\tconst tooltipText =\n\t\tisInvalid || isDraft\n\t\t\t? __( 'This item has been deleted, or is a draft' )\n\t\t\t: __( 'This item is missing a link' );\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ () => setIsLinkOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\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( { description: descriptionValue } );\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<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<Tooltip position=\"top center\" text={ tooltipText }>\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-link__missing_text-tooltip\">\n\t\t\t\t\t\t\t\t\t\t{ tooltipText }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid && ! isDraft && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ description && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ( isInvalid || isDraft ) && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text wp-block-navigation-link__label\">\n\t\t\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t\t\t\tenter: () =>\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected &&\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true ),\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\t<Tooltip\n\t\t\t\t\t\t\t\t\t\tposition=\"top center\"\n\t\t\t\t\t\t\t\t\t\ttext={ tooltipText }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* Trim to avoid trailing white space when the placeholder text is not present */\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${ label } ${ placeholderText }`.trim()\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-link__missing_text-tooltip\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ tooltipText }\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</div>\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{ 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\thasTextControl\n\t\t\t\t\t\t\t\thasRichPreviews\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={ removeLink }\n\t\t\t\t\t\t\t\trenderControlBottom={\n\t\t\t\t\t\t\t\t\t! url\n\t\t\t\t\t\t\t\t\t\t? () => (\n\t\t\t\t\t\t\t\t\t\t\t\t<LinkControlTransforms\n\t\t\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\t\t\treplace={ replaceBlock }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: null\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</a>\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"names":["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","useIsInvalidLink","isPostType","hasId","postStatus","select","getEntityRecord","coreStore","status","isInvalid","isDraft","useMissingText","missingText","navStripHTML","html","doc","document","implementation","createHTMLDocument","body","innerHTML","textContent","LinkControlTransforms","clientId","getBlock","blockTransforms","_getBlock","getBlockRootClientId","getBlockTransformItems","blockEditorStore","featuredBlocks","transforms","filter","item","includes","name","length","map","index","icon","NavigationLinkEdit","attributes","isSelected","insertBlocksAfter","mergeBlocks","onReplace","description","rel","maxNestingLevel","link","saveEntityRecord","replaceBlock","__unstableMarkNextChangeAsNotPersistent","isLinkOpen","setIsLinkOpen","listItemRef","itemLabelPlaceholder","ref","innerBlocks","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","userCanCreatePages","userCanCreatePosts","getBlocks","getBlockCount","getBlockName","hasSelectedInnerBlock","getBlockParentsByBlockName","canUser","transformToSubmenu","newSubmenu","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","userCanCreate","handleCreate","pageTitle","postType","page","rendered","onKeyDown","isKeyboardEvent","primary","keyCode","ENTER","blockProps","className","onClick","classes","placeholderText","tooltipText","linkIcon","displayShortcut","addSubmenu","descriptionValue","titleValue","relValue","labelValue","enter","trim","searchTerm","format","mark"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { escape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock, switchToBlockType } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\tPanelBody,\n\tPopover,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tTooltip,\n\tToolbarGroup,\n\tKeyboardShortcuts,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockIcon,\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, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { name } from './block.json';\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\n\tconst {\n\t\ttitle = '', // the title of any provided Post.\n\t\turl = '',\n\n\t\topensInNewTab,\n\t\tid,\n\t\tkind: newKind = originalKind,\n\t\ttype: newType = originalType,\n\t} = updatedValue;\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\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\nconst useIsInvalidLink = ( kind, type, id ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nconst useMissingText = ( type ) => {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n};\n\n/**\n * Removes HTML from a given string.\n * Note the does not provide XSS protection or otherwise attempt\n * to filter strings with malicious intent.\n *\n * See also: https://github.com/WordPress/gutenberg/pull/35539\n *\n * @param {string} html the string from which HTML should be removed.\n * @return {string} the \"cleaned\" string.\n */\nfunction navStripHTML( html ) {\n\tconst doc = document.implementation.createHTMLDocument( '' );\n\tdoc.body.innerHTML = html;\n\treturn doc.body.textContent || '';\n}\n\n/**\n * Add transforms to Link Control\n */\n\nfunction LinkControlTransforms( { clientId, replace } ) {\n\tconst { getBlock, blockTransforms } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tblockTransforms: getBlockTransformItems(\n\t\t\t\t\t_getBlock( clientId ),\n\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst featuredBlocks = [\n\t\t'core/site-logo',\n\t\t'core/social-links',\n\t\t'core/search',\n\t];\n\tconst transforms = blockTransforms.filter( ( item ) => {\n\t\treturn featuredBlocks.includes( item.name );\n\t} );\n\n\tif ( ! transforms?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"link-control-transform\">\n\t\t\t<h3 className=\"link-control-transform__subheading\">\n\t\t\t\t{ __( 'Transform' ) }\n\t\t\t</h3>\n\t\t\t<div className=\"link-control-transform__items\">\n\t\t\t\t{ transforms.map( ( item, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ `transform-${ index }` }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\treplace(\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\tswitchToBlockType(\n\t\t\t\t\t\t\t\t\t\tgetBlock( clientId ),\n\t\t\t\t\t\t\t\t\t\titem.name\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"link-control-transform__item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockIcon icon={ item.icon } />\n\t\t\t\t\t\t\t{ item.title }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\tid,\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\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink( kind, type, id );\n\tconst { maxNestingLevel } = context;\n\n\tconst link = {\n\t\turl,\n\t\topensInNewTab,\n\t\ttitle: label && navStripHTML( label ), // don't allow HTML to display inside the <LinkControl>\n\t};\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add link…' );\n\tconst ref = useRef();\n\n\tconst {\n\t\tinnerBlocks,\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t\tuserCanCreatePages,\n\t\tuserCanCreatePosts,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\tname,\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\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\thasChildren: !! getBlockCount( clientId ),\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\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( { isTopLevelLink } );\n\t}, [ isTopLevelLink ] );\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tfunction transformToSubmenu() {\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t}\n\n\tuseEffect( () => {\n\t\t// Show the LinkControl on mount if the URL is empty\n\t\t// ( When adding a new menu item)\n\t\t// This can't be done in the useState call because it conflicts\n\t\t// with the autofocus behavior of the BlockListBlock component.\n\t\tif ( ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [] );\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\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\tlabel: '',\n\t\t\tid: '',\n\t\t\tkind: '',\n\t\t\ttype: '',\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\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, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif (\n\t\t\tisKeyboardEvent.primary( event, 'k' ) ||\n\t\t\t( ! url && event.keyCode === ENTER )\n\t\t) {\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': hasChildren,\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} ),\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\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => setIsLinkOpen( true );\n\t}\n\n\tconst classes = classnames( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = useMissingText( type, isInvalid, isDraft );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\tconst tooltipText =\n\t\tisInvalid || isDraft\n\t\t\t? __( 'This item has been deleted, or is a draft' )\n\t\t\t: __( 'This item is missing a link' );\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ () => setIsLinkOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\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( { description: descriptionValue } );\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<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<Tooltip position=\"top center\" text={ tooltipText }>\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-link__missing_text-tooltip\">\n\t\t\t\t\t\t\t\t\t\t{ tooltipText }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid && ! isDraft && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ description && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ( isInvalid || isDraft ) && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text wp-block-navigation-link__label\">\n\t\t\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t\t\t\tenter: () =>\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected &&\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true ),\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\t<Tooltip\n\t\t\t\t\t\t\t\t\t\tposition=\"top center\"\n\t\t\t\t\t\t\t\t\t\ttext={ tooltipText }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* Trim to avoid trailing white space when the placeholder text is not present */\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${ label } ${ placeholderText }`.trim()\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-link__missing_text-tooltip\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ tooltipText }\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</div>\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{ 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\thasTextControl\n\t\t\t\t\t\t\t\thasRichPreviews\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={ removeLink }\n\t\t\t\t\t\t\t\trenderControlBottom={\n\t\t\t\t\t\t\t\t\t! url\n\t\t\t\t\t\t\t\t\t\t? () => (\n\t\t\t\t\t\t\t\t\t\t\t\t<LinkControlTransforms\n\t\t\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\t\t\treplace={ replaceBlock }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: null\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</a>\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n}\n"]}
@@ -23,6 +23,8 @@ var _blocks = require("@wordpress/blocks");
23
23
 
24
24
  var _icons = require("@wordpress/icons");
25
25
 
26
+ var _useEnter = require("./use-enter");
27
+
26
28
  /**
27
29
  * External dependencies
28
30
  */
@@ -30,6 +32,10 @@ var _icons = require("@wordpress/icons");
30
32
  /**
31
33
  * WordPress dependencies
32
34
  */
35
+
36
+ /**
37
+ * Internal dependencies
38
+ */
33
39
  const name = 'core/paragraph';
34
40
 
35
41
  function ParagraphRTLControl(_ref) {
@@ -69,6 +75,10 @@ function ParagraphBlock(_ref2) {
69
75
  } = attributes;
70
76
  const isDropCapFeatureEnabled = (0, _blockEditor.useSetting)('typography.dropCap');
71
77
  const blockProps = (0, _blockEditor.useBlockProps)({
78
+ ref: (0, _useEnter.useOnEnter)({
79
+ clientId,
80
+ content
81
+ }),
72
82
  className: (0, _classnames.default)({
73
83
  'has-drop-cap': dropCap,
74
84
  [`has-text-align-${align}`]: align
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/paragraph/edit.js"],"names":["name","ParagraphRTLControl","direction","setDirection","icon","formatLtr","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"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/paragraph/edit.js"],"names":["name","ParagraphRTLControl","direction","setDirection","icon","formatLtr","title","isActive","onClick","undefined","ParagraphBlock","attributes","mergeBlocks","onReplace","onRemove","setAttributes","clientId","align","content","dropCap","placeholder","isDropCapFeatureEnabled","blockProps","ref","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\n/**\n * Internal dependencies\n */\nimport { useOnEnter } from './use-enter';\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\tref: useOnEnter( { clientId, content } ),\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"]}
@@ -19,6 +19,7 @@ var _data = require("@wordpress/data");
19
19
  * WordPress dependencies
20
20
  */
21
21
  const name = 'core/paragraph';
22
+ const allowedParentBlockAlignments = ['left', 'center', 'right'];
22
23
 
23
24
  function ParagraphBlock(_ref) {
24
25
  var _style$baseColors, _style$baseColors$col, _style$baseColors2, _style$baseColors2$co, _style$baseColors3, _style$baseColors3$el, _style$baseColors3$el2, _style$baseColors3$el3;
@@ -29,7 +30,8 @@ function ParagraphBlock(_ref) {
29
30
  onReplace,
30
31
  setAttributes,
31
32
  style,
32
- clientId
33
+ clientId,
34
+ parentBlockAlignment
33
35
  } = _ref;
34
36
  const isRTL = (0, _data.useSelect)(select => {
35
37
  return !!select(_blockEditor.store).getSettings().isRTL;
@@ -51,6 +53,8 @@ function ParagraphBlock(_ref) {
51
53
  align: nextAlign
52
54
  });
53
55
  }, []);
56
+ const parentTextAlignment = allowedParentBlockAlignments.includes(parentBlockAlignment) ? parentBlockAlignment : undefined;
57
+ const textAlignment = align || parentTextAlignment;
54
58
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, {
55
59
  group: "block"
56
60
  }, (0, _element.createElement)(_blockEditor.AlignmentControl, {
@@ -89,7 +93,7 @@ function ParagraphBlock(_ref) {
89
93
  onReplace: onReplace,
90
94
  onRemove: onReplace ? () => onReplace([]) : undefined,
91
95
  placeholder: placeholder || (0, _i18n.__)('Start writing…'),
92
- textAlign: align,
96
+ textAlign: textAlignment,
93
97
  __unstableEmbedURLOnPaste: true
94
98
  }));
95
99
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/paragraph/edit.native.js"],"names":["name","ParagraphBlock","attributes","mergeBlocks","onReplace","setAttributes","style","clientId","isRTL","select","blockEditorStore","getSettings","align","content","placeholder","styles","baseColors","color","text","placeholderColor","linkColor","elements","link","onAlignmentChange","nextAlign","nextContent","value","isOriginal","newAttributes","block","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\nconst name = 'core/paragraph';\n\nfunction ParagraphBlock( {\n\tattributes,\n\tmergeBlocks,\n\tonReplace,\n\tsetAttributes,\n\tstyle,\n\tclientId,\n} ) {\n\tconst isRTL = useSelect( ( select ) => {\n\t\treturn !! select( blockEditorStore ).getSettings().isRTL;\n\t}, [] );\n\n\tconst { align, content, placeholder } = attributes;\n\n\tconst styles = {\n\t\t...( style?.baseColors && {\n\t\t\tcolor: style.baseColors?.color?.text,\n\t\t\tplaceholderColor: style.color || style.baseColors?.color?.text,\n\t\t\tlinkColor: style.baseColors?.elements?.link?.color?.text,\n\t\t} ),\n\t\t...style,\n\t};\n\n\tconst onAlignmentChange = useCallback( ( nextAlign ) => {\n\t\tsetAttributes( { align: nextAlign } );\n\t}, [] );\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\tisRTL={ isRTL }\n\t\t\t\t\tonChange={ onAlignmentChange }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"p\"\n\t\t\t\tvalue={ content }\n\t\t\t\tdeleteEnter={ true }\n\t\t\t\tstyle={ styles }\n\t\t\t\tonChange={ ( nextContent ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: nextContent,\n\t\t\t\t\t} );\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={ onReplace ? () => onReplace( [] ) : undefined }\n\t\t\t\tplaceholder={ placeholder || __( 'Start writing…' ) }\n\t\t\t\ttextAlign={ align }\n\t\t\t\t__unstableEmbedURLOnPaste\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.native.js"],"names":["name","allowedParentBlockAlignments","ParagraphBlock","attributes","mergeBlocks","onReplace","setAttributes","style","clientId","parentBlockAlignment","isRTL","select","blockEditorStore","getSettings","align","content","placeholder","styles","baseColors","color","text","placeholderColor","linkColor","elements","link","onAlignmentChange","nextAlign","parentTextAlignment","includes","undefined","textAlignment","nextContent","value","isOriginal","newAttributes","block"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\nconst name = 'core/paragraph';\n\nconst allowedParentBlockAlignments = [ 'left', 'center', 'right' ];\n\nfunction ParagraphBlock( {\n\tattributes,\n\tmergeBlocks,\n\tonReplace,\n\tsetAttributes,\n\tstyle,\n\tclientId,\n\tparentBlockAlignment,\n} ) {\n\tconst isRTL = useSelect( ( select ) => {\n\t\treturn !! select( blockEditorStore ).getSettings().isRTL;\n\t}, [] );\n\n\tconst { align, content, placeholder } = attributes;\n\n\tconst styles = {\n\t\t...( style?.baseColors && {\n\t\t\tcolor: style.baseColors?.color?.text,\n\t\t\tplaceholderColor: style.color || style.baseColors?.color?.text,\n\t\t\tlinkColor: style.baseColors?.elements?.link?.color?.text,\n\t\t} ),\n\t\t...style,\n\t};\n\n\tconst onAlignmentChange = useCallback( ( nextAlign ) => {\n\t\tsetAttributes( { align: nextAlign } );\n\t}, [] );\n\n\tconst parentTextAlignment = allowedParentBlockAlignments.includes(\n\t\tparentBlockAlignment\n\t)\n\t\t? parentBlockAlignment\n\t\t: undefined;\n\n\tconst textAlignment = align || parentTextAlignment;\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\tisRTL={ isRTL }\n\t\t\t\t\tonChange={ onAlignmentChange }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"p\"\n\t\t\t\tvalue={ content }\n\t\t\t\tdeleteEnter={ true }\n\t\t\t\tstyle={ styles }\n\t\t\t\tonChange={ ( nextContent ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: nextContent,\n\t\t\t\t\t} );\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={ onReplace ? () => onReplace( [] ) : undefined }\n\t\t\t\tplaceholder={ placeholder || __( 'Start writing…' ) }\n\t\t\t\ttextAlign={ textAlignment }\n\t\t\t\t__unstableEmbedURLOnPaste\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default ParagraphBlock;\n"]}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useOnEnter = useOnEnter;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _compose = require("@wordpress/compose");
11
+
12
+ var _keycodes = require("@wordpress/keycodes");
13
+
14
+ var _data = require("@wordpress/data");
15
+
16
+ var _blockEditor = require("@wordpress/block-editor");
17
+
18
+ var _blocks = require("@wordpress/blocks");
19
+
20
+ /**
21
+ * WordPress dependencies
22
+ */
23
+ function useOnEnter(props) {
24
+ const {
25
+ batch
26
+ } = (0, _data.useRegistry)();
27
+ const {
28
+ moveBlocksToPosition,
29
+ replaceInnerBlocks,
30
+ duplicateBlocks,
31
+ insertBlock
32
+ } = (0, _data.useDispatch)(_blockEditor.store);
33
+ const {
34
+ getBlockRootClientId,
35
+ getBlockIndex,
36
+ getBlockOrder,
37
+ getBlockName,
38
+ getBlock,
39
+ getNextBlockClientId
40
+ } = (0, _data.useSelect)(_blockEditor.store);
41
+ const propsRef = (0, _element.useRef)(props);
42
+ propsRef.current = props;
43
+ return (0, _compose.useRefEffect)(element => {
44
+ function onKeyDown(event) {
45
+ if (event.defaultPrevented) {
46
+ return;
47
+ }
48
+
49
+ if (event.keyCode !== _keycodes.ENTER) {
50
+ return;
51
+ }
52
+
53
+ const {
54
+ content,
55
+ clientId
56
+ } = propsRef.current; // The paragraph should be empty.
57
+
58
+ if (content.length) {
59
+ return;
60
+ }
61
+
62
+ const wrapperClientId = getBlockRootClientId(clientId);
63
+
64
+ if (!(0, _blocks.hasBlockSupport)(getBlockName(wrapperClientId), '__experimentalOnEnter', false)) {
65
+ return;
66
+ }
67
+
68
+ const order = getBlockOrder(wrapperClientId);
69
+ event.preventDefault();
70
+ const position = order.indexOf(clientId); // If it is the last block, exit.
71
+
72
+ if (position === order.length - 1) {
73
+ moveBlocksToPosition([clientId], wrapperClientId, getBlockRootClientId(wrapperClientId), getBlockIndex(wrapperClientId) + 1);
74
+ return;
75
+ } // If it is in the middle, split the block in two.
76
+
77
+
78
+ const wrapperBlock = getBlock(wrapperClientId);
79
+ batch(() => {
80
+ duplicateBlocks([wrapperClientId]);
81
+ const blockIndex = getBlockIndex(wrapperClientId);
82
+ replaceInnerBlocks(wrapperClientId, wrapperBlock.innerBlocks.slice(0, position));
83
+ replaceInnerBlocks(getNextBlockClientId(wrapperClientId), wrapperBlock.innerBlocks.slice(position + 1));
84
+ insertBlock((0, _blocks.createBlock)('core/paragraph'), blockIndex + 1, getBlockRootClientId(wrapperClientId), true);
85
+ });
86
+ }
87
+
88
+ element.addEventListener('keydown', onKeyDown);
89
+ return () => {
90
+ element.removeEventListener('keydown', onKeyDown);
91
+ };
92
+ }, []);
93
+ }
94
+ //# sourceMappingURL=use-enter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/paragraph/use-enter.js"],"names":["useOnEnter","props","batch","moveBlocksToPosition","replaceInnerBlocks","duplicateBlocks","insertBlock","blockEditorStore","getBlockRootClientId","getBlockIndex","getBlockOrder","getBlockName","getBlock","getNextBlockClientId","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","ENTER","content","clientId","length","wrapperClientId","order","preventDefault","position","indexOf","wrapperBlock","blockIndex","innerBlocks","slice","addEventListener","removeEventListener"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AARA;AACA;AACA;AAQO,SAASA,UAAT,CAAqBC,KAArB,EAA6B;AACnC,QAAM;AAAEC,IAAAA;AAAF,MAAY,wBAAlB;AACA,QAAM;AACLC,IAAAA,oBADK;AAELC,IAAAA,kBAFK;AAGLC,IAAAA,eAHK;AAILC,IAAAA;AAJK,MAKF,uBAAaC,kBAAb,CALJ;AAMA,QAAM;AACLC,IAAAA,oBADK;AAELC,IAAAA,aAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,YAJK;AAKLC,IAAAA,QALK;AAMLC,IAAAA;AANK,MAOF,qBAAWN,kBAAX,CAPJ;AAQA,QAAMO,QAAQ,GAAG,qBAAQb,KAAR,CAAjB;AACAa,EAAAA,QAAQ,CAACC,OAAT,GAAmBd,KAAnB;AACA,SAAO,2BAAgBe,OAAF,IAAe;AACnC,aAASC,SAAT,CAAoBC,KAApB,EAA4B;AAC3B,UAAKA,KAAK,CAACC,gBAAX,EAA8B;AAC7B;AACA;;AAED,UAAKD,KAAK,CAACE,OAAN,KAAkBC,eAAvB,EAA+B;AAC9B;AACA;;AAED,YAAM;AAAEC,QAAAA,OAAF;AAAWC,QAAAA;AAAX,UAAwBT,QAAQ,CAACC,OAAvC,CAT2B,CAW3B;;AACA,UAAKO,OAAO,CAACE,MAAb,EAAsB;AACrB;AACA;;AAED,YAAMC,eAAe,GAAGjB,oBAAoB,CAAEe,QAAF,CAA5C;;AAEA,UACC,CAAE,6BACDZ,YAAY,CAAEc,eAAF,CADX,EAED,uBAFC,EAGD,KAHC,CADH,EAME;AACD;AACA;;AAED,YAAMC,KAAK,GAAGhB,aAAa,CAAEe,eAAF,CAA3B;AAEAP,MAAAA,KAAK,CAACS,cAAN;AAEA,YAAMC,QAAQ,GAAGF,KAAK,CAACG,OAAN,CAAeN,QAAf,CAAjB,CAhC2B,CAkC3B;;AACA,UAAKK,QAAQ,KAAKF,KAAK,CAACF,MAAN,GAAe,CAAjC,EAAqC;AACpCrB,QAAAA,oBAAoB,CACnB,CAAEoB,QAAF,CADmB,EAEnBE,eAFmB,EAGnBjB,oBAAoB,CAAEiB,eAAF,CAHD,EAInBhB,aAAa,CAAEgB,eAAF,CAAb,GAAmC,CAJhB,CAApB;AAMA;AACA,OA3C0B,CA6C3B;;;AACA,YAAMK,YAAY,GAAGlB,QAAQ,CAAEa,eAAF,CAA7B;AACAvB,MAAAA,KAAK,CAAE,MAAM;AACZG,QAAAA,eAAe,CAAE,CAAEoB,eAAF,CAAF,CAAf;AACA,cAAMM,UAAU,GAAGtB,aAAa,CAAEgB,eAAF,CAAhC;AAEArB,QAAAA,kBAAkB,CACjBqB,eADiB,EAEjBK,YAAY,CAACE,WAAb,CAAyBC,KAAzB,CAAgC,CAAhC,EAAmCL,QAAnC,CAFiB,CAAlB;AAIAxB,QAAAA,kBAAkB,CACjBS,oBAAoB,CAAEY,eAAF,CADH,EAEjBK,YAAY,CAACE,WAAb,CAAyBC,KAAzB,CAAgCL,QAAQ,GAAG,CAA3C,CAFiB,CAAlB;AAIAtB,QAAAA,WAAW,CACV,yBAAa,gBAAb,CADU,EAEVyB,UAAU,GAAG,CAFH,EAGVvB,oBAAoB,CAAEiB,eAAF,CAHV,EAIV,IAJU,CAAX;AAMA,OAlBI,CAAL;AAmBA;;AAEDT,IAAAA,OAAO,CAACkB,gBAAR,CAA0B,SAA1B,EAAqCjB,SAArC;AACA,WAAO,MAAM;AACZD,MAAAA,OAAO,CAACmB,mBAAR,CAA6B,SAA7B,EAAwClB,SAAxC;AACA,KAFD;AAGA,GAzEM,EAyEJ,EAzEI,CAAP;AA0EA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport { ENTER } from '@wordpress/keycodes';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { hasBlockSupport, createBlock } from '@wordpress/blocks';\n\nexport function useOnEnter( props ) {\n\tconst { batch } = useRegistry();\n\tconst {\n\t\tmoveBlocksToPosition,\n\t\treplaceInnerBlocks,\n\t\tduplicateBlocks,\n\t\tinsertBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockOrder,\n\t\tgetBlockName,\n\t\tgetBlock,\n\t\tgetNextBlockClientId,\n\t} = useSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { content, clientId } = propsRef.current;\n\n\t\t\t// The paragraph should be empty.\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst wrapperClientId = getBlockRootClientId( clientId );\n\n\t\t\tif (\n\t\t\t\t! hasBlockSupport(\n\t\t\t\t\tgetBlockName( wrapperClientId ),\n\t\t\t\t\t'__experimentalOnEnter',\n\t\t\t\t\tfalse\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst order = getBlockOrder( wrapperClientId );\n\n\t\t\tevent.preventDefault();\n\n\t\t\tconst position = order.indexOf( clientId );\n\n\t\t\t// If it is the last block, exit.\n\t\t\tif ( position === order.length - 1 ) {\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t[ clientId ],\n\t\t\t\t\twrapperClientId,\n\t\t\t\t\tgetBlockRootClientId( wrapperClientId ),\n\t\t\t\t\tgetBlockIndex( wrapperClientId ) + 1\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If it is in the middle, split the block in two.\n\t\t\tconst wrapperBlock = getBlock( wrapperClientId );\n\t\t\tbatch( () => {\n\t\t\t\tduplicateBlocks( [ wrapperClientId ] );\n\t\t\t\tconst blockIndex = getBlockIndex( wrapperClientId );\n\n\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\twrapperClientId,\n\t\t\t\t\twrapperBlock.innerBlocks.slice( 0, position )\n\t\t\t\t);\n\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\tgetNextBlockClientId( wrapperClientId ),\n\t\t\t\t\twrapperBlock.innerBlocks.slice( position + 1 )\n\t\t\t\t);\n\t\t\t\tinsertBlock(\n\t\t\t\t\tcreateBlock( 'core/paragraph' ),\n\t\t\t\t\tblockIndex + 1,\n\t\t\t\t\tgetBlockRootClientId( wrapperClientId ),\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n"]}
@@ -91,7 +91,7 @@ function PostAuthorEdit(_ref) {
91
91
  })
92
92
  });
93
93
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
94
- title: (0, _i18n.__)('Author Settings')
94
+ title: (0, _i18n.__)('Settings')
95
95
  }, !isDescendentOfQueryLoop && !!(authors !== null && authors !== void 0 && authors.length) && (0, _element.createElement)(_components.SelectControl, {
96
96
  label: (0, _i18n.__)('Author'),
97
97
  value: authorId,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-author/edit.js"],"names":["PostAuthorEdit","isSelected","context","postType","postId","queryId","attributes","setAttributes","isDescendentOfQueryLoop","Number","isFinite","authorId","authorDetails","authors","select","getEditedEntityRecord","getUser","getUsers","coreStore","_authorId","author","who","editEntityRecord","textAlign","showAvatar","showBio","byline","avatarSizes","avatar_urls","url","size","push","value","label","blockProps","className","length","map","id","name","nextAuthorId","avatarSize","nextAlign","RichText","isEmpty","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { forEach } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, SelectControl, ToggleControl } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { authorId, authorDetails, authors } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getUsers } = select(\n\t\t\t\tcoreStore\n\t\t\t);\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t\tauthors: getUsers( { who: 'authors' } ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst { textAlign, showAvatar, showBio, byline } = attributes;\n\n\tconst avatarSizes = [];\n\tif ( authorDetails ) {\n\t\tforEach( authorDetails.avatar_urls, ( url, size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Author Settings' ) }>\n\t\t\t\t\t{ ! isDescendentOfQueryLoop && !! authors?.length && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\toptions={ authors.map( ( { id, name } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tonChange={ ( nextAuthorId ) => {\n\t\t\t\t\t\t\t\teditEntityRecord(\n\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\t\t\tpostId,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tauthor: nextAuthorId,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\tchecked={ showAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showAvatar: ! showAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ showAvatar && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\tvalue={ attributes.avatarSize }\n\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\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<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\tchecked={ showBio }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && authorDetails && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ attributes.avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails.avatar_urls[\n\t\t\t\t\t\t\t\t\tattributes.avatarSize\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={ authorDetails.name }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: value } )\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<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ authorDetails?.name || __( 'Post Author' ) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p className=\"wp-block-post-author__bio\">\n\t\t\t\t\t\t\t{ authorDetails?.description }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-author/edit.js"],"names":["PostAuthorEdit","isSelected","context","postType","postId","queryId","attributes","setAttributes","isDescendentOfQueryLoop","Number","isFinite","authorId","authorDetails","authors","select","getEditedEntityRecord","getUser","getUsers","coreStore","_authorId","author","who","editEntityRecord","textAlign","showAvatar","showBio","byline","avatarSizes","avatar_urls","url","size","push","value","label","blockProps","className","length","map","id","name","nextAuthorId","avatarSize","nextAlign","RichText","isEmpty","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { forEach } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, SelectControl, ToggleControl } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { authorId, authorDetails, authors } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getUsers } = select(\n\t\t\t\tcoreStore\n\t\t\t);\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t\tauthors: getUsers( { who: 'authors' } ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst { textAlign, showAvatar, showBio, byline } = attributes;\n\n\tconst avatarSizes = [];\n\tif ( authorDetails ) {\n\t\tforEach( authorDetails.avatar_urls, ( url, size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ ! isDescendentOfQueryLoop && !! authors?.length && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\toptions={ authors.map( ( { id, name } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tonChange={ ( nextAuthorId ) => {\n\t\t\t\t\t\t\t\teditEntityRecord(\n\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\t\t\tpostId,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tauthor: nextAuthorId,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\tchecked={ showAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showAvatar: ! showAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ showAvatar && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\tvalue={ attributes.avatarSize }\n\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\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<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\tchecked={ showBio }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && authorDetails && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ attributes.avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails.avatar_urls[\n\t\t\t\t\t\t\t\t\tattributes.avatarSize\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={ authorDetails.name }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: value } )\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<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ authorDetails?.name || __( 'Post Author' ) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p className=\"wp-block-post-author__bio\">\n\t\t\t\t\t\t\t{ authorDetails?.description }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"]}
@@ -26,7 +26,7 @@ const metadata = {
26
26
  name: "core/post-comment",
27
27
  title: "Post Comment (deprecated)",
28
28
  category: "theme",
29
- description: "This block is deprecated. Please use the Comments Query Loop block instead.",
29
+ description: "This block is deprecated. Please use the Comments block instead.",
30
30
  textdomain: "default",
31
31
  attributes: {
32
32
  commentId: {