@wordpress/editor 14.9.0 → 14.10.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 (338) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/bindings/api.js +0 -29
  3. package/build/bindings/api.js.map +1 -1
  4. package/build/components/autocompleters/user.js.map +1 -1
  5. package/build/components/block-manager/index.js +2 -2
  6. package/build/components/block-manager/index.js.map +1 -1
  7. package/build/components/commands/index.js.map +1 -1
  8. package/build/components/create-template-part-modal/index.js.map +1 -1
  9. package/build/components/create-template-part-modal/utils.js.map +1 -1
  10. package/build/components/document-outline/index.js.map +1 -1
  11. package/build/components/document-outline/item.js.map +1 -1
  12. package/build/components/document-tools/index.js +1 -1
  13. package/build/components/document-tools/index.js.map +1 -1
  14. package/build/components/editor-interface/index.js +1 -12
  15. package/build/components/editor-interface/index.js.map +1 -1
  16. package/build/components/entities-saved-states/index.js +1 -1
  17. package/build/components/entities-saved-states/index.js.map +1 -1
  18. package/build/components/media-categories/index.js.map +1 -1
  19. package/build/components/page-attributes/parent.js +1 -1
  20. package/build/components/page-attributes/parent.js.map +1 -1
  21. package/build/components/plugin-document-setting-panel/index.js.map +1 -1
  22. package/build/components/post-actions/index.js.map +1 -1
  23. package/build/components/post-content-information/index.js +1 -1
  24. package/build/components/post-content-information/index.js.map +1 -1
  25. package/build/components/post-featured-image/index.js.map +1 -1
  26. package/build/components/post-format/index.js +1 -1
  27. package/build/components/post-format/index.js.map +1 -1
  28. package/build/components/post-last-revision/index.js +1 -1
  29. package/build/components/post-last-revision/index.js.map +1 -1
  30. package/build/components/post-locked-modal/index.js +2 -2
  31. package/build/components/post-locked-modal/index.js.map +1 -1
  32. package/build/components/post-preview-button/index.js +1 -1
  33. package/build/components/post-preview-button/index.js.map +1 -1
  34. package/build/components/post-publish-button/index.js.map +1 -1
  35. package/build/components/post-publish-panel/maybe-post-format-panel.js +1 -1
  36. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  37. package/build/components/post-publish-panel/maybe-upload-media.js +1 -0
  38. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  39. package/build/components/post-publish-panel/media-util.js +1 -0
  40. package/build/components/post-publish-panel/media-util.js.map +1 -1
  41. package/build/components/post-publish-panel/postpublish.js +1 -1
  42. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  43. package/build/components/post-schedule/label.js.map +1 -1
  44. package/build/components/post-taxonomies/flat-term-selector.js +4 -4
  45. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  46. package/build/components/post-taxonomies/hierarchical-term-selector.js +3 -2
  47. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  48. package/build/components/post-taxonomies/index.js +1 -1
  49. package/build/components/post-taxonomies/index.js.map +1 -1
  50. package/build/components/post-taxonomies/panel.js.map +1 -1
  51. package/build/components/post-template/classic-theme.js +2 -4
  52. package/build/components/post-template/classic-theme.js.map +1 -1
  53. package/build/components/post-text-editor/index.js.map +1 -1
  54. package/build/components/post-title/index.js +15 -19
  55. package/build/components/post-title/index.js.map +1 -1
  56. package/build/components/post-title/index.native.js +2 -2
  57. package/build/components/post-title/index.native.js.map +1 -1
  58. package/build/components/post-url/index.js +76 -63
  59. package/build/components/post-url/index.js.map +1 -1
  60. package/build/components/post-url/panel.js +46 -26
  61. package/build/components/post-url/panel.js.map +1 -1
  62. package/build/components/post-visibility/index.js.map +1 -1
  63. package/build/components/preferences-modal/index.js.map +1 -1
  64. package/build/components/preview-dropdown/index.js.map +1 -1
  65. package/build/components/provider/index.js +1 -1
  66. package/build/components/provider/index.js.map +1 -1
  67. package/build/components/resizable-editor/resize-handle.js.map +1 -1
  68. package/build/components/time-to-read/index.js +1 -1
  69. package/build/components/time-to-read/index.js.map +1 -1
  70. package/build/components/visual-editor/edit-template-blocks-notification.js +4 -1
  71. package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
  72. package/build/components/visual-editor/index.js +4 -3
  73. package/build/components/visual-editor/index.js.map +1 -1
  74. package/build/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
  75. package/build/dataviews/actions/duplicate-template-part.js +1 -1
  76. package/build/dataviews/actions/duplicate-template-part.js.map +1 -1
  77. package/build/private-apis.js +0 -1
  78. package/build/private-apis.js.map +1 -1
  79. package/build/store/actions.js +26 -1
  80. package/build/store/actions.js.map +1 -1
  81. package/build/store/constants.js +1 -0
  82. package/build/store/constants.js.map +1 -1
  83. package/build/store/local-autosave.js.map +1 -1
  84. package/build/store/private-actions.js +7 -6
  85. package/build/store/private-actions.js.map +1 -1
  86. package/build/store/selectors.js +21 -0
  87. package/build/store/selectors.js.map +1 -1
  88. package/build/utils/media-upload/index.js.map +1 -1
  89. package/build-module/bindings/api.js +1 -29
  90. package/build-module/bindings/api.js.map +1 -1
  91. package/build-module/components/autocompleters/user.js +1 -3
  92. package/build-module/components/autocompleters/user.js.map +1 -1
  93. package/build-module/components/block-manager/category.js +1 -2
  94. package/build-module/components/block-manager/category.js.map +1 -1
  95. package/build-module/components/block-manager/checklist.js +1 -2
  96. package/build-module/components/block-manager/checklist.js.map +1 -1
  97. package/build-module/components/block-manager/index.js +3 -4
  98. package/build-module/components/block-manager/index.js.map +1 -1
  99. package/build-module/components/block-settings-menu/content-only-settings-menu.js +1 -3
  100. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  101. package/build-module/components/blog-title/index.js +1 -3
  102. package/build-module/components/blog-title/index.js.map +1 -1
  103. package/build-module/components/collapsible-block-toolbar/index.js +1 -3
  104. package/build-module/components/collapsible-block-toolbar/index.js.map +1 -1
  105. package/build-module/components/commands/index.js.map +1 -1
  106. package/build-module/components/create-template-part-modal/index.js +1 -2
  107. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  108. package/build-module/components/create-template-part-modal/utils.js.map +1 -1
  109. package/build-module/components/document-bar/index.js +1 -2
  110. package/build-module/components/document-bar/index.js.map +1 -1
  111. package/build-module/components/document-outline/index.js +1 -2
  112. package/build-module/components/document-outline/index.js.map +1 -1
  113. package/build-module/components/document-outline/item.js +1 -2
  114. package/build-module/components/document-outline/item.js.map +1 -1
  115. package/build-module/components/document-tools/index.js +2 -4
  116. package/build-module/components/document-tools/index.js.map +1 -1
  117. package/build-module/components/editor/index.js +1 -3
  118. package/build-module/components/editor/index.js.map +1 -1
  119. package/build-module/components/editor-help/add-blocks.native.js +1 -3
  120. package/build-module/components/editor-help/add-blocks.native.js.map +1 -1
  121. package/build-module/components/editor-help/customize-blocks.native.js +1 -3
  122. package/build-module/components/editor-help/customize-blocks.native.js.map +1 -1
  123. package/build-module/components/editor-help/help-detail-navigation-screen.native.js +1 -2
  124. package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  125. package/build-module/components/editor-help/index.native.js +1 -3
  126. package/build-module/components/editor-help/index.native.js.map +1 -1
  127. package/build-module/components/editor-help/intro-to-blocks.native.js +1 -3
  128. package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
  129. package/build-module/components/editor-help/move-blocks.native.js +1 -3
  130. package/build-module/components/editor-help/move-blocks.native.js.map +1 -1
  131. package/build-module/components/editor-help/remove-blocks.native.js +1 -3
  132. package/build-module/components/editor-help/remove-blocks.native.js.map +1 -1
  133. package/build-module/components/editor-help/view-sections.native.js +1 -2
  134. package/build-module/components/editor-help/view-sections.native.js.map +1 -1
  135. package/build-module/components/editor-interface/index.js +2 -15
  136. package/build-module/components/editor-interface/index.js.map +1 -1
  137. package/build-module/components/editor-notices/index.js +1 -3
  138. package/build-module/components/editor-notices/index.js.map +1 -1
  139. package/build-module/components/entities-saved-states/entity-record-item.js +1 -3
  140. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  141. package/build-module/components/entities-saved-states/entity-type-list.js +1 -2
  142. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  143. package/build-module/components/entities-saved-states/index.js +2 -3
  144. package/build-module/components/entities-saved-states/index.js.map +1 -1
  145. package/build-module/components/error-boundary/index.native.js +1 -2
  146. package/build-module/components/error-boundary/index.native.js.map +1 -1
  147. package/build-module/components/header/index.js +1 -2
  148. package/build-module/components/header/index.js.map +1 -1
  149. package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -2
  150. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  151. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +1 -3
  152. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  153. package/build-module/components/list-view-sidebar/list-view-outline.js +1 -3
  154. package/build-module/components/list-view-sidebar/list-view-outline.js.map +1 -1
  155. package/build-module/components/media-categories/index.js.map +1 -1
  156. package/build-module/components/more-menu/index.js +1 -3
  157. package/build-module/components/more-menu/index.js.map +1 -1
  158. package/build-module/components/offline-status/index.native.js +1 -2
  159. package/build-module/components/offline-status/index.native.js.map +1 -1
  160. package/build-module/components/page-attributes/parent.js +2 -3
  161. package/build-module/components/page-attributes/parent.js.map +1 -1
  162. package/build-module/components/plugin-document-setting-panel/index.js +1 -3
  163. package/build-module/components/plugin-document-setting-panel/index.js.map +1 -1
  164. package/build-module/components/post-actions/index.js +1 -3
  165. package/build-module/components/post-actions/index.js.map +1 -1
  166. package/build-module/components/post-author/panel.js +1 -2
  167. package/build-module/components/post-author/panel.js.map +1 -1
  168. package/build-module/components/post-card-panel/index.js +1 -2
  169. package/build-module/components/post-card-panel/index.js.map +1 -1
  170. package/build-module/components/post-content-information/index.js +1 -1
  171. package/build-module/components/post-content-information/index.js.map +1 -1
  172. package/build-module/components/post-discussion/panel.js +1 -2
  173. package/build-module/components/post-discussion/panel.js.map +1 -1
  174. package/build-module/components/post-excerpt/panel.js +1 -3
  175. package/build-module/components/post-excerpt/panel.js.map +1 -1
  176. package/build-module/components/post-featured-image/index.js +1 -2
  177. package/build-module/components/post-featured-image/index.js.map +1 -1
  178. package/build-module/components/post-format/index.js +2 -3
  179. package/build-module/components/post-format/index.js.map +1 -1
  180. package/build-module/components/post-format/panel.js +1 -2
  181. package/build-module/components/post-format/panel.js.map +1 -1
  182. package/build-module/components/post-last-revision/index.js +1 -1
  183. package/build-module/components/post-last-revision/index.js.map +1 -1
  184. package/build-module/components/post-locked-modal/index.js +3 -5
  185. package/build-module/components/post-locked-modal/index.js.map +1 -1
  186. package/build-module/components/post-panel-row/index.js +1 -2
  187. package/build-module/components/post-panel-row/index.js.map +1 -1
  188. package/build-module/components/post-preview-button/index.js +2 -4
  189. package/build-module/components/post-preview-button/index.js.map +1 -1
  190. package/build-module/components/post-publish-button/index.js +1 -2
  191. package/build-module/components/post-publish-button/index.js.map +1 -1
  192. package/build-module/components/post-publish-panel/index.js +1 -3
  193. package/build-module/components/post-publish-panel/index.js.map +1 -1
  194. package/build-module/components/post-publish-panel/maybe-category-panel.js +1 -2
  195. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  196. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +2 -3
  197. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  198. package/build-module/components/post-publish-panel/maybe-tags-panel.js +1 -2
  199. package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  200. package/build-module/components/post-publish-panel/maybe-upload-media.js +2 -2
  201. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  202. package/build-module/components/post-publish-panel/media-util.js +1 -0
  203. package/build-module/components/post-publish-panel/media-util.js.map +1 -1
  204. package/build-module/components/post-publish-panel/postpublish.js +2 -4
  205. package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
  206. package/build-module/components/post-publish-panel/prepublish.js +1 -3
  207. package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
  208. package/build-module/components/post-saved-state/index.js +1 -2
  209. package/build-module/components/post-saved-state/index.js.map +1 -1
  210. package/build-module/components/post-schedule/label.js.map +1 -1
  211. package/build-module/components/post-status/index.js +1 -3
  212. package/build-module/components/post-status/index.js.map +1 -1
  213. package/build-module/components/post-switch-to-draft-button/index.js +1 -3
  214. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  215. package/build-module/components/post-taxonomies/flat-term-selector.js +5 -7
  216. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  217. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +4 -4
  218. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  219. package/build-module/components/post-taxonomies/index.js +1 -1
  220. package/build-module/components/post-taxonomies/index.js.map +1 -1
  221. package/build-module/components/post-taxonomies/most-used-terms.js +1 -2
  222. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  223. package/build-module/components/post-taxonomies/panel.js.map +1 -1
  224. package/build-module/components/post-template/block-theme.js +1 -3
  225. package/build-module/components/post-template/block-theme.js.map +1 -1
  226. package/build-module/components/post-template/classic-theme.js +3 -6
  227. package/build-module/components/post-template/classic-theme.js.map +1 -1
  228. package/build-module/components/post-template/create-new-template-modal.js +1 -2
  229. package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
  230. package/build-module/components/post-template/create-new-template.js +1 -3
  231. package/build-module/components/post-template/create-new-template.js.map +1 -1
  232. package/build-module/components/post-template/swap-template-button.js +1 -3
  233. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  234. package/build-module/components/post-text-editor/index.js +1 -3
  235. package/build-module/components/post-text-editor/index.js.map +1 -1
  236. package/build-module/components/post-title/index.js +15 -19
  237. package/build-module/components/post-title/index.js.map +1 -1
  238. package/build-module/components/post-title/index.native.js +2 -2
  239. package/build-module/components/post-title/index.native.js.map +1 -1
  240. package/build-module/components/post-trash/index.js +1 -2
  241. package/build-module/components/post-trash/index.js.map +1 -1
  242. package/build-module/components/post-url/index.js +78 -66
  243. package/build-module/components/post-url/index.js.map +1 -1
  244. package/build-module/components/post-url/panel.js +48 -28
  245. package/build-module/components/post-url/panel.js.map +1 -1
  246. package/build-module/components/post-visibility/index.js +1 -2
  247. package/build-module/components/post-visibility/index.js.map +1 -1
  248. package/build-module/components/posts-per-page/index.js +1 -3
  249. package/build-module/components/posts-per-page/index.js.map +1 -1
  250. package/build-module/components/preferences-modal/index.js +1 -3
  251. package/build-module/components/preferences-modal/index.js.map +1 -1
  252. package/build-module/components/preview-dropdown/index.js +1 -3
  253. package/build-module/components/preview-dropdown/index.js.map +1 -1
  254. package/build-module/components/provider/index.js +2 -4
  255. package/build-module/components/provider/index.js.map +1 -1
  256. package/build-module/components/provider/index.native.js +1 -3
  257. package/build-module/components/provider/index.native.js.map +1 -1
  258. package/build-module/components/resizable-editor/resize-handle.js +1 -3
  259. package/build-module/components/resizable-editor/resize-handle.js.map +1 -1
  260. package/build-module/components/save-publish-panels/index.js +1 -3
  261. package/build-module/components/save-publish-panels/index.js.map +1 -1
  262. package/build-module/components/sidebar/header.js +1 -2
  263. package/build-module/components/sidebar/header.js.map +1 -1
  264. package/build-module/components/sidebar/index.js +1 -2
  265. package/build-module/components/sidebar/index.js.map +1 -1
  266. package/build-module/components/sidebar/post-summary.js +1 -3
  267. package/build-module/components/sidebar/post-summary.js.map +1 -1
  268. package/build-module/components/site-discussion/index.js +1 -3
  269. package/build-module/components/site-discussion/index.js.map +1 -1
  270. package/build-module/components/start-template-options/index.js +1 -2
  271. package/build-module/components/start-template-options/index.js.map +1 -1
  272. package/build-module/components/table-of-contents/panel.js +1 -3
  273. package/build-module/components/table-of-contents/panel.js.map +1 -1
  274. package/build-module/components/template-part-menu-items/convert-to-template-part.js +1 -3
  275. package/build-module/components/template-part-menu-items/convert-to-template-part.js.map +1 -1
  276. package/build-module/components/template-validation-notice/index.js +1 -3
  277. package/build-module/components/template-validation-notice/index.js.map +1 -1
  278. package/build-module/components/text-editor/index.js +1 -2
  279. package/build-module/components/text-editor/index.js.map +1 -1
  280. package/build-module/components/time-to-read/index.js +1 -1
  281. package/build-module/components/time-to-read/index.js.map +1 -1
  282. package/build-module/components/visual-editor/edit-template-blocks-notification.js +4 -1
  283. package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
  284. package/build-module/components/visual-editor/index.js +5 -6
  285. package/build-module/components/visual-editor/index.js.map +1 -1
  286. package/build-module/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
  287. package/build-module/dataviews/actions/duplicate-template-part.js +1 -1
  288. package/build-module/dataviews/actions/duplicate-template-part.js.map +1 -1
  289. package/build-module/hooks/pattern-overrides.js +1 -3
  290. package/build-module/hooks/pattern-overrides.js.map +1 -1
  291. package/build-module/private-apis.js +1 -2
  292. package/build-module/private-apis.js.map +1 -1
  293. package/build-module/store/actions.js +26 -1
  294. package/build-module/store/actions.js.map +1 -1
  295. package/build-module/store/constants.js +1 -0
  296. package/build-module/store/constants.js.map +1 -1
  297. package/build-module/store/local-autosave.js.map +1 -1
  298. package/build-module/store/private-actions.js +7 -6
  299. package/build-module/store/private-actions.js.map +1 -1
  300. package/build-module/store/selectors.js +21 -0
  301. package/build-module/store/selectors.js.map +1 -1
  302. package/build-module/utils/media-upload/index.js.map +1 -1
  303. package/build-style/style-rtl.css +20 -5
  304. package/build-style/style.css +20 -5
  305. package/build-types/bindings/api.d.ts +0 -13
  306. package/build-types/bindings/api.d.ts.map +1 -1
  307. package/build-types/components/editor-interface/index.d.ts +1 -2
  308. package/build-types/components/editor-interface/index.d.ts.map +1 -1
  309. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  310. package/build-types/components/post-template/classic-theme.d.ts.map +1 -1
  311. package/build-types/components/post-url/index.d.ts.map +1 -1
  312. package/build-types/components/post-url/panel.d.ts.map +1 -1
  313. package/build-types/components/provider/index.d.ts.map +1 -1
  314. package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts.map +1 -1
  315. package/build-types/components/visual-editor/index.d.ts.map +1 -1
  316. package/build-types/private-apis.d.ts.map +1 -1
  317. package/build-types/store/actions.d.ts +1 -4
  318. package/build-types/store/actions.d.ts.map +1 -1
  319. package/build-types/store/selectors.d.ts +21 -0
  320. package/build-types/store/selectors.d.ts.map +1 -1
  321. package/package.json +38 -38
  322. package/src/bindings/api.js +1 -32
  323. package/src/components/document-tools/index.js +1 -1
  324. package/src/components/editor-interface/index.js +0 -15
  325. package/src/components/header/style.scss +1 -0
  326. package/src/components/post-saved-state/test/__snapshots__/index.js.snap +1 -1
  327. package/src/components/post-taxonomies/hierarchical-term-selector.js +1 -0
  328. package/src/components/post-template/classic-theme.js +1 -2
  329. package/src/components/post-url/index.js +67 -55
  330. package/src/components/post-url/panel.js +57 -33
  331. package/src/components/post-url/style.scss +21 -3
  332. package/src/components/provider/index.js +1 -0
  333. package/src/components/visual-editor/edit-template-blocks-notification.js +5 -1
  334. package/src/components/visual-editor/index.js +3 -1
  335. package/src/private-apis.js +1 -5
  336. package/src/store/actions.js +28 -1
  337. package/src/store/selectors.js +21 -0
  338. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Textarea","__","store","coreStore","useMemo","__unstableSerializeAndClean","useDispatch","useSelect","useInstanceId","VisuallyHidden","editorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PostTextEditor","instanceId","content","blocks","type","id","select","getEditedEntityRecord","getCurrentPostType","getCurrentPostId","_type","_id","editedRecord","editEntityRecord","value","Function","children","as","htmlFor","autoComplete","dir","onChange","event","target","undefined","selection","className","placeholder"],"sources":["@wordpress/editor/src/components/post-text-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport Textarea from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { VisuallyHidden } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Displays the Post Text Editor along with content in Visual and Text mode.\n *\n * @return {JSX.Element|null} The rendered PostTextEditor component.\n */\nexport default function PostTextEditor() {\n\tconst instanceId = useInstanceId( PostTextEditor );\n\tconst { content, blocks, type, id } = useSelect( ( select ) => {\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst { getCurrentPostType, getCurrentPostId } = select( editorStore );\n\t\tconst _type = getCurrentPostType();\n\t\tconst _id = getCurrentPostId();\n\t\tconst editedRecord = getEditedEntityRecord( 'postType', _type, _id );\n\n\t\treturn {\n\t\t\tcontent: editedRecord?.content,\n\t\t\tblocks: editedRecord?.blocks,\n\t\t\ttype: _type,\n\t\t\tid: _id,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\t// Replicates the logic found in getEditedPostContent().\n\tconst value = useMemo( () => {\n\t\tif ( content instanceof Function ) {\n\t\t\treturn content( { blocks } );\n\t\t} else if ( blocks ) {\n\t\t\t// If we have parsed blocks already, they should be our source of truth.\n\t\t\t// Parsing applies block deprecations and legacy block conversions that\n\t\t\t// unparsed content will not have.\n\t\t\treturn __unstableSerializeAndClean( blocks );\n\t\t}\n\t\treturn content;\n\t}, [ content, blocks ] );\n\n\treturn (\n\t\t<>\n\t\t\t<VisuallyHidden\n\t\t\t\tas=\"label\"\n\t\t\t\thtmlFor={ `post-content-${ instanceId }` }\n\t\t\t>\n\t\t\t\t{ __( 'Type text or HTML' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t<Textarea\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tdir=\"auto\"\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\teditEntityRecord( 'postType', type, id, {\n\t\t\t\t\t\tcontent: event.target.value,\n\t\t\t\t\t\tblocks: undefined,\n\t\t\t\t\t\tselection: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tclassName=\"editor-post-text-editor\"\n\t\t\t\tid={ `post-content-${ instanceId }` }\n\t\t\t\tplaceholder={ __( 'Start writing with text or HTML' ) }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,yBAAyB;;AAE9C;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,2BAA2B,QAAQ,mBAAmB;AAC/D,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,cAAc,QAAQ,uBAAuB;;AAEtD;AACA;AACA;AACA,SAASP,KAAK,IAAIQ,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAKA,eAAe,SAASC,cAAcA,CAAA,EAAG;EACxC,MAAMC,UAAU,GAAGV,aAAa,CAAES,cAAe,CAAC;EAClD,MAAM;IAAEE,OAAO;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAG,CAAC,GAAGf,SAAS,CAAIgB,MAAM,IAAM;IAC9D,MAAM;MAAEC;IAAsB,CAAC,GAAGD,MAAM,CAAEpB,SAAU,CAAC;IACrD,MAAM;MAAEsB,kBAAkB;MAAEC;IAAiB,CAAC,GAAGH,MAAM,CAAEb,WAAY,CAAC;IACtE,MAAMiB,KAAK,GAAGF,kBAAkB,CAAC,CAAC;IAClC,MAAMG,GAAG,GAAGF,gBAAgB,CAAC,CAAC;IAC9B,MAAMG,YAAY,GAAGL,qBAAqB,CAAE,UAAU,EAAEG,KAAK,EAAEC,GAAI,CAAC;IAEpE,OAAO;MACNT,OAAO,EAAEU,YAAY,EAAEV,OAAO;MAC9BC,MAAM,EAAES,YAAY,EAAET,MAAM;MAC5BC,IAAI,EAAEM,KAAK;MACXL,EAAE,EAAEM;IACL,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEE;EAAiB,CAAC,GAAGxB,WAAW,CAAEH,SAAU,CAAC;EACrD;EACA,MAAM4B,KAAK,GAAG3B,OAAO,CAAE,MAAM;IAC5B,IAAKe,OAAO,YAAYa,QAAQ,EAAG;MAClC,OAAOb,OAAO,CAAE;QAAEC;MAAO,CAAE,CAAC;IAC7B,CAAC,MAAM,IAAKA,MAAM,EAAG;MACpB;MACA;MACA;MACA,OAAOf,2BAA2B,CAAEe,MAAO,CAAC;IAC7C;IACA,OAAOD,OAAO;EACf,CAAC,EAAE,CAAEA,OAAO,EAAEC,MAAM,CAAG,CAAC;EAExB,oBACCJ,KAAA,CAAAF,SAAA;IAAAmB,QAAA,gBACCrB,IAAA,CAACH,cAAc;MACdyB,EAAE,EAAC,OAAO;MACVC,OAAO,EAAI,gBAAgBjB,UAAY,EAAG;MAAAe,QAAA,EAExChC,EAAE,CAAE,mBAAoB;IAAC,CACZ,CAAC,eACjBW,IAAA,CAACZ,QAAQ;MACRoC,YAAY,EAAC,KAAK;MAClBC,GAAG,EAAC,MAAM;MACVN,KAAK,EAAGA,KAAO;MACfO,QAAQ,EAAKC,KAAK,IAAM;QACvBT,gBAAgB,CAAE,UAAU,EAAET,IAAI,EAAEC,EAAE,EAAE;UACvCH,OAAO,EAAEoB,KAAK,CAACC,MAAM,CAACT,KAAK;UAC3BX,MAAM,EAAEqB,SAAS;UACjBC,SAAS,EAAED;QACZ,CAAE,CAAC;MACJ,CAAG;MACHE,SAAS,EAAC,yBAAyB;MACnCrB,EAAE,EAAI,gBAAgBJ,UAAY,EAAG;MACrC0B,WAAW,EAAG3C,EAAE,CAAE,iCAAkC;IAAG,CACvD,CAAC;EAAA,CACD,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["Textarea","__","store","coreStore","useMemo","__unstableSerializeAndClean","useDispatch","useSelect","useInstanceId","VisuallyHidden","editorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PostTextEditor","instanceId","content","blocks","type","id","select","getEditedEntityRecord","getCurrentPostType","getCurrentPostId","_type","_id","editedRecord","editEntityRecord","value","Function","children","as","htmlFor","autoComplete","dir","onChange","event","target","undefined","selection","className","placeholder"],"sources":["@wordpress/editor/src/components/post-text-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport Textarea from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { VisuallyHidden } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Displays the Post Text Editor along with content in Visual and Text mode.\n *\n * @return {JSX.Element|null} The rendered PostTextEditor component.\n */\nexport default function PostTextEditor() {\n\tconst instanceId = useInstanceId( PostTextEditor );\n\tconst { content, blocks, type, id } = useSelect( ( select ) => {\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst { getCurrentPostType, getCurrentPostId } = select( editorStore );\n\t\tconst _type = getCurrentPostType();\n\t\tconst _id = getCurrentPostId();\n\t\tconst editedRecord = getEditedEntityRecord( 'postType', _type, _id );\n\n\t\treturn {\n\t\t\tcontent: editedRecord?.content,\n\t\t\tblocks: editedRecord?.blocks,\n\t\t\ttype: _type,\n\t\t\tid: _id,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\t// Replicates the logic found in getEditedPostContent().\n\tconst value = useMemo( () => {\n\t\tif ( content instanceof Function ) {\n\t\t\treturn content( { blocks } );\n\t\t} else if ( blocks ) {\n\t\t\t// If we have parsed blocks already, they should be our source of truth.\n\t\t\t// Parsing applies block deprecations and legacy block conversions that\n\t\t\t// unparsed content will not have.\n\t\t\treturn __unstableSerializeAndClean( blocks );\n\t\t}\n\t\treturn content;\n\t}, [ content, blocks ] );\n\n\treturn (\n\t\t<>\n\t\t\t<VisuallyHidden\n\t\t\t\tas=\"label\"\n\t\t\t\thtmlFor={ `post-content-${ instanceId }` }\n\t\t\t>\n\t\t\t\t{ __( 'Type text or HTML' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t<Textarea\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tdir=\"auto\"\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\teditEntityRecord( 'postType', type, id, {\n\t\t\t\t\t\tcontent: event.target.value,\n\t\t\t\t\t\tblocks: undefined,\n\t\t\t\t\t\tselection: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tclassName=\"editor-post-text-editor\"\n\t\t\t\tid={ `post-content-${ instanceId }` }\n\t\t\t\tplaceholder={ __( 'Start writing with text or HTML' ) }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,yBAAyB;;AAE9C;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,2BAA2B,QAAQ,mBAAmB;AAC/D,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,cAAc,QAAQ,uBAAuB;;AAEtD;AACA;AACA;AACA,SAASP,KAAK,IAAIQ,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,eAAe,SAASC,cAAcA,CAAA,EAAG;EACxC,MAAMC,UAAU,GAAGV,aAAa,CAAES,cAAe,CAAC;EAClD,MAAM;IAAEE,OAAO;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAG,CAAC,GAAGf,SAAS,CAAIgB,MAAM,IAAM;IAC9D,MAAM;MAAEC;IAAsB,CAAC,GAAGD,MAAM,CAAEpB,SAAU,CAAC;IACrD,MAAM;MAAEsB,kBAAkB;MAAEC;IAAiB,CAAC,GAAGH,MAAM,CAAEb,WAAY,CAAC;IACtE,MAAMiB,KAAK,GAAGF,kBAAkB,CAAC,CAAC;IAClC,MAAMG,GAAG,GAAGF,gBAAgB,CAAC,CAAC;IAC9B,MAAMG,YAAY,GAAGL,qBAAqB,CAAE,UAAU,EAAEG,KAAK,EAAEC,GAAI,CAAC;IAEpE,OAAO;MACNT,OAAO,EAAEU,YAAY,EAAEV,OAAO;MAC9BC,MAAM,EAAES,YAAY,EAAET,MAAM;MAC5BC,IAAI,EAAEM,KAAK;MACXL,EAAE,EAAEM;IACL,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEE;EAAiB,CAAC,GAAGxB,WAAW,CAAEH,SAAU,CAAC;EACrD;EACA,MAAM4B,KAAK,GAAG3B,OAAO,CAAE,MAAM;IAC5B,IAAKe,OAAO,YAAYa,QAAQ,EAAG;MAClC,OAAOb,OAAO,CAAE;QAAEC;MAAO,CAAE,CAAC;IAC7B,CAAC,MAAM,IAAKA,MAAM,EAAG;MACpB;MACA;MACA;MACA,OAAOf,2BAA2B,CAAEe,MAAO,CAAC;IAC7C;IACA,OAAOD,OAAO;EACf,CAAC,EAAE,CAAEA,OAAO,EAAEC,MAAM,CAAG,CAAC;EAExB,oBACCJ,KAAA,CAAAF,SAAA;IAAAmB,QAAA,gBACCrB,IAAA,CAACH,cAAc;MACdyB,EAAE,EAAC,OAAO;MACVC,OAAO,EAAG,gBAAiBjB,UAAU,EAAK;MAAAe,QAAA,EAExChC,EAAE,CAAE,mBAAoB;IAAC,CACZ,CAAC,eACjBW,IAAA,CAACZ,QAAQ;MACRoC,YAAY,EAAC,KAAK;MAClBC,GAAG,EAAC,MAAM;MACVN,KAAK,EAAGA,KAAO;MACfO,QAAQ,EAAKC,KAAK,IAAM;QACvBT,gBAAgB,CAAE,UAAU,EAAET,IAAI,EAAEC,EAAE,EAAE;UACvCH,OAAO,EAAEoB,KAAK,CAACC,MAAM,CAACT,KAAK;UAC3BX,MAAM,EAAEqB,SAAS;UACjBC,SAAS,EAAED;QACZ,CAAE,CAAC;MACJ,CAAG;MACHE,SAAS,EAAC,yBAAyB;MACnCrB,EAAE,EAAG,gBAAiBJ,UAAU,EAAK;MACrC0B,WAAW,EAAG3C,EAAE,CAAE,iCAAkC;IAAG,CACvD,CAAC;EAAA,CACD,CAAC;AAEL","ignoreList":[]}
@@ -155,26 +155,22 @@ function PostTitle(_, forwardedRef) {
155
155
  const className = clsx(DEFAULT_CLASSNAMES, {
156
156
  'is-selected': isSelected
157
157
  });
158
- return (
159
- /*#__PURE__*/
160
- /* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */
161
- _jsx(PostTypeSupportCheck, {
162
- supportKeys: "title",
163
- children: /*#__PURE__*/_jsx("h1", {
164
- ref: useMergeRefs([richTextRef, focusRef]),
165
- contentEditable: true,
166
- className: className,
167
- "aria-label": decodedPlaceholder,
168
- role: "textbox",
169
- "aria-multiline": "true",
170
- onFocus: onSelect,
171
- onBlur: onUnselect,
172
- onKeyDown: onKeyDown,
173
- onPaste: onPaste
174
- })
158
+ return /*#__PURE__*/ /* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */_jsx(PostTypeSupportCheck, {
159
+ supportKeys: "title",
160
+ children: /*#__PURE__*/_jsx("h1", {
161
+ ref: useMergeRefs([richTextRef, focusRef]),
162
+ contentEditable: true,
163
+ className: className,
164
+ "aria-label": decodedPlaceholder,
165
+ role: "textbox",
166
+ "aria-multiline": "true",
167
+ onFocus: onSelect,
168
+ onBlur: onUnselect,
169
+ onKeyDown: onKeyDown,
170
+ onPaste: onPaste
175
171
  })
176
- /* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */
177
- );
172
+ })
173
+ /* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */;
178
174
  }
179
175
 
180
176
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","forwardRef","useState","decodeEntities","useSelect","useDispatch","store","blockEditorStore","ENTER","pasteHandler","__unstableUseRichText","useRichText","create","insert","useMergeRefs","__unstableStripHTML","stripHTML","DEFAULT_CLASSNAMES","REGEXP_NEWLINES","usePostTitleFocus","usePostTitle","PostTypeSupportCheck","jsx","_jsx","PostTitle","_","forwardedRef","placeholder","select","getSettings","titlePlaceholder","isSelected","setIsSelected","ref","focusRef","title","setTitle","onUpdate","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","decodedPlaceholder","value","onChange","richTextRef","newValue","replace","selectionStart","start","selectionEnd","end","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","preventDefault","onPaste","clipboardData","plainText","html","getData","error","window","console","log","content","HTML","length","firstBlock","name","contentNoHTML","attributes","slice","className","supportKeys","children","contentEditable","role","onFocus","onBlur"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\t__unstableUseRichText as useRichText,\n\tcreate,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst { placeholder } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder } = getSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst {\n\t\tvalue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: title,\n\t\tonChange( newValue ) {\n\t\t\tonUpdate( newValue.replace( REGEXP_NEWLINES, ' ' ) );\n\t\t},\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: false,\n\t} );\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error ) {\n\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t// behaviour.\n\t\t\treturn;\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\t\t\tonChange( insert( value, create( { html: contentNoHTML } ) ) );\n\t\t}\n\t}\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = clsx( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t} );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n}\n\n/**\n * Renders the `PostTitle` component.\n *\n * @param {Object} _ Unused parameter.\n * @param {Element} forwardedRef Forwarded ref for the component.\n *\n * @return {Component} The rendered PostTitle component.\n */\nexport default forwardRef( PostTitle );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","forwardRef","useState","decodeEntities","useSelect","useDispatch","store","blockEditorStore","ENTER","pasteHandler","__unstableUseRichText","useRichText","create","insert","useMergeRefs","__unstableStripHTML","stripHTML","DEFAULT_CLASSNAMES","REGEXP_NEWLINES","usePostTitleFocus","usePostTitle","PostTypeSupportCheck","jsx","_jsx","PostTitle","_","forwardedRef","placeholder","select","getSettings","titlePlaceholder","isSelected","setIsSelected","ref","focusRef","title","setTitle","onUpdate","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","decodedPlaceholder","value","onChange","richTextRef","newValue","replace","selectionStart","start","selectionEnd","end","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","preventDefault","onPaste","clipboardData","plainText","html","getData","error","window","console","log","content","HTML","length","firstBlock","name","contentNoHTML","attributes","slice","className","supportKeys","children","contentEditable","role","onFocus","onBlur"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\t__unstableUseRichText as useRichText,\n\tcreate,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst { placeholder } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder } = getSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst {\n\t\tvalue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: title,\n\t\tonChange( newValue ) {\n\t\t\tonUpdate( newValue.replace( REGEXP_NEWLINES, ' ' ) );\n\t\t},\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: false,\n\t} );\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error ) {\n\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t// behaviour.\n\t\t\treturn;\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\t\t\tonChange( insert( value, create( { html: contentNoHTML } ) ) );\n\t\t}\n\t}\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = clsx( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t} );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n}\n\n/**\n * Renders the `PostTitle` component.\n *\n * @param {Object} _ Unused parameter.\n * @param {Element} forwardedRef Forwarded ref for the component.\n *\n * @return {Component} The rendered PostTitle component.\n */\nexport default forwardRef( PostTitle );\n"],"mappings":"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","ignoreList":[]}
@@ -120,11 +120,11 @@ class PostTitle extends Component {
120
120
  getTitle(title, postType) {
121
121
  if ('page' === postType) {
122
122
  return !title ? /* translators: accessibility text. empty page title. */
123
- __('Page title. Empty') : sprintf( /* translators: accessibility text. %s: text content of the page title. */
123
+ __('Page title. Empty') : sprintf(/* translators: accessibility text. %s: text content of the page title. */
124
124
  __('Page title. %s'), title);
125
125
  }
126
126
  return !title ? /* translators: accessibility text. empty post title. */
127
- __('Post title. Empty') : sprintf( /* translators: accessibility text. %s: text content of the post title. */
127
+ __('Post title. Empty') : sprintf(/* translators: accessibility text. %s: text content of the post title. */
128
128
  __('Post title. %s'), title);
129
129
  }
130
130
  render() {
@@ -1 +1 @@
1
- {"version":3,"names":["View","Component","create","toHTMLString","insert","decodeEntities","withDispatch","withSelect","withFocusOutside","withInstanceId","compose","__","sprintf","pasteHandler","store","blockEditorStore","RichText","editorStore","__unstableStripHTML","stripHTML","styles","jsx","_jsx","insertContentWithTitle","title","content","onUpdateTitle","onUpdateContent","value","text","length","firstBlock","name","contentNoHTML","attributes","slice","newValue","html","PostTitle","constructor","props","setRef","bind","onPaste","componentDidUpdate","prevProps","isSelected","isAnyBlockSelected","richTextRef","blur","onUnselect","componentDidMount","innerRef","handleFocusOutside","focus","onSelect","plainText","onInsertBlockAfter","onInsertBlocks","onUpdate","HTML","richText","getTitle","postType","render","placeholder","style","focusedBorderColor","borderStyle","isDimmed","globalStyles","decodedPlaceholder","borderColor","titleStyles","color","placeholderColor","testID","titleContainer","dimmed","accessible","accessibilityLabel","accessibilityHint","children","Raw","ref","tagName","tagsToEliminate","unstableOnFocus","onBlur","fontSize","lineHeight","fontWeight","deleteEnter","onChange","onSelectionChange","onEnter","onEnterPress","disableEditingMenu","__unstableIsSelected","__unstableOnCreateUndoLevel","select","isPostTitleSelected","getEditedPostAttribute","getSelectedBlockClientId","getBlockRootClientId","getSettings","selectedId","selectionIsNested","__experimentalGlobalStylesBaseStyles","dispatch","undo","redo","togglePostTitleSelection","editPost","clearSelectedBlock","insertDefaultBlock","insertBlocks","undefined","onUndo","onRedo","blocks"],"sources":["@wordpress/editor/src/components/post-title/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { create, toHTMLString, insert } from '@wordpress/rich-text';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { withFocusOutside } from '@wordpress/components';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pasteHandler } from '@wordpress/blocks';\nimport { store as blockEditorStore, RichText } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/** @typedef {import('./types').RichTextValue} RichTextValue */\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n/**\n * Inserts content with title\n *\n * This function processes the given content and title, updating the title\n * and content based on certain conditions. If the content is an array of\n * blocks, it will check the first block for a heading or paragraph to use\n * as the title. If the content is a string, it will strip HTML and update\n * the title and content accordingly.\n *\n * @param {string} title The post title.\n * @param {Array | string} content The content to be processed. It can be an array of blocks or a string.\n * @param {Function} onUpdateTitle Callback function to update the title.\n * @param {Function} onUpdateContent Callback function to update the content.\n * @param {RichTextValue} value The initial value object, default is an object with empty text.\n */\nexport function insertContentWithTitle(\n\ttitle,\n\tcontent,\n\tonUpdateTitle,\n\tonUpdateContent,\n\tvalue = create( { text: '' } )\n) {\n\tif ( ! content.length ) {\n\t\treturn;\n\t}\n\n\tif ( typeof content !== 'string' ) {\n\t\tconst [ firstBlock ] = content;\n\n\t\tif (\n\t\t\t! title &&\n\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t) {\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( firstBlock.attributes.content );\n\t\t\tonUpdateTitle( contentNoHTML );\n\t\t\tonUpdateContent( content.slice( 1 ) );\n\t\t} else {\n\t\t\tonUpdateContent( content );\n\t\t}\n\t} else {\n\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t// is undesirable.\n\t\tconst contentNoHTML = stripHTML( content );\n\n\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\tonUpdateTitle( toHTMLString( { value: newValue } ) );\n\t}\n}\n\nclass PostTitle extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.setRef = this.setRef.bind( this );\n\t\tthis.onPaste = this.onPaste.bind( this );\n\t}\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Unselect if any other block is selected and blur the RichText.\n\t\tif (\n\t\t\tthis.props.isSelected &&\n\t\t\t! prevProps.isAnyBlockSelected &&\n\t\t\tthis.props.isAnyBlockSelected\n\t\t) {\n\t\t\tif ( this.richTextRef ) {\n\t\t\t\tthis.richTextRef.blur();\n\t\t\t}\n\t\t\tthis.props.onUnselect();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.innerRef ) {\n\t\t\tthis.props.innerRef( this );\n\t\t}\n\t}\n\n\thandleFocusOutside() {\n\t\tthis.props.onUnselect();\n\t}\n\n\tfocus() {\n\t\tthis.props.onSelect();\n\t}\n\n\tonPaste( { value, plainText, html } ) {\n\t\tconst {\n\t\t\ttitle,\n\t\t\tonInsertBlockAfter: onInsertBlocks,\n\t\t\tonUpdate,\n\t\t} = this.props;\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tinsertContentWithTitle(\n\t\t\ttitle,\n\t\t\tcontent,\n\t\t\tonUpdate,\n\t\t\tonInsertBlocks,\n\t\t\tvalue\n\t\t);\n\t}\n\n\tsetRef( richText ) {\n\t\tthis.richTextRef = richText;\n\t}\n\n\tgetTitle( title, postType ) {\n\t\tif ( 'page' === postType ) {\n\t\t\treturn ! title\n\t\t\t\t? /* translators: accessibility text. empty page title. */\n\t\t\t\t __( 'Page title. Empty' )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: text content of the page title. */\n\t\t\t\t\t\t__( 'Page title. %s' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t );\n\t\t}\n\n\t\treturn ! title\n\t\t\t? /* translators: accessibility text. empty post title. */\n\t\t\t __( 'Post title. Empty' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: text content of the post title. */\n\t\t\t\t\t__( 'Post title. %s' ),\n\t\t\t\t\ttitle\n\t\t\t );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\tstyle,\n\t\t\ttitle,\n\t\t\tfocusedBorderColor,\n\t\t\tborderStyle,\n\t\t\tisDimmed,\n\t\t\tpostType,\n\t\t\tglobalStyles,\n\t\t} = this.props;\n\n\t\tconst decodedPlaceholder = decodeEntities( placeholder );\n\t\tconst borderColor = this.props.isSelected\n\t\t\t? focusedBorderColor\n\t\t\t: 'transparent';\n\t\tconst titleStyles = {\n\t\t\t...style,\n\t\t\t...( globalStyles?.text && {\n\t\t\t\tcolor: globalStyles.text,\n\t\t\t\tplaceholderColor: globalStyles.text,\n\t\t\t} ),\n\t\t};\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\ttestID=\"post-title\"\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.titleContainer,\n\t\t\t\t\tborderStyle,\n\t\t\t\t\t{ borderColor },\n\t\t\t\t\tisDimmed && styles.dimmed,\n\t\t\t\t] }\n\t\t\t\taccessible={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\taccessibilityHint={ __( 'Updates the title.' ) }\n\t\t\t>\n\t\t\t\t<RichText.Raw\n\t\t\t\t\tref={ this.setRef }\n\t\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\ttagsToEliminate={ [ 'strong' ] }\n\t\t\t\t\tunstableOnFocus={ this.props.onSelect }\n\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as a props.\n\t\t\t\t\tstyle={ titleStyles }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tfontSize={ 24 }\n\t\t\t\t\tlineHeight={ 1 }\n\t\t\t\t\tfontWeight=\"bold\"\n\t\t\t\t\tdeleteEnter\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tthis.props.onUpdate( value );\n\t\t\t\t\t} }\n\t\t\t\t\tonPaste={ this.onPaste }\n\t\t\t\t\tplaceholder={ decodedPlaceholder }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonSelectionChange={ () => {} }\n\t\t\t\t\tonEnter={ this.props.onEnterPress }\n\t\t\t\t\tdisableEditingMenu\n\t\t\t\t\t__unstableIsSelected={ this.props.isSelected }\n\t\t\t\t\t__unstableOnCreateUndoLevel={ () => {} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { isPostTitleSelected, getEditedPostAttribute } =\n\t\t\tselect( editorStore );\n\t\tconst { getSelectedBlockClientId, getBlockRootClientId, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst selectedId = getSelectedBlockClientId();\n\t\tconst selectionIsNested = !! getBlockRootClientId( selectedId );\n\t\tconst globalStyles =\n\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles?.color;\n\n\t\treturn {\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tisAnyBlockSelected: !! selectedId,\n\t\t\tisSelected: isPostTitleSelected(),\n\t\t\tisDimmed: selectionIsNested,\n\t\t\tglobalStyles,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { undo, redo, togglePostTitleSelection, editPost } =\n\t\t\tdispatch( editorStore );\n\n\t\tconst { clearSelectedBlock, insertDefaultBlock, insertBlocks } =\n\t\t\tdispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tonEnterPress() {\n\t\t\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t\t\t},\n\t\t\tonUndo: undo,\n\t\t\tonRedo: redo,\n\t\t\tonSelect() {\n\t\t\t\ttogglePostTitleSelection( true );\n\t\t\t\tclearSelectedBlock();\n\t\t\t},\n\t\t\tonUnselect() {\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t\tonUpdate( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\tonInsertBlockAfter( blocks ) {\n\t\t\t\tinsertBlocks( blocks, 0 );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n\twithFocusOutside\n)( PostTitle );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["View","Component","create","toHTMLString","insert","decodeEntities","withDispatch","withSelect","withFocusOutside","withInstanceId","compose","__","sprintf","pasteHandler","store","blockEditorStore","RichText","editorStore","__unstableStripHTML","stripHTML","styles","jsx","_jsx","insertContentWithTitle","title","content","onUpdateTitle","onUpdateContent","value","text","length","firstBlock","name","contentNoHTML","attributes","slice","newValue","html","PostTitle","constructor","props","setRef","bind","onPaste","componentDidUpdate","prevProps","isSelected","isAnyBlockSelected","richTextRef","blur","onUnselect","componentDidMount","innerRef","handleFocusOutside","focus","onSelect","plainText","onInsertBlockAfter","onInsertBlocks","onUpdate","HTML","richText","getTitle","postType","render","placeholder","style","focusedBorderColor","borderStyle","isDimmed","globalStyles","decodedPlaceholder","borderColor","titleStyles","color","placeholderColor","testID","titleContainer","dimmed","accessible","accessibilityLabel","accessibilityHint","children","Raw","ref","tagName","tagsToEliminate","unstableOnFocus","onBlur","fontSize","lineHeight","fontWeight","deleteEnter","onChange","onSelectionChange","onEnter","onEnterPress","disableEditingMenu","__unstableIsSelected","__unstableOnCreateUndoLevel","select","isPostTitleSelected","getEditedPostAttribute","getSelectedBlockClientId","getBlockRootClientId","getSettings","selectedId","selectionIsNested","__experimentalGlobalStylesBaseStyles","dispatch","undo","redo","togglePostTitleSelection","editPost","clearSelectedBlock","insertDefaultBlock","insertBlocks","undefined","onUndo","onRedo","blocks"],"sources":["@wordpress/editor/src/components/post-title/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { create, toHTMLString, insert } from '@wordpress/rich-text';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { withFocusOutside } from '@wordpress/components';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pasteHandler } from '@wordpress/blocks';\nimport { store as blockEditorStore, RichText } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/** @typedef {import('./types').RichTextValue} RichTextValue */\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n/**\n * Inserts content with title\n *\n * This function processes the given content and title, updating the title\n * and content based on certain conditions. If the content is an array of\n * blocks, it will check the first block for a heading or paragraph to use\n * as the title. If the content is a string, it will strip HTML and update\n * the title and content accordingly.\n *\n * @param {string} title The post title.\n * @param {Array | string} content The content to be processed. It can be an array of blocks or a string.\n * @param {Function} onUpdateTitle Callback function to update the title.\n * @param {Function} onUpdateContent Callback function to update the content.\n * @param {RichTextValue} value The initial value object, default is an object with empty text.\n */\nexport function insertContentWithTitle(\n\ttitle,\n\tcontent,\n\tonUpdateTitle,\n\tonUpdateContent,\n\tvalue = create( { text: '' } )\n) {\n\tif ( ! content.length ) {\n\t\treturn;\n\t}\n\n\tif ( typeof content !== 'string' ) {\n\t\tconst [ firstBlock ] = content;\n\n\t\tif (\n\t\t\t! title &&\n\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t) {\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( firstBlock.attributes.content );\n\t\t\tonUpdateTitle( contentNoHTML );\n\t\t\tonUpdateContent( content.slice( 1 ) );\n\t\t} else {\n\t\t\tonUpdateContent( content );\n\t\t}\n\t} else {\n\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t// is undesirable.\n\t\tconst contentNoHTML = stripHTML( content );\n\n\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\tonUpdateTitle( toHTMLString( { value: newValue } ) );\n\t}\n}\n\nclass PostTitle extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.setRef = this.setRef.bind( this );\n\t\tthis.onPaste = this.onPaste.bind( this );\n\t}\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Unselect if any other block is selected and blur the RichText.\n\t\tif (\n\t\t\tthis.props.isSelected &&\n\t\t\t! prevProps.isAnyBlockSelected &&\n\t\t\tthis.props.isAnyBlockSelected\n\t\t) {\n\t\t\tif ( this.richTextRef ) {\n\t\t\t\tthis.richTextRef.blur();\n\t\t\t}\n\t\t\tthis.props.onUnselect();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.innerRef ) {\n\t\t\tthis.props.innerRef( this );\n\t\t}\n\t}\n\n\thandleFocusOutside() {\n\t\tthis.props.onUnselect();\n\t}\n\n\tfocus() {\n\t\tthis.props.onSelect();\n\t}\n\n\tonPaste( { value, plainText, html } ) {\n\t\tconst {\n\t\t\ttitle,\n\t\t\tonInsertBlockAfter: onInsertBlocks,\n\t\t\tonUpdate,\n\t\t} = this.props;\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tinsertContentWithTitle(\n\t\t\ttitle,\n\t\t\tcontent,\n\t\t\tonUpdate,\n\t\t\tonInsertBlocks,\n\t\t\tvalue\n\t\t);\n\t}\n\n\tsetRef( richText ) {\n\t\tthis.richTextRef = richText;\n\t}\n\n\tgetTitle( title, postType ) {\n\t\tif ( 'page' === postType ) {\n\t\t\treturn ! title\n\t\t\t\t? /* translators: accessibility text. empty page title. */\n\t\t\t\t __( 'Page title. Empty' )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: text content of the page title. */\n\t\t\t\t\t\t__( 'Page title. %s' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t );\n\t\t}\n\n\t\treturn ! title\n\t\t\t? /* translators: accessibility text. empty post title. */\n\t\t\t __( 'Post title. Empty' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: text content of the post title. */\n\t\t\t\t\t__( 'Post title. %s' ),\n\t\t\t\t\ttitle\n\t\t\t );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\tstyle,\n\t\t\ttitle,\n\t\t\tfocusedBorderColor,\n\t\t\tborderStyle,\n\t\t\tisDimmed,\n\t\t\tpostType,\n\t\t\tglobalStyles,\n\t\t} = this.props;\n\n\t\tconst decodedPlaceholder = decodeEntities( placeholder );\n\t\tconst borderColor = this.props.isSelected\n\t\t\t? focusedBorderColor\n\t\t\t: 'transparent';\n\t\tconst titleStyles = {\n\t\t\t...style,\n\t\t\t...( globalStyles?.text && {\n\t\t\t\tcolor: globalStyles.text,\n\t\t\t\tplaceholderColor: globalStyles.text,\n\t\t\t} ),\n\t\t};\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\ttestID=\"post-title\"\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.titleContainer,\n\t\t\t\t\tborderStyle,\n\t\t\t\t\t{ borderColor },\n\t\t\t\t\tisDimmed && styles.dimmed,\n\t\t\t\t] }\n\t\t\t\taccessible={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\taccessibilityHint={ __( 'Updates the title.' ) }\n\t\t\t>\n\t\t\t\t<RichText.Raw\n\t\t\t\t\tref={ this.setRef }\n\t\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\ttagsToEliminate={ [ 'strong' ] }\n\t\t\t\t\tunstableOnFocus={ this.props.onSelect }\n\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as a props.\n\t\t\t\t\tstyle={ titleStyles }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tfontSize={ 24 }\n\t\t\t\t\tlineHeight={ 1 }\n\t\t\t\t\tfontWeight=\"bold\"\n\t\t\t\t\tdeleteEnter\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tthis.props.onUpdate( value );\n\t\t\t\t\t} }\n\t\t\t\t\tonPaste={ this.onPaste }\n\t\t\t\t\tplaceholder={ decodedPlaceholder }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonSelectionChange={ () => {} }\n\t\t\t\t\tonEnter={ this.props.onEnterPress }\n\t\t\t\t\tdisableEditingMenu\n\t\t\t\t\t__unstableIsSelected={ this.props.isSelected }\n\t\t\t\t\t__unstableOnCreateUndoLevel={ () => {} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { isPostTitleSelected, getEditedPostAttribute } =\n\t\t\tselect( editorStore );\n\t\tconst { getSelectedBlockClientId, getBlockRootClientId, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst selectedId = getSelectedBlockClientId();\n\t\tconst selectionIsNested = !! getBlockRootClientId( selectedId );\n\t\tconst globalStyles =\n\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles?.color;\n\n\t\treturn {\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tisAnyBlockSelected: !! selectedId,\n\t\t\tisSelected: isPostTitleSelected(),\n\t\t\tisDimmed: selectionIsNested,\n\t\t\tglobalStyles,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { undo, redo, togglePostTitleSelection, editPost } =\n\t\t\tdispatch( editorStore );\n\n\t\tconst { clearSelectedBlock, insertDefaultBlock, insertBlocks } =\n\t\t\tdispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tonEnterPress() {\n\t\t\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t\t\t},\n\t\t\tonUndo: undo,\n\t\t\tonRedo: redo,\n\t\t\tonSelect() {\n\t\t\t\ttogglePostTitleSelection( true );\n\t\t\t\tclearSelectedBlock();\n\t\t\t},\n\t\t\tonUnselect() {\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t\tonUpdate( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\tonInsertBlockAfter( blocks ) {\n\t\t\t\tinsertBlocks( blocks, 0 );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n\twithFocusOutside\n)( PostTitle );\n"],"mappings":"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","ignoreList":[]}
@@ -18,8 +18,7 @@ import PostTrashCheck from './check';
18
18
  * @param {?{onActionPerformed: Object}} An object containing the onActionPerformed function.
19
19
  * @return {JSX.Element|null} The rendered PostTrash component.
20
20
  */
21
- import { jsx as _jsx } from "react/jsx-runtime";
22
- import { jsxs as _jsxs } from "react/jsx-runtime";
21
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
22
  export default function PostTrash({
24
23
  onActionPerformed
25
24
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","Button","__experimentalConfirmDialog","ConfirmDialog","useSelect","useDispatch","useRegistry","useState","store","editorStore","PostTrashCheck","jsx","_jsx","jsxs","_jsxs","PostTrash","onActionPerformed","registry","isNew","isDeleting","postId","title","select","isEditedPostNew","isDeletingPost","getCurrentPostId","getCurrentPostAttribute","trashPost","showConfirmDialog","setShowConfirmDialog","handleConfirm","item","resolveSelect","getCurrentPost","children","__next40pxDefaultSize","className","isDestructive","variant","isBusy","onClick","undefined","isOpen","onConfirm","onCancel","confirmButtonText","size"],"sources":["@wordpress/editor/src/components/post-trash/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTrashCheck from './check';\n\n/**\n * Displays the Post Trash Button and Confirm Dialog in the Editor.\n *\n * @param {?{onActionPerformed: Object}} An object containing the onActionPerformed function.\n * @return {JSX.Element|null} The rendered PostTrash component.\n */\nexport default function PostTrash( { onActionPerformed } ) {\n\tconst registry = useRegistry();\n\tconst { isNew, isDeleting, postId, title } = useSelect( ( select ) => {\n\t\tconst store = select( editorStore );\n\t\treturn {\n\t\t\tisNew: store.isEditedPostNew(),\n\t\t\tisDeleting: store.isDeletingPost(),\n\t\t\tpostId: store.getCurrentPostId(),\n\t\t\ttitle: store.getCurrentPostAttribute( 'title' ),\n\t\t};\n\t}, [] );\n\tconst { trashPost } = useDispatch( editorStore );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( isNew || ! postId ) {\n\t\treturn null;\n\t}\n\n\tconst handleConfirm = async () => {\n\t\tsetShowConfirmDialog( false );\n\t\tawait trashPost();\n\t\tconst item = await registry\n\t\t\t.resolveSelect( editorStore )\n\t\t\t.getCurrentPost();\n\t\t// After the post is trashed, we want to trigger the onActionPerformed callback, so the user is redirect\n\t\t// to the post view depending on if the user is on post editor or site editor.\n\t\tonActionPerformed?.( 'move-to-trash', [ item ] );\n\t};\n\treturn (\n\t\t<PostTrashCheck>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"editor-post-trash\"\n\t\t\t\tisDestructive\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tisBusy={ isDeleting }\n\t\t\t\taria-disabled={ isDeleting }\n\t\t\t\tonClick={\n\t\t\t\t\tisDeleting ? undefined : () => setShowConfirmDialog( true )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ __( 'Move to trash' ) }\n\t\t\t</Button>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\tonConfirm={ handleConfirm }\n\t\t\t\tonCancel={ () => setShowConfirmDialog( false ) }\n\t\t\t\tconfirmButtonText={ __( 'Move to trash' ) }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: The item's title.\n\t\t\t\t\t__( 'Are you sure you want to move \"%s\" to the trash?' ),\n\t\t\t\t\ttitle\n\t\t\t\t) }\n\t\t\t</ConfirmDialog>\n\t\t</PostTrashCheck>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,MAAM,EACNC,2BAA2B,IAAIC,aAAa,QACtC,uBAAuB;AAC9B,SAASC,SAAS,EAAEC,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AACrE,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,OAAOC,cAAc,MAAM,SAAS;;AAEpC;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAMA,eAAe,SAASC,SAASA,CAAE;EAAEC;AAAkB,CAAC,EAAG;EAC1D,MAAMC,QAAQ,GAAGX,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEY,KAAK;IAAEC,UAAU;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGjB,SAAS,CAAIkB,MAAM,IAAM;IACrE,MAAMd,KAAK,GAAGc,MAAM,CAAEb,WAAY,CAAC;IACnC,OAAO;MACNS,KAAK,EAAEV,KAAK,CAACe,eAAe,CAAC,CAAC;MAC9BJ,UAAU,EAAEX,KAAK,CAACgB,cAAc,CAAC,CAAC;MAClCJ,MAAM,EAAEZ,KAAK,CAACiB,gBAAgB,CAAC,CAAC;MAChCJ,KAAK,EAAEb,KAAK,CAACkB,uBAAuB,CAAE,OAAQ;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAU,CAAC,GAAGtB,WAAW,CAAEI,WAAY,CAAC;EAChD,MAAM,CAAEmB,iBAAiB,EAAEC,oBAAoB,CAAE,GAAGtB,QAAQ,CAAE,KAAM,CAAC;EAErE,IAAKW,KAAK,IAAI,CAAEE,MAAM,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,MAAMU,aAAa,GAAG,MAAAA,CAAA,KAAY;IACjCD,oBAAoB,CAAE,KAAM,CAAC;IAC7B,MAAMF,SAAS,CAAC,CAAC;IACjB,MAAMI,IAAI,GAAG,MAAMd,QAAQ,CACzBe,aAAa,CAAEvB,WAAY,CAAC,CAC5BwB,cAAc,CAAC,CAAC;IAClB;IACA;IACAjB,iBAAiB,GAAI,eAAe,EAAE,CAAEe,IAAI,CAAG,CAAC;EACjD,CAAC;EACD,oBACCjB,KAAA,CAACJ,cAAc;IAAAwB,QAAA,gBACdtB,IAAA,CAACX,MAAM;MACNkC,qBAAqB;MACrBC,SAAS,EAAC,mBAAmB;MAC7BC,aAAa;MACbC,OAAO,EAAC,WAAW;MACnBC,MAAM,EAAGpB,UAAY;MACrB,iBAAgBA,UAAY;MAC5BqB,OAAO,EACNrB,UAAU,GAAGsB,SAAS,GAAG,MAAMZ,oBAAoB,CAAE,IAAK,CAC1D;MAAAK,QAAA,EAECnC,EAAE,CAAE,eAAgB;IAAC,CAChB,CAAC,eACTa,IAAA,CAACT,aAAa;MACbuC,MAAM,EAAGd,iBAAmB;MAC5Be,SAAS,EAAGb,aAAe;MAC3Bc,QAAQ,EAAGA,CAAA,KAAMf,oBAAoB,CAAE,KAAM,CAAG;MAChDgB,iBAAiB,EAAG9C,EAAE,CAAE,eAAgB,CAAG;MAC3C+C,IAAI,EAAC,OAAO;MAAAZ,QAAA,EAEVlC,OAAO;MACR;MACAD,EAAE,CAAE,kDAAmD,CAAC,EACxDsB,KACD;IAAC,CACa,CAAC;EAAA,CACD,CAAC;AAEnB","ignoreList":[]}
1
+ {"version":3,"names":["__","sprintf","Button","__experimentalConfirmDialog","ConfirmDialog","useSelect","useDispatch","useRegistry","useState","store","editorStore","PostTrashCheck","jsx","_jsx","jsxs","_jsxs","PostTrash","onActionPerformed","registry","isNew","isDeleting","postId","title","select","isEditedPostNew","isDeletingPost","getCurrentPostId","getCurrentPostAttribute","trashPost","showConfirmDialog","setShowConfirmDialog","handleConfirm","item","resolveSelect","getCurrentPost","children","__next40pxDefaultSize","className","isDestructive","variant","isBusy","onClick","undefined","isOpen","onConfirm","onCancel","confirmButtonText","size"],"sources":["@wordpress/editor/src/components/post-trash/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTrashCheck from './check';\n\n/**\n * Displays the Post Trash Button and Confirm Dialog in the Editor.\n *\n * @param {?{onActionPerformed: Object}} An object containing the onActionPerformed function.\n * @return {JSX.Element|null} The rendered PostTrash component.\n */\nexport default function PostTrash( { onActionPerformed } ) {\n\tconst registry = useRegistry();\n\tconst { isNew, isDeleting, postId, title } = useSelect( ( select ) => {\n\t\tconst store = select( editorStore );\n\t\treturn {\n\t\t\tisNew: store.isEditedPostNew(),\n\t\t\tisDeleting: store.isDeletingPost(),\n\t\t\tpostId: store.getCurrentPostId(),\n\t\t\ttitle: store.getCurrentPostAttribute( 'title' ),\n\t\t};\n\t}, [] );\n\tconst { trashPost } = useDispatch( editorStore );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( isNew || ! postId ) {\n\t\treturn null;\n\t}\n\n\tconst handleConfirm = async () => {\n\t\tsetShowConfirmDialog( false );\n\t\tawait trashPost();\n\t\tconst item = await registry\n\t\t\t.resolveSelect( editorStore )\n\t\t\t.getCurrentPost();\n\t\t// After the post is trashed, we want to trigger the onActionPerformed callback, so the user is redirect\n\t\t// to the post view depending on if the user is on post editor or site editor.\n\t\tonActionPerformed?.( 'move-to-trash', [ item ] );\n\t};\n\treturn (\n\t\t<PostTrashCheck>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"editor-post-trash\"\n\t\t\t\tisDestructive\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tisBusy={ isDeleting }\n\t\t\t\taria-disabled={ isDeleting }\n\t\t\t\tonClick={\n\t\t\t\t\tisDeleting ? undefined : () => setShowConfirmDialog( true )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ __( 'Move to trash' ) }\n\t\t\t</Button>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\tonConfirm={ handleConfirm }\n\t\t\t\tonCancel={ () => setShowConfirmDialog( false ) }\n\t\t\t\tconfirmButtonText={ __( 'Move to trash' ) }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: The item's title.\n\t\t\t\t\t__( 'Are you sure you want to move \"%s\" to the trash?' ),\n\t\t\t\t\ttitle\n\t\t\t\t) }\n\t\t\t</ConfirmDialog>\n\t\t</PostTrashCheck>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,MAAM,EACNC,2BAA2B,IAAIC,aAAa,QACtC,uBAAuB;AAC9B,SAASC,SAAS,EAAEC,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AACrE,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,OAAOC,cAAc,MAAM,SAAS;;AAEpC;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMA,eAAe,SAASC,SAASA,CAAE;EAAEC;AAAkB,CAAC,EAAG;EAC1D,MAAMC,QAAQ,GAAGX,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEY,KAAK;IAAEC,UAAU;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGjB,SAAS,CAAIkB,MAAM,IAAM;IACrE,MAAMd,KAAK,GAAGc,MAAM,CAAEb,WAAY,CAAC;IACnC,OAAO;MACNS,KAAK,EAAEV,KAAK,CAACe,eAAe,CAAC,CAAC;MAC9BJ,UAAU,EAAEX,KAAK,CAACgB,cAAc,CAAC,CAAC;MAClCJ,MAAM,EAAEZ,KAAK,CAACiB,gBAAgB,CAAC,CAAC;MAChCJ,KAAK,EAAEb,KAAK,CAACkB,uBAAuB,CAAE,OAAQ;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAU,CAAC,GAAGtB,WAAW,CAAEI,WAAY,CAAC;EAChD,MAAM,CAAEmB,iBAAiB,EAAEC,oBAAoB,CAAE,GAAGtB,QAAQ,CAAE,KAAM,CAAC;EAErE,IAAKW,KAAK,IAAI,CAAEE,MAAM,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,MAAMU,aAAa,GAAG,MAAAA,CAAA,KAAY;IACjCD,oBAAoB,CAAE,KAAM,CAAC;IAC7B,MAAMF,SAAS,CAAC,CAAC;IACjB,MAAMI,IAAI,GAAG,MAAMd,QAAQ,CACzBe,aAAa,CAAEvB,WAAY,CAAC,CAC5BwB,cAAc,CAAC,CAAC;IAClB;IACA;IACAjB,iBAAiB,GAAI,eAAe,EAAE,CAAEe,IAAI,CAAG,CAAC;EACjD,CAAC;EACD,oBACCjB,KAAA,CAACJ,cAAc;IAAAwB,QAAA,gBACdtB,IAAA,CAACX,MAAM;MACNkC,qBAAqB;MACrBC,SAAS,EAAC,mBAAmB;MAC7BC,aAAa;MACbC,OAAO,EAAC,WAAW;MACnBC,MAAM,EAAGpB,UAAY;MACrB,iBAAgBA,UAAY;MAC5BqB,OAAO,EACNrB,UAAU,GAAGsB,SAAS,GAAG,MAAMZ,oBAAoB,CAAE,IAAK,CAC1D;MAAAK,QAAA,EAECnC,EAAE,CAAE,eAAgB;IAAC,CAChB,CAAC,eACTa,IAAA,CAACT,aAAa;MACbuC,MAAM,EAAGd,iBAAmB;MAC5Be,SAAS,EAAGb,aAAe;MAC3Bc,QAAQ,EAAGA,CAAA,KAAMf,oBAAoB,CAAE,KAAM,CAAG;MAChDgB,iBAAiB,EAAG9C,EAAE,CAAE,eAAgB,CAAG;MAC3C+C,IAAI,EAAC,OAAO;MAAAZ,QAAA,EAEVlC,OAAO;MACR;MACAD,EAAE,CAAE,kDAAmD,CAAC,EACxDsB,KACD;IAAC,CACa,CAAC;EAAA,CACD,CAAC;AAEnB","ignoreList":[]}
@@ -10,7 +10,7 @@ import { ExternalLink, Button, __experimentalInputControl as InputControl, __exp
10
10
  import { store as noticesStore } from '@wordpress/notices';
11
11
  import { copySmall } from '@wordpress/icons';
12
12
  import { store as coreStore } from '@wordpress/core-data';
13
- import { useCopyToClipboard } from '@wordpress/compose';
13
+ import { useCopyToClipboard, useInstanceId } from '@wordpress/compose';
14
14
 
15
15
  /**
16
16
  * Internal dependencies
@@ -29,8 +29,7 @@ import { store as editorStore } from '../../store';
29
29
  *
30
30
  * @return {Component} The rendered PostURL component.
31
31
  */
32
- import { jsx as _jsx } from "react/jsx-runtime";
33
- import { jsxs as _jsxs } from "react/jsx-runtime";
32
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
34
33
  export default function PostURL({
35
34
  onClose
36
35
  }) {
@@ -66,87 +65,100 @@ export default function PostURL({
66
65
  } = useDispatch(noticesStore);
67
66
  const [forceEmptyField, setForceEmptyField] = useState(false);
68
67
  const copyButtonRef = useCopyToClipboard(permalink, () => {
69
- createNotice('info', __('Copied URL to clipboard.'), {
68
+ createNotice('info', __('Copied Permalink to clipboard.'), {
70
69
  isDismissible: true,
71
70
  type: 'snackbar'
72
71
  });
73
72
  });
73
+ const postUrlSlugDescriptionId = 'editor-post-url__slug-descriotion-' + useInstanceId(PostURL);
74
74
  return /*#__PURE__*/_jsxs("div", {
75
75
  className: "editor-post-url",
76
76
  children: [/*#__PURE__*/_jsx(InspectorPopoverHeader, {
77
- title: __('Link'),
77
+ title: __('Slug'),
78
78
  onClose: onClose
79
79
  }), /*#__PURE__*/_jsxs(VStack, {
80
80
  spacing: 3,
81
- children: [isEditable && /*#__PURE__*/_jsx("div", {
82
- children: createInterpolateElement(__('Customize the last part of the URL. <a>Learn more.</a>'), {
81
+ children: [isEditable && /*#__PURE__*/_jsx("p", {
82
+ className: "editor-post-url__intro",
83
+ children: createInterpolateElement(__('<span>Customize the last part of the Permalink.</span> <a>Learn more.</a>'), {
84
+ span: /*#__PURE__*/_jsx("span", {
85
+ id: postUrlSlugDescriptionId
86
+ }),
83
87
  a: /*#__PURE__*/_jsx(ExternalLink, {
84
88
  href: __('https://wordpress.org/documentation/article/page-post-settings-sidebar/#permalink')
85
89
  })
86
90
  })
87
91
  }), /*#__PURE__*/_jsxs("div", {
88
- children: [isEditable && /*#__PURE__*/_jsx(InputControl, {
89
- __next40pxDefaultSize: true,
90
- prefix: /*#__PURE__*/_jsx(InputControlPrefixWrapper, {
91
- children: "/"
92
- }),
93
- suffix: /*#__PURE__*/_jsx(InputControlSuffixWrapper, {
94
- variant: "control",
95
- children: /*#__PURE__*/_jsx(Button, {
96
- icon: copySmall,
97
- ref: copyButtonRef,
98
- size: "small",
99
- label: "Copy"
100
- })
101
- }),
102
- label: __('Link'),
103
- hideLabelFromVision: true,
104
- value: forceEmptyField ? '' : postSlug,
105
- autoComplete: "off",
106
- spellCheck: "false",
107
- type: "text",
108
- className: "editor-post-url__input",
109
- onChange: newValue => {
110
- editPost({
111
- slug: newValue
112
- });
113
- // When we delete the field the permalink gets
114
- // reverted to the original value.
115
- // The forceEmptyField logic allows the user to have
116
- // the field temporarily empty while typing.
117
- if (!newValue) {
118
- if (!forceEmptyField) {
119
- setForceEmptyField(true);
92
+ children: [isEditable && /*#__PURE__*/_jsxs(_Fragment, {
93
+ children: [/*#__PURE__*/_jsx(InputControl, {
94
+ __next40pxDefaultSize: true,
95
+ prefix: /*#__PURE__*/_jsx(InputControlPrefixWrapper, {
96
+ children: "/"
97
+ }),
98
+ suffix: /*#__PURE__*/_jsx(InputControlSuffixWrapper, {
99
+ variant: "control",
100
+ children: /*#__PURE__*/_jsx(Button, {
101
+ icon: copySmall,
102
+ ref: copyButtonRef,
103
+ size: "small",
104
+ label: "Copy"
105
+ })
106
+ }),
107
+ label: __('Slug'),
108
+ hideLabelFromVision: true,
109
+ value: forceEmptyField ? '' : postSlug,
110
+ autoComplete: "off",
111
+ spellCheck: "false",
112
+ type: "text",
113
+ className: "editor-post-url__input",
114
+ onChange: newValue => {
115
+ editPost({
116
+ slug: newValue
117
+ });
118
+ // When we delete the field the permalink gets
119
+ // reverted to the original value.
120
+ // The forceEmptyField logic allows the user to have
121
+ // the field temporarily empty while typing.
122
+ if (!newValue) {
123
+ if (!forceEmptyField) {
124
+ setForceEmptyField(true);
125
+ }
126
+ return;
120
127
  }
121
- return;
122
- }
123
- if (forceEmptyField) {
124
- setForceEmptyField(false);
125
- }
126
- },
127
- onBlur: event => {
128
- editPost({
129
- slug: cleanForSlug(event.target.value)
130
- });
131
- if (forceEmptyField) {
132
- setForceEmptyField(false);
133
- }
134
- },
135
- help: /*#__PURE__*/_jsxs(ExternalLink, {
136
- className: "editor-post-url__link",
137
- href: postLink,
138
- target: "_blank",
128
+ if (forceEmptyField) {
129
+ setForceEmptyField(false);
130
+ }
131
+ },
132
+ onBlur: event => {
133
+ editPost({
134
+ slug: cleanForSlug(event.target.value)
135
+ });
136
+ if (forceEmptyField) {
137
+ setForceEmptyField(false);
138
+ }
139
+ },
140
+ "aria-describedby": postUrlSlugDescriptionId
141
+ }), /*#__PURE__*/_jsxs("p", {
142
+ className: "editor-post-url__permalink",
139
143
  children: [/*#__PURE__*/_jsx("span", {
140
- className: "editor-post-url__link-prefix",
141
- children: permalinkPrefix
142
- }), /*#__PURE__*/_jsx("span", {
143
- className: "editor-post-url__link-slug",
144
- children: postSlug
145
- }), /*#__PURE__*/_jsx("span", {
146
- className: "editor-post-url__link-suffix",
147
- children: permalinkSuffix
144
+ className: "editor-post-url__permalink-visual-label",
145
+ children: __('Permalink:')
146
+ }), /*#__PURE__*/_jsxs(ExternalLink, {
147
+ className: "editor-post-url__link",
148
+ href: postLink,
149
+ target: "_blank",
150
+ children: [/*#__PURE__*/_jsx("span", {
151
+ className: "editor-post-url__link-prefix",
152
+ children: permalinkPrefix
153
+ }), /*#__PURE__*/_jsx("span", {
154
+ className: "editor-post-url__link-slug",
155
+ children: postSlug
156
+ }), /*#__PURE__*/_jsx("span", {
157
+ className: "editor-post-url__link-suffix",
158
+ children: permalinkSuffix
159
+ })]
148
160
  })]
149
- })
161
+ })]
150
162
  }), !isEditable && /*#__PURE__*/_jsx(ExternalLink, {
151
163
  className: "editor-post-url__link",
152
164
  href: postLink,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","safeDecodeURIComponent","cleanForSlug","useState","createInterpolateElement","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","__","ExternalLink","Button","__experimentalInputControl","InputControl","__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","__experimentalInputControlSuffixWrapper","InputControlSuffixWrapper","__experimentalVStack","VStack","store","noticesStore","copySmall","coreStore","useCopyToClipboard","editorStore","jsx","_jsx","jsxs","_jsxs","PostURL","onClose","isEditable","postSlug","postLink","permalinkPrefix","permalinkSuffix","permalink","select","_post$_links$wpActio","post","getCurrentPost","postTypeSlug","getCurrentPostType","postType","getPostType","permalinkParts","getPermalinkParts","hasPublishAction","_links","isPermalinkEditable","getEditedPostSlug","viewPostLabel","labels","view_item","link","prefix","suffix","getPermalink","editPost","createNotice","forceEmptyField","setForceEmptyField","copyButtonRef","isDismissible","type","className","children","title","spacing","a","href","__next40pxDefaultSize","variant","icon","ref","size","label","hideLabelFromVision","value","autoComplete","spellCheck","onChange","newValue","slug","onBlur","event","target","help"],"sources":["@wordpress/editor/src/components/post-url/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { safeDecodeURIComponent, cleanForSlug } from '@wordpress/url';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tExternalLink,\n\tButton,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { copySmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the `PostURL` component.\n *\n * @example\n * ```jsx\n * <PostURL />\n * ```\n *\n * @param {Function} onClose Callback function to be executed when the popover is closed.\n *\n * @return {Component} The rendered PostURL component.\n */\nexport default function PostURL( { onClose } ) {\n\tconst {\n\t\tisEditable,\n\t\tpostSlug,\n\t\tpostLink,\n\t\tpermalinkPrefix,\n\t\tpermalinkSuffix,\n\t\tpermalink,\n\t} = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tconst permalinkParts = select( editorStore ).getPermalinkParts();\n\t\tconst hasPublishAction = post?._links?.[ 'wp:action-publish' ] ?? false;\n\n\t\treturn {\n\t\t\tisEditable:\n\t\t\t\tselect( editorStore ).isPermalinkEditable() && hasPublishAction,\n\t\t\tpostSlug: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getEditedPostSlug()\n\t\t\t),\n\t\t\tviewPostLabel: postType?.labels.view_item,\n\t\t\tpostLink: post.link,\n\t\t\tpermalinkPrefix: permalinkParts?.prefix,\n\t\t\tpermalinkSuffix: permalinkParts?.suffix,\n\t\t\tpermalink: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getPermalink()\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\tconst copyButtonRef = useCopyToClipboard( permalink, () => {\n\t\tcreateNotice( 'info', __( 'Copied URL to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\treturn (\n\t\t<div className=\"editor-post-url\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t{ isEditable && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Customize the last part of the URL. <a>Learn more.</a>'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#permalink'\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\t\t\t\t<div>\n\t\t\t\t\t{ isEditable && (\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t<InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t\t/\n\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ticon={ copySmall }\n\t\t\t\t\t\t\t\t\t\tref={ copyButtonRef }\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\tlabel=\"Copy\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tspellCheck=\"false\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclassName=\"editor-post-url__input\"\n\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\teditPost( { slug: newValue } );\n\t\t\t\t\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t\t\t\t\t// reverted to the original value.\n\t\t\t\t\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\t\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonBlur={ ( event ) => {\n\t\t\t\t\t\t\t\teditPost( {\n\t\t\t\t\t\t\t\t\tslug: cleanForSlug( event.target.value ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-prefix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkPrefix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-slug\">\n\t\t\t\t\t\t\t\t\t\t{ postSlug }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-suffix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkSuffix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</ExternalLink>\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{ ! isEditable && (\n\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ postLink }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,sBAAsB,EAAEC,YAAY,QAAQ,gBAAgB;AACrE,SAASC,QAAQ,EAAEC,wBAAwB,QAAQ,oBAAoB;AACvE,SAASC,oCAAoC,IAAIC,sBAAsB,QAAQ,yBAAyB;AACxG,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,YAAY,EACZC,MAAM,EACNC,0BAA0B,IAAIC,YAAY,EAC1CC,uCAAuC,IAAIC,yBAAyB,EACpEC,uCAAuC,IAAIC,yBAAyB,EACpEC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASF,KAAK,IAAIG,SAAS,QAAQ,sBAAsB;AACzD,SAASC,kBAAkB,QAAQ,oBAAoB;;AAEvD;AACA;AACA;AACA,SAASJ,KAAK,IAAIK,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAYA,eAAe,SAASC,OAAOA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EAC9C,MAAM;IACLC,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRC,eAAe;IACfC,eAAe;IACfC;EACD,CAAC,GAAGpC,SAAS,CAAIqC,MAAM,IAAM;IAAA,IAAAC,oBAAA;IAC5B,MAAMC,IAAI,GAAGF,MAAM,CAAEb,WAAY,CAAC,CAACgB,cAAc,CAAC,CAAC;IACnD,MAAMC,YAAY,GAAGJ,MAAM,CAAEb,WAAY,CAAC,CAACkB,kBAAkB,CAAC,CAAC;IAC/D,MAAMC,QAAQ,GAAGN,MAAM,CAAEf,SAAU,CAAC,CAACsB,WAAW,CAAEH,YAAa,CAAC;IAChE,MAAMI,cAAc,GAAGR,MAAM,CAAEb,WAAY,CAAC,CAACsB,iBAAiB,CAAC,CAAC;IAChE,MAAMC,gBAAgB,IAAAT,oBAAA,GAAGC,IAAI,EAAES,MAAM,GAAI,mBAAmB,CAAE,cAAAV,oBAAA,cAAAA,oBAAA,GAAI,KAAK;IAEvE,OAAO;MACNP,UAAU,EACTM,MAAM,CAAEb,WAAY,CAAC,CAACyB,mBAAmB,CAAC,CAAC,IAAIF,gBAAgB;MAChEf,QAAQ,EAAE9B,sBAAsB,CAC/BmC,MAAM,CAAEb,WAAY,CAAC,CAAC0B,iBAAiB,CAAC,CACzC,CAAC;MACDC,aAAa,EAAER,QAAQ,EAAES,MAAM,CAACC,SAAS;MACzCpB,QAAQ,EAAEM,IAAI,CAACe,IAAI;MACnBpB,eAAe,EAAEW,cAAc,EAAEU,MAAM;MACvCpB,eAAe,EAAEU,cAAc,EAAEW,MAAM;MACvCpB,SAAS,EAAElC,sBAAsB,CAChCmC,MAAM,CAAEb,WAAY,CAAC,CAACiC,YAAY,CAAC,CACpC;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAS,CAAC,GAAGzD,WAAW,CAAEuB,WAAY,CAAC;EAC/C,MAAM;IAAEmC;EAAa,CAAC,GAAG1D,WAAW,CAAEmB,YAAa,CAAC;EACpD,MAAM,CAAEwC,eAAe,EAAEC,kBAAkB,CAAE,GAAGzD,QAAQ,CAAE,KAAM,CAAC;EACjE,MAAM0D,aAAa,GAAGvC,kBAAkB,CAAEa,SAAS,EAAE,MAAM;IAC1DuB,YAAY,CAAE,MAAM,EAAEnD,EAAE,CAAE,0BAA2B,CAAC,EAAE;MACvDuD,aAAa,EAAE,IAAI;MACnBC,IAAI,EAAE;IACP,CAAE,CAAC;EACJ,CAAE,CAAC;EACH,oBACCpC,KAAA;IAAKqC,SAAS,EAAC,iBAAiB;IAAAC,QAAA,gBAC/BxC,IAAA,CAACnB,sBAAsB;MACtB4D,KAAK,EAAG3D,EAAE,CAAE,MAAO,CAAG;MACtBsB,OAAO,EAAGA;IAAS,CACnB,CAAC,eACFF,KAAA,CAACV,MAAM;MAACkD,OAAO,EAAG,CAAG;MAAAF,QAAA,GAClBnC,UAAU,iBACXL,IAAA;QAAAwC,QAAA,EACG7D,wBAAwB,CACzBG,EAAE,CACD,wDACD,CAAC,EACD;UACC6D,CAAC,eACA3C,IAAA,CAACjB,YAAY;YACZ6D,IAAI,EAAG9D,EAAE,CACR,mFACD;UAAG,CACH;QAEH,CACD;MAAC,CACG,CACL,eACDoB,KAAA;QAAAsC,QAAA,GACGnC,UAAU,iBACXL,IAAA,CAACd,YAAY;UACZ2D,qBAAqB;UACrBhB,MAAM,eACL7B,IAAA,CAACZ,yBAAyB;YAAAoD,QAAA,EAAC;UAE3B,CAA2B,CAC3B;UACDV,MAAM,eACL9B,IAAA,CAACV,yBAAyB;YAACwD,OAAO,EAAC,SAAS;YAAAN,QAAA,eAC3CxC,IAAA,CAAChB,MAAM;cACN+D,IAAI,EAAGpD,SAAW;cAClBqD,GAAG,EAAGZ,aAAe;cACrBa,IAAI,EAAC,OAAO;cACZC,KAAK,EAAC;YAAM,CACZ;UAAC,CACwB,CAC3B;UACDA,KAAK,EAAGpE,EAAE,CAAE,MAAO,CAAG;UACtBqE,mBAAmB;UACnBC,KAAK,EAAGlB,eAAe,GAAG,EAAE,GAAG5B,QAAU;UACzC+C,YAAY,EAAC,KAAK;UAClBC,UAAU,EAAC,OAAO;UAClBhB,IAAI,EAAC,MAAM;UACXC,SAAS,EAAC,wBAAwB;UAClCgB,QAAQ,EAAKC,QAAQ,IAAM;YAC1BxB,QAAQ,CAAE;cAAEyB,IAAI,EAAED;YAAS,CAAE,CAAC;YAC9B;YACA;YACA;YACA;YACA,IAAK,CAAEA,QAAQ,EAAG;cACjB,IAAK,CAAEtB,eAAe,EAAG;gBACxBC,kBAAkB,CAAE,IAAK,CAAC;cAC3B;cACA;YACD;YACA,IAAKD,eAAe,EAAG;cACtBC,kBAAkB,CAAE,KAAM,CAAC;YAC5B;UACD,CAAG;UACHuB,MAAM,EAAKC,KAAK,IAAM;YACrB3B,QAAQ,CAAE;cACTyB,IAAI,EAAEhF,YAAY,CAAEkF,KAAK,CAACC,MAAM,CAACR,KAAM;YACxC,CAAE,CAAC;YACH,IAAKlB,eAAe,EAAG;cACtBC,kBAAkB,CAAE,KAAM,CAAC;YAC5B;UACD,CAAG;UACH0B,IAAI,eACH3D,KAAA,CAACnB,YAAY;YACZwD,SAAS,EAAC,uBAAuB;YACjCK,IAAI,EAAGrC,QAAU;YACjBqD,MAAM,EAAC,QAAQ;YAAApB,QAAA,gBAEfxC,IAAA;cAAMuC,SAAS,EAAC,8BAA8B;cAAAC,QAAA,EAC3ChC;YAAe,CACZ,CAAC,eACPR,IAAA;cAAMuC,SAAS,EAAC,4BAA4B;cAAAC,QAAA,EACzClC;YAAQ,CACL,CAAC,eACPN,IAAA;cAAMuC,SAAS,EAAC,8BAA8B;cAAAC,QAAA,EAC3C/B;YAAe,CACZ,CAAC;UAAA,CACM;QACd,CACD,CACD,EACC,CAAEJ,UAAU,iBACbL,IAAA,CAACjB,YAAY;UACZwD,SAAS,EAAC,uBAAuB;UACjCK,IAAI,EAAGrC,QAAU;UACjBqD,MAAM,EAAC,QAAQ;UAAApB,QAAA,EAEbjC;QAAQ,CACG,CACd;MAAA,CACG,CAAC;IAAA,CACC,CAAC;EAAA,CACL,CAAC;AAER","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useDispatch","safeDecodeURIComponent","cleanForSlug","useState","createInterpolateElement","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","__","ExternalLink","Button","__experimentalInputControl","InputControl","__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","__experimentalInputControlSuffixWrapper","InputControlSuffixWrapper","__experimentalVStack","VStack","store","noticesStore","copySmall","coreStore","useCopyToClipboard","useInstanceId","editorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PostURL","onClose","isEditable","postSlug","postLink","permalinkPrefix","permalinkSuffix","permalink","select","_post$_links$wpActio","post","getCurrentPost","postTypeSlug","getCurrentPostType","postType","getPostType","permalinkParts","getPermalinkParts","hasPublishAction","_links","isPermalinkEditable","getEditedPostSlug","viewPostLabel","labels","view_item","link","prefix","suffix","getPermalink","editPost","createNotice","forceEmptyField","setForceEmptyField","copyButtonRef","isDismissible","type","postUrlSlugDescriptionId","className","children","title","spacing","span","id","a","href","__next40pxDefaultSize","variant","icon","ref","size","label","hideLabelFromVision","value","autoComplete","spellCheck","onChange","newValue","slug","onBlur","event","target"],"sources":["@wordpress/editor/src/components/post-url/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { safeDecodeURIComponent, cleanForSlug } from '@wordpress/url';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tExternalLink,\n\tButton,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { copySmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useCopyToClipboard, useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the `PostURL` component.\n *\n * @example\n * ```jsx\n * <PostURL />\n * ```\n *\n * @param {Function} onClose Callback function to be executed when the popover is closed.\n *\n * @return {Component} The rendered PostURL component.\n */\nexport default function PostURL( { onClose } ) {\n\tconst {\n\t\tisEditable,\n\t\tpostSlug,\n\t\tpostLink,\n\t\tpermalinkPrefix,\n\t\tpermalinkSuffix,\n\t\tpermalink,\n\t} = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tconst permalinkParts = select( editorStore ).getPermalinkParts();\n\t\tconst hasPublishAction = post?._links?.[ 'wp:action-publish' ] ?? false;\n\n\t\treturn {\n\t\t\tisEditable:\n\t\t\t\tselect( editorStore ).isPermalinkEditable() && hasPublishAction,\n\t\t\tpostSlug: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getEditedPostSlug()\n\t\t\t),\n\t\t\tviewPostLabel: postType?.labels.view_item,\n\t\t\tpostLink: post.link,\n\t\t\tpermalinkPrefix: permalinkParts?.prefix,\n\t\t\tpermalinkSuffix: permalinkParts?.suffix,\n\t\t\tpermalink: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getPermalink()\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\tconst copyButtonRef = useCopyToClipboard( permalink, () => {\n\t\tcreateNotice( 'info', __( 'Copied Permalink to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\tconst postUrlSlugDescriptionId =\n\t\t'editor-post-url__slug-descriotion-' + useInstanceId( PostURL );\n\n\treturn (\n\t\t<div className=\"editor-post-url\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Slug' ) }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t{ isEditable && (\n\t\t\t\t\t<p className=\"editor-post-url__intro\">\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'<span>Customize the last part of the Permalink.</span> <a>Learn more.</a>'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: <span id={ postUrlSlugDescriptionId } />,\n\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#permalink'\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</p>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ isEditable && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t\t<InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t\t\t/\n\t\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\ticon={ copySmall }\n\t\t\t\t\t\t\t\t\t\t\tref={ copyButtonRef }\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"Copy\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel={ __( 'Slug' ) }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tspellCheck=\"false\"\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tclassName=\"editor-post-url__input\"\n\t\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\t\teditPost( { slug: newValue } );\n\t\t\t\t\t\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t\t\t\t\t\t// reverted to the original value.\n\t\t\t\t\t\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t\t\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\t\t\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\t\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\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\tonBlur={ ( event ) => {\n\t\t\t\t\t\t\t\t\teditPost( {\n\t\t\t\t\t\t\t\t\t\tslug: cleanForSlug(\n\t\t\t\t\t\t\t\t\t\t\tevent.target.value\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\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\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\taria-describedby={ postUrlSlugDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"editor-post-url__permalink\">\n\t\t\t\t\t\t\t\t<span className=\"editor-post-url__permalink-visual-label\">\n\t\t\t\t\t\t\t\t\t{ __( 'Permalink:' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-prefix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkPrefix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-slug\">\n\t\t\t\t\t\t\t\t\t\t{ postSlug }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-suffix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkSuffix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditable && (\n\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ postLink }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}