@wordpress/editor 14.0.0 → 14.1.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 (301) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +164 -20
  3. package/build/components/block-settings-menu/content-only-settings-menu.js +14 -5
  4. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  5. package/build/components/document-tools/index.js +12 -3
  6. package/build/components/document-tools/index.js.map +1 -1
  7. package/build/components/editor/index.js +77 -0
  8. package/build/components/editor/index.js.map +1 -0
  9. package/build/components/editor-interface/index.js +6 -8
  10. package/build/components/editor-interface/index.js.map +1 -1
  11. package/build/components/entities-saved-states/hooks/use-is-dirty.js +9 -0
  12. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  13. package/build/components/entities-saved-states/index.js +28 -0
  14. package/build/components/entities-saved-states/index.js.map +1 -1
  15. package/build/components/global-styles-provider/index.js +9 -2
  16. package/build/components/global-styles-provider/index.js.map +1 -1
  17. package/build/components/header/back-button.js +4 -1
  18. package/build/components/header/back-button.js.map +1 -1
  19. package/build/components/header/index.js +1 -5
  20. package/build/components/header/index.js.map +1 -1
  21. package/build/components/index.js +7 -0
  22. package/build/components/index.js.map +1 -1
  23. package/build/components/media-categories/index.js +1 -1
  24. package/build/components/media-categories/index.js.map +1 -1
  25. package/build/components/post-actions/actions.js +10 -4
  26. package/build/components/post-actions/actions.js.map +1 -1
  27. package/build/components/post-last-revision/index.js +35 -9
  28. package/build/components/post-last-revision/index.js.map +1 -1
  29. package/build/components/post-preview-button/index.js +1 -0
  30. package/build/components/post-preview-button/index.js.map +1 -1
  31. package/build/components/post-publish-button/index.js +4 -0
  32. package/build/components/post-publish-button/index.js.map +1 -1
  33. package/build/components/post-publish-button/label.js +5 -0
  34. package/build/components/post-publish-button/label.js.map +1 -1
  35. package/build/components/post-publish-panel/index.js +5 -0
  36. package/build/components/post-publish-panel/index.js.map +1 -1
  37. package/build/components/post-sticky/check.js +8 -0
  38. package/build/components/post-sticky/check.js.map +1 -1
  39. package/build/components/post-sticky/index.js +5 -1
  40. package/build/components/post-sticky/index.js.map +1 -1
  41. package/build/components/post-switch-to-draft-button/index.js +11 -2
  42. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  43. package/build/components/post-sync-status/index.js +6 -2
  44. package/build/components/post-sync-status/index.js.map +1 -1
  45. package/build/components/post-taxonomies/check.js +8 -0
  46. package/build/components/post-taxonomies/check.js.map +1 -1
  47. package/build/components/post-taxonomies/flat-term-selector.js +14 -2
  48. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  49. package/build/components/post-taxonomies/index.js +9 -0
  50. package/build/components/post-taxonomies/index.js.map +1 -1
  51. package/build/components/post-taxonomies/panel.js +10 -0
  52. package/build/components/post-taxonomies/panel.js.map +1 -1
  53. package/build/components/post-title/index.js +4 -8
  54. package/build/components/post-title/index.js.map +1 -1
  55. package/build/components/post-title/post-title-raw.js +3 -7
  56. package/build/components/post-title/post-title-raw.js.map +1 -1
  57. package/build/components/post-trash/check.js +8 -0
  58. package/build/components/post-trash/check.js.map +1 -1
  59. package/build/components/post-trash/index.js +6 -1
  60. package/build/components/post-trash/index.js.map +1 -1
  61. package/build/components/post-url/panel.js +25 -3
  62. package/build/components/post-url/panel.js.map +1 -1
  63. package/build/components/post-visibility/index.js +1 -0
  64. package/build/components/post-visibility/index.js.map +1 -1
  65. package/build/components/provider/disable-non-page-content-blocks.js +5 -3
  66. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  67. package/build/components/provider/index.js +18 -15
  68. package/build/components/provider/index.js.map +1 -1
  69. package/build/components/sidebar/post-summary.js +3 -2
  70. package/build/components/sidebar/post-summary.js.map +1 -1
  71. package/build/components/table-of-contents/index.js +11 -0
  72. package/build/components/table-of-contents/index.js.map +1 -1
  73. package/build/components/template-part-menu-items/convert-to-regular.js +38 -0
  74. package/build/components/template-part-menu-items/convert-to-regular.js.map +1 -0
  75. package/build/components/template-part-menu-items/convert-to-template-part.js +77 -0
  76. package/build/components/template-part-menu-items/convert-to-template-part.js.map +1 -0
  77. package/build/components/template-part-menu-items/index.js +67 -0
  78. package/build/components/template-part-menu-items/index.js.map +1 -0
  79. package/build/components/template-part-menu-items/index.native.js +10 -0
  80. package/build/components/template-part-menu-items/index.native.js.map +1 -0
  81. package/build/components/template-validation-notice/index.js +1 -0
  82. package/build/components/template-validation-notice/index.js.map +1 -1
  83. package/build/components/theme-support-check/index.js +9 -0
  84. package/build/components/theme-support-check/index.js.map +1 -1
  85. package/build/components/time-to-read/index.js +6 -0
  86. package/build/components/time-to-read/index.js.map +1 -1
  87. package/build/components/visual-editor/edit-template-blocks-notification.js +1 -0
  88. package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
  89. package/build/components/word-count/index.js +5 -1
  90. package/build/components/word-count/index.js.map +1 -1
  91. package/build/dataviews/api.js +61 -0
  92. package/build/dataviews/api.js.map +1 -0
  93. package/build/dataviews/store/private-actions.js +28 -0
  94. package/build/dataviews/store/private-actions.js.map +1 -0
  95. package/build/dataviews/store/private-selectors.js +20 -0
  96. package/build/dataviews/store/private-selectors.js.map +1 -0
  97. package/build/dataviews/store/reducer.js +36 -0
  98. package/build/dataviews/store/reducer.js.map +1 -0
  99. package/build/hooks/pattern-overrides.js +2 -1
  100. package/build/hooks/pattern-overrides.js.map +1 -1
  101. package/build/index.js +12 -0
  102. package/build/index.js.map +1 -1
  103. package/build/private-apis.js +2 -6
  104. package/build/private-apis.js.map +1 -1
  105. package/build/private-apis.native.js +0 -2
  106. package/build/private-apis.native.js.map +1 -1
  107. package/build/store/private-actions.js +21 -0
  108. package/build/store/private-actions.js.map +1 -1
  109. package/build/store/private-selectors.js +5 -0
  110. package/build/store/private-selectors.js.map +1 -1
  111. package/build/store/reducer.js +4 -1
  112. package/build/store/reducer.js.map +1 -1
  113. package/build-module/components/block-settings-menu/content-only-settings-menu.js +14 -5
  114. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  115. package/build-module/components/document-tools/index.js +12 -3
  116. package/build-module/components/document-tools/index.js.map +1 -1
  117. package/build-module/components/editor/index.js +71 -0
  118. package/build-module/components/editor/index.js.map +1 -0
  119. package/build-module/components/editor-interface/index.js +6 -8
  120. package/build-module/components/editor-interface/index.js.map +1 -1
  121. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +10 -0
  122. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  123. package/build-module/components/entities-saved-states/index.js +28 -0
  124. package/build-module/components/entities-saved-states/index.js.map +1 -1
  125. package/build-module/components/global-styles-provider/index.js +9 -2
  126. package/build-module/components/global-styles-provider/index.js.map +1 -1
  127. package/build-module/components/header/back-button.js +4 -1
  128. package/build-module/components/header/back-button.js.map +1 -1
  129. package/build-module/components/header/index.js +1 -5
  130. package/build-module/components/header/index.js.map +1 -1
  131. package/build-module/components/index.js +7 -0
  132. package/build-module/components/index.js.map +1 -1
  133. package/build-module/components/media-categories/index.js +1 -1
  134. package/build-module/components/media-categories/index.js.map +1 -1
  135. package/build-module/components/post-actions/actions.js +10 -4
  136. package/build-module/components/post-actions/actions.js.map +1 -1
  137. package/build-module/components/post-last-revision/index.js +34 -11
  138. package/build-module/components/post-last-revision/index.js.map +1 -1
  139. package/build-module/components/post-preview-button/index.js +1 -0
  140. package/build-module/components/post-preview-button/index.js.map +1 -1
  141. package/build-module/components/post-publish-button/index.js +4 -0
  142. package/build-module/components/post-publish-button/index.js.map +1 -1
  143. package/build-module/components/post-publish-button/label.js +6 -0
  144. package/build-module/components/post-publish-button/label.js.map +1 -1
  145. package/build-module/components/post-publish-panel/index.js +5 -0
  146. package/build-module/components/post-publish-panel/index.js.map +1 -1
  147. package/build-module/components/post-sticky/check.js +9 -0
  148. package/build-module/components/post-sticky/check.js.map +1 -1
  149. package/build-module/components/post-sticky/index.js +6 -0
  150. package/build-module/components/post-sticky/index.js.map +1 -1
  151. package/build-module/components/post-switch-to-draft-button/index.js +10 -1
  152. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  153. package/build-module/components/post-sync-status/index.js +7 -1
  154. package/build-module/components/post-sync-status/index.js.map +1 -1
  155. package/build-module/components/post-taxonomies/check.js +9 -0
  156. package/build-module/components/post-taxonomies/check.js.map +1 -1
  157. package/build-module/components/post-taxonomies/flat-term-selector.js +14 -2
  158. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  159. package/build-module/components/post-taxonomies/index.js +9 -0
  160. package/build-module/components/post-taxonomies/index.js.map +1 -1
  161. package/build-module/components/post-taxonomies/panel.js +10 -0
  162. package/build-module/components/post-taxonomies/panel.js.map +1 -1
  163. package/build-module/components/post-title/index.js +4 -8
  164. package/build-module/components/post-title/index.js.map +1 -1
  165. package/build-module/components/post-title/post-title-raw.js +3 -7
  166. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  167. package/build-module/components/post-trash/check.js +9 -0
  168. package/build-module/components/post-trash/check.js.map +1 -1
  169. package/build-module/components/post-trash/index.js +7 -0
  170. package/build-module/components/post-trash/index.js.map +1 -1
  171. package/build-module/components/post-url/panel.js +26 -3
  172. package/build-module/components/post-url/panel.js.map +1 -1
  173. package/build-module/components/post-visibility/index.js +1 -0
  174. package/build-module/components/post-visibility/index.js.map +1 -1
  175. package/build-module/components/provider/disable-non-page-content-blocks.js +5 -3
  176. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  177. package/build-module/components/provider/index.js +18 -15
  178. package/build-module/components/provider/index.js.map +1 -1
  179. package/build-module/components/sidebar/post-summary.js +3 -2
  180. package/build-module/components/sidebar/post-summary.js.map +1 -1
  181. package/build-module/components/table-of-contents/index.js +11 -0
  182. package/build-module/components/table-of-contents/index.js.map +1 -1
  183. package/build-module/components/template-part-menu-items/convert-to-regular.js +31 -0
  184. package/build-module/components/template-part-menu-items/convert-to-regular.js.map +1 -0
  185. package/build-module/components/template-part-menu-items/convert-to-template-part.js +71 -0
  186. package/build-module/components/template-part-menu-items/convert-to-template-part.js.map +1 -0
  187. package/build-module/components/template-part-menu-items/index.js +59 -0
  188. package/build-module/components/template-part-menu-items/index.js.map +1 -0
  189. package/build-module/components/template-part-menu-items/index.native.js +4 -0
  190. package/build-module/components/template-part-menu-items/index.native.js.map +1 -0
  191. package/build-module/components/template-validation-notice/index.js +1 -0
  192. package/build-module/components/template-validation-notice/index.js.map +1 -1
  193. package/build-module/components/theme-support-check/index.js +10 -0
  194. package/build-module/components/theme-support-check/index.js.map +1 -1
  195. package/build-module/components/time-to-read/index.js +6 -0
  196. package/build-module/components/time-to-read/index.js.map +1 -1
  197. package/build-module/components/visual-editor/edit-template-blocks-notification.js +1 -0
  198. package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
  199. package/build-module/components/word-count/index.js +6 -0
  200. package/build-module/components/word-count/index.js.map +1 -1
  201. package/build-module/dataviews/api.js +54 -0
  202. package/build-module/dataviews/api.js.map +1 -0
  203. package/build-module/dataviews/store/private-actions.js +21 -0
  204. package/build-module/dataviews/store/private-actions.js.map +1 -0
  205. package/build-module/dataviews/store/private-selectors.js +14 -0
  206. package/build-module/dataviews/store/private-selectors.js.map +1 -0
  207. package/build-module/dataviews/store/reducer.js +29 -0
  208. package/build-module/dataviews/store/reducer.js.map +1 -0
  209. package/build-module/hooks/pattern-overrides.js +2 -1
  210. package/build-module/hooks/pattern-overrides.js.map +1 -1
  211. package/build-module/index.js +1 -0
  212. package/build-module/index.js.map +1 -1
  213. package/build-module/private-apis.js +2 -6
  214. package/build-module/private-apis.js.map +1 -1
  215. package/build-module/private-apis.native.js +0 -2
  216. package/build-module/private-apis.native.js.map +1 -1
  217. package/build-module/store/private-actions.js +1 -0
  218. package/build-module/store/private-actions.js.map +1 -1
  219. package/build-module/store/private-selectors.js +4 -0
  220. package/build-module/store/private-selectors.js.map +1 -1
  221. package/build-module/store/reducer.js +3 -1
  222. package/build-module/store/reducer.js.map +1 -1
  223. package/build-style/style-rtl.css +35 -43
  224. package/build-style/style.css +35 -43
  225. package/build-types/dataviews/store/private-actions.d.ts +17 -0
  226. package/build-types/dataviews/store/private-actions.d.ts.map +1 -0
  227. package/build-types/dataviews/store/private-selectors.d.ts +10 -0
  228. package/build-types/dataviews/store/private-selectors.d.ts.map +1 -0
  229. package/build-types/dataviews/store/reducer.d.ts +11 -0
  230. package/build-types/dataviews/store/reducer.d.ts.map +1 -0
  231. package/package.json +35 -35
  232. package/src/components/block-settings-menu/content-only-settings-menu.js +26 -12
  233. package/src/components/collapsible-block-toolbar/style.scss +3 -1
  234. package/src/components/document-tools/index.js +13 -4
  235. package/src/components/editor/index.js +88 -0
  236. package/src/components/editor-interface/index.js +5 -5
  237. package/src/components/editor-interface/style.scss +3 -0
  238. package/src/components/entities-saved-states/hooks/use-is-dirty.js +9 -0
  239. package/src/components/entities-saved-states/index.js +26 -0
  240. package/src/components/entities-saved-states/style.scss +0 -7
  241. package/src/components/global-styles-provider/index.js +12 -2
  242. package/src/components/header/back-button.js +6 -1
  243. package/src/components/header/index.js +1 -8
  244. package/src/components/header/style.scss +1 -1
  245. package/src/components/index.js +7 -0
  246. package/src/components/keyboard-shortcut-help-modal/style.scss +0 -3
  247. package/src/components/media-categories/index.js +1 -3
  248. package/src/components/post-actions/actions.js +9 -3
  249. package/src/components/post-card-panel/style.scss +4 -0
  250. package/src/components/post-last-revision/index.js +30 -7
  251. package/src/components/post-last-revision/style.scss +4 -0
  252. package/src/components/post-panel-row/style.scss +2 -1
  253. package/src/components/post-preview-button/index.js +1 -0
  254. package/src/components/post-preview-button/test/index.js +10 -2
  255. package/src/components/post-publish-button/index.js +3 -0
  256. package/src/components/post-publish-button/label.js +5 -0
  257. package/src/components/post-publish-panel/index.js +4 -0
  258. package/src/components/post-publish-panel/style.scss +28 -36
  259. package/src/components/post-status/style.scss +5 -0
  260. package/src/components/post-sticky/check.js +8 -0
  261. package/src/components/post-sticky/index.js +5 -0
  262. package/src/components/post-switch-to-draft-button/index.js +10 -1
  263. package/src/components/post-sync-status/index.js +7 -8
  264. package/src/components/post-taxonomies/check.js +8 -0
  265. package/src/components/post-taxonomies/flat-term-selector.js +13 -2
  266. package/src/components/post-taxonomies/index.js +8 -0
  267. package/src/components/post-taxonomies/panel.js +9 -0
  268. package/src/components/post-title/index.js +2 -5
  269. package/src/components/post-title/post-title-raw.js +2 -5
  270. package/src/components/post-trash/check.js +8 -0
  271. package/src/components/post-trash/index.js +6 -0
  272. package/src/components/post-url/panel.js +13 -5
  273. package/src/components/post-visibility/index.js +1 -0
  274. package/src/components/provider/disable-non-page-content-blocks.js +9 -4
  275. package/src/components/provider/index.js +17 -17
  276. package/src/components/save-publish-panels/style.scss +0 -8
  277. package/src/components/sidebar/post-summary.js +3 -1
  278. package/src/components/table-of-contents/index.js +10 -0
  279. package/src/components/template-part-menu-items/convert-to-regular.js +32 -0
  280. package/src/components/template-part-menu-items/convert-to-template-part.js +75 -0
  281. package/src/components/template-part-menu-items/index.js +59 -0
  282. package/src/components/template-part-menu-items/index.native.js +3 -0
  283. package/src/components/template-validation-notice/index.js +1 -0
  284. package/src/components/theme-support-check/index.js +9 -0
  285. package/src/components/time-to-read/index.js +5 -0
  286. package/src/components/visual-editor/edit-template-blocks-notification.js +1 -0
  287. package/src/components/word-count/index.js +5 -0
  288. package/src/dataviews/api.js +55 -0
  289. package/src/dataviews/store/private-actions.ts +30 -0
  290. package/src/dataviews/store/private-selectors.ts +15 -0
  291. package/src/dataviews/store/reducer.ts +44 -0
  292. package/src/hooks/pattern-overrides.js +2 -0
  293. package/src/index.js +1 -0
  294. package/src/private-apis.js +2 -6
  295. package/src/private-apis.native.js +0 -2
  296. package/src/store/private-actions.js +1 -0
  297. package/src/store/private-selectors.js +5 -0
  298. package/src/store/reducer.js +2 -0
  299. package/src/style.scss +1 -0
  300. package/tsconfig.json +36 -0
  301. package/tsconfig.tsbuildinfo +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","_components","_data","_coreData","_compose","_a11y","_notices","_store","_terms","_mostUsedTerms","_interopRequireDefault","_jsxRuntime","EMPTY_ARRAY","MAX_TERMS_SUGGESTIONS","DEFAULT_QUERY","per_page","_fields","context","isSameTermName","termA","termB","unescapeString","toLowerCase","termNamesToIds","names","terms","map","termName","find","term","name","id","filter","undefined","FlatTermSelector","slug","_taxonomy$labels$add_","_taxonomy$labels$sing2","values","setValues","useState","search","setSearch","debouncedSearch","useDebounce","termIds","taxonomy","hasAssignAction","hasCreateAction","hasResolvedTerms","useSelect","select","_post$_links","_post$_links2","getCurrentPost","getEditedPostAttribute","editorStore","getEntityRecords","getTaxonomy","hasFinishedResolution","coreStore","post","_taxonomy","_termIds","rest_base","query","include","join","_links","length","searchResults","useEffect","newValues","suggestions","useMemo","editPost","useDispatch","saveEntityRecord","createErrorNotice","noticesStore","findOrCreateTerm","newTerm","throwOnError","unescapeTerm","error","code","data","term_id","onUpdateTerms","newTermIds","onChange","termNames","availableTerms","uniqueTerms","reduce","acc","some","n","push","newTermNames","Promise","all","then","newTerms","newAvailableTerms","concat","catch","message","type","appendTerm","_taxonomy$labels$sing","includes","defaultName","__","termAddedMessage","sprintf","_x","labels","singular_name","speak","newTermLabel","add_new_item","singularName","termAddedLabel","termRemovedLabel","removeTermLabel","jsxs","Fragment","children","jsx","FormTokenField","__next40pxDefaultSize","value","onInputChange","maxSuggestions","label","messages","added","removed","remove","default","onSelect","_default","exports","withFilters"],"sources":["@wordpress/editor/src/components/post-taxonomies/flat-term-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { FormTokenField, withFilters } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unescapeString, unescapeTerm } from '../../utils/terms';\nimport MostUsedTerms from './most-used-terms';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array<any>}\n */\nconst EMPTY_ARRAY = [];\n\n/**\n * Module constants\n */\nconst MAX_TERMS_SUGGESTIONS = 20;\nconst DEFAULT_QUERY = {\n\tper_page: MAX_TERMS_SUGGESTIONS,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nconst isSameTermName = ( termA, termB ) =>\n\tunescapeString( termA ).toLowerCase() ===\n\tunescapeString( termB ).toLowerCase();\n\nconst termNamesToIds = ( names, terms ) => {\n\treturn names\n\t\t.map(\n\t\t\t( termName ) =>\n\t\t\t\tterms.find( ( term ) => isSameTermName( term.name, termName ) )\n\t\t\t\t\t?.id\n\t\t)\n\t\t.filter( ( id ) => id !== undefined );\n};\n\nexport function FlatTermSelector( { slug } ) {\n\tconst [ values, setValues ] = useState( [] );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tconst {\n\t\tterms,\n\t\ttermIds,\n\t\ttaxonomy,\n\t\thasAssignAction,\n\t\thasCreateAction,\n\t\thasResolvedTerms,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPost, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getEntityRecords, getTaxonomy, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst post = getCurrentPost();\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst _termIds = _taxonomy\n\t\t\t\t? getEditedPostAttribute( _taxonomy.rest_base )\n\t\t\t\t: EMPTY_ARRAY;\n\n\t\t\tconst query = {\n\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\tinclude: _termIds.join( ',' ),\n\t\t\t\tper_page: -1,\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t\ttermIds: _termIds,\n\t\t\t\tterms: _termIds.length\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, query )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\thasResolvedTerms: hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ slug ]\n\t);\n\n\tconst { searchResults } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tsearchResults: !! search\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, {\n\t\t\t\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\t\t\t\tsearch,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t};\n\t\t},\n\t\t[ search, slug ]\n\t);\n\n\t// Update terms state only after the selectors are resolved.\n\t// We're using this to avoid terms temporarily disappearing on slow networks\n\t// while core data makes REST API requests.\n\tuseEffect( () => {\n\t\tif ( hasResolvedTerms ) {\n\t\t\tconst newValues = ( terms ?? [] ).map( ( term ) =>\n\t\t\t\tunescapeString( term.name )\n\t\t\t);\n\n\t\t\tsetValues( newValues );\n\t\t}\n\t}, [ terms, hasResolvedTerms ] );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn ( searchResults ?? [] ).map( ( term ) =>\n\t\t\tunescapeString( term.name )\n\t\t);\n\t}, [ searchResults ] );\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst newTerm = await saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\treturn unescapeTerm( newTerm );\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: error.data.term_id,\n\t\t\t\tname: term.name,\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction onUpdateTerms( newTermIds ) {\n\t\teditPost( { [ taxonomy.rest_base ]: newTermIds } );\n\t}\n\n\tfunction onChange( termNames ) {\n\t\tconst availableTerms = [\n\t\t\t...( terms ?? [] ),\n\t\t\t...( searchResults ?? [] ),\n\t\t];\n\t\tconst uniqueTerms = termNames.reduce( ( acc, name ) => {\n\t\t\tif (\n\t\t\t\t! acc.some( ( n ) => n.toLowerCase() === name.toLowerCase() )\n\t\t\t) {\n\t\t\t\tacc.push( name );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\t\tconst newTermNames = uniqueTerms.filter(\n\t\t\t( termName ) =>\n\t\t\t\t! availableTerms.find( ( term ) =>\n\t\t\t\t\tisSameTermName( term.name, termName )\n\t\t\t\t)\n\t\t);\n\n\t\t// Optimistically update term values.\n\t\t// The selector will always re-fetch terms later.\n\t\tsetValues( uniqueTerms );\n\n\t\tif ( newTermNames.length === 0 ) {\n\t\t\tonUpdateTerms( termNamesToIds( uniqueTerms, availableTerms ) );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! hasCreateAction ) {\n\t\t\treturn;\n\t\t}\n\n\t\tPromise.all(\n\t\t\tnewTermNames.map( ( termName ) =>\n\t\t\t\tfindOrCreateTerm( { name: termName } )\n\t\t\t)\n\t\t)\n\t\t\t.then( ( newTerms ) => {\n\t\t\t\tconst newAvailableTerms = availableTerms.concat( newTerms );\n\t\t\t\tonUpdateTerms(\n\t\t\t\t\ttermNamesToIds( uniqueTerms, newAvailableTerms )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\t// In case of a failure, try assigning available terms.\n\t\t\t\t// This will invalidate the optimistic update.\n\t\t\t\tonUpdateTerms( termNamesToIds( uniqueTerms, availableTerms ) );\n\t\t\t} );\n\t}\n\n\tfunction appendTerm( newTerm ) {\n\t\tif ( termIds.includes( newTerm.id ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newTermIds = [ ...termIds, newTerm.id ];\n\t\tconst defaultName = slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' );\n\t\tconst termAddedMessage = sprintf(\n\t\t\t/* translators: %s: term name. */\n\t\t\t_x( '%s added', 'term' ),\n\t\t\ttaxonomy?.labels?.singular_name ?? defaultName\n\t\t);\n\n\t\tspeak( termAddedMessage, 'assertive' );\n\t\tonUpdateTerms( newTermIds );\n\t}\n\n\tconst newTermLabel =\n\t\ttaxonomy?.labels?.add_new_item ??\n\t\t( slug === 'post_tag' ? __( 'Add new tag' ) : __( 'Add new Term' ) );\n\tconst singularName =\n\t\ttaxonomy?.labels?.singular_name ??\n\t\t( slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' ) );\n\tconst termAddedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s added', 'term' ),\n\t\tsingularName\n\t);\n\tconst termRemovedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s removed', 'term' ),\n\t\tsingularName\n\t);\n\tconst removeTermLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( 'Remove %s', 'term' ),\n\t\tsingularName\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<FormTokenField\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvalue={ values }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tmaxSuggestions={ MAX_TERMS_SUGGESTIONS }\n\t\t\t\tlabel={ newTermLabel }\n\t\t\t\tmessages={ {\n\t\t\t\t\tadded: termAddedLabel,\n\t\t\t\t\tremoved: termRemovedLabel,\n\t\t\t\t\tremove: removeTermLabel,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<MostUsedTerms taxonomy={ taxonomy } onSelect={ appendTerm } />\n\t\t</>\n\t);\n}\n\nexport default withFilters( 'editor.PostTaxonomyType' )( FlatTermSelector );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_element","_components","_data","_coreData","_compose","_a11y","_notices","_store","_terms","_mostUsedTerms","_interopRequireDefault","_jsxRuntime","EMPTY_ARRAY","MAX_TERMS_SUGGESTIONS","DEFAULT_QUERY","per_page","_fields","context","isSameTermName","termA","termB","unescapeString","toLowerCase","termNamesToIds","names","terms","map","termName","find","term","name","id","filter","undefined","FlatTermSelector","slug","_taxonomy$labels$add_","_taxonomy$labels$sing2","values","setValues","useState","search","setSearch","debouncedSearch","useDebounce","termIds","taxonomy","hasAssignAction","hasCreateAction","hasResolvedTerms","useSelect","select","_post$_links","_post$_links2","getCurrentPost","getEditedPostAttribute","editorStore","getEntityRecords","getTaxonomy","hasFinishedResolution","coreStore","post","_taxonomy","_termIds","rest_base","query","include","join","_links","length","searchResults","useEffect","newValues","suggestions","useMemo","editPost","useDispatch","saveEntityRecord","createErrorNotice","noticesStore","findOrCreateTerm","newTerm","throwOnError","unescapeTerm","error","code","data","term_id","onUpdateTerms","newTermIds","onChange","termNames","availableTerms","uniqueTerms","reduce","acc","some","n","push","newTermNames","Promise","all","then","newTerms","newAvailableTerms","concat","catch","message","type","appendTerm","_taxonomy$labels$sing","includes","defaultName","__","termAddedMessage","sprintf","_x","labels","singular_name","speak","newTermLabel","add_new_item","singularName","termAddedLabel","termRemovedLabel","removeTermLabel","jsxs","Fragment","children","jsx","FormTokenField","__next40pxDefaultSize","value","onInputChange","maxSuggestions","label","messages","added","removed","remove","default","onSelect","_default","exports","withFilters"],"sources":["@wordpress/editor/src/components/post-taxonomies/flat-term-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { FormTokenField, withFilters } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unescapeString, unescapeTerm } from '../../utils/terms';\nimport MostUsedTerms from './most-used-terms';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array<any>}\n */\nconst EMPTY_ARRAY = [];\n\n/**\n * How the max suggestions limit was chosen:\n * - Matches the `per_page` range set by the REST API.\n * - Can't use \"unbound\" query. The `FormTokenField` needs a fixed number.\n * - Matches default for `FormTokenField`.\n */\nconst MAX_TERMS_SUGGESTIONS = 100;\nconst DEFAULT_QUERY = {\n\tper_page: MAX_TERMS_SUGGESTIONS,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nconst isSameTermName = ( termA, termB ) =>\n\tunescapeString( termA ).toLowerCase() ===\n\tunescapeString( termB ).toLowerCase();\n\nconst termNamesToIds = ( names, terms ) => {\n\treturn names\n\t\t.map(\n\t\t\t( termName ) =>\n\t\t\t\tterms.find( ( term ) => isSameTermName( term.name, termName ) )\n\t\t\t\t\t?.id\n\t\t)\n\t\t.filter( ( id ) => id !== undefined );\n};\n\n/**\n * Renders a flat term selector component.\n *\n * @param {Object} props The component props.\n * @param {string} props.slug The slug of the taxonomy.\n *\n * @return {JSX.Element} The rendered flat term selector component.\n */\nexport function FlatTermSelector( { slug } ) {\n\tconst [ values, setValues ] = useState( [] );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tconst {\n\t\tterms,\n\t\ttermIds,\n\t\ttaxonomy,\n\t\thasAssignAction,\n\t\thasCreateAction,\n\t\thasResolvedTerms,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPost, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getEntityRecords, getTaxonomy, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst post = getCurrentPost();\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst _termIds = _taxonomy\n\t\t\t\t? getEditedPostAttribute( _taxonomy.rest_base )\n\t\t\t\t: EMPTY_ARRAY;\n\n\t\t\tconst query = {\n\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\tinclude: _termIds.join( ',' ),\n\t\t\t\tper_page: -1,\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t\ttermIds: _termIds,\n\t\t\t\tterms: _termIds.length\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, query )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\thasResolvedTerms: hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ slug ]\n\t);\n\n\tconst { searchResults } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tsearchResults: !! search\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, {\n\t\t\t\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\t\t\t\tsearch,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t};\n\t\t},\n\t\t[ search, slug ]\n\t);\n\n\t// Update terms state only after the selectors are resolved.\n\t// We're using this to avoid terms temporarily disappearing on slow networks\n\t// while core data makes REST API requests.\n\tuseEffect( () => {\n\t\tif ( hasResolvedTerms ) {\n\t\t\tconst newValues = ( terms ?? [] ).map( ( term ) =>\n\t\t\t\tunescapeString( term.name )\n\t\t\t);\n\n\t\t\tsetValues( newValues );\n\t\t}\n\t}, [ terms, hasResolvedTerms ] );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn ( searchResults ?? [] ).map( ( term ) =>\n\t\t\tunescapeString( term.name )\n\t\t);\n\t}, [ searchResults ] );\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst newTerm = await saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\treturn unescapeTerm( newTerm );\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: error.data.term_id,\n\t\t\t\tname: term.name,\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction onUpdateTerms( newTermIds ) {\n\t\teditPost( { [ taxonomy.rest_base ]: newTermIds } );\n\t}\n\n\tfunction onChange( termNames ) {\n\t\tconst availableTerms = [\n\t\t\t...( terms ?? [] ),\n\t\t\t...( searchResults ?? [] ),\n\t\t];\n\t\tconst uniqueTerms = termNames.reduce( ( acc, name ) => {\n\t\t\tif (\n\t\t\t\t! acc.some( ( n ) => n.toLowerCase() === name.toLowerCase() )\n\t\t\t) {\n\t\t\t\tacc.push( name );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\t\tconst newTermNames = uniqueTerms.filter(\n\t\t\t( termName ) =>\n\t\t\t\t! availableTerms.find( ( term ) =>\n\t\t\t\t\tisSameTermName( term.name, termName )\n\t\t\t\t)\n\t\t);\n\n\t\t// Optimistically update term values.\n\t\t// The selector will always re-fetch terms later.\n\t\tsetValues( uniqueTerms );\n\n\t\tif ( newTermNames.length === 0 ) {\n\t\t\tonUpdateTerms( termNamesToIds( uniqueTerms, availableTerms ) );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! hasCreateAction ) {\n\t\t\treturn;\n\t\t}\n\n\t\tPromise.all(\n\t\t\tnewTermNames.map( ( termName ) =>\n\t\t\t\tfindOrCreateTerm( { name: termName } )\n\t\t\t)\n\t\t)\n\t\t\t.then( ( newTerms ) => {\n\t\t\t\tconst newAvailableTerms = availableTerms.concat( newTerms );\n\t\t\t\tonUpdateTerms(\n\t\t\t\t\ttermNamesToIds( uniqueTerms, newAvailableTerms )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\t// In case of a failure, try assigning available terms.\n\t\t\t\t// This will invalidate the optimistic update.\n\t\t\t\tonUpdateTerms( termNamesToIds( uniqueTerms, availableTerms ) );\n\t\t\t} );\n\t}\n\n\tfunction appendTerm( newTerm ) {\n\t\tif ( termIds.includes( newTerm.id ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newTermIds = [ ...termIds, newTerm.id ];\n\t\tconst defaultName = slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' );\n\t\tconst termAddedMessage = sprintf(\n\t\t\t/* translators: %s: term name. */\n\t\t\t_x( '%s added', 'term' ),\n\t\t\ttaxonomy?.labels?.singular_name ?? defaultName\n\t\t);\n\n\t\tspeak( termAddedMessage, 'assertive' );\n\t\tonUpdateTerms( newTermIds );\n\t}\n\n\tconst newTermLabel =\n\t\ttaxonomy?.labels?.add_new_item ??\n\t\t( slug === 'post_tag' ? __( 'Add new tag' ) : __( 'Add new Term' ) );\n\tconst singularName =\n\t\ttaxonomy?.labels?.singular_name ??\n\t\t( slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' ) );\n\tconst termAddedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s added', 'term' ),\n\t\tsingularName\n\t);\n\tconst termRemovedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s removed', 'term' ),\n\t\tsingularName\n\t);\n\tconst removeTermLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( 'Remove %s', 'term' ),\n\t\tsingularName\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<FormTokenField\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvalue={ values }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tmaxSuggestions={ MAX_TERMS_SUGGESTIONS }\n\t\t\t\tlabel={ newTermLabel }\n\t\t\t\tmessages={ {\n\t\t\t\t\tadded: termAddedLabel,\n\t\t\t\t\tremoved: termRemovedLabel,\n\t\t\t\t\tremove: removeTermLabel,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<MostUsedTerms taxonomy={ taxonomy } onSelect={ appendTerm } />\n\t\t</>\n\t);\n}\n\nexport default withFilters( 'editor.PostTaxonomyType' )( FlatTermSelector );\n"],"mappings":"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","ignoreList":[]}
@@ -49,5 +49,14 @@ function PostTaxonomies({
49
49
  }, `taxonomy-${taxonomy.slug}`);
50
50
  });
51
51
  }
52
+
53
+ /**
54
+ * Renders the taxonomies associated with a post.
55
+ *
56
+ * @param {Object} props The component props.
57
+ * @param {Function} props.taxonomyWrapper The wrapper function for each taxonomy component.
58
+ *
59
+ * @return {Array} An array of JSX elements representing the visible taxonomies.
60
+ */
52
61
  var _default = exports.default = PostTaxonomies;
53
62
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_coreData","_hierarchicalTermSelector","_interopRequireDefault","_flatTermSelector","_store","_jsxRuntime","identity","x","PostTaxonomies","taxonomyWrapper","postType","taxonomies","useSelect","select","editorStore","getCurrentPostType","coreStore","getTaxonomies","per_page","visibleTaxonomies","filter","taxonomy","types","includes","visibility","show_ui","map","TaxonomyComponent","hierarchical","HierarchicalTermSelector","FlatTermSelector","jsx","Fragment","children","slug","_default","exports","default"],"sources":["@wordpress/editor/src/components/post-taxonomies/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Fragment } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport HierarchicalTermSelector from './hierarchical-term-selector';\nimport FlatTermSelector from './flat-term-selector';\nimport { store as editorStore } from '../../store';\n\nconst identity = ( x ) => x;\n\nexport function PostTaxonomies( { taxonomyWrapper = identity } ) {\n\tconst { postType, taxonomies } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostType: select( editorStore ).getCurrentPostType(),\n\t\t\ttaxonomies: select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t};\n\t}, [] );\n\tconst visibleTaxonomies = ( taxonomies ?? [] ).filter(\n\t\t( taxonomy ) =>\n\t\t\t// In some circumstances .visibility can end up as undefined so optional chaining operator required.\n\t\t\t// https://github.com/WordPress/gutenberg/issues/40326\n\t\t\ttaxonomy.types.includes( postType ) && taxonomy.visibility?.show_ui\n\t);\n\n\treturn visibleTaxonomies.map( ( taxonomy ) => {\n\t\tconst TaxonomyComponent = taxonomy.hierarchical\n\t\t\t? HierarchicalTermSelector\n\t\t\t: FlatTermSelector;\n\t\treturn (\n\t\t\t<Fragment key={ `taxonomy-${ taxonomy.slug }` }>\n\t\t\t\t{ taxonomyWrapper(\n\t\t\t\t\t<TaxonomyComponent slug={ taxonomy.slug } />,\n\t\t\t\t\ttaxonomy\n\t\t\t\t) }\n\t\t\t</Fragment>\n\t\t);\n\t} );\n}\n\nexport default PostTaxonomies;\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAKA,IAAAG,yBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAAmD,IAAAO,WAAA,GAAAP,OAAA;AAZnD;AACA;AACA;;AAKA;AACA;AACA;;AAKA,MAAMQ,QAAQ,GAAKC,CAAC,IAAMA,CAAC;AAEpB,SAASC,cAAcA,CAAE;EAAEC,eAAe,GAAGH;AAAS,CAAC,EAAG;EAChE,MAAM;IAAEI,QAAQ;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACzD,OAAO;MACNH,QAAQ,EAAEG,MAAM,CAAEC,YAAY,CAAC,CAACC,kBAAkB,CAAC,CAAC;MACpDJ,UAAU,EAAEE,MAAM,CAAEG,eAAU,CAAC,CAACC,aAAa,CAAE;QAAEC,QAAQ,EAAE,CAAC;MAAE,CAAE;IACjE,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,iBAAiB,GAAG,CAAER,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAE,EAAGS,MAAM,CAClDC,QAAQ;EACT;EACA;EACAA,QAAQ,CAACC,KAAK,CAACC,QAAQ,CAAEb,QAAS,CAAC,IAAIW,QAAQ,CAACG,UAAU,EAAEC,OAC9D,CAAC;EAED,OAAON,iBAAiB,CAACO,GAAG,CAAIL,QAAQ,IAAM;IAC7C,MAAMM,iBAAiB,GAAGN,QAAQ,CAACO,YAAY,GAC5CC,iCAAwB,GACxBC,yBAAgB;IACnB,oBACC,IAAAzB,WAAA,CAAA0B,GAAA,EAAClC,QAAA,CAAAmC,QAAQ;MAAAC,QAAA,EACNxB,eAAe,eAChB,IAAAJ,WAAA,CAAA0B,GAAA,EAACJ,iBAAiB;QAACO,IAAI,EAAGb,QAAQ,CAACa;MAAM,CAAE,CAAC,EAC5Cb,QACD;IAAC,GAJe,YAAYA,QAAQ,CAACa,IAAM,EAKlC,CAAC;EAEb,CAAE,CAAC;AACJ;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc7B,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_data","_coreData","_hierarchicalTermSelector","_interopRequireDefault","_flatTermSelector","_store","_jsxRuntime","identity","x","PostTaxonomies","taxonomyWrapper","postType","taxonomies","useSelect","select","editorStore","getCurrentPostType","coreStore","getTaxonomies","per_page","visibleTaxonomies","filter","taxonomy","types","includes","visibility","show_ui","map","TaxonomyComponent","hierarchical","HierarchicalTermSelector","FlatTermSelector","jsx","Fragment","children","slug","_default","exports","default"],"sources":["@wordpress/editor/src/components/post-taxonomies/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Fragment } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport HierarchicalTermSelector from './hierarchical-term-selector';\nimport FlatTermSelector from './flat-term-selector';\nimport { store as editorStore } from '../../store';\n\nconst identity = ( x ) => x;\n\nexport function PostTaxonomies( { taxonomyWrapper = identity } ) {\n\tconst { postType, taxonomies } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostType: select( editorStore ).getCurrentPostType(),\n\t\t\ttaxonomies: select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t};\n\t}, [] );\n\tconst visibleTaxonomies = ( taxonomies ?? [] ).filter(\n\t\t( taxonomy ) =>\n\t\t\t// In some circumstances .visibility can end up as undefined so optional chaining operator required.\n\t\t\t// https://github.com/WordPress/gutenberg/issues/40326\n\t\t\ttaxonomy.types.includes( postType ) && taxonomy.visibility?.show_ui\n\t);\n\n\treturn visibleTaxonomies.map( ( taxonomy ) => {\n\t\tconst TaxonomyComponent = taxonomy.hierarchical\n\t\t\t? HierarchicalTermSelector\n\t\t\t: FlatTermSelector;\n\t\treturn (\n\t\t\t<Fragment key={ `taxonomy-${ taxonomy.slug }` }>\n\t\t\t\t{ taxonomyWrapper(\n\t\t\t\t\t<TaxonomyComponent slug={ taxonomy.slug } />,\n\t\t\t\t\ttaxonomy\n\t\t\t\t) }\n\t\t\t</Fragment>\n\t\t);\n\t} );\n}\n\n/**\n * Renders the taxonomies associated with a post.\n *\n * @param {Object} props The component props.\n * @param {Function} props.taxonomyWrapper The wrapper function for each taxonomy component.\n *\n * @return {Array} An array of JSX elements representing the visible taxonomies.\n */\nexport default PostTaxonomies;\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAKA,IAAAG,yBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAAmD,IAAAO,WAAA,GAAAP,OAAA;AAZnD;AACA;AACA;;AAKA;AACA;AACA;;AAKA,MAAMQ,QAAQ,GAAKC,CAAC,IAAMA,CAAC;AAEpB,SAASC,cAAcA,CAAE;EAAEC,eAAe,GAAGH;AAAS,CAAC,EAAG;EAChE,MAAM;IAAEI,QAAQ;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACzD,OAAO;MACNH,QAAQ,EAAEG,MAAM,CAAEC,YAAY,CAAC,CAACC,kBAAkB,CAAC,CAAC;MACpDJ,UAAU,EAAEE,MAAM,CAAEG,eAAU,CAAC,CAACC,aAAa,CAAE;QAAEC,QAAQ,EAAE,CAAC;MAAE,CAAE;IACjE,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,iBAAiB,GAAG,CAAER,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAE,EAAGS,MAAM,CAClDC,QAAQ;EACT;EACA;EACAA,QAAQ,CAACC,KAAK,CAACC,QAAQ,CAAEb,QAAS,CAAC,IAAIW,QAAQ,CAACG,UAAU,EAAEC,OAC9D,CAAC;EAED,OAAON,iBAAiB,CAACO,GAAG,CAAIL,QAAQ,IAAM;IAC7C,MAAMM,iBAAiB,GAAGN,QAAQ,CAACO,YAAY,GAC5CC,iCAAwB,GACxBC,yBAAgB;IACnB,oBACC,IAAAzB,WAAA,CAAA0B,GAAA,EAAClC,QAAA,CAAAmC,QAAQ;MAAAC,QAAA,EACNxB,eAAe,eAChB,IAAAJ,WAAA,CAAA0B,GAAA,EAACJ,iBAAiB;QAACO,IAAI,EAAGb,QAAQ,CAACa;MAAM,CAAE,CAAC,EAC5Cb,QACD;IAAC,GAJe,YAAYA,QAAQ,CAACa,IAAM,EAKlC,CAAC;EAEb,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAQe7B,cAAc","ignoreList":[]}
@@ -67,5 +67,15 @@ function PostTaxonomies() {
67
67
  })
68
68
  });
69
69
  }
70
+
71
+ /**
72
+ * Renders a panel for a specific taxonomy.
73
+ *
74
+ * @param {Object} props The component props.
75
+ * @param {Object} props.taxonomy The taxonomy object.
76
+ * @param {Element} props.children The child components.
77
+ *
78
+ * @return {Component} The rendered taxonomy panel.
79
+ */
70
80
  var _default = exports.default = PostTaxonomies;
71
81
  //# sourceMappingURL=panel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_data","_store","_index","_interopRequireDefault","_check","_jsxRuntime","TaxonomyPanel","taxonomy","children","slug","panelName","isEnabled","isOpened","useSelect","select","isEditorPanelEnabled","isEditorPanelOpened","editorStore","toggleEditorPanelOpened","useDispatch","taxonomyMenuName","labels","menu_name","jsx","PanelBody","title","opened","onToggle","PostTaxonomies","default","taxonomyWrapper","content","_default","exports"],"sources":["@wordpress/editor/src/components/post-taxonomies/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTaxonomiesForm from './index';\nimport PostTaxonomiesCheck from './check';\n\nfunction TaxonomyPanel( { taxonomy, children } ) {\n\tconst slug = taxonomy?.slug;\n\tconst panelName = slug ? `taxonomy-panel-${ slug }` : '';\n\tconst { isEnabled, isOpened } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorPanelEnabled, isEditorPanelOpened } =\n\t\t\t\tselect( editorStore );\n\t\t\treturn {\n\t\t\t\tisEnabled: slug ? isEditorPanelEnabled( panelName ) : false,\n\t\t\t\tisOpened: slug ? isEditorPanelOpened( panelName ) : false,\n\t\t\t};\n\t\t},\n\t\t[ panelName, slug ]\n\t);\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst taxonomyMenuName = taxonomy?.labels?.menu_name;\n\tif ( ! taxonomyMenuName ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ taxonomyMenuName }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ () => toggleEditorPanelOpened( panelName ) }\n\t\t>\n\t\t\t{ children }\n\t\t</PanelBody>\n\t);\n}\n\nfunction PostTaxonomies() {\n\treturn (\n\t\t<PostTaxonomiesCheck>\n\t\t\t<PostTaxonomiesForm\n\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TaxonomyPanel taxonomy={ taxonomy }>\n\t\t\t\t\t\t\t{ content }\n\t\t\t\t\t\t</TaxonomyPanel>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PostTaxonomiesCheck>\n\t);\n}\n\nexport default PostTaxonomies;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAA0C,IAAAM,WAAA,GAAAN,OAAA;AAX1C;AACA;AACA;;AAIA;AACA;AACA;;AAKA,SAASO,aAAaA,CAAE;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EAChD,MAAMC,IAAI,GAAGF,QAAQ,EAAEE,IAAI;EAC3B,MAAMC,SAAS,GAAGD,IAAI,GAAI,kBAAkBA,IAAM,EAAC,GAAG,EAAE;EACxD,MAAM;IAAEE,SAAS;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EACtCC,MAAM,IAAM;IACb,MAAM;MAAEC,oBAAoB;MAAEC;IAAoB,CAAC,GAClDF,MAAM,CAAEG,YAAY,CAAC;IACtB,OAAO;MACNN,SAAS,EAAEF,IAAI,GAAGM,oBAAoB,CAAEL,SAAU,CAAC,GAAG,KAAK;MAC3DE,QAAQ,EAAEH,IAAI,GAAGO,mBAAmB,CAAEN,SAAU,CAAC,GAAG;IACrD,CAAC;EACF,CAAC,EACD,CAAEA,SAAS,EAAED,IAAI,CAClB,CAAC;EACD,MAAM;IAAES;EAAwB,CAAC,GAAG,IAAAC,iBAAW,EAAEF,YAAY,CAAC;EAE9D,IAAK,CAAEN,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMS,gBAAgB,GAAGb,QAAQ,EAAEc,MAAM,EAAEC,SAAS;EACpD,IAAK,CAAEF,gBAAgB,EAAG;IACzB,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAf,WAAA,CAAAkB,GAAA,EAACzB,WAAA,CAAA0B,SAAS;IACTC,KAAK,EAAGL,gBAAkB;IAC1BM,MAAM,EAAGd,QAAU;IACnBe,QAAQ,EAAGA,CAAA,KAAMT,uBAAuB,CAAER,SAAU,CAAG;IAAAF,QAAA,EAErDA;EAAQ,CACA,CAAC;AAEd;AAEA,SAASoB,cAAcA,CAAA,EAAG;EACzB,oBACC,IAAAvB,WAAA,CAAAkB,GAAA,EAACnB,MAAA,CAAAyB,OAAmB;IAAArB,QAAA,eACnB,IAAAH,WAAA,CAAAkB,GAAA,EAACrB,MAAA,CAAA2B,OAAkB;MAClBC,eAAe,EAAGA,CAAEC,OAAO,EAAExB,QAAQ,KAAM;QAC1C,oBACC,IAAAF,WAAA,CAAAkB,GAAA,EAACjB,aAAa;UAACC,QAAQ,EAAGA,QAAU;UAAAC,QAAA,EACjCuB;QAAO,CACK,CAAC;MAElB;IAAG,CACH;EAAC,CACkB,CAAC;AAExB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAJ,OAAA,GAEcD,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_data","_store","_index","_interopRequireDefault","_check","_jsxRuntime","TaxonomyPanel","taxonomy","children","slug","panelName","isEnabled","isOpened","useSelect","select","isEditorPanelEnabled","isEditorPanelOpened","editorStore","toggleEditorPanelOpened","useDispatch","taxonomyMenuName","labels","menu_name","jsx","PanelBody","title","opened","onToggle","PostTaxonomies","default","taxonomyWrapper","content","_default","exports"],"sources":["@wordpress/editor/src/components/post-taxonomies/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTaxonomiesForm from './index';\nimport PostTaxonomiesCheck from './check';\n\nfunction TaxonomyPanel( { taxonomy, children } ) {\n\tconst slug = taxonomy?.slug;\n\tconst panelName = slug ? `taxonomy-panel-${ slug }` : '';\n\tconst { isEnabled, isOpened } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorPanelEnabled, isEditorPanelOpened } =\n\t\t\t\tselect( editorStore );\n\t\t\treturn {\n\t\t\t\tisEnabled: slug ? isEditorPanelEnabled( panelName ) : false,\n\t\t\t\tisOpened: slug ? isEditorPanelOpened( panelName ) : false,\n\t\t\t};\n\t\t},\n\t\t[ panelName, slug ]\n\t);\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst taxonomyMenuName = taxonomy?.labels?.menu_name;\n\tif ( ! taxonomyMenuName ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ taxonomyMenuName }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ () => toggleEditorPanelOpened( panelName ) }\n\t\t>\n\t\t\t{ children }\n\t\t</PanelBody>\n\t);\n}\n\nfunction PostTaxonomies() {\n\treturn (\n\t\t<PostTaxonomiesCheck>\n\t\t\t<PostTaxonomiesForm\n\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TaxonomyPanel taxonomy={ taxonomy }>\n\t\t\t\t\t\t\t{ content }\n\t\t\t\t\t\t</TaxonomyPanel>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PostTaxonomiesCheck>\n\t);\n}\n\n/**\n * Renders a panel for a specific taxonomy.\n *\n * @param {Object} props The component props.\n * @param {Object} props.taxonomy The taxonomy object.\n * @param {Element} props.children The child components.\n *\n * @return {Component} The rendered taxonomy panel.\n */\nexport default PostTaxonomies;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAA0C,IAAAM,WAAA,GAAAN,OAAA;AAX1C;AACA;AACA;;AAIA;AACA;AACA;;AAKA,SAASO,aAAaA,CAAE;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EAChD,MAAMC,IAAI,GAAGF,QAAQ,EAAEE,IAAI;EAC3B,MAAMC,SAAS,GAAGD,IAAI,GAAI,kBAAkBA,IAAM,EAAC,GAAG,EAAE;EACxD,MAAM;IAAEE,SAAS;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EACtCC,MAAM,IAAM;IACb,MAAM;MAAEC,oBAAoB;MAAEC;IAAoB,CAAC,GAClDF,MAAM,CAAEG,YAAY,CAAC;IACtB,OAAO;MACNN,SAAS,EAAEF,IAAI,GAAGM,oBAAoB,CAAEL,SAAU,CAAC,GAAG,KAAK;MAC3DE,QAAQ,EAAEH,IAAI,GAAGO,mBAAmB,CAAEN,SAAU,CAAC,GAAG;IACrD,CAAC;EACF,CAAC,EACD,CAAEA,SAAS,EAAED,IAAI,CAClB,CAAC;EACD,MAAM;IAAES;EAAwB,CAAC,GAAG,IAAAC,iBAAW,EAAEF,YAAY,CAAC;EAE9D,IAAK,CAAEN,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMS,gBAAgB,GAAGb,QAAQ,EAAEc,MAAM,EAAEC,SAAS;EACpD,IAAK,CAAEF,gBAAgB,EAAG;IACzB,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAf,WAAA,CAAAkB,GAAA,EAACzB,WAAA,CAAA0B,SAAS;IACTC,KAAK,EAAGL,gBAAkB;IAC1BM,MAAM,EAAGd,QAAU;IACnBe,QAAQ,EAAGA,CAAA,KAAMT,uBAAuB,CAAER,SAAU,CAAG;IAAAF,QAAA,EAErDA;EAAQ,CACA,CAAC;AAEd;AAEA,SAASoB,cAAcA,CAAA,EAAG;EACzB,oBACC,IAAAvB,WAAA,CAAAkB,GAAA,EAACnB,MAAA,CAAAyB,OAAmB;IAAArB,QAAA,eACnB,IAAAH,WAAA,CAAAkB,GAAA,EAACrB,MAAA,CAAA2B,OAAkB;MAClBC,eAAe,EAAGA,CAAEC,OAAO,EAAExB,QAAQ,KAAM;QAC1C,oBACC,IAAAF,WAAA,CAAAkB,GAAA,EAACjB,aAAa;UAACC,QAAQ,EAAGA,QAAU;UAAAC,QAAA,EACjCuB;QAAO,CACK,CAAC;MAElB;IAAG,CACH;EAAC,CACkB,CAAC;AAExB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IAAAC,QAAA,GAAAC,OAAA,CAAAJ,OAAA,GASeD,cAAc","ignoreList":[]}
@@ -35,19 +35,16 @@ var _jsxRuntime = require("react/jsx-runtime");
35
35
 
36
36
  function PostTitle(_, forwardedRef) {
37
37
  const {
38
- placeholder,
39
- hasFixedToolbar
38
+ placeholder
40
39
  } = (0, _data.useSelect)(select => {
41
40
  const {
42
41
  getSettings
43
42
  } = select(_blockEditor.store);
44
43
  const {
45
- titlePlaceholder,
46
- hasFixedToolbar: _hasFixedToolbar
44
+ titlePlaceholder
47
45
  } = getSettings();
48
46
  return {
49
- placeholder: titlePlaceholder,
50
- hasFixedToolbar: _hasFixedToolbar
47
+ placeholder: titlePlaceholder
51
48
  };
52
49
  }, []);
53
50
  const [isSelected, setIsSelected] = (0, _element.useState)(false);
@@ -186,8 +183,7 @@ function PostTitle(_, forwardedRef) {
186
183
  // The wp-block className is important for editor styles.
187
184
  // This same block is used in both the visual and the code editor.
188
185
  const className = (0, _clsx.default)(_constants.DEFAULT_CLASSNAMES, {
189
- 'is-selected': isSelected,
190
- 'has-fixed-toolbar': hasFixedToolbar
186
+ 'is-selected': isSelected
191
187
  });
192
188
  return (
193
189
  /*#__PURE__*/
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_element","_htmlEntities","_data","_blockEditor","_keycodes","_blocks","_richText","_compose","_dom","_constants","_usePostTitleFocus","_usePostTitle","_postTypeSupportCheck","_jsxRuntime","PostTitle","_","forwardedRef","placeholder","hasFixedToolbar","useSelect","select","getSettings","blockEditorStore","titlePlaceholder","_hasFixedToolbar","isSelected","setIsSelected","useState","ref","focusRef","usePostTitleFocus","title","setTitle","onUpdate","usePostTitle","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","useDispatch","onChange","value","replace","REGEXP_NEWLINES","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","create","newValue","insert","toHTMLString","start","end","decodedPlaceholder","decodeEntities","__","richTextRef","useRichText","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","clsx","DEFAULT_CLASSNAMES","jsx","default","supportKeys","children","useMergeRefs","contentEditable","role","onFocus","onBlur","onKeyPress","_default","exports","forwardRef"],"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\ttoHTMLString,\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, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\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\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\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\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\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\tconst value = {\n\t\t\t\t...create( { html: title } ),\n\t\t\t\t...selection,\n\t\t\t};\n\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\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t\tsetSelection( {\n\t\t\t\tstart: newValue.start,\n\t\t\t\tend: newValue.end,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\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\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\t'has-fixed-toolbar': hasFixedToolbar,\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\tonKeyPress={ onUnselect }\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","_interopRequireDefault","require","_i18n","_element","_htmlEntities","_data","_blockEditor","_keycodes","_blocks","_richText","_compose","_dom","_constants","_usePostTitleFocus","_usePostTitle","_postTypeSupportCheck","_jsxRuntime","PostTitle","_","forwardedRef","placeholder","useSelect","select","getSettings","blockEditorStore","titlePlaceholder","isSelected","setIsSelected","useState","ref","focusRef","usePostTitleFocus","title","setTitle","onUpdate","usePostTitle","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","useDispatch","onChange","value","replace","REGEXP_NEWLINES","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","create","newValue","insert","toHTMLString","start","end","decodedPlaceholder","decodeEntities","__","richTextRef","useRichText","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","clsx","DEFAULT_CLASSNAMES","jsx","default","supportKeys","children","useMergeRefs","contentEditable","role","onFocus","onBlur","onKeyPress","_default","exports","forwardRef"],"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\ttoHTMLString,\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\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\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\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\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\tconst value = {\n\t\t\t\t...create( { html: title } ),\n\t\t\t\t...selection,\n\t\t\t};\n\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\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t\tsetSelection( {\n\t\t\t\tstart: newValue.start,\n\t\t\t\tend: newValue.end,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\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\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\tonKeyPress={ onUnselect }\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":[]}
@@ -37,19 +37,16 @@ var _jsxRuntime = require("react/jsx-runtime");
37
37
  * @return {Component} The rendered component.
38
38
  */function PostTitleRaw(_, forwardedRef) {
39
39
  const {
40
- placeholder,
41
- hasFixedToolbar
40
+ placeholder
42
41
  } = (0, _data.useSelect)(select => {
43
42
  const {
44
43
  getSettings
45
44
  } = select(_blockEditor.store);
46
45
  const {
47
- titlePlaceholder,
48
- hasFixedToolbar: _hasFixedToolbar
46
+ titlePlaceholder
49
47
  } = getSettings();
50
48
  return {
51
- placeholder: titlePlaceholder,
52
- hasFixedToolbar: _hasFixedToolbar
49
+ placeholder: titlePlaceholder
53
50
  };
54
51
  }, []);
55
52
  const [isSelected, setIsSelected] = (0, _element.useState)(false);
@@ -74,7 +71,6 @@ var _jsxRuntime = require("react/jsx-runtime");
74
71
  // This same block is used in both the visual and the code editor.
75
72
  const className = (0, _clsx.default)(_constants.DEFAULT_CLASSNAMES, {
76
73
  'is-selected': isSelected,
77
- 'has-fixed-toolbar': hasFixedToolbar,
78
74
  'is-raw-text': true
79
75
  });
80
76
  const decodedPlaceholder = (0, _htmlEntities.decodeEntities)(placeholder) || (0, _i18n.__)('Add title');
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_htmlEntities","_data","_blockEditor","_element","_constants","_usePostTitleFocus","_usePostTitle","_jsxRuntime","PostTitleRaw","_","forwardedRef","placeholder","hasFixedToolbar","useSelect","select","getSettings","blockEditorStore","titlePlaceholder","_hasFixedToolbar","isSelected","setIsSelected","useState","title","setTitle","onUpdate","usePostTitle","ref","focusRef","usePostTitleFocus","onChange","value","replace","REGEXP_NEWLINES","onSelect","onUnselect","className","clsx","DEFAULT_CLASSNAMES","decodedPlaceholder","decodeEntities","__","jsx","TextareaControl","onFocus","onBlur","label","hideLabelFromVision","autoComplete","dir","rows","__nextHasNoMarginBottom","_default","exports","default","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/post-title-raw.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { TextareaControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState, forwardRef } from '@wordpress/element';\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';\n\n/**\n * Renders a raw post title input field.\n *\n * @param {Object} _ Unused parameter.\n * @param {Element} forwardedRef Reference to the component's DOM node.\n *\n * @return {Component} The rendered component.\n */\nfunction PostTitleRaw( _, forwardedRef ) {\n\tconst { placeholder, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\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\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'is-raw-text': true,\n\t} );\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\treturn (\n\t\t<TextareaControl\n\t\t\tref={ focusRef }\n\t\t\tvalue={ title }\n\t\t\tonChange={ onChange }\n\t\t\tonFocus={ onSelect }\n\t\t\tonBlur={ onUnselect }\n\t\t\tlabel={ placeholder }\n\t\t\tclassName={ className }\n\t\t\tplaceholder={ decodedPlaceholder }\n\t\t\thideLabelFromVision\n\t\t\tautoComplete=\"off\"\n\t\t\tdir=\"auto\"\n\t\t\trows={ 1 }\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n}\n\nexport default forwardRef( PostTitleRaw );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAKA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,kBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,aAAA,GAAAV,sBAAA,CAAAC,OAAA;AAA4C,IAAAU,WAAA,GAAAV,OAAA;AApB5C;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,SAASW,YAAYA,CAAEC,CAAC,EAAEC,YAAY,EAAG;EACxC,MAAM;IAAEC,WAAW;IAAEC;EAAgB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjE,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IAClD,MAAM;MAAEC,gBAAgB;MAAEL,eAAe,EAAEM;IAAiB,CAAC,GAC5DH,WAAW,CAAC,CAAC;IAEd,OAAO;MACNJ,WAAW,EAAEM,gBAAgB;MAC7BL,eAAe,EAAEM;IAClB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM,CAAEC,UAAU,EAAEC,aAAa,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAEvD,MAAM;IAAEC,KAAK;IAAEC,QAAQ,EAAEC;EAAS,CAAC,GAAG,IAAAC,qBAAY,EAAC,CAAC;EACpD,MAAM;IAAEC,GAAG,EAAEC;EAAS,CAAC,GAAG,IAAAC,0BAAiB,EAAElB,YAAa,CAAC;EAE3D,SAASmB,QAAQA,CAAEC,KAAK,EAAG;IAC1BN,QAAQ,CAAEM,KAAK,CAACC,OAAO,CAAEC,0BAAe,EAAE,GAAI,CAAE,CAAC;EAClD;EAEA,SAASC,QAAQA,CAAA,EAAG;IACnBb,aAAa,CAAE,IAAK,CAAC;EACtB;EAEA,SAASc,UAAUA,CAAA,EAAG;IACrBd,aAAa,CAAE,KAAM,CAAC;EACvB;;EAEA;EACA;EACA,MAAMe,SAAS,GAAG,IAAAC,aAAI,EAAEC,6BAAkB,EAAE;IAC3C,aAAa,EAAElB,UAAU;IACzB,mBAAmB,EAAEP,eAAe;IACpC,aAAa,EAAE;EAChB,CAAE,CAAC;EAEH,MAAM0B,kBAAkB,GACvB,IAAAC,4BAAc,EAAE5B,WAAY,CAAC,IAAI,IAAA6B,QAAE,EAAE,WAAY,CAAC;EAEnD,oBACC,IAAAjC,WAAA,CAAAkC,GAAA,EAAC3C,WAAA,CAAA4C,eAAe;IACfhB,GAAG,EAAGC,QAAU;IAChBG,KAAK,EAAGR,KAAO;IACfO,QAAQ,EAAGA,QAAU;IACrBc,OAAO,EAAGV,QAAU;IACpBW,MAAM,EAAGV,UAAY;IACrBW,KAAK,EAAGlC,WAAa;IACrBwB,SAAS,EAAGA,SAAW;IACvBxB,WAAW,EAAG2B,kBAAoB;IAClCQ,mBAAmB;IACnBC,YAAY,EAAC,KAAK;IAClBC,GAAG,EAAC,MAAM;IACVC,IAAI,EAAG,CAAG;IACVC,uBAAuB;EAAA,CACvB,CAAC;AAEJ;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,mBAAU,EAAE9C,YAAa,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_htmlEntities","_data","_blockEditor","_element","_constants","_usePostTitleFocus","_usePostTitle","_jsxRuntime","PostTitleRaw","_","forwardedRef","placeholder","useSelect","select","getSettings","blockEditorStore","titlePlaceholder","isSelected","setIsSelected","useState","title","setTitle","onUpdate","usePostTitle","ref","focusRef","usePostTitleFocus","onChange","value","replace","REGEXP_NEWLINES","onSelect","onUnselect","className","clsx","DEFAULT_CLASSNAMES","decodedPlaceholder","decodeEntities","__","jsx","TextareaControl","onFocus","onBlur","label","hideLabelFromVision","autoComplete","dir","rows","__nextHasNoMarginBottom","_default","exports","default","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/post-title-raw.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { TextareaControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState, forwardRef } from '@wordpress/element';\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';\n\n/**\n * Renders a raw post title input field.\n *\n * @param {Object} _ Unused parameter.\n * @param {Element} forwardedRef Reference to the component's DOM node.\n *\n * @return {Component} The rendered component.\n */\nfunction PostTitleRaw( _, 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 { title, setTitle: onUpdate } = usePostTitle();\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\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\t'is-raw-text': true,\n\t} );\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\treturn (\n\t\t<TextareaControl\n\t\t\tref={ focusRef }\n\t\t\tvalue={ title }\n\t\t\tonChange={ onChange }\n\t\t\tonFocus={ onSelect }\n\t\t\tonBlur={ onUnselect }\n\t\t\tlabel={ placeholder }\n\t\t\tclassName={ className }\n\t\t\tplaceholder={ decodedPlaceholder }\n\t\t\thideLabelFromVision\n\t\t\tautoComplete=\"off\"\n\t\t\tdir=\"auto\"\n\t\t\trows={ 1 }\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n}\n\nexport default forwardRef( PostTitleRaw );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAKA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,kBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,aAAA,GAAAV,sBAAA,CAAAC,OAAA;AAA4C,IAAAU,WAAA,GAAAV,OAAA;AApB5C;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,SAASW,YAAYA,CAAEC,CAAC,EAAEC,YAAY,EAAG;EACxC,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAChD,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IAClD,MAAM;MAAEC;IAAiB,CAAC,GAAGF,WAAW,CAAC,CAAC;IAE1C,OAAO;MACNH,WAAW,EAAEK;IACd,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM,CAAEC,UAAU,EAAEC,aAAa,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAEvD,MAAM;IAAEC,KAAK;IAAEC,QAAQ,EAAEC;EAAS,CAAC,GAAG,IAAAC,qBAAY,EAAC,CAAC;EACpD,MAAM;IAAEC,GAAG,EAAEC;EAAS,CAAC,GAAG,IAAAC,0BAAiB,EAAEhB,YAAa,CAAC;EAE3D,SAASiB,QAAQA,CAAEC,KAAK,EAAG;IAC1BN,QAAQ,CAAEM,KAAK,CAACC,OAAO,CAAEC,0BAAe,EAAE,GAAI,CAAE,CAAC;EAClD;EAEA,SAASC,QAAQA,CAAA,EAAG;IACnBb,aAAa,CAAE,IAAK,CAAC;EACtB;EAEA,SAASc,UAAUA,CAAA,EAAG;IACrBd,aAAa,CAAE,KAAM,CAAC;EACvB;;EAEA;EACA;EACA,MAAMe,SAAS,GAAG,IAAAC,aAAI,EAAEC,6BAAkB,EAAE;IAC3C,aAAa,EAAElB,UAAU;IACzB,aAAa,EAAE;EAChB,CAAE,CAAC;EAEH,MAAMmB,kBAAkB,GACvB,IAAAC,4BAAc,EAAE1B,WAAY,CAAC,IAAI,IAAA2B,QAAE,EAAE,WAAY,CAAC;EAEnD,oBACC,IAAA/B,WAAA,CAAAgC,GAAA,EAACzC,WAAA,CAAA0C,eAAe;IACfhB,GAAG,EAAGC,QAAU;IAChBG,KAAK,EAAGR,KAAO;IACfO,QAAQ,EAAGA,QAAU;IACrBc,OAAO,EAAGV,QAAU;IACpBW,MAAM,EAAGV,UAAY;IACrBW,KAAK,EAAGhC,WAAa;IACrBsB,SAAS,EAAGA,SAAW;IACvBtB,WAAW,EAAGyB,kBAAoB;IAClCQ,mBAAmB;IACnBC,YAAY,EAAC,KAAK;IAClBC,GAAG,EAAC,MAAM;IACVC,IAAI,EAAG,CAAG;IACVC,uBAAuB;EAAA,CACvB,CAAC;AAEJ;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,mBAAU,EAAE5C,YAAa,CAAC","ignoreList":[]}
@@ -15,6 +15,14 @@ var _store = require("../../store");
15
15
  * Internal dependencies
16
16
  */
17
17
 
18
+ /**
19
+ * Wrapper component that renders its children only if the post can trashed.
20
+ *
21
+ * @param {Object} props - The component props.
22
+ * @param {Element} props.children - The child components to render.
23
+ *
24
+ * @return {Component|null} The rendered child components or null if the post can not trashed.
25
+ */
18
26
  function PostTrashCheck({
19
27
  children
20
28
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_coreData","_store","PostTrashCheck","children","canTrashPost","useSelect","select","isEditedPostNew","getCurrentPostId","getCurrentPostType","editorStore","getPostType","canUser","coreStore","postType","postId","isNew","resource","rest_base","canUserDelete"],"sources":["@wordpress/editor/src/components/post-trash/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostTrashCheck( { children } ) {\n\tconst { canTrashPost } = useSelect( ( select ) => {\n\t\tconst { isEditedPostNew, getCurrentPostId, getCurrentPostType } =\n\t\t\tselect( editorStore );\n\t\tconst { getPostType, canUser } = select( coreStore );\n\t\tconst postType = getPostType( getCurrentPostType() );\n\t\tconst postId = getCurrentPostId();\n\t\tconst isNew = isEditedPostNew();\n\t\tconst resource = postType?.rest_base || ''; // eslint-disable-line camelcase\n\t\tconst canUserDelete =\n\t\t\tpostId && resource ? canUser( 'delete', resource, postId ) : false;\n\n\t\treturn {\n\t\t\tcanTrashPost: ( ! isNew || postId ) && canUserDelete,\n\t\t};\n\t}, [] );\n\n\tif ( ! canTrashPost ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASG,cAAcA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACtD,MAAM;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjD,MAAM;MAAEC,eAAe;MAAEC,gBAAgB;MAAEC;IAAmB,CAAC,GAC9DH,MAAM,CAAEI,YAAY,CAAC;IACtB,MAAM;MAAEC,WAAW;MAAEC;IAAQ,CAAC,GAAGN,MAAM,CAAEO,eAAU,CAAC;IACpD,MAAMC,QAAQ,GAAGH,WAAW,CAAEF,kBAAkB,CAAC,CAAE,CAAC;IACpD,MAAMM,MAAM,GAAGP,gBAAgB,CAAC,CAAC;IACjC,MAAMQ,KAAK,GAAGT,eAAe,CAAC,CAAC;IAC/B,MAAMU,QAAQ,GAAGH,QAAQ,EAAEI,SAAS,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAMC,aAAa,GAClBJ,MAAM,IAAIE,QAAQ,GAAGL,OAAO,CAAE,QAAQ,EAAEK,QAAQ,EAAEF,MAAO,CAAC,GAAG,KAAK;IAEnE,OAAO;MACNX,YAAY,EAAE,CAAE,CAAEY,KAAK,IAAID,MAAM,KAAMI;IACxC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEf,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_coreData","_store","PostTrashCheck","children","canTrashPost","useSelect","select","isEditedPostNew","getCurrentPostId","getCurrentPostType","editorStore","getPostType","canUser","coreStore","postType","postId","isNew","resource","rest_base","canUserDelete"],"sources":["@wordpress/editor/src/components/post-trash/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Wrapper component that renders its children only if the post can trashed.\n *\n * @param {Object} props - The component props.\n * @param {Element} props.children - The child components to render.\n *\n * @return {Component|null} The rendered child components or null if the post can not trashed.\n */\nexport default function PostTrashCheck( { children } ) {\n\tconst { canTrashPost } = useSelect( ( select ) => {\n\t\tconst { isEditedPostNew, getCurrentPostId, getCurrentPostType } =\n\t\t\tselect( editorStore );\n\t\tconst { getPostType, canUser } = select( coreStore );\n\t\tconst postType = getPostType( getCurrentPostType() );\n\t\tconst postId = getCurrentPostId();\n\t\tconst isNew = isEditedPostNew();\n\t\tconst resource = postType?.rest_base || ''; // eslint-disable-line camelcase\n\t\tconst canUserDelete =\n\t\t\tpostId && resource ? canUser( 'delete', resource, postId ) : false;\n\n\t\treturn {\n\t\t\tcanTrashPost: ( ! isNew || postId ) && canUserDelete,\n\t\t};\n\t}, [] );\n\n\tif ( ! canTrashPost ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASG,cAAcA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACtD,MAAM;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjD,MAAM;MAAEC,eAAe;MAAEC,gBAAgB;MAAEC;IAAmB,CAAC,GAC9DH,MAAM,CAAEI,YAAY,CAAC;IACtB,MAAM;MAAEC,WAAW;MAAEC;IAAQ,CAAC,GAAGN,MAAM,CAAEO,eAAU,CAAC;IACpD,MAAMC,QAAQ,GAAGH,WAAW,CAAEF,kBAAkB,CAAC,CAAE,CAAC;IACpD,MAAMM,MAAM,GAAGP,gBAAgB,CAAC,CAAC;IACjC,MAAMQ,KAAK,GAAGT,eAAe,CAAC,CAAC;IAC/B,MAAMU,QAAQ,GAAGH,QAAQ,EAAEI,SAAS,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAMC,aAAa,GAClBJ,MAAM,IAAIE,QAAQ,GAAGL,OAAO,CAAE,QAAQ,EAAEK,QAAQ,EAAEF,MAAO,CAAC,GAAG,KAAK;IAEnE,OAAO;MACNX,YAAY,EAAE,CAAE,CAAEY,KAAK,IAAID,MAAM,KAAMI;IACxC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEf,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","ignoreList":[]}
@@ -18,7 +18,11 @@ var _jsxRuntime = require("react/jsx-runtime");
18
18
  * Internal dependencies
19
19
  */
20
20
 
21
- function PostTrash() {
21
+ /**
22
+ * Displays the Post Trash Button and Confirm Dialog in the Editor.
23
+ *
24
+ * @return {JSX.Element|null} The rendered PostTrash component.
25
+ */function PostTrash() {
22
26
  const {
23
27
  isNew,
24
28
  isDeleting,
@@ -57,6 +61,7 @@ function PostTrash() {
57
61
  onConfirm: handleConfirm,
58
62
  onCancel: () => setShowConfirmDialog(false),
59
63
  confirmButtonText: (0, _i18n.__)('Move to trash'),
64
+ size: "medium",
60
65
  children: (0, _i18n.__)('Are you sure you want to move this post to the trash?')
61
66
  })]
62
67
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_data","_element","_store","_jsxRuntime","PostTrash","isNew","isDeleting","postId","useSelect","select","store","editorStore","isEditedPostNew","isDeletingPost","getCurrentPostId","trashPost","useDispatch","showConfirmDialog","setShowConfirmDialog","useState","handleConfirm","jsxs","Fragment","children","jsx","Button","__next40pxDefaultSize","className","isDestructive","variant","isBusy","onClick","undefined","__","__experimentalConfirmDialog","isOpen","onConfirm","onCancel","confirmButtonText"],"sources":["@wordpress/editor/src/components/post-trash/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostTrash() {\n\tconst { isNew, isDeleting, postId } = 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};\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 = () => {\n\t\tsetShowConfirmDialog( false );\n\t\ttrashPost();\n\t};\n\n\treturn (\n\t\t<>\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>\n\t\t\t\t{ __(\n\t\t\t\t\t'Are you sure you want to move this post to the trash?'\n\t\t\t\t) }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAIA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAAmD,IAAAK,WAAA,GAAAL,OAAA;AAdnD;AACA;AACA;;AASA;AACA;AACA;;AAGe,SAASM,SAASA,CAAA,EAAG;EACnC,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC9D,MAAMC,KAAK,GAAGD,MAAM,CAAEE,YAAY,CAAC;IACnC,OAAO;MACNN,KAAK,EAAEK,KAAK,CAACE,eAAe,CAAC,CAAC;MAC9BN,UAAU,EAAEI,KAAK,CAACG,cAAc,CAAC,CAAC;MAClCN,MAAM,EAAEG,KAAK,CAACI,gBAAgB,CAAC;IAChC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAW,EAAEL,YAAY,CAAC;EAChD,MAAM,CAAEM,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAErE,IAAKd,KAAK,IAAI,CAAEE,MAAM,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,MAAMa,aAAa,GAAGA,CAAA,KAAM;IAC3BF,oBAAoB,CAAE,KAAM,CAAC;IAC7BH,SAAS,CAAC,CAAC;EACZ,CAAC;EAED,oBACC,IAAAZ,WAAA,CAAAkB,IAAA,EAAAlB,WAAA,CAAAmB,QAAA;IAAAC,QAAA,gBACC,IAAApB,WAAA,CAAAqB,GAAA,EAACzB,WAAA,CAAA0B,MAAM;MACNC,qBAAqB;MACrBC,SAAS,EAAC,mBAAmB;MAC7BC,aAAa;MACbC,OAAO,EAAC,WAAW;MACnBC,MAAM,EAAGxB,UAAY;MACrB,iBAAgBA,UAAY;MAC5ByB,OAAO,EACNzB,UAAU,GAAG0B,SAAS,GAAG,MAAMd,oBAAoB,CAAE,IAAK,CAC1D;MAAAK,QAAA,EAEC,IAAAU,QAAE,EAAE,eAAgB;IAAC,CAChB,CAAC,eACT,IAAA9B,WAAA,CAAAqB,GAAA,EAACzB,WAAA,CAAAmC,2BAAa;MACbC,MAAM,EAAGlB,iBAAmB;MAC5BmB,SAAS,EAAGhB,aAAe;MAC3BiB,QAAQ,EAAGA,CAAA,KAAMnB,oBAAoB,CAAE,KAAM,CAAG;MAChDoB,iBAAiB,EAAG,IAAAL,QAAE,EAAE,eAAgB,CAAG;MAAAV,QAAA,EAEzC,IAAAU,QAAE,EACH,uDACD;IAAC,CACa,CAAC;EAAA,CACf,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_data","_element","_store","_jsxRuntime","PostTrash","isNew","isDeleting","postId","useSelect","select","store","editorStore","isEditedPostNew","isDeletingPost","getCurrentPostId","trashPost","useDispatch","showConfirmDialog","setShowConfirmDialog","useState","handleConfirm","jsxs","Fragment","children","jsx","Button","__next40pxDefaultSize","className","isDestructive","variant","isBusy","onClick","undefined","__","__experimentalConfirmDialog","isOpen","onConfirm","onCancel","confirmButtonText","size"],"sources":["@wordpress/editor/src/components/post-trash/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Displays the Post Trash Button and Confirm Dialog in the Editor.\n *\n * @return {JSX.Element|null} The rendered PostTrash component.\n */\nexport default function PostTrash() {\n\tconst { isNew, isDeleting, postId } = 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};\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 = () => {\n\t\tsetShowConfirmDialog( false );\n\t\ttrashPost();\n\t};\n\n\treturn (\n\t\t<>\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=\"medium\"\n\t\t\t>\n\t\t\t\t{ __(\n\t\t\t\t\t'Are you sure you want to move this post to the trash?'\n\t\t\t\t) }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAIA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAAmD,IAAAK,WAAA,GAAAL,OAAA;AAdnD;AACA;AACA;;AASA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA,GACe,SAASM,SAASA,CAAA,EAAG;EACnC,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC9D,MAAMC,KAAK,GAAGD,MAAM,CAAEE,YAAY,CAAC;IACnC,OAAO;MACNN,KAAK,EAAEK,KAAK,CAACE,eAAe,CAAC,CAAC;MAC9BN,UAAU,EAAEI,KAAK,CAACG,cAAc,CAAC,CAAC;MAClCN,MAAM,EAAEG,KAAK,CAACI,gBAAgB,CAAC;IAChC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAW,EAAEL,YAAY,CAAC;EAChD,MAAM,CAAEM,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAErE,IAAKd,KAAK,IAAI,CAAEE,MAAM,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,MAAMa,aAAa,GAAGA,CAAA,KAAM;IAC3BF,oBAAoB,CAAE,KAAM,CAAC;IAC7BH,SAAS,CAAC,CAAC;EACZ,CAAC;EAED,oBACC,IAAAZ,WAAA,CAAAkB,IAAA,EAAAlB,WAAA,CAAAmB,QAAA;IAAAC,QAAA,gBACC,IAAApB,WAAA,CAAAqB,GAAA,EAACzB,WAAA,CAAA0B,MAAM;MACNC,qBAAqB;MACrBC,SAAS,EAAC,mBAAmB;MAC7BC,aAAa;MACbC,OAAO,EAAC,WAAW;MACnBC,MAAM,EAAGxB,UAAY;MACrB,iBAAgBA,UAAY;MAC5ByB,OAAO,EACNzB,UAAU,GAAG0B,SAAS,GAAG,MAAMd,oBAAoB,CAAE,IAAK,CAC1D;MAAAK,QAAA,EAEC,IAAAU,QAAE,EAAE,eAAgB;IAAC,CAChB,CAAC,eACT,IAAA9B,WAAA,CAAAqB,GAAA,EAACzB,WAAA,CAAAmC,2BAAa;MACbC,MAAM,EAAGlB,iBAAmB;MAC5BmB,SAAS,EAAGhB,aAAe;MAC3BiB,QAAQ,EAAGA,CAAA,KAAMnB,oBAAoB,CAAE,KAAM,CAAG;MAChDoB,iBAAiB,EAAG,IAAAL,QAAE,EAAE,eAAgB,CAAG;MAC3CM,IAAI,EAAC,QAAQ;MAAAhB,QAAA,EAEX,IAAAU,QAAE,EACH,uDACD;IAAC,CACa,CAAC;EAAA,CACf,CAAC;AAEL","ignoreList":[]}
@@ -10,6 +10,7 @@ var _data = require("@wordpress/data");
10
10
  var _components = require("@wordpress/components");
11
11
  var _i18n = require("@wordpress/i18n");
12
12
  var _url = require("@wordpress/url");
13
+ var _coreData = require("@wordpress/core-data");
13
14
  var _check = _interopRequireDefault(require("./check"));
14
15
  var _index = _interopRequireDefault(require("./index"));
15
16
  var _postPanelRow = _interopRequireDefault(require("../post-panel-row"));
@@ -69,9 +70,28 @@ function PostURLToggle({
69
70
  isOpen,
70
71
  onClick
71
72
  }) {
72
- const slug = (0, _data.useSelect)(select => select(_store.store).getEditedPostSlug(), []);
73
+ const {
74
+ slug,
75
+ isFrontPage,
76
+ postLink
77
+ } = (0, _data.useSelect)(select => {
78
+ const {
79
+ getCurrentPostId,
80
+ getCurrentPost
81
+ } = select(_store.store);
82
+ const {
83
+ getEditedEntityRecord
84
+ } = select(_coreData.store);
85
+ const siteSettings = getEditedEntityRecord('root', 'site');
86
+ const _id = getCurrentPostId();
87
+ return {
88
+ slug: select(_store.store).getEditedPostSlug(),
89
+ isFrontPage: siteSettings?.page_on_front === _id,
90
+ postLink: getCurrentPost()?.link
91
+ };
92
+ }, []);
73
93
  const decodedSlug = (0, _url.safeDecodeURIComponent)(slug);
74
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Button, {
94
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
75
95
  size: "compact",
76
96
  className: "editor-post-url__panel-toggle",
77
97
  variant: "tertiary",
@@ -80,7 +100,9 @@ function PostURLToggle({
80
100
  ,
81
101
  "aria-label": (0, _i18n.sprintf)((0, _i18n.__)('Change link: %s'), decodedSlug),
82
102
  onClick: onClick,
83
- children: ["/", decodedSlug]
103
+ children: isFrontPage ? postLink : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
104
+ children: ["/", decodedSlug]
105
+ })
84
106
  });
85
107
  }
86
108
  //# sourceMappingURL=panel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_components","_i18n","_url","_check","_interopRequireDefault","_index","_postPanelRow","_store","_jsxRuntime","PostURLPanel","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","placement","offset","shift","jsx","default","children","label","__","ref","Dropdown","className","contentClassName","focusOnMount","renderToggle","isOpen","onToggle","PostURLToggle","onClick","renderContent","onClose","slug","useSelect","select","editorStore","getEditedPostSlug","decodedSlug","safeDecodeURIComponent","jsxs","Button","size","variant","sprintf"],"sources":["@wordpress/editor/src/components/post-url/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { safeDecodeURIComponent } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport PostURLCheck from './check';\nimport PostURL from './index';\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the `PostURLPanel` component.\n *\n * @return {JSX.Element} The rendered PostURLPanel component.\n */\nexport default function PostURLPanel() {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<PostURLCheck>\n\t\t\t<PostPanelRow label={ __( 'Link' ) } ref={ setPopoverAnchor }>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tclassName=\"editor-post-url__panel-dropdown\"\n\t\t\t\t\tcontentClassName=\"editor-post-url__panel-dialog\"\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<PostURLToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<PostURL onClose={ onClose } />\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostURLCheck>\n\t);\n}\n\nfunction PostURLToggle( { isOpen, onClick } ) {\n\tconst slug = useSelect(\n\t\t( select ) => select( editorStore ).getEditedPostSlug(),\n\t\t[]\n\t);\n\tconst decodedSlug = safeDecodeURIComponent( slug );\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-url__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\t// translators: %s: Current post link.\n\t\t\taria-label={ sprintf( __( 'Change link: %s' ), decodedSlug ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t/{ decodedSlug }\n\t\t</Button>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,IAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,MAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,aAAA,GAAAF,sBAAA,CAAAN,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAAmD,IAAAU,WAAA,GAAAV,OAAA;AAfnD;AACA;AACA;;AAOA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA,GACe,SAASW,YAAYA,CAAA,EAAG;EACtC;EACA;EACA,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,IAAK,CAAC;EAC5D;EACA,MAAMC,YAAY,GAAG,IAAAC,gBAAO,EAC3B,OAAQ;IACP;IACA;IACAC,MAAM,EAAEL,aAAa;IACrBM,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC,CAAE,EACH,CAAER,aAAa,CAChB,CAAC;EAED,oBACC,IAAAF,WAAA,CAAAW,GAAA,EAAChB,MAAA,CAAAiB,OAAY;IAAAC,QAAA,eACZ,IAAAb,WAAA,CAAAW,GAAA,EAACb,aAAA,CAAAc,OAAY;MAACE,KAAK,EAAG,IAAAC,QAAE,EAAE,MAAO,CAAG;MAACC,GAAG,EAAGb,gBAAkB;MAAAU,QAAA,eAC5D,IAAAb,WAAA,CAAAW,GAAA,EAACnB,WAAA,CAAAyB,QAAQ;QACRZ,YAAY,EAAGA,YAAc;QAC7Ba,SAAS,EAAC,iCAAiC;QAC3CC,gBAAgB,EAAC,+BAA+B;QAChDC,YAAY;QACZC,YAAY,EAAGA,CAAE;UAAEC,MAAM;UAAEC;QAAS,CAAC,kBACpC,IAAAvB,WAAA,CAAAW,GAAA,EAACa,aAAa;UAACF,MAAM,EAAGA,MAAQ;UAACG,OAAO,EAAGF;QAAU,CAAE,CACrD;QACHG,aAAa,EAAGA,CAAE;UAAEC;QAAQ,CAAC,kBAC5B,IAAA3B,WAAA,CAAAW,GAAA,EAACd,MAAA,CAAAe,OAAO;UAACe,OAAO,EAAGA;QAAS,CAAE;MAC5B,CACH;IAAC,CACW;EAAC,CACF,CAAC;AAEjB;AAEA,SAASH,aAAaA,CAAE;EAAEF,MAAM;EAAEG;AAAQ,CAAC,EAAG;EAC7C,MAAMG,IAAI,GAAG,IAAAC,eAAS,EACnBC,MAAM,IAAMA,MAAM,CAAEC,YAAY,CAAC,CAACC,iBAAiB,CAAC,CAAC,EACvD,EACD,CAAC;EACD,MAAMC,WAAW,GAAG,IAAAC,2BAAsB,EAAEN,IAAK,CAAC;EAClD,oBACC,IAAA5B,WAAA,CAAAmC,IAAA,EAAC3C,WAAA,CAAA4C,MAAM;IACNC,IAAI,EAAC,SAAS;IACdnB,SAAS,EAAC,+BAA+B;IACzCoB,OAAO,EAAC,UAAU;IAClB,iBAAgBhB;IAChB;IAAA;IACA,cAAa,IAAAiB,aAAO,EAAE,IAAAxB,QAAE,EAAE,iBAAkB,CAAC,EAAEkB,WAAY,CAAG;IAC9DR,OAAO,EAAGA,OAAS;IAAAZ,QAAA,GACnB,GACC,EAAEoB,WAAW;EAAA,CACP,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_data","_components","_i18n","_url","_coreData","_check","_interopRequireDefault","_index","_postPanelRow","_store","_jsxRuntime","PostURLPanel","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","placement","offset","shift","jsx","default","children","label","__","ref","Dropdown","className","contentClassName","focusOnMount","renderToggle","isOpen","onToggle","PostURLToggle","onClick","renderContent","onClose","slug","isFrontPage","postLink","useSelect","select","getCurrentPostId","getCurrentPost","editorStore","getEditedEntityRecord","coreStore","siteSettings","_id","getEditedPostSlug","page_on_front","link","decodedSlug","safeDecodeURIComponent","Button","size","variant","sprintf","jsxs","Fragment"],"sources":["@wordpress/editor/src/components/post-url/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { safeDecodeURIComponent } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostURLCheck from './check';\nimport PostURL from './index';\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the `PostURLPanel` component.\n *\n * @return {JSX.Element} The rendered PostURLPanel component.\n */\nexport default function PostURLPanel() {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<PostURLCheck>\n\t\t\t<PostPanelRow label={ __( 'Link' ) } ref={ setPopoverAnchor }>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tclassName=\"editor-post-url__panel-dropdown\"\n\t\t\t\t\tcontentClassName=\"editor-post-url__panel-dialog\"\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<PostURLToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<PostURL onClose={ onClose } />\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostURLCheck>\n\t);\n}\n\nfunction PostURLToggle( { isOpen, onClick } ) {\n\tconst { slug, isFrontPage, postLink } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostId, getCurrentPost } = select( editorStore );\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst siteSettings = getEditedEntityRecord( 'root', 'site' );\n\t\tconst _id = getCurrentPostId();\n\t\treturn {\n\t\t\tslug: select( editorStore ).getEditedPostSlug(),\n\t\t\tisFrontPage: siteSettings?.page_on_front === _id,\n\t\t\tpostLink: getCurrentPost()?.link,\n\t\t};\n\t}, [] );\n\tconst decodedSlug = safeDecodeURIComponent( slug );\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-url__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\t// translators: %s: Current post link.\n\t\t\taria-label={ sprintf( __( 'Change link: %s' ), decodedSlug ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ isFrontPage ? postLink : <>/{ decodedSlug }</> }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -132,6 +132,7 @@ var _jsxRuntime = require("react/jsx-runtime");
132
132
  onConfirm: confirmPrivate,
133
133
  onCancel: handleDialogCancel,
134
134
  confirmButtonText: (0, _i18n.__)('Publish'),
135
+ size: "medium",
135
136
  children: (0, _i18n.__)('Would you like to privately publish this post now?')
136
137
  })]
137
138
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","_components","_compose","_data","_blockEditor","_utils","_store","_jsxRuntime","PostVisibility","onClose","instanceId","useInstanceId","status","visibility","password","useSelect","select","editorStore","getEditedPostAttribute","getEditedPostVisibility","editPost","savePost","useDispatch","hasPassword","setHasPassword","useState","showPrivateConfirmDialog","setShowPrivateConfirmDialog","setPublic","setPrivate","confirmPrivate","handleDialogCancel","setPasswordProtected","updatePassword","event","target","value","jsxs","className","children","jsx","__experimentalInspectorPopoverHeader","title","__","help","VisuallyHidden","as","PostVisibilityChoice","label","visibilityOptions","public","info","checked","onChange","private","htmlFor","id","type","placeholder","__experimentalConfirmDialog","isOpen","onConfirm","onCancel","confirmButtonText","props","name"],"sources":["@wordpress/editor/src/components/post-visibility/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { visibilityOptions } from './utils';\nimport { store as editorStore } from '../../store';\n\n/**\n * Allows users to set the visibility of a post.\n *\n * @param {Object} props The component props.\n * @param {Function} props.onClose Function to call when the popover is closed.\n * @return {JSX.Element} The rendered component.\n */\nexport default function PostVisibility( { onClose } ) {\n\tconst instanceId = useInstanceId( PostVisibility );\n\n\tconst { status, visibility, password } = useSelect( ( select ) => ( {\n\t\tstatus: select( editorStore ).getEditedPostAttribute( 'status' ),\n\t\tvisibility: select( editorStore ).getEditedPostVisibility(),\n\t\tpassword: select( editorStore ).getEditedPostAttribute( 'password' ),\n\t} ) );\n\n\tconst { editPost, savePost } = useDispatch( editorStore );\n\n\tconst [ hasPassword, setHasPassword ] = useState( !! password );\n\tconst [ showPrivateConfirmDialog, setShowPrivateConfirmDialog ] =\n\t\tuseState( false );\n\n\tconst setPublic = () => {\n\t\teditPost( {\n\t\t\tstatus: visibility === 'private' ? 'draft' : status,\n\t\t\tpassword: '',\n\t\t} );\n\t\tsetHasPassword( false );\n\t};\n\n\tconst setPrivate = () => {\n\t\tsetShowPrivateConfirmDialog( true );\n\t};\n\n\tconst confirmPrivate = () => {\n\t\teditPost( { status: 'private', password: '' } );\n\t\tsetHasPassword( false );\n\t\tsetShowPrivateConfirmDialog( false );\n\t\tsavePost();\n\t};\n\n\tconst handleDialogCancel = () => {\n\t\tsetShowPrivateConfirmDialog( false );\n\t};\n\n\tconst setPasswordProtected = () => {\n\t\teditPost( {\n\t\t\tstatus: visibility === 'private' ? 'draft' : status,\n\t\t\tpassword: password || '',\n\t\t} );\n\t\tsetHasPassword( true );\n\t};\n\n\tconst updatePassword = ( event ) => {\n\t\teditPost( { password: event.target.value } );\n\t};\n\n\treturn (\n\t\t<div className=\"editor-post-visibility\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Visibility' ) }\n\t\t\t\thelp={ __( 'Control how this post is viewed.' ) }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t<fieldset className=\"editor-post-visibility__fieldset\">\n\t\t\t\t<VisuallyHidden as=\"legend\">\n\t\t\t\t\t{ __( 'Visibility' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<PostVisibilityChoice\n\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\tvalue=\"public\"\n\t\t\t\t\tlabel={ visibilityOptions.public.label }\n\t\t\t\t\tinfo={ visibilityOptions.public.info }\n\t\t\t\t\tchecked={ visibility === 'public' && ! hasPassword }\n\t\t\t\t\tonChange={ setPublic }\n\t\t\t\t/>\n\t\t\t\t<PostVisibilityChoice\n\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\tvalue=\"private\"\n\t\t\t\t\tlabel={ visibilityOptions.private.label }\n\t\t\t\t\tinfo={ visibilityOptions.private.info }\n\t\t\t\t\tchecked={ visibility === 'private' }\n\t\t\t\t\tonChange={ setPrivate }\n\t\t\t\t/>\n\t\t\t\t<PostVisibilityChoice\n\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\tvalue=\"password\"\n\t\t\t\t\tlabel={ visibilityOptions.password.label }\n\t\t\t\t\tinfo={ visibilityOptions.password.info }\n\t\t\t\t\tchecked={ hasPassword }\n\t\t\t\t\tonChange={ setPasswordProtected }\n\t\t\t\t/>\n\t\t\t\t{ hasPassword && (\n\t\t\t\t\t<div className=\"editor-post-visibility__password\">\n\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\tas=\"label\"\n\t\t\t\t\t\t\thtmlFor={ `editor-post-visibility__password-input-${ instanceId }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create password' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclassName=\"editor-post-visibility__password-input\"\n\t\t\t\t\t\t\tid={ `editor-post-visibility__password-input-${ instanceId }` }\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tonChange={ updatePassword }\n\t\t\t\t\t\t\tvalue={ password }\n\t\t\t\t\t\t\tplaceholder={ __( 'Use a secure password' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</fieldset>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showPrivateConfirmDialog }\n\t\t\t\tonConfirm={ confirmPrivate }\n\t\t\t\tonCancel={ handleDialogCancel }\n\t\t\t\tconfirmButtonText={ __( 'Publish' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Would you like to privately publish this post now?' ) }\n\t\t\t</ConfirmDialog>\n\t\t</div>\n\t);\n}\n\nfunction PostVisibilityChoice( { instanceId, value, label, info, ...props } ) {\n\treturn (\n\t\t<div className=\"editor-post-visibility__choice\">\n\t\t\t<input\n\t\t\t\ttype=\"radio\"\n\t\t\t\tname={ `editor-post-visibility__setting-${ instanceId }` }\n\t\t\t\tvalue={ value }\n\t\t\t\tid={ `editor-post-${ value }-${ instanceId }` }\n\t\t\t\taria-describedby={ `editor-post-${ value }-${ instanceId }-description` }\n\t\t\t\tclassName=\"editor-post-visibility__radio\"\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<label\n\t\t\t\thtmlFor={ `editor-post-${ value }-${ instanceId }` }\n\t\t\t\tclassName=\"editor-post-visibility__label\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</label>\n\t\t\t<p\n\t\t\t\tid={ `editor-post-${ value }-${ instanceId }-description` }\n\t\t\t\tclassName=\"editor-post-visibility__info\"\n\t\t\t>\n\t\t\t\t{ info }\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_element","_components","_compose","_data","_blockEditor","_utils","_store","_jsxRuntime","PostVisibility","onClose","instanceId","useInstanceId","status","visibility","password","useSelect","select","editorStore","getEditedPostAttribute","getEditedPostVisibility","editPost","savePost","useDispatch","hasPassword","setHasPassword","useState","showPrivateConfirmDialog","setShowPrivateConfirmDialog","setPublic","setPrivate","confirmPrivate","handleDialogCancel","setPasswordProtected","updatePassword","event","target","value","jsxs","className","children","jsx","__experimentalInspectorPopoverHeader","title","__","help","VisuallyHidden","as","PostVisibilityChoice","label","visibilityOptions","public","info","checked","onChange","private","htmlFor","id","type","placeholder","__experimentalConfirmDialog","isOpen","onConfirm","onCancel","confirmButtonText","size","props","name"],"sources":["@wordpress/editor/src/components/post-visibility/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { visibilityOptions } from './utils';\nimport { store as editorStore } from '../../store';\n\n/**\n * Allows users to set the visibility of a post.\n *\n * @param {Object} props The component props.\n * @param {Function} props.onClose Function to call when the popover is closed.\n * @return {JSX.Element} The rendered component.\n */\nexport default function PostVisibility( { onClose } ) {\n\tconst instanceId = useInstanceId( PostVisibility );\n\n\tconst { status, visibility, password } = useSelect( ( select ) => ( {\n\t\tstatus: select( editorStore ).getEditedPostAttribute( 'status' ),\n\t\tvisibility: select( editorStore ).getEditedPostVisibility(),\n\t\tpassword: select( editorStore ).getEditedPostAttribute( 'password' ),\n\t} ) );\n\n\tconst { editPost, savePost } = useDispatch( editorStore );\n\n\tconst [ hasPassword, setHasPassword ] = useState( !! password );\n\tconst [ showPrivateConfirmDialog, setShowPrivateConfirmDialog ] =\n\t\tuseState( false );\n\n\tconst setPublic = () => {\n\t\teditPost( {\n\t\t\tstatus: visibility === 'private' ? 'draft' : status,\n\t\t\tpassword: '',\n\t\t} );\n\t\tsetHasPassword( false );\n\t};\n\n\tconst setPrivate = () => {\n\t\tsetShowPrivateConfirmDialog( true );\n\t};\n\n\tconst confirmPrivate = () => {\n\t\teditPost( { status: 'private', password: '' } );\n\t\tsetHasPassword( false );\n\t\tsetShowPrivateConfirmDialog( false );\n\t\tsavePost();\n\t};\n\n\tconst handleDialogCancel = () => {\n\t\tsetShowPrivateConfirmDialog( false );\n\t};\n\n\tconst setPasswordProtected = () => {\n\t\teditPost( {\n\t\t\tstatus: visibility === 'private' ? 'draft' : status,\n\t\t\tpassword: password || '',\n\t\t} );\n\t\tsetHasPassword( true );\n\t};\n\n\tconst updatePassword = ( event ) => {\n\t\teditPost( { password: event.target.value } );\n\t};\n\n\treturn (\n\t\t<div className=\"editor-post-visibility\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Visibility' ) }\n\t\t\t\thelp={ __( 'Control how this post is viewed.' ) }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t<fieldset className=\"editor-post-visibility__fieldset\">\n\t\t\t\t<VisuallyHidden as=\"legend\">\n\t\t\t\t\t{ __( 'Visibility' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<PostVisibilityChoice\n\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\tvalue=\"public\"\n\t\t\t\t\tlabel={ visibilityOptions.public.label }\n\t\t\t\t\tinfo={ visibilityOptions.public.info }\n\t\t\t\t\tchecked={ visibility === 'public' && ! hasPassword }\n\t\t\t\t\tonChange={ setPublic }\n\t\t\t\t/>\n\t\t\t\t<PostVisibilityChoice\n\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\tvalue=\"private\"\n\t\t\t\t\tlabel={ visibilityOptions.private.label }\n\t\t\t\t\tinfo={ visibilityOptions.private.info }\n\t\t\t\t\tchecked={ visibility === 'private' }\n\t\t\t\t\tonChange={ setPrivate }\n\t\t\t\t/>\n\t\t\t\t<PostVisibilityChoice\n\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\tvalue=\"password\"\n\t\t\t\t\tlabel={ visibilityOptions.password.label }\n\t\t\t\t\tinfo={ visibilityOptions.password.info }\n\t\t\t\t\tchecked={ hasPassword }\n\t\t\t\t\tonChange={ setPasswordProtected }\n\t\t\t\t/>\n\t\t\t\t{ hasPassword && (\n\t\t\t\t\t<div className=\"editor-post-visibility__password\">\n\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\tas=\"label\"\n\t\t\t\t\t\t\thtmlFor={ `editor-post-visibility__password-input-${ instanceId }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create password' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclassName=\"editor-post-visibility__password-input\"\n\t\t\t\t\t\t\tid={ `editor-post-visibility__password-input-${ instanceId }` }\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tonChange={ updatePassword }\n\t\t\t\t\t\t\tvalue={ password }\n\t\t\t\t\t\t\tplaceholder={ __( 'Use a secure password' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</fieldset>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showPrivateConfirmDialog }\n\t\t\t\tonConfirm={ confirmPrivate }\n\t\t\t\tonCancel={ handleDialogCancel }\n\t\t\t\tconfirmButtonText={ __( 'Publish' ) }\n\t\t\t\tsize=\"medium\"\n\t\t\t>\n\t\t\t\t{ __( 'Would you like to privately publish this post now?' ) }\n\t\t\t</ConfirmDialog>\n\t\t</div>\n\t);\n}\n\nfunction PostVisibilityChoice( { instanceId, value, label, info, ...props } ) {\n\treturn (\n\t\t<div className=\"editor-post-visibility__choice\">\n\t\t\t<input\n\t\t\t\ttype=\"radio\"\n\t\t\t\tname={ `editor-post-visibility__setting-${ instanceId }` }\n\t\t\t\tvalue={ value }\n\t\t\t\tid={ `editor-post-${ value }-${ instanceId }` }\n\t\t\t\taria-describedby={ `editor-post-${ value }-${ instanceId }-description` }\n\t\t\t\tclassName=\"editor-post-visibility__radio\"\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<label\n\t\t\t\thtmlFor={ `editor-post-${ value }-${ instanceId }` }\n\t\t\t\tclassName=\"editor-post-visibility__label\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</label>\n\t\t\t<p\n\t\t\t\tid={ `editor-post-${ value }-${ instanceId }-description` }\n\t\t\t\tclassName=\"editor-post-visibility__info\"\n\t\t\t>\n\t\t\t\t{ info }\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,13 +12,15 @@ var _hooks = require("@wordpress/hooks");
12
12
  * WordPress dependencies
13
13
  */
14
14
 
15
- const CONTENT_ONLY_BLOCKS = (0, _hooks.applyFilters)('editor.postContentBlockTypes', ['core/post-title', 'core/post-featured-image', 'core/post-content', 'core/template-part']);
15
+ const DEFAULT_CONTENT_ONLY_BLOCKS = ['core/post-title', 'core/post-featured-image', 'core/post-content', 'core/template-part'];
16
16
 
17
17
  /**
18
18
  * Component that when rendered, makes it so that the site editor allows only
19
19
  * page content to be edited.
20
20
  */
21
21
  function DisableNonPageContentBlocks() {
22
+ const contentOnlyBlocks = (0, _hooks.applyFilters)('editor.postContentBlockTypes', DEFAULT_CONTENT_ONLY_BLOCKS);
23
+
22
24
  // Note that there are two separate subscription because the result for each
23
25
  // returns a new array.
24
26
  const contentOnlyIds = (0, _data.useSelect)(select => {
@@ -27,13 +29,13 @@ function DisableNonPageContentBlocks() {
27
29
  getBlockParents,
28
30
  getBlockName
29
31
  } = select(_blockEditor.store);
30
- return getBlocksByName(CONTENT_ONLY_BLOCKS).filter(clientId => getBlockParents(clientId).every(parentClientId => {
32
+ return getBlocksByName(contentOnlyBlocks).filter(clientId => getBlockParents(clientId).every(parentClientId => {
31
33
  const parentBlockName = getBlockName(parentClientId);
32
34
  return (
33
35
  // Ignore descendents of the query block.
34
36
  parentBlockName !== 'core/query' &&
35
37
  // Enable only the top-most block.
36
- !CONTENT_ONLY_BLOCKS.includes(parentBlockName)
38
+ !contentOnlyBlocks.includes(parentBlockName)
37
39
  );
38
40
  }));
39
41
  }, []);