@wordpress/block-library 8.29.0 → 8.30.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 (347) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/audio/edit.js +7 -17
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js.map +1 -1
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/block/deprecated.js +71 -11
  7. package/build/block/deprecated.js.map +1 -1
  8. package/build/block/edit.js +49 -24
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +2 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/edit.native.js.map +1 -1
  13. package/build/buttons/transforms.js +16 -2
  14. package/build/buttons/transforms.js.map +1 -1
  15. package/build/code/transforms.js +17 -6
  16. package/build/code/transforms.js.map +1 -1
  17. package/build/columns/edit.js +3 -2
  18. package/build/columns/edit.js.map +1 -1
  19. package/build/comment-author-avatar/edit.js +1 -1
  20. package/build/comment-author-avatar/edit.js.map +1 -1
  21. package/build/cover/edit/block-controls.js +14 -3
  22. package/build/cover/edit/block-controls.js.map +1 -1
  23. package/build/cover/edit/index.js.map +1 -1
  24. package/build/cover/edit/inspector-controls.js.map +1 -1
  25. package/build/cover/edit/resizable-cover-popover.js +0 -6
  26. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  27. package/build/cover/edit.native.js.map +1 -1
  28. package/build/file/deprecated.js.map +1 -1
  29. package/build/file/edit.js +6 -13
  30. package/build/file/edit.js.map +1 -1
  31. package/build/file/edit.native.js.map +1 -1
  32. package/build/file/save.js.map +1 -1
  33. package/build/form-input/edit.js +1 -1
  34. package/build/form-input/edit.js.map +1 -1
  35. package/build/gallery/edit.js.map +1 -1
  36. package/build/gallery/gallery.native.js.map +1 -1
  37. package/build/gallery/v1/edit.js.map +1 -1
  38. package/build/gallery/v1/gallery.native.js.map +1 -1
  39. package/build/heading/transforms.js +17 -4
  40. package/build/heading/transforms.js.map +1 -1
  41. package/build/image/edit.js +8 -4
  42. package/build/image/edit.js.map +1 -1
  43. package/build/image/edit.native.js.map +1 -1
  44. package/build/image/image.js +22 -8
  45. package/build/image/image.js.map +1 -1
  46. package/build/latest-posts/edit.native.js.map +1 -1
  47. package/build/list/ordered-list-settings.js +1 -1
  48. package/build/list/ordered-list-settings.js.map +1 -1
  49. package/build/list-item/edit.js +1 -3
  50. package/build/list-item/edit.js.map +1 -1
  51. package/build/list-item/edit.native.js.map +1 -1
  52. package/build/list-item/hooks/index.js +0 -7
  53. package/build/list-item/hooks/index.js.map +1 -1
  54. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  55. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  56. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  57. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  58. package/build/list-item/hooks/use-space.js +16 -7
  59. package/build/list-item/hooks/use-space.js.map +1 -1
  60. package/build/list-item/index.js +4 -1
  61. package/build/list-item/index.js.map +1 -1
  62. package/build/media-text/media-container.native.js +1 -1
  63. package/build/media-text/media-container.native.js.map +1 -1
  64. package/build/navigation/edit/index.js.map +1 -1
  65. package/build/navigation-link/link-ui.js.map +1 -1
  66. package/build/paragraph/edit.native.js.map +1 -1
  67. package/build/pattern/edit.js +11 -0
  68. package/build/pattern/edit.js.map +1 -1
  69. package/build/post-excerpt/edit.js.map +1 -1
  70. package/build/post-featured-image/dimension-controls.js.map +1 -1
  71. package/build/post-featured-image/edit.js +8 -11
  72. package/build/post-featured-image/edit.js.map +1 -1
  73. package/build/post-navigation-link/edit.js.map +1 -1
  74. package/build/post-title/edit.js +2 -2
  75. package/build/post-title/edit.js.map +1 -1
  76. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  77. package/build/query/utils.js +7 -5
  78. package/build/query/utils.js.map +1 -1
  79. package/build/query-pagination-next/edit.js.map +1 -1
  80. package/build/query-pagination-previous/edit.js.map +1 -1
  81. package/build/quote/deprecated.js +111 -12
  82. package/build/quote/deprecated.js.map +1 -1
  83. package/build/quote/edit.js +5 -5
  84. package/build/quote/edit.js.map +1 -1
  85. package/build/quote/index.js +1 -1
  86. package/build/quote/index.js.map +1 -1
  87. package/build/quote/save.js +2 -2
  88. package/build/quote/save.js.map +1 -1
  89. package/build/read-more/edit.js.map +1 -1
  90. package/build/search/edit.js +1 -1
  91. package/build/search/edit.js.map +1 -1
  92. package/build/search/edit.native.js.map +1 -1
  93. package/build/site-logo/edit.js +7 -2
  94. package/build/site-logo/edit.js.map +1 -1
  95. package/build/site-title/{edit/index.js → edit.js} +1 -1
  96. package/build/site-title/edit.js.map +1 -0
  97. package/build/social-link/edit.js.map +1 -1
  98. package/build/social-links/edit.native.js.map +1 -1
  99. package/build/spacer/edit.js.map +1 -1
  100. package/build/table-of-contents/edit.js.map +1 -1
  101. package/build/template-part/edit/index.js +53 -1
  102. package/build/template-part/edit/index.js.map +1 -1
  103. package/build/template-part/edit/selection-modal.js +2 -8
  104. package/build/template-part/edit/selection-modal.js.map +1 -1
  105. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  106. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  107. package/build/utils/caption.js +15 -5
  108. package/build/utils/caption.js.map +1 -1
  109. package/build/utils/get-transformed-metadata.js +57 -0
  110. package/build/utils/get-transformed-metadata.js.map +1 -0
  111. package/build/utils/hooks.js +55 -4
  112. package/build/utils/hooks.js.map +1 -1
  113. package/build/video/edit-common-settings.js.map +1 -1
  114. package/build/video/edit.js +7 -16
  115. package/build/video/edit.js.map +1 -1
  116. package/build/video/edit.native.js +2 -7
  117. package/build/video/edit.native.js.map +1 -1
  118. package/build-module/audio/edit.js +10 -20
  119. package/build-module/audio/edit.js.map +1 -1
  120. package/build-module/audio/edit.native.js.map +1 -1
  121. package/build-module/avatar/edit.js.map +1 -1
  122. package/build-module/block/deprecated.js +71 -11
  123. package/build-module/block/deprecated.js.map +1 -1
  124. package/build-module/block/edit.js +49 -24
  125. package/build-module/block/edit.js.map +1 -1
  126. package/build-module/button/edit.js +3 -3
  127. package/build-module/button/edit.js.map +1 -1
  128. package/build-module/buttons/edit.native.js.map +1 -1
  129. package/build-module/buttons/transforms.js +16 -2
  130. package/build-module/buttons/transforms.js.map +1 -1
  131. package/build-module/code/transforms.js +17 -6
  132. package/build-module/code/transforms.js.map +1 -1
  133. package/build-module/columns/edit.js +3 -2
  134. package/build-module/columns/edit.js.map +1 -1
  135. package/build-module/comment-author-avatar/edit.js +1 -1
  136. package/build-module/comment-author-avatar/edit.js.map +1 -1
  137. package/build-module/cover/edit/block-controls.js +15 -4
  138. package/build-module/cover/edit/block-controls.js.map +1 -1
  139. package/build-module/cover/edit/index.js.map +1 -1
  140. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  141. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  142. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  143. package/build-module/cover/edit.native.js.map +1 -1
  144. package/build-module/file/deprecated.js.map +1 -1
  145. package/build-module/file/edit.js +7 -14
  146. package/build-module/file/edit.js.map +1 -1
  147. package/build-module/file/edit.native.js.map +1 -1
  148. package/build-module/file/save.js.map +1 -1
  149. package/build-module/form-input/edit.js +1 -1
  150. package/build-module/form-input/edit.js.map +1 -1
  151. package/build-module/gallery/edit.js.map +1 -1
  152. package/build-module/gallery/gallery.native.js.map +1 -1
  153. package/build-module/gallery/v1/edit.js.map +1 -1
  154. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  155. package/build-module/heading/transforms.js +17 -4
  156. package/build-module/heading/transforms.js.map +1 -1
  157. package/build-module/image/edit.js +9 -5
  158. package/build-module/image/edit.js.map +1 -1
  159. package/build-module/image/edit.native.js.map +1 -1
  160. package/build-module/image/image.js +23 -9
  161. package/build-module/image/image.js.map +1 -1
  162. package/build-module/latest-posts/edit.native.js.map +1 -1
  163. package/build-module/list/ordered-list-settings.js +1 -1
  164. package/build-module/list/ordered-list-settings.js.map +1 -1
  165. package/build-module/list-item/edit.js +2 -4
  166. package/build-module/list-item/edit.js.map +1 -1
  167. package/build-module/list-item/edit.native.js.map +1 -1
  168. package/build-module/list-item/hooks/index.js +0 -1
  169. package/build-module/list-item/hooks/index.js.map +1 -1
  170. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  171. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  172. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  173. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  174. package/build-module/list-item/hooks/use-space.js +17 -8
  175. package/build-module/list-item/hooks/use-space.js.map +1 -1
  176. package/build-module/list-item/index.js +4 -1
  177. package/build-module/list-item/index.js.map +1 -1
  178. package/build-module/media-text/media-container.native.js +1 -1
  179. package/build-module/media-text/media-container.native.js.map +1 -1
  180. package/build-module/navigation/edit/index.js.map +1 -1
  181. package/build-module/navigation-link/link-ui.js.map +1 -1
  182. package/build-module/paragraph/edit.native.js.map +1 -1
  183. package/build-module/pattern/edit.js +11 -0
  184. package/build-module/pattern/edit.js.map +1 -1
  185. package/build-module/post-excerpt/edit.js.map +1 -1
  186. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  187. package/build-module/post-featured-image/edit.js +9 -12
  188. package/build-module/post-featured-image/edit.js.map +1 -1
  189. package/build-module/post-navigation-link/edit.js.map +1 -1
  190. package/build-module/post-title/edit.js +2 -2
  191. package/build-module/post-title/edit.js.map +1 -1
  192. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  193. package/build-module/query/utils.js +7 -5
  194. package/build-module/query/utils.js.map +1 -1
  195. package/build-module/query-pagination-next/edit.js.map +1 -1
  196. package/build-module/query-pagination-previous/edit.js.map +1 -1
  197. package/build-module/quote/deprecated.js +112 -13
  198. package/build-module/quote/deprecated.js.map +1 -1
  199. package/build-module/quote/edit.js +5 -5
  200. package/build-module/quote/edit.js.map +1 -1
  201. package/build-module/quote/index.js +1 -1
  202. package/build-module/quote/index.js.map +1 -1
  203. package/build-module/quote/save.js +2 -2
  204. package/build-module/quote/save.js.map +1 -1
  205. package/build-module/read-more/edit.js.map +1 -1
  206. package/build-module/search/edit.js +1 -1
  207. package/build-module/search/edit.js.map +1 -1
  208. package/build-module/search/edit.native.js.map +1 -1
  209. package/build-module/site-logo/edit.js +7 -2
  210. package/build-module/site-logo/edit.js.map +1 -1
  211. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  212. package/build-module/site-title/edit.js.map +1 -0
  213. package/build-module/social-link/edit.js.map +1 -1
  214. package/build-module/social-links/edit.native.js.map +1 -1
  215. package/build-module/spacer/edit.js.map +1 -1
  216. package/build-module/table-of-contents/edit.js.map +1 -1
  217. package/build-module/template-part/edit/index.js +57 -5
  218. package/build-module/template-part/edit/index.js.map +1 -1
  219. package/build-module/template-part/edit/selection-modal.js +2 -8
  220. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  221. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  222. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  223. package/build-module/utils/caption.js +13 -3
  224. package/build-module/utils/caption.js.map +1 -1
  225. package/build-module/utils/get-transformed-metadata.js +51 -0
  226. package/build-module/utils/get-transformed-metadata.js.map +1 -0
  227. package/build-module/utils/hooks.js +54 -3
  228. package/build-module/utils/hooks.js.map +1 -1
  229. package/build-module/video/edit-common-settings.js.map +1 -1
  230. package/build-module/video/edit.js +10 -19
  231. package/build-module/video/edit.js.map +1 -1
  232. package/build-module/video/edit.native.js +2 -7
  233. package/build-module/video/edit.native.js.map +1 -1
  234. package/build-style/common-rtl.css +1 -0
  235. package/build-style/common.css +1 -0
  236. package/build-style/cover/style-rtl.css +2 -1
  237. package/build-style/cover/style.css +2 -1
  238. package/build-style/editor-rtl.css +4 -1
  239. package/build-style/editor.css +4 -1
  240. package/build-style/group/editor-rtl.css +1 -1
  241. package/build-style/group/editor.css +1 -1
  242. package/build-style/image/editor-rtl.css +3 -0
  243. package/build-style/image/editor.css +3 -0
  244. package/build-style/search/style-rtl.css +2 -0
  245. package/build-style/search/style.css +2 -0
  246. package/build-style/style-rtl.css +4 -1
  247. package/build-style/style.css +4 -1
  248. package/package.json +34 -34
  249. package/src/audio/edit.js +9 -19
  250. package/src/audio/edit.native.js +3 -3
  251. package/src/avatar/edit.js +1 -1
  252. package/src/block/deprecated.js +76 -11
  253. package/src/block/edit.js +64 -19
  254. package/src/block/index.php +23 -12
  255. package/src/button/edit.js +4 -3
  256. package/src/buttons/edit.native.js +1 -1
  257. package/src/buttons/transforms.js +14 -4
  258. package/src/calendar/index.php +5 -0
  259. package/src/code/transforms.js +20 -5
  260. package/src/columns/edit.js +3 -2
  261. package/src/comment-author-avatar/edit.js +1 -1
  262. package/src/comments/index.php +2 -0
  263. package/src/cover/edit/block-controls.js +16 -2
  264. package/src/cover/edit/index.js +2 -2
  265. package/src/cover/edit/inspector-controls.js +1 -1
  266. package/src/cover/edit/resizable-cover-popover.js +1 -6
  267. package/src/cover/edit.native.js +1 -1
  268. package/src/cover/style.scss +3 -2
  269. package/src/file/deprecated.js +3 -3
  270. package/src/file/edit.js +8 -15
  271. package/src/file/edit.native.js +4 -4
  272. package/src/file/save.js +1 -1
  273. package/src/footnotes/index.php +1 -1
  274. package/src/form-input/edit.js +1 -1
  275. package/src/gallery/edit.js +3 -3
  276. package/src/gallery/gallery.native.js +1 -1
  277. package/src/gallery/test/index.native.js +1 -1
  278. package/src/gallery/v1/edit.js +2 -2
  279. package/src/gallery/v1/gallery.native.js +1 -1
  280. package/src/group/editor.scss +1 -1
  281. package/src/heading/transforms.js +27 -8
  282. package/src/image/edit.js +13 -5
  283. package/src/image/edit.native.js +1 -1
  284. package/src/image/editor.scss +6 -0
  285. package/src/image/image.js +34 -22
  286. package/src/latest-posts/edit.native.js +1 -1
  287. package/src/list/ordered-list-settings.js +1 -1
  288. package/src/list-item/edit.js +1 -2
  289. package/src/list-item/edit.native.js +1 -1
  290. package/src/list-item/hooks/index.js +0 -1
  291. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  292. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  293. package/src/list-item/hooks/use-space.js +16 -9
  294. package/src/list-item/index.js +3 -0
  295. package/src/media-text/media-container.native.js +5 -3
  296. package/src/media-text/test/edit.native.js +58 -0
  297. package/src/missing/test/edit-integration.native.js +2 -1
  298. package/src/navigation/edit/index.js +1 -1
  299. package/src/navigation/edit/test/navigation-menu-selector.js +3 -3
  300. package/src/navigation/index.php +26 -17
  301. package/src/navigation-link/link-ui.js +2 -2
  302. package/src/paragraph/edit.native.js +1 -1
  303. package/src/paragraph/test/edit.native.js +36 -0
  304. package/src/pattern/edit.js +14 -0
  305. package/src/post-excerpt/edit.js +1 -1
  306. package/src/post-featured-image/dimension-controls.js +4 -4
  307. package/src/post-featured-image/edit.js +10 -12
  308. package/src/post-navigation-link/edit.js +1 -1
  309. package/src/post-template/index.php +2 -0
  310. package/src/post-title/edit.js +49 -43
  311. package/src/query/edit/pattern-selection-modal.js +1 -1
  312. package/src/query/utils.js +6 -4
  313. package/src/query-pagination-next/edit.js +1 -1
  314. package/src/query-pagination-previous/edit.js +1 -1
  315. package/src/quote/block.json +1 -1
  316. package/src/quote/deprecated.js +110 -15
  317. package/src/quote/edit.js +5 -5
  318. package/src/quote/save.js +2 -2
  319. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  320. package/src/read-more/edit.js +1 -1
  321. package/src/search/edit.js +1 -1
  322. package/src/search/edit.native.js +4 -4
  323. package/src/search/index.php +1 -1
  324. package/src/search/style.scss +2 -0
  325. package/src/site-logo/edit.js +11 -6
  326. package/src/social-link/edit.js +1 -1
  327. package/src/social-links/edit.native.js +1 -1
  328. package/src/spacer/edit.js +1 -1
  329. package/src/table-of-contents/edit.js +1 -1
  330. package/src/template-part/edit/index.js +91 -4
  331. package/src/template-part/edit/selection-modal.js +4 -8
  332. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  333. package/src/utils/caption.js +10 -1
  334. package/src/utils/get-transformed-metadata.js +65 -0
  335. package/src/utils/hooks.js +53 -3
  336. package/src/video/edit-common-settings.js +1 -1
  337. package/src/video/edit.js +10 -18
  338. package/src/video/edit.native.js +5 -8
  339. package/src/video/test/edit.native.js +0 -14
  340. package/build/list-item/hooks/use-copy.js +0 -39
  341. package/build/list-item/hooks/use-copy.js.map +0 -1
  342. package/build/site-title/edit/index.js.map +0 -1
  343. package/build-module/list-item/hooks/use-copy.js +0 -32
  344. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  345. package/build-module/site-title/edit/index.js.map +0 -1
  346. package/src/list-item/hooks/use-copy.js +0 -38
  347. /package/src/site-title/{edit/index.js → edit.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_dom","require","_components","_i18n","_blockEditor","_element","_coreData","_htmlEntities","_data","_icons","_compose","_lockUnlock","PrivateQuickInserter","QuickInserter","unlock","blockEditorPrivateApis","getSuggestionsQuery","type","kind","subtype","initialSuggestionsSearchOptions","perPage","LinkUIBlockInserter","clientId","onBack","onSelectBlock","rootBlockClientId","useSelect","select","getBlockRootClientId","blockEditorStore","focusOnMountRef","useFocusOnMount","dialogTitleId","useInstanceId","LinkControl","dialogDescritionId","_react","createElement","className","role","ref","VisuallyHidden","id","__","Button","icon","chevronLeftSmall","onClick","e","preventDefault","size","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","onSelect","LinkUI","props","addingBlock","setAddingBlock","useState","focusAddBlockButton","setFocusAddBlockButton","showBackdrop","setShowBackdrop","saveEntityRecord","useDispatch","coreStore","pagesPermissions","useResourcePermissions","postsPermissions","handleCreate","pageTitle","postType","link","page","title","status","decodeEntities","rendered","url","label","opensInNewTab","userCanCreate","canCreate","useMemo","stripHTML","onClose","Fragment","Popover","placement","anchor","shift","__experimentalLinkControl","hasTextControl","hasRichPreviews","value","showInitialSuggestions","withCreateSuggestion","createSuggestion","createSuggestionButtonText","searchTerm","format","createInterpolateElement","sprintf","mark","noDirectEntry","noURLSuggestion","suggestionsQuery","onChange","onRemove","onCancel","renderControlBottom","length","LinkUITools","blockInserterAriaRole","addBlockButtonRef","useRef","useEffect","current","focus","__experimentalVStack","plus","_default","exports","default"],"sources":["@wordpress/block-library/src/navigation-link/link-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tPopover,\n\tButton,\n\tVisuallyHidden,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalLinkControl as LinkControl,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tcreateInterpolateElement,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { chevronLeftSmall, plus } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\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 */\nexport function 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\t\t\t// for custom link which has no type\n\t\t\t\t// always show pages as initial suggestions\n\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\tperPage: 20,\n\t\t\t\t},\n\t\t\t};\n\t}\n}\n\nfunction LinkUIBlockInserter( { clientId, onBack, onSelectBlock } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__description`\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescritionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add block' ) }</h2>\n\n\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t{ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\t\t</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<Button\n\t\t\t\tclassName=\"link-ui-block-inserter__back\"\n\t\t\t\ticon={ chevronLeftSmall }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonBack();\n\t\t\t\t} }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ __( 'Back' ) }\n\t\t\t</Button>\n\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert={ true }\n\t\t\t\thasSearch={ false }\n\t\t\t\tonSelect={ onSelectBlock }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport function LinkUI( props ) {\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );\n\tconst [ showBackdrop, setShowBackdrop ] = useState( true );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst pagesPermissions = useResourcePermissions( 'pages' );\n\tconst postsPermissions = useResourcePermissions( 'posts' );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst postType = props.link.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\t// Make `title` property consistent with that in `fetchLinkSuggestions` where the `rendered` title (containing HTML entities)\n\t\t\t// is also being decoded. By being consistent in both locations we avoid having to branch in the rendering output code.\n\t\t\t// Ideally in the future we will update both APIs to utilise the \"raw\" form of the title which is better suited to edit contexts.\n\t\t\t// e.g.\n\t\t\t// - title.raw = \"Yes & No\"\n\t\t\t// - title.rendered = \"Yes &#038; No\"\n\t\t\t// - decodeEntities( title.rendered ) = \"Yes & No\"\n\t\t\t// See:\n\t\t\t// - https://github.com/WordPress/gutenberg/pull/41063\n\t\t\t// - https://github.com/WordPress/gutenberg/blob/a1e1fdc0e6278457e9f4fc0b31ac6d2095f5450b/packages/core-data/src/fetch/__experimental-fetch-link-suggestions.js#L212-L218\n\t\t\ttitle: decodeEntities( page.title.rendered ),\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tconst { label, url, opensInNewTab, type, kind } = props.link;\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = pagesPermissions.canCreate;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = postsPermissions.canCreate;\n\t}\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.\n\tconst link = useMemo(\n\t\t() => ( {\n\t\t\turl,\n\t\t\topensInNewTab,\n\t\t\ttitle: label && stripHTML( label ),\n\t\t} ),\n\t\t[ label, opensInNewTab, url ]\n\t);\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__description`\n\t);\n\n\t// Selecting a block should close the popover and also remove the (previously) automatically inserted\n\t// link block so that the newly selected block can be inserted in its place.\n\tconst { onClose: onSelectBlock } = props;\n\n\treturn (\n\t\t<>\n\t\t\t{ showBackdrop && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-popover-pointer-events-trap\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tonClick={ () => setShowBackdrop( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Popover\n\t\t\t\tplacement=\"bottom\"\n\t\t\t\tonClose={ props.onClose }\n\t\t\t\tanchor={ props.anchor }\n\t\t\t\tshift\n\t\t\t>\n\t\t\t\t{ ! addingBlock && (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\t\taria-describedby={ dialogDescritionId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Search for and add a link to your Navigation.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\t\tshowInitialSuggestions={ true }\n\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\t\tlet format;\n\n\t\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\tformat = __(\n\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);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\tformat = __(\n\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);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tmark: <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} }\n\t\t\t\t\t\t\tnoDirectEntry={ !! type }\n\t\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery(\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tkind\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\t\trenderControlBottom={ () =>\n\t\t\t\t\t\t\t\t! link?.url?.length && (\n\t\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\t\tfocusAddBlockButton={\n\t\t\t\t\t\t\t\t\t\t\tfocusAddBlockButton\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t\t\tsetFocusAddBlockButton( false );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\n\t\t\t\t{ addingBlock && (\n\t\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\t\tsetFocusAddBlockButton( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonSelectBlock={ onSelectBlock }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n\nconst LinkUITools = ( { setAddingBlock, focusAddBlockButton } ) => {\n\tconst blockInserterAriaRole = 'listbox';\n\tconst addBlockButtonRef = useRef();\n\n\t// Focus the add block button when the popover is opened.\n\tuseEffect( () => {\n\t\tif ( focusAddBlockButton ) {\n\t\t\taddBlockButtonRef.current?.focus();\n\t\t}\n\t}, [ focusAddBlockButton ] );\n\n\treturn (\n\t\t<VStack className=\"link-ui-tools\">\n\t\t\t<Button\n\t\t\t\tref={ addBlockButtonRef }\n\t\t\t\ticon={ plus }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t>\n\t\t\t\t{ __( 'Add block' ) }\n\t\t\t</Button>\n\t\t</VStack>\n\t);\n};\n\nexport default LinkUITools;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_dom","require","_components","_i18n","_blockEditor","_element","_coreData","_htmlEntities","_data","_icons","_compose","_lockUnlock","PrivateQuickInserter","QuickInserter","unlock","blockEditorPrivateApis","getSuggestionsQuery","type","kind","subtype","initialSuggestionsSearchOptions","perPage","LinkUIBlockInserter","clientId","onBack","onSelectBlock","rootBlockClientId","useSelect","select","getBlockRootClientId","blockEditorStore","focusOnMountRef","useFocusOnMount","dialogTitleId","useInstanceId","LinkControl","dialogDescritionId","_react","createElement","className","role","ref","VisuallyHidden","id","__","Button","icon","chevronLeftSmall","onClick","e","preventDefault","size","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","onSelect","LinkUI","props","addingBlock","setAddingBlock","useState","focusAddBlockButton","setFocusAddBlockButton","showBackdrop","setShowBackdrop","saveEntityRecord","useDispatch","coreStore","pagesPermissions","useResourcePermissions","postsPermissions","handleCreate","pageTitle","postType","link","page","title","status","decodeEntities","rendered","url","label","opensInNewTab","userCanCreate","canCreate","useMemo","stripHTML","onClose","Fragment","Popover","placement","anchor","shift","__experimentalLinkControl","hasTextControl","hasRichPreviews","value","showInitialSuggestions","withCreateSuggestion","createSuggestion","createSuggestionButtonText","searchTerm","format","createInterpolateElement","sprintf","mark","noDirectEntry","noURLSuggestion","suggestionsQuery","onChange","onRemove","onCancel","renderControlBottom","length","LinkUITools","blockInserterAriaRole","addBlockButtonRef","useRef","useEffect","current","focus","__experimentalVStack","plus","_default","exports","default"],"sources":["@wordpress/block-library/src/navigation-link/link-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tPopover,\n\tButton,\n\tVisuallyHidden,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalLinkControl as LinkControl,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tcreateInterpolateElement,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { chevronLeftSmall, plus } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\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 */\nexport function 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\t\t\t// for custom link which has no type\n\t\t\t\t// always show pages as initial suggestions\n\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\tperPage: 20,\n\t\t\t\t},\n\t\t\t};\n\t}\n}\n\nfunction LinkUIBlockInserter( { clientId, onBack, onSelectBlock } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__description`\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescritionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add block' ) }</h2>\n\n\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t{ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\t\t</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<Button\n\t\t\t\tclassName=\"link-ui-block-inserter__back\"\n\t\t\t\ticon={ chevronLeftSmall }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonBack();\n\t\t\t\t} }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ __( 'Back' ) }\n\t\t\t</Button>\n\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert\n\t\t\t\thasSearch={ false }\n\t\t\t\tonSelect={ onSelectBlock }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport function LinkUI( props ) {\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );\n\tconst [ showBackdrop, setShowBackdrop ] = useState( true );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst pagesPermissions = useResourcePermissions( 'pages' );\n\tconst postsPermissions = useResourcePermissions( 'posts' );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst postType = props.link.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\t// Make `title` property consistent with that in `fetchLinkSuggestions` where the `rendered` title (containing HTML entities)\n\t\t\t// is also being decoded. By being consistent in both locations we avoid having to branch in the rendering output code.\n\t\t\t// Ideally in the future we will update both APIs to utilise the \"raw\" form of the title which is better suited to edit contexts.\n\t\t\t// e.g.\n\t\t\t// - title.raw = \"Yes & No\"\n\t\t\t// - title.rendered = \"Yes &#038; No\"\n\t\t\t// - decodeEntities( title.rendered ) = \"Yes & No\"\n\t\t\t// See:\n\t\t\t// - https://github.com/WordPress/gutenberg/pull/41063\n\t\t\t// - https://github.com/WordPress/gutenberg/blob/a1e1fdc0e6278457e9f4fc0b31ac6d2095f5450b/packages/core-data/src/fetch/__experimental-fetch-link-suggestions.js#L212-L218\n\t\t\ttitle: decodeEntities( page.title.rendered ),\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tconst { label, url, opensInNewTab, type, kind } = props.link;\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = pagesPermissions.canCreate;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = postsPermissions.canCreate;\n\t}\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.\n\tconst link = useMemo(\n\t\t() => ( {\n\t\t\turl,\n\t\t\topensInNewTab,\n\t\t\ttitle: label && stripHTML( label ),\n\t\t} ),\n\t\t[ label, opensInNewTab, url ]\n\t);\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__description`\n\t);\n\n\t// Selecting a block should close the popover and also remove the (previously) automatically inserted\n\t// link block so that the newly selected block can be inserted in its place.\n\tconst { onClose: onSelectBlock } = props;\n\n\treturn (\n\t\t<>\n\t\t\t{ showBackdrop && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-popover-pointer-events-trap\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tonClick={ () => setShowBackdrop( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Popover\n\t\t\t\tplacement=\"bottom\"\n\t\t\t\tonClose={ props.onClose }\n\t\t\t\tanchor={ props.anchor }\n\t\t\t\tshift\n\t\t\t>\n\t\t\t\t{ ! addingBlock && (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\t\taria-describedby={ dialogDescritionId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Search for and add a link to your Navigation.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\t\tlet format;\n\n\t\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\tformat = __(\n\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);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\tformat = __(\n\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);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tmark: <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} }\n\t\t\t\t\t\t\tnoDirectEntry={ !! type }\n\t\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery(\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tkind\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\t\trenderControlBottom={ () =>\n\t\t\t\t\t\t\t\t! link?.url?.length && (\n\t\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\t\tfocusAddBlockButton={\n\t\t\t\t\t\t\t\t\t\t\tfocusAddBlockButton\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t\t\tsetFocusAddBlockButton( false );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\n\t\t\t\t{ addingBlock && (\n\t\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\t\tsetFocusAddBlockButton( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonSelectBlock={ onSelectBlock }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n\nconst LinkUITools = ( { setAddingBlock, focusAddBlockButton } ) => {\n\tconst blockInserterAriaRole = 'listbox';\n\tconst addBlockButtonRef = useRef();\n\n\t// Focus the add block button when the popover is opened.\n\tuseEffect( () => {\n\t\tif ( focusAddBlockButton ) {\n\t\t\taddBlockButtonRef.current?.focus();\n\t\t}\n\t}, [ focusAddBlockButton ] );\n\n\treturn (\n\t\t<VStack className=\"link-ui-tools\">\n\t\t\t<Button\n\t\t\t\tref={ addBlockButtonRef }\n\t\t\t\ticon={ plus }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t>\n\t\t\t\t{ __( 'Add block' ) }\n\t\t\t</Button>\n\t\t</VStack>\n\t);\n};\n\nexport default LinkUITools;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_blocks","_blockEditor","_element","_data","name","allowedParentBlockAlignments","ParagraphBlock","attributes","mergeBlocks","onReplace","setAttributes","style","clientId","parentBlockAlignment","isRTL","useSelect","select","blockEditorStore","getSettings","align","content","placeholder","styles","baseColors","color","text","placeholderColor","linkColor","elements","link","onAlignmentChange","useCallback","nextAlign","parentTextAlignment","includes","undefined","textAlignment","_react","createElement","Fragment","BlockControls","group","AlignmentControl","value","onChange","RichText","identifier","tagName","deleteEnter","nextContent","onSplit","isOriginal","newAttributes","block","createBlock","onMerge","onRemove","__","textAlign","__unstableEmbedURLOnPaste","_default","exports","default"],"sources":["@wordpress/block-library/src/paragraph/edit.native.js"],"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"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_blocks","_blockEditor","_element","_data","name","allowedParentBlockAlignments","ParagraphBlock","attributes","mergeBlocks","onReplace","setAttributes","style","clientId","parentBlockAlignment","isRTL","useSelect","select","blockEditorStore","getSettings","align","content","placeholder","styles","baseColors","color","text","placeholderColor","linkColor","elements","link","onAlignmentChange","useCallback","nextAlign","parentTextAlignment","includes","undefined","textAlignment","_react","createElement","Fragment","BlockControls","group","AlignmentControl","value","onChange","RichText","identifier","tagName","deleteEnter","nextContent","onSplit","isOriginal","newAttributes","block","createBlock","onMerge","onRemove","__","textAlign","__unstableEmbedURLOnPaste","_default","exports","default"],"sources":["@wordpress/block-library/src/paragraph/edit.native.js"],"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\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"],"mappings":"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"}
@@ -78,6 +78,17 @@ const PatternEdit = ({
78
78
  // Clone blocks from the pattern before insertion to ensure they receive
79
79
  // distinct client ids. See https://github.com/WordPress/gutenberg/issues/50628.
80
80
  const clonedBlocks = selectedPattern.blocks.map(block => (0, _blocks.cloneBlock)(injectThemeAttributeInBlockTemplateContent(block)));
81
+ // If the pattern has a single block and categories, we should add the
82
+ // categories of the pattern to the block's metadata.
83
+ if (clonedBlocks.length === 1 && selectedPattern.categories?.length > 0) {
84
+ clonedBlocks[0].attributes = {
85
+ ...clonedBlocks[0].attributes,
86
+ metadata: {
87
+ ...clonedBlocks[0].attributes.metadata,
88
+ categories: selectedPattern.categories
89
+ }
90
+ };
91
+ }
81
92
  const rootEditingMode = getBlockEditingMode(rootClientId);
82
93
  registry.batch(() => {
83
94
  // Temporarily set the root block to default mode to allow replacing the pattern.
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_data","_element","_blockEditor","_coreData","_i18n","_recursionDetector","PatternEdit","attributes","clientId","registry","useRegistry","selectedPattern","useSelect","select","blockEditorStore","__experimentalGetParsedPattern","slug","currentThemeStylesheet","coreStore","getCurrentTheme","stylesheet","replaceBlocks","setBlockEditingMode","__unstableMarkNextChangeAsNotPersistent","useDispatch","getBlockRootClientId","getBlockEditingMode","hasRecursionError","setHasRecursionError","useState","parsePatternDependencies","useParsePatternDependencies","injectThemeAttributeInBlockTemplateContent","block","innerBlocks","find","innerBlock","name","map","theme","undefined","useEffect","blocks","error","window","queueMicrotask","rootClientId","clonedBlocks","cloneBlock","rootEditingMode","batch","props","useBlockProps","_react","createElement","Warning","sprintf","__","_default","exports","default"],"sources":["@wordpress/block-library/src/pattern/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { useState, useEffect } from '@wordpress/element';\nimport {\n\tWarning,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useParsePatternDependencies } from './recursion-detector';\n\nconst PatternEdit = ( { attributes, clientId } ) => {\n\tconst registry = useRegistry();\n\tconst selectedPattern = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__experimentalGetParsedPattern(\n\t\t\t\tattributes.slug\n\t\t\t),\n\t\t[ attributes.slug ]\n\t);\n\n\tconst currentThemeStylesheet = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\n\tconst {\n\t\treplaceBlocks,\n\t\tsetBlockEditingMode,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\tconst { getBlockRootClientId, getBlockEditingMode } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst [ hasRecursionError, setHasRecursionError ] = useState( false );\n\tconst parsePatternDependencies = useParsePatternDependencies();\n\n\t// Duplicated in packages/edit-site/src/components/start-template-options/index.js.\n\tfunction injectThemeAttributeInBlockTemplateContent( block ) {\n\t\tif (\n\t\t\tblock.innerBlocks.find(\n\t\t\t\t( innerBlock ) => innerBlock.name === 'core/template-part'\n\t\t\t)\n\t\t) {\n\t\t\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\t\t\tif (\n\t\t\t\t\tinnerBlock.name === 'core/template-part' &&\n\t\t\t\t\tinnerBlock.attributes.theme === undefined\n\t\t\t\t) {\n\t\t\t\t\tinnerBlock.attributes.theme = currentThemeStylesheet;\n\t\t\t\t}\n\t\t\t\treturn innerBlock;\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tblock.name === 'core/template-part' &&\n\t\t\tblock.attributes.theme === undefined\n\t\t) {\n\t\t\tblock.attributes.theme = currentThemeStylesheet;\n\t\t}\n\t\treturn block;\n\t}\n\n\t// Run this effect when the component loads.\n\t// This adds the Pattern's contents to the post.\n\t// This change won't be saved.\n\t// It will continue to pull from the pattern file unless changes are made to its respective template part.\n\tuseEffect( () => {\n\t\tif ( ! hasRecursionError && selectedPattern?.blocks ) {\n\t\t\ttry {\n\t\t\t\tparsePatternDependencies( selectedPattern );\n\t\t\t} catch ( error ) {\n\t\t\t\tsetHasRecursionError( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We batch updates to block list settings to avoid triggering cascading renders\n\t\t\t// for each container block included in a tree and optimize initial render.\n\t\t\t// Since the above uses microtasks, we need to use a microtask here as well,\n\t\t\t// because nested pattern blocks cannot be inserted if the parent block supports\n\t\t\t// inner blocks but doesn't have blockSettings in the state.\n\t\t\twindow.queueMicrotask( () => {\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\t// Clone blocks from the pattern before insertion to ensure they receive\n\t\t\t\t// distinct client ids. See https://github.com/WordPress/gutenberg/issues/50628.\n\t\t\t\tconst clonedBlocks = selectedPattern.blocks.map( ( block ) =>\n\t\t\t\t\tcloneBlock(\n\t\t\t\t\t\tinjectThemeAttributeInBlockTemplateContent( block )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst rootEditingMode = getBlockEditingMode( rootClientId );\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t// Temporarily set the root block to default mode to allow replacing the pattern.\n\t\t\t\t\t// This could happen when the page is disabling edits of non-content blocks.\n\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\tsetBlockEditingMode( rootClientId, 'default' );\n\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\treplaceBlocks( clientId, clonedBlocks );\n\t\t\t\t\t// Restore the root block's original mode.\n\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\tsetBlockEditingMode( rootClientId, rootEditingMode );\n\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tclientId,\n\t\thasRecursionError,\n\t\tselectedPattern,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlocks,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tgetBlockRootClientId,\n\t] );\n\n\tconst props = useBlockProps();\n\n\tif ( hasRecursionError ) {\n\t\treturn (\n\t\t\t<div { ...props }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: A warning in which %s is the name of a pattern.\n\t\t\t\t\t\t__( 'Pattern \"%s\" cannot be rendered inside itself.' ),\n\t\t\t\t\t\tselectedPattern?.name\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn <div { ...props } />;\n};\n\nexport default PatternEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blocks","require","_data","_element","_blockEditor","_coreData","_i18n","_recursionDetector","PatternEdit","attributes","clientId","registry","useRegistry","selectedPattern","useSelect","select","blockEditorStore","__experimentalGetParsedPattern","slug","currentThemeStylesheet","coreStore","getCurrentTheme","stylesheet","replaceBlocks","setBlockEditingMode","__unstableMarkNextChangeAsNotPersistent","useDispatch","getBlockRootClientId","getBlockEditingMode","hasRecursionError","setHasRecursionError","useState","parsePatternDependencies","useParsePatternDependencies","injectThemeAttributeInBlockTemplateContent","block","innerBlocks","find","innerBlock","name","map","theme","undefined","useEffect","blocks","error","window","queueMicrotask","rootClientId","clonedBlocks","cloneBlock","length","categories","metadata","rootEditingMode","batch","props","useBlockProps","_react","createElement","Warning","sprintf","__","_default","exports","default"],"sources":["@wordpress/block-library/src/pattern/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { useState, useEffect } from '@wordpress/element';\nimport {\n\tWarning,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useParsePatternDependencies } from './recursion-detector';\n\nconst PatternEdit = ( { attributes, clientId } ) => {\n\tconst registry = useRegistry();\n\tconst selectedPattern = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__experimentalGetParsedPattern(\n\t\t\t\tattributes.slug\n\t\t\t),\n\t\t[ attributes.slug ]\n\t);\n\n\tconst currentThemeStylesheet = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\n\tconst {\n\t\treplaceBlocks,\n\t\tsetBlockEditingMode,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\tconst { getBlockRootClientId, getBlockEditingMode } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst [ hasRecursionError, setHasRecursionError ] = useState( false );\n\tconst parsePatternDependencies = useParsePatternDependencies();\n\n\t// Duplicated in packages/edit-site/src/components/start-template-options/index.js.\n\tfunction injectThemeAttributeInBlockTemplateContent( block ) {\n\t\tif (\n\t\t\tblock.innerBlocks.find(\n\t\t\t\t( innerBlock ) => innerBlock.name === 'core/template-part'\n\t\t\t)\n\t\t) {\n\t\t\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\t\t\tif (\n\t\t\t\t\tinnerBlock.name === 'core/template-part' &&\n\t\t\t\t\tinnerBlock.attributes.theme === undefined\n\t\t\t\t) {\n\t\t\t\t\tinnerBlock.attributes.theme = currentThemeStylesheet;\n\t\t\t\t}\n\t\t\t\treturn innerBlock;\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tblock.name === 'core/template-part' &&\n\t\t\tblock.attributes.theme === undefined\n\t\t) {\n\t\t\tblock.attributes.theme = currentThemeStylesheet;\n\t\t}\n\t\treturn block;\n\t}\n\n\t// Run this effect when the component loads.\n\t// This adds the Pattern's contents to the post.\n\t// This change won't be saved.\n\t// It will continue to pull from the pattern file unless changes are made to its respective template part.\n\tuseEffect( () => {\n\t\tif ( ! hasRecursionError && selectedPattern?.blocks ) {\n\t\t\ttry {\n\t\t\t\tparsePatternDependencies( selectedPattern );\n\t\t\t} catch ( error ) {\n\t\t\t\tsetHasRecursionError( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We batch updates to block list settings to avoid triggering cascading renders\n\t\t\t// for each container block included in a tree and optimize initial render.\n\t\t\t// Since the above uses microtasks, we need to use a microtask here as well,\n\t\t\t// because nested pattern blocks cannot be inserted if the parent block supports\n\t\t\t// inner blocks but doesn't have blockSettings in the state.\n\t\t\twindow.queueMicrotask( () => {\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\t// Clone blocks from the pattern before insertion to ensure they receive\n\t\t\t\t// distinct client ids. See https://github.com/WordPress/gutenberg/issues/50628.\n\t\t\t\tconst clonedBlocks = selectedPattern.blocks.map( ( block ) =>\n\t\t\t\t\tcloneBlock(\n\t\t\t\t\t\tinjectThemeAttributeInBlockTemplateContent( block )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\t// If the pattern has a single block and categories, we should add the\n\t\t\t\t// categories of the pattern to the block's metadata.\n\t\t\t\tif (\n\t\t\t\t\tclonedBlocks.length === 1 &&\n\t\t\t\t\tselectedPattern.categories?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tclonedBlocks[ 0 ].attributes = {\n\t\t\t\t\t\t...clonedBlocks[ 0 ].attributes,\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t...clonedBlocks[ 0 ].attributes.metadata,\n\t\t\t\t\t\t\tcategories: selectedPattern.categories,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst rootEditingMode = getBlockEditingMode( rootClientId );\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t// Temporarily set the root block to default mode to allow replacing the pattern.\n\t\t\t\t\t// This could happen when the page is disabling edits of non-content blocks.\n\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\tsetBlockEditingMode( rootClientId, 'default' );\n\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\treplaceBlocks( clientId, clonedBlocks );\n\t\t\t\t\t// Restore the root block's original mode.\n\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\tsetBlockEditingMode( rootClientId, rootEditingMode );\n\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tclientId,\n\t\thasRecursionError,\n\t\tselectedPattern,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlocks,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tgetBlockRootClientId,\n\t] );\n\n\tconst props = useBlockProps();\n\n\tif ( hasRecursionError ) {\n\t\treturn (\n\t\t\t<div { ...props }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: A warning in which %s is the name of a pattern.\n\t\t\t\t\t\t__( 'Pattern \"%s\" cannot be rendered inside itself.' ),\n\t\t\t\t\t\tselectedPattern?.name\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn <div { ...props } />;\n};\n\nexport default PatternEdit;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_element","_blockEditor","_components","_i18n","_data","_hooks","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","useCanEditEntity","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","useEntityProp","postTypeSupportsExcerpts","useSelect","select","coreStore","getPostType","supports","excerpt","isEditable","blockProps","useBlockProps","className","classnames","wordCountType","_x","strippedRenderedExcerpt","useMemo","document","window","DOMParser","parseFromString","body","textContent","innerText","_react","createElement","Fragment","BlockControls","AlignmentToolbar","value","onChange","newAlign","__","Warning","readMoreLink","RichText","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","checked","newShowMoreOnNewLine","RangeControl","min","max"],"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl, RangeControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nconst ELLIPSIS = '…';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\n\t/**\n\t * Check if the post type supports excerpts.\n\t * Add an exception and return early for the \"page\" post type,\n\t * which is registered without support for the excerpt UI,\n\t * but supports saving the excerpt to the database.\n\t * See: https://core.trac.wordpress.org/browser/branches/6.1/src/wp-includes/post.php#L65\n\t * Without this exception, users that have excerpts saved to the database will\n\t * not be able to edit the excerpts.\n\t */\n\tconst postTypeSupportsExcerpts = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn !! select( coreStore ).getPostType( postType )?.supports\n\t\t\t\t?.excerpt;\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t/**\n\t * The excerpt is editable if:\n\t * - The user can edit the post\n\t * - It is not a descendent of a Query Loop block\n\t * - The post type supports excerpts\n\t */\n\tconst isEditable =\n\t\tuserCanEdit && ! isDescendentOfQueryLoop && postTypeSupportsExcerpts;\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\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) return '';\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The content is currently protected and does not have the available excerpt.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting={ true }\n\t\t/>\n\t);\n\tconst excerptClassName = classnames( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = (\n\t\trawExcerpt || strippedRenderedExcerpt\n\t).trim();\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( ' ', excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( ! isTrimmed\n\t\t\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t\t\t: trimmedExcerpt + ELLIPSIS ) ||\n\t\t\t\t\t __( 'No excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ ! isTrimmed\n\t\t\t\t? rawOrRenderedExcerpt || __( 'No excerpt found' )\n\t\t\t\t: trimmedExcerpt + ELLIPSIS }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\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<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmin=\"10\"\n\t\t\t\t\t\tmax=\"100\"\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{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAQA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AAzBA;AACA;AACA;;AAGA;AACA;AACA;;AAeA;AACA;AACA;;AAGA,MAAMQ,QAAQ,GAAG,GAAG;AAEL,SAASC,iBAAiBA,CAAE;EAC1CC,UAAU,EAAE;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,iBAAiB;IAAEC;EAAc,CAAC;EACrEC,aAAa;EACbC,UAAU;EACVC,OAAO,EAAE;IAAEC,MAAM;IAAEC,QAAQ;IAAEC;EAAQ;AACtC,CAAC,EAAG;EACH,MAAMC,uBAAuB,GAAGC,MAAM,CAACC,QAAQ,CAAEH,OAAQ,CAAC;EAC1D,MAAMI,WAAW,GAAG,IAAAC,uBAAgB,EAAE,UAAU,EAAEN,QAAQ,EAAED,MAAO,CAAC;EACpE,MAAM,CACLQ,UAAU,EACVC,UAAU,EACV;IAAEC,QAAQ,EAAEC,eAAe;IAAEC,SAAS,EAAEC;EAAY,CAAC,GAAG,CAAC,CAAC,CAC1D,GAAG,IAAAC,uBAAa,EAAE,UAAU,EAAEb,QAAQ,EAAE,SAAS,EAAED,MAAO,CAAC;;EAE5D;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,MAAMe,wBAAwB,GAAG,IAAAC,eAAS,EACvCC,MAAM,IAAM;IACb,IAAKhB,QAAQ,KAAK,MAAM,EAAG;MAC1B,OAAO,IAAI;IACZ;IACA,OAAO,CAAC,CAAEgB,MAAM,CAAEC,eAAU,CAAC,CAACC,WAAW,CAAElB,QAAS,CAAC,EAAEmB,QAAQ,EAC5DC,OAAO;EACX,CAAC,EACD,CAAEpB,QAAQ,CACX,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;EACC,MAAMqB,UAAU,GACfhB,WAAW,IAAI,CAAEH,uBAAuB,IAAIY,wBAAwB;EAErE,MAAMQ,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,SAAS,EAAE,IAAAC,mBAAU,EAAE;MACtB,CAAG,kBAAkBjC,SAAW,EAAC,GAAIA;IACtC,CAAE;EACH,CAAE,CAAC;;EAEH;AACD;AACA;AACA;AACA;EACC,MAAMkC,aAAa,GAAG,IAAAC,QAAE,EAAE,OAAO,EAAE,oCAAqC,CAAC;;EAEzE;AACD;AACA;AACA;AACA;EACC,MAAMC,uBAAuB,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC9C,IAAK,CAAEnB,eAAe,EAAG,OAAO,EAAE;IAClC,MAAMoB,QAAQ,GAAG,IAAIC,MAAM,CAACC,SAAS,CAAC,CAAC,CAACC,eAAe,CACtDvB,eAAe,EACf,WACD,CAAC;IACD,OAAOoB,QAAQ,CAACI,IAAI,CAACC,WAAW,IAAIL,QAAQ,CAACI,IAAI,CAACE,SAAS,IAAI,EAAE;EAClE,CAAC,EAAE,CAAE1B,eAAe,CAAG,CAAC;EAExB,IAAK,CAAEV,QAAQ,IAAI,CAAED,MAAM,EAAG;IAC7B,OACC,IAAAsC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACtD,YAAA,CAAAwD,aAAa,QACb,IAAAH,MAAA,CAAAC,aAAA,EAACtD,YAAA,CAAAyD,gBAAgB;MAChBC,KAAK,EAAGlD,SAAW;MACnBmD,QAAQ,EAAKC,QAAQ,IACpBhD,aAAa,CAAE;QAAEJ,SAAS,EAAEoD;MAAS,CAAE;IACvC,CACD,CACa,CAAC,EAChB,IAAAP,MAAA,CAAAC,aAAA;MAAA,GAAUhB;IAAU,GACnB,IAAAe,MAAA,CAAAC,aAAA,aAAK,IAAAO,QAAE,EAAE,sCAAuC,CAAM,CAClD,CACJ,CAAC;EAEL;EACA,IAAKjC,WAAW,IAAI,CAAEP,WAAW,EAAG;IACnC,OACC,IAAAgC,MAAA,CAAAC,aAAA;MAAA,GAAUhB;IAAU,GACnB,IAAAe,MAAA,CAAAC,aAAA,EAACtD,YAAA,CAAA8D,OAAO,QACL,IAAAD,QAAE,EACH,6EACD,CACQ,CACL,CAAC;EAER;EACA,MAAME,YAAY,GACjB,IAAAV,MAAA,CAAAC,aAAA,EAACtD,YAAA,CAAAgE,QAAQ;IACRxB,SAAS,EAAC,kCAAkC;IAC5CyB,OAAO,EAAC,GAAG;IACX,cAAa,IAAAJ,QAAE,EAAE,uBAAwB,CAAG;IAC5CK,WAAW,EAAG,IAAAL,QAAE,EAAE,2BAA4B,CAAG;IACjDH,KAAK,EAAGjD,QAAU;IAClBkD,QAAQ,EAAKQ,WAAW,IACvBvD,aAAa,CAAE;MAAEH,QAAQ,EAAE0D;IAAY,CAAE,CACzC;IACDC,4BAA4B,EAAG;EAAM,CACrC,CACD;EACD,MAAMC,gBAAgB,GAAG,IAAA5B,mBAAU,EAAE,gCAAgC,EAAE;IACtE,WAAW,EAAE,CAAE/B;EAChB,CAAE,CAAC;;EAEH;AACD;AACA;AACA;EACC,MAAM4D,oBAAoB,GAAG,CAC5B/C,UAAU,IAAIqB,uBAAuB,EACpC2B,IAAI,CAAC,CAAC;EAER,IAAIC,cAAc,GAAG,EAAE;EACvB,IAAK9B,aAAa,KAAK,OAAO,EAAG;IAChC8B,cAAc,GAAGF,oBAAoB,CACnCG,KAAK,CAAE,GAAG,EAAE9D,aAAc,CAAC,CAC3B+D,IAAI,CAAE,GAAI,CAAC;EACd,CAAC,MAAM,IAAKhC,aAAa,KAAK,6BAA6B,EAAG;IAC7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IACE,MAAMiC,iBAAiB,GAAGL,oBAAoB,CAC5CG,KAAK,CAAE,EAAE,EAAE9D,aAAc,CAAC,CAC1B+D,IAAI,CAAE,EAAG,CAAC;IAEZ,MAAME,cAAc,GACnBD,iBAAiB,CAACE,MAAM,GACxBF,iBAAiB,CAACG,UAAU,CAAE,GAAG,EAAE,EAAG,CAAC,CAACD,MAAM;IAE/CL,cAAc,GAAGF,oBAAoB,CACnCG,KAAK,CAAE,EAAE,EAAE9D,aAAa,GAAGiE,cAAe,CAAC,CAC3CF,IAAI,CAAE,EAAG,CAAC;EACb,CAAC,MAAM,IAAKhC,aAAa,KAAK,6BAA6B,EAAG;IAC7D8B,cAAc,GAAGF,oBAAoB,CACnCG,KAAK,CAAE,EAAE,EAAE9D,aAAc,CAAC,CAC1B+D,IAAI,CAAE,EAAG,CAAC;EACb;EAEA,MAAMK,SAAS,GAAGP,cAAc,KAAKF,oBAAoB;EAEzD,MAAMU,cAAc,GAAG3C,UAAU,GAChC,IAAAgB,MAAA,CAAAC,aAAA,EAACtD,YAAA,CAAAgE,QAAQ;IACRxB,SAAS,EAAG6B,gBAAkB;IAC9B,cAAa,IAAAR,QAAE,EAAE,cAAe,CAAG;IACnCH,KAAK,EACJ7C,UAAU,GACPyD,oBAAoB,GACpB,CAAE,CAAES,SAAS,GACXT,oBAAoB,GACpBE,cAAc,GAAGnE,QAAQ,KAC3B,IAAAwD,QAAE,EAAE,kBAAmB,CAC1B;IACDF,QAAQ,EAAGnC,UAAY;IACvByC,OAAO,EAAC;EAAG,CACX,CAAC,GAEF,IAAAZ,MAAA,CAAAC,aAAA;IAAGd,SAAS,EAAG6B;EAAkB,GAC9B,CAAEU,SAAS,GACVT,oBAAoB,IAAI,IAAAT,QAAE,EAAE,kBAAmB,CAAC,GAChDW,cAAc,GAAGnE,QAClB,CACH;EACD,OACC,IAAAgD,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACtD,YAAA,CAAAwD,aAAa,QACb,IAAAH,MAAA,CAAAC,aAAA,EAACtD,YAAA,CAAAyD,gBAAgB;IAChBC,KAAK,EAAGlD,SAAW;IACnBmD,QAAQ,EAAKC,QAAQ,IACpBhD,aAAa,CAAE;MAAEJ,SAAS,EAAEoD;IAAS,CAAE;EACvC,CACD,CACa,CAAC,EAChB,IAAAP,MAAA,CAAAC,aAAA,EAACtD,YAAA,CAAAiF,iBAAiB,QACjB,IAAA5B,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAiF,SAAS;IAACC,KAAK,EAAG,IAAAtB,QAAE,EAAE,UAAW;EAAG,GACpC,IAAAR,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAmF,aAAa;IACbC,uBAAuB;IACvBC,KAAK,EAAG,IAAAzB,QAAE,EAAE,uBAAwB,CAAG;IACvC0B,OAAO,EAAG7E,iBAAmB;IAC7BiD,QAAQ,EAAK6B,oBAAoB,IAChC5E,aAAa,CAAE;MACdF,iBAAiB,EAAE8E;IACpB,CAAE;EACF,CACD,CAAC,EACF,IAAAnC,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAwF,YAAY;IACZH,KAAK,EAAG,IAAAzB,QAAE,EAAE,qBAAsB,CAAG;IACrCH,KAAK,EAAG/C,aAAe;IACvBgD,QAAQ,EAAKD,KAAK,IAAM;MACvB9C,aAAa,CAAE;QAAED,aAAa,EAAE+C;MAAM,CAAE,CAAC;IAC1C,CAAG;IACHgC,GAAG,EAAC,IAAI;IACRC,GAAG,EAAC;EAAK,CACT,CACS,CACO,CAAC,EACpB,IAAAtC,MAAA,CAAAC,aAAA;IAAA,GAAUhB;EAAU,GACjB0C,cAAc,EACd,CAAEtE,iBAAiB,IAAI,GAAG,EAC1BA,iBAAiB,GAClB,IAAA2C,MAAA,CAAAC,aAAA;IAAGd,SAAS,EAAC;EAAkC,GAC5CuB,YACA,CAAC,GAEJA,YAEG,CACJ,CAAC;AAEL"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_element","_blockEditor","_components","_i18n","_data","_hooks","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","useCanEditEntity","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","useEntityProp","postTypeSupportsExcerpts","useSelect","select","coreStore","getPostType","supports","excerpt","isEditable","blockProps","useBlockProps","className","classnames","wordCountType","_x","strippedRenderedExcerpt","useMemo","document","window","DOMParser","parseFromString","body","textContent","innerText","_react","createElement","Fragment","BlockControls","AlignmentToolbar","value","onChange","newAlign","__","Warning","readMoreLink","RichText","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","checked","newShowMoreOnNewLine","RangeControl","min","max"],"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl, RangeControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nconst ELLIPSIS = '…';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\n\t/**\n\t * Check if the post type supports excerpts.\n\t * Add an exception and return early for the \"page\" post type,\n\t * which is registered without support for the excerpt UI,\n\t * but supports saving the excerpt to the database.\n\t * See: https://core.trac.wordpress.org/browser/branches/6.1/src/wp-includes/post.php#L65\n\t * Without this exception, users that have excerpts saved to the database will\n\t * not be able to edit the excerpts.\n\t */\n\tconst postTypeSupportsExcerpts = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn !! select( coreStore ).getPostType( postType )?.supports\n\t\t\t\t?.excerpt;\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t/**\n\t * The excerpt is editable if:\n\t * - The user can edit the post\n\t * - It is not a descendent of a Query Loop block\n\t * - The post type supports excerpts\n\t */\n\tconst isEditable =\n\t\tuserCanEdit && ! isDescendentOfQueryLoop && postTypeSupportsExcerpts;\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\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) return '';\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The content is currently protected and does not have the available excerpt.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting\n\t\t/>\n\t);\n\tconst excerptClassName = classnames( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = (\n\t\trawExcerpt || strippedRenderedExcerpt\n\t).trim();\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( ' ', excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( ! isTrimmed\n\t\t\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t\t\t: trimmedExcerpt + ELLIPSIS ) ||\n\t\t\t\t\t __( 'No excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ ! isTrimmed\n\t\t\t\t? rawOrRenderedExcerpt || __( 'No excerpt found' )\n\t\t\t\t: trimmedExcerpt + ELLIPSIS }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\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<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmin=\"10\"\n\t\t\t\t\t\tmax=\"100\"\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{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_blockEditor","SCALE_OPTIONS","_react","createElement","Fragment","__experimentalToggleGroupControlOption","value","label","_x","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","__","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","imageSizeOptions","availableUnits","useSettings","units","useCustomUnits","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","InspectorControls","group","__experimentalToolsPanelItem","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","SelectControl","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","__experimentalUnitControl","labelPosition","min","nextHeight","nextWidth","__experimentalToggleGroupControl","help","isBlock","length","nextSizeSlug","_default","exports","default"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { InspectorControls, useSettings } from '@wordpress/block-editor';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\timageSizeOptions = [],\n} ) => {\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) return;\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\treturn (\n\t\t<InspectorControls group=\"dimensions\">\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t// These should use the same values as AspectRatioDropdown in @wordpress/block-editor\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Original' ),\n\t\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Square' ),\n\t\t\t\t\t\t\tvalue: '1',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:9' ),\n\t\t\t\t\t\t\tvalue: '16/9',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '4:3' ),\n\t\t\t\t\t\t\tvalue: '4/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:2' ),\n\t\t\t\t\t\t\tvalue: '3/2',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '9:16' ),\n\t\t\t\t\t\t\tvalue: '9/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:4' ),\n\t\t\t\t\t\t\tvalue: '3/4',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '2:3' ),\n\t\t\t\t\t\t\tvalue: '2/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_components","_blockEditor","SCALE_OPTIONS","_react","createElement","Fragment","__experimentalToggleGroupControlOption","value","label","_x","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","__","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","imageSizeOptions","availableUnits","useSettings","units","useCustomUnits","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","InspectorControls","group","__experimentalToolsPanelItem","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","SelectControl","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","__experimentalUnitControl","labelPosition","min","nextHeight","nextWidth","__experimentalToggleGroupControl","help","isBlock","length","nextSizeSlug","_default","exports","default"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { InspectorControls, useSettings } from '@wordpress/block-editor';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\timageSizeOptions = [],\n} ) => {\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) return;\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\treturn (\n\t\t<InspectorControls group=\"dimensions\">\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t// These should use the same values as AspectRatioDropdown in @wordpress/block-editor\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Original' ),\n\t\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Square' ),\n\t\t\t\t\t\t\tvalue: '1',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:9' ),\n\t\t\t\t\t\t\tvalue: '16/9',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '4:3' ),\n\t\t\t\t\t\t\tvalue: '4/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:2' ),\n\t\t\t\t\t\t\tvalue: '3/2',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '9:16' ),\n\t\t\t\t\t\t\tvalue: '9/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:4' ),\n\t\t\t\t\t\t\tvalue: '3/4',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '2:3' ),\n\t\t\t\t\t\t\tvalue: '2/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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"}
@@ -114,6 +114,7 @@ function PostFeaturedImageEdit({
114
114
  }
115
115
  });
116
116
  const borderProps = (0, _blockEditor.__experimentalUseBorderProps)(attributes);
117
+ const blockEditingMode = (0, _blockEditor.useBlockEditingMode)();
117
118
  const placeholder = content => {
118
119
  return (0, _react.createElement)(_components.Placeholder, {
119
120
  className: (0, _classnames.default)('block-editor-media-placeholder', borderProps.className),
@@ -138,7 +139,11 @@ function PostFeaturedImageEdit({
138
139
  type: 'snackbar'
139
140
  });
140
141
  };
141
- const controls = (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_dimensionControls.default, {
142
+ const controls = blockEditingMode === 'default' && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_overlay.default, {
143
+ attributes: attributes,
144
+ setAttributes: setAttributes,
145
+ clientId: clientId
146
+ }), (0, _react.createElement)(_dimensionControls.default, {
142
147
  clientId: clientId,
143
148
  attributes: attributes,
144
149
  setAttributes: setAttributes,
@@ -187,11 +192,7 @@ function PostFeaturedImageEdit({
187
192
  href: postPermalink,
188
193
  target: linkTarget,
189
194
  ...disabledClickProps
190
- }, placeholder()) : placeholder(), (0, _react.createElement)(_overlay.default, {
191
- attributes: attributes,
192
- setAttributes: setAttributes,
193
- clientId: clientId
194
- })));
195
+ }, placeholder()) : placeholder()));
195
196
  }
196
197
  const label = (0, _i18n.__)('Add a featured image');
197
198
  const imageStyles = {
@@ -265,10 +266,6 @@ function PostFeaturedImageEdit({
265
266
  href: postPermalink,
266
267
  target: linkTarget,
267
268
  ...disabledClickProps
268
- }, image) : image, (0, _react.createElement)(_overlay.default, {
269
- attributes: attributes,
270
- setAttributes: setAttributes,
271
- clientId: clientId
272
- })));
269
+ }, image) : image));
273
270
  }
274
271
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_data","_components","_blockEditor","_element","_i18n","_icons","_notices","_dimensionControls","_overlay","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","disabledClickProps","onClick","event","preventDefault","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","storedFeaturedImage","setFeaturedImage","useEntityProp","postContent","featuredImage","useMemo","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","useSelect","select","getMedia","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","imageSizes","blockEditorStore","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","useBlockProps","style","borderProps","useBorderProps","placeholder","content","_react","createElement","Placeholder","className","classnames","withIllustration","onSelectImage","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","controls","Fragment","default","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","labels","singular_name","sprintf","onChange","checked","TextControl","newRel","image","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","src","alt","alt_text","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","MenuItem"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nconst disabledClickProps = {\n\tonClick: ( event ) => event.preventDefault(),\n\t'aria-disabled': true,\n};\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Page\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a consious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_data","_components","_blockEditor","_element","_i18n","_icons","_notices","_dimensionControls","_overlay","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","disabledClickProps","onClick","event","preventDefault","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","storedFeaturedImage","setFeaturedImage","useEntityProp","postContent","featuredImage","useMemo","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","useSelect","select","getMedia","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","imageSizes","blockEditorStore","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","useBlockProps","style","borderProps","useBorderProps","blockEditingMode","useBlockEditingMode","placeholder","content","_react","createElement","Placeholder","className","classnames","withIllustration","onSelectImage","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","controls","Fragment","default","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","labels","singular_name","sprintf","onChange","checked","TextControl","newRel","image","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","src","alt","alt_text","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","MenuItem"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nconst disabledClickProps = {\n\tonClick: ( event ) => event.preventDefault(),\n\t'aria-disabled': true,\n};\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<Overlay\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Page\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a consious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_blockEditor","_i18n","_data","_coreData","PostNavigationLinkEdit","context","postType","attributes","type","label","showTitle","textAlign","linkLabel","arrow","taxonomy","setAttributes","isNext","placeholder","__","arrowMap","none","chevron","displayArrow","ariaLabel","blockProps","useBlockProps","className","classnames","taxonomies","useSelect","select","getTaxonomies","coreStore","filteredTaxonomies","per_page","getTaxonomyOptions","selectOption","value","taxonomyOptions","filter","visibility","publicly_queryable","map","item","slug","name","_react","createElement","Fragment","InspectorControls","PanelBody","ToggleControl","__nextHasNoMarginBottom","help","checked","onChange","__experimentalToggleGroupControl","isBlock","__experimentalToggleGroupControlOption","_x","group","SelectControl","options","BlockControls","AlignmentToolbar","nextAlign","RichText","tagName","allowedFormats","newLabel","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/post-navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToggleControl,\n\tSelectControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tRichText,\n\tBlockControls,\n\tAlignmentToolbar,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nexport default function PostNavigationLinkEdit( {\n\tcontext: { postType },\n\tattributes: {\n\t\ttype,\n\t\tlabel,\n\t\tshowTitle,\n\t\ttextAlign,\n\t\tlinkLabel,\n\t\tarrow,\n\t\ttaxonomy,\n\t},\n\tsetAttributes,\n} ) {\n\tconst isNext = type === 'next';\n\tlet placeholder = isNext ? __( 'Next' ) : __( 'Previous' );\n\n\tconst arrowMap = {\n\t\tnone: '',\n\t\tarrow: isNext ? '→' : '←',\n\t\tchevron: isNext ? '»' : '«',\n\t};\n\n\tconst displayArrow = arrowMap[ arrow ];\n\n\tif ( showTitle ) {\n\t\t/* translators: Label before for next and previous post. There is a space after the colon. */\n\t\tplaceholder = isNext ? __( 'Next: ' ) : __( 'Previous: ' );\n\t}\n\n\tconst ariaLabel = isNext ? __( 'Next post' ) : __( 'Previous post' );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst taxonomies = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTaxonomies } = select( coreStore );\n\t\t\tconst filteredTaxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\t\t\treturn filteredTaxonomies;\n\t\t},\n\t\t[ postType ]\n\t);\n\tconst getTaxonomyOptions = () => {\n\t\tconst selectOption = {\n\t\t\tlabel: __( 'Unfiltered' ),\n\t\t\tvalue: '',\n\t\t};\n\t\tconst taxonomyOptions = ( taxonomies ?? [] )\n\t\t\t.filter( ( { visibility } ) => !! visibility?.publicly_queryable )\n\t\t\t.map( ( item ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: item.slug,\n\t\t\t\t\tlabel: item.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\treturn [ selectOption, ...taxonomyOptions ];\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display the title as a link' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'If you have entered a custom label, it will be prepended before the title.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ !! showTitle }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowTitle: ! showTitle,\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{ showTitle && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t'Include the label as part of the link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tchecked={ !! linkLabel }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkLabel: ! linkLabel,\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<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Arrow' ) }\n\t\t\t\t\t\tvalue={ arrow }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { arrow: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'A decorative arrow for the next and previous link.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"none\"\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'None',\n\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"arrow\"\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Arrow',\n\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"chevron\"\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Chevron',\n\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Filter by taxonomy' ) }\n\t\t\t\t\tvalue={ taxonomy }\n\t\t\t\t\toptions={ getTaxonomyOptions() }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttaxonomy: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Only link to posts that have the same taxonomy terms as the current post. For example the same tags or categories.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\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\t\t\t<div { ...blockProps }>\n\t\t\t\t{ ! isNext && displayArrow && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ `wp-block-post-navigation-link__arrow-previous is-arrow-${ arrow }` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ displayArrow }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tallowedFormats={ [ 'core/bold', 'core/italic' ] }\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ showTitle && (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"#post-navigation-pseudo-link\"\n\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'An example title' ) }\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ isNext && displayArrow && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ `wp-block-post-navigation-link__arrow-next is-arrow-${ arrow }` }\n\t\t\t\t\t\taria-hidden={ true }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ displayArrow }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAOA,IAAAE,YAAA,GAAAF,OAAA;AAOA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAxBA;AACA;AACA;;AAGA;AACA;AACA;;AAmBe,SAASM,sBAAsBA,CAAE;EAC/CC,OAAO,EAAE;IAAEC;EAAS,CAAC;EACrBC,UAAU,EAAE;IACXC,IAAI;IACJC,KAAK;IACLC,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC,KAAK;IACLC;EACD,CAAC;EACDC;AACD,CAAC,EAAG;EACH,MAAMC,MAAM,GAAGR,IAAI,KAAK,MAAM;EAC9B,IAAIS,WAAW,GAAGD,MAAM,GAAG,IAAAE,QAAE,EAAE,MAAO,CAAC,GAAG,IAAAA,QAAE,EAAE,UAAW,CAAC;EAE1D,MAAMC,QAAQ,GAAG;IAChBC,IAAI,EAAE,EAAE;IACRP,KAAK,EAAEG,MAAM,GAAG,GAAG,GAAG,GAAG;IACzBK,OAAO,EAAEL,MAAM,GAAG,GAAG,GAAG;EACzB,CAAC;EAED,MAAMM,YAAY,GAAGH,QAAQ,CAAEN,KAAK,CAAE;EAEtC,IAAKH,SAAS,EAAG;IAChB;IACAO,WAAW,GAAGD,MAAM,GAAG,IAAAE,QAAE,EAAE,QAAS,CAAC,GAAG,IAAAA,QAAE,EAAE,YAAa,CAAC;EAC3D;EAEA,MAAMK,SAAS,GAAGP,MAAM,GAAG,IAAAE,QAAE,EAAE,WAAY,CAAC,GAAG,IAAAA,QAAE,EAAE,eAAgB,CAAC;EACpE,MAAMM,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,SAAS,EAAE,IAAAC,mBAAU,EAAE;MACtB,CAAG,kBAAkBhB,SAAW,EAAC,GAAIA;IACtC,CAAE;EACH,CAAE,CAAC;EAEH,MAAMiB,UAAU,GAAG,IAAAC,eAAS,EACzBC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAc,CAAC,GAAGD,MAAM,CAAEE,eAAU,CAAC;IAC7C,MAAMC,kBAAkB,GAAGF,aAAa,CAAE;MACzCvB,IAAI,EAAEF,QAAQ;MACd4B,QAAQ,EAAE,CAAC;IACZ,CAAE,CAAC;IACH,OAAOD,kBAAkB;EAC1B,CAAC,EACD,CAAE3B,QAAQ,CACX,CAAC;EACD,MAAM6B,kBAAkB,GAAGA,CAAA,KAAM;IAChC,MAAMC,YAAY,GAAG;MACpB3B,KAAK,EAAE,IAAAS,QAAE,EAAE,YAAa,CAAC;MACzBmB,KAAK,EAAE;IACR,CAAC;IACD,MAAMC,eAAe,GAAG,CAAEV,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAE,EACxCW,MAAM,CAAE,CAAE;MAAEC;IAAW,CAAC,KAAM,CAAC,CAAEA,UAAU,EAAEC,kBAAmB,CAAC,CACjEC,GAAG,CAAIC,IAAI,IAAM;MACjB,OAAO;QACNN,KAAK,EAAEM,IAAI,CAACC,IAAI;QAChBnC,KAAK,EAAEkC,IAAI,CAACE;MACb,CAAC;IACF,CAAE,CAAC;IAEJ,OAAO,CAAET,YAAY,EAAE,GAAGE,eAAe,CAAE;EAC5C,CAAC;EAED,OACC,IAAAQ,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAC/C,YAAA,CAAAiD,iBAAiB,QACjB,IAAAH,MAAA,CAAAC,aAAA,EAAChD,WAAA,CAAAmD,SAAS,QACT,IAAAJ,MAAA,CAAAC,aAAA,EAAChD,WAAA,CAAAoD,aAAa;IACbC,uBAAuB;IACvB3C,KAAK,EAAG,IAAAS,QAAE,EAAE,6BAA8B,CAAG;IAC7CmC,IAAI,EAAG,IAAAnC,QAAE,EACR,4EACD,CAAG;IACHoC,OAAO,EAAG,CAAC,CAAE5C,SAAW;IACxB6C,QAAQ,EAAGA,CAAA,KACVxC,aAAa,CAAE;MACdL,SAAS,EAAE,CAAEA;IACd,CAAE;EACF,CACD,CAAC,EACAA,SAAS,IACV,IAAAoC,MAAA,CAAAC,aAAA,EAAChD,WAAA,CAAAoD,aAAa;IACbC,uBAAuB;IACvB3C,KAAK,EAAG,IAAAS,QAAE,EACT,uCACD,CAAG;IACHoC,OAAO,EAAG,CAAC,CAAE1C,SAAW;IACxB2C,QAAQ,EAAGA,CAAA,KACVxC,aAAa,CAAE;MACdH,SAAS,EAAE,CAAEA;IACd,CAAE;EACF,CACD,CACD,EACD,IAAAkC,MAAA,CAAAC,aAAA,EAAChD,WAAA,CAAAyD,gCAAkB;IAClBJ,uBAAuB;IACvB3C,KAAK,EAAG,IAAAS,QAAE,EAAE,OAAQ,CAAG;IACvBmB,KAAK,EAAGxB,KAAO;IACf0C,QAAQ,EAAKlB,KAAK,IAAM;MACvBtB,aAAa,CAAE;QAAEF,KAAK,EAAEwB;MAAM,CAAE,CAAC;IAClC,CAAG;IACHgB,IAAI,EAAG,IAAAnC,QAAE,EACR,oDACD,CAAG;IACHuC,OAAO;EAAA,GAEP,IAAAX,MAAA,CAAAC,aAAA,EAAChD,WAAA,CAAA2D,sCAAwB;IACxBrB,KAAK,EAAC,MAAM;IACZ5B,KAAK,EAAG,IAAAkD,QAAE,EACT,MAAM,EACN,qCACD;EAAG,CACH,CAAC,EACF,IAAAb,MAAA,CAAAC,aAAA,EAAChD,WAAA,CAAA2D,sCAAwB;IACxBrB,KAAK,EAAC,OAAO;IACb5B,KAAK,EAAG,IAAAkD,QAAE,EACT,OAAO,EACP,qCACD;EAAG,CACH,CAAC,EACF,IAAAb,MAAA,CAAAC,aAAA,EAAChD,WAAA,CAAA2D,sCAAwB;IACxBrB,KAAK,EAAC,SAAS;IACf5B,KAAK,EAAG,IAAAkD,QAAE,EACT,SAAS,EACT,qCACD;EAAG,CACH,CACkB,CACV,CACO,CAAC,EACpB,IAAAb,MAAA,CAAAC,aAAA,EAAC/C,YAAA,CAAAiD,iBAAiB;IAACW,KAAK,EAAC;EAAU,GAClC,IAAAd,MAAA,CAAAC,aAAA,EAAChD,WAAA,CAAA8D,aAAa;IACbpD,KAAK,EAAG,IAAAS,QAAE,EAAE,oBAAqB,CAAG;IACpCmB,KAAK,EAAGvB,QAAU;IAClBgD,OAAO,EAAG3B,kBAAkB,CAAC,CAAG;IAChCoB,QAAQ,EAAKlB,KAAK,IACjBtB,aAAa,CAAE;MACdD,QAAQ,EAAEuB;IACX,CAAE,CACF;IACDgB,IAAI,EAAG,IAAAnC,QAAE,EACR,oHACD;EAAG,CACH,CACiB,CAAC,EACpB,IAAA4B,MAAA,CAAAC,aAAA,EAAC/C,YAAA,CAAA+D,aAAa,QACb,IAAAjB,MAAA,CAAAC,aAAA,EAAC/C,YAAA,CAAAgE,gBAAgB;IAChB3B,KAAK,EAAG1B,SAAW;IACnB4C,QAAQ,EAAKU,SAAS,IAAM;MAC3BlD,aAAa,CAAE;QAAEJ,SAAS,EAAEsD;MAAU,CAAE,CAAC;IAC1C;EAAG,CACH,CACa,CAAC,EAChB,IAAAnB,MAAA,CAAAC,aAAA;IAAA,GAAUvB;EAAU,GACjB,CAAER,MAAM,IAAIM,YAAY,IACzB,IAAAwB,MAAA,CAAAC,aAAA;IACCrB,SAAS,EAAI,0DAA0Db,KAAO;EAAG,GAE/ES,YACG,CACN,EACD,IAAAwB,MAAA,CAAAC,aAAA,EAAC/C,YAAA,CAAAkE,QAAQ;IACRC,OAAO,EAAC,GAAG;IACX,cAAa5C,SAAW;IACxBN,WAAW,EAAGA,WAAa;IAC3BoB,KAAK,EAAG5B,KAAO;IACf2D,cAAc,EAAG,CAAE,WAAW,EAAE,aAAa,CAAI;IACjDb,QAAQ,EAAKc,QAAQ,IACpBtD,aAAa,CAAE;MAAEN,KAAK,EAAE4D;IAAS,CAAE;EACnC,CACD,CAAC,EACA3D,SAAS,IACV,IAAAoC,MAAA,CAAAC,aAAA;IACCuB,IAAI,EAAC,8BAA8B;IACnCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC;EAAG,GAE7C,IAAAvD,QAAE,EAAE,kBAAmB,CACvB,CACH,EACCF,MAAM,IAAIM,YAAY,IACvB,IAAAwB,MAAA,CAAAC,aAAA;IACCrB,SAAS,EAAI,sDAAsDb,KAAO,EAAG;IAC7E,eAAc;EAAM,GAElBS,YACG,CAEH,CACJ,CAAC;AAEL"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_blockEditor","_i18n","_data","_coreData","PostNavigationLinkEdit","context","postType","attributes","type","label","showTitle","textAlign","linkLabel","arrow","taxonomy","setAttributes","isNext","placeholder","__","arrowMap","none","chevron","displayArrow","ariaLabel","blockProps","useBlockProps","className","classnames","taxonomies","useSelect","select","getTaxonomies","coreStore","filteredTaxonomies","per_page","getTaxonomyOptions","selectOption","value","taxonomyOptions","filter","visibility","publicly_queryable","map","item","slug","name","_react","createElement","Fragment","InspectorControls","PanelBody","ToggleControl","__nextHasNoMarginBottom","help","checked","onChange","__experimentalToggleGroupControl","isBlock","__experimentalToggleGroupControlOption","_x","group","SelectControl","options","BlockControls","AlignmentToolbar","nextAlign","RichText","tagName","allowedFormats","newLabel","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/post-navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToggleControl,\n\tSelectControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tRichText,\n\tBlockControls,\n\tAlignmentToolbar,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nexport default function PostNavigationLinkEdit( {\n\tcontext: { postType },\n\tattributes: {\n\t\ttype,\n\t\tlabel,\n\t\tshowTitle,\n\t\ttextAlign,\n\t\tlinkLabel,\n\t\tarrow,\n\t\ttaxonomy,\n\t},\n\tsetAttributes,\n} ) {\n\tconst isNext = type === 'next';\n\tlet placeholder = isNext ? __( 'Next' ) : __( 'Previous' );\n\n\tconst arrowMap = {\n\t\tnone: '',\n\t\tarrow: isNext ? '→' : '←',\n\t\tchevron: isNext ? '»' : '«',\n\t};\n\n\tconst displayArrow = arrowMap[ arrow ];\n\n\tif ( showTitle ) {\n\t\t/* translators: Label before for next and previous post. There is a space after the colon. */\n\t\tplaceholder = isNext ? __( 'Next: ' ) : __( 'Previous: ' );\n\t}\n\n\tconst ariaLabel = isNext ? __( 'Next post' ) : __( 'Previous post' );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst taxonomies = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTaxonomies } = select( coreStore );\n\t\t\tconst filteredTaxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\t\t\treturn filteredTaxonomies;\n\t\t},\n\t\t[ postType ]\n\t);\n\tconst getTaxonomyOptions = () => {\n\t\tconst selectOption = {\n\t\t\tlabel: __( 'Unfiltered' ),\n\t\t\tvalue: '',\n\t\t};\n\t\tconst taxonomyOptions = ( taxonomies ?? [] )\n\t\t\t.filter( ( { visibility } ) => !! visibility?.publicly_queryable )\n\t\t\t.map( ( item ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: item.slug,\n\t\t\t\t\tlabel: item.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\treturn [ selectOption, ...taxonomyOptions ];\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display the title as a link' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'If you have entered a custom label, it will be prepended before the title.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ !! showTitle }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowTitle: ! showTitle,\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{ showTitle && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t'Include the label as part of the link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tchecked={ !! linkLabel }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkLabel: ! linkLabel,\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<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Arrow' ) }\n\t\t\t\t\t\tvalue={ arrow }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { arrow: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'A decorative arrow for the next and previous link.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"none\"\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'None',\n\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"arrow\"\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Arrow',\n\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"chevron\"\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Chevron',\n\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Filter by taxonomy' ) }\n\t\t\t\t\tvalue={ taxonomy }\n\t\t\t\t\toptions={ getTaxonomyOptions() }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttaxonomy: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Only link to posts that have the same taxonomy terms as the current post. For example the same tags or categories.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\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\t\t\t<div { ...blockProps }>\n\t\t\t\t{ ! isNext && displayArrow && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ `wp-block-post-navigation-link__arrow-previous is-arrow-${ arrow }` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ displayArrow }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tallowedFormats={ [ 'core/bold', 'core/italic' ] }\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ showTitle && (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"#post-navigation-pseudo-link\"\n\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'An example title' ) }\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ isNext && displayArrow && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ `wp-block-post-navigation-link__arrow-next is-arrow-${ arrow }` }\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t{ displayArrow }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -105,7 +105,7 @@ function PostTitleEdit({
105
105
  }
106
106
  }));
107
107
  }
108
- return (0, _react.createElement)(_react.Fragment, null, blockEditingMode === 'default' && (0, _react.createElement)(_blockEditor.BlockControls, {
108
+ return (0, _react.createElement)(_react.Fragment, null, blockEditingMode === 'default' && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_blockEditor.BlockControls, {
109
109
  group: "block"
110
110
  }, (0, _react.createElement)(_blockEditor.HeadingLevelDropdown, {
111
111
  value: level,
@@ -142,6 +142,6 @@ function PostTitleEdit({
142
142
  onChange: newRel => setAttributes({
143
143
  rel: newRel
144
144
  })
145
- })))), titleElement);
145
+ }))))), titleElement);
146
146
  }
147
147
  //# sourceMappingURL=edit.js.map