@wordpress/editor 14.38.0 → 14.39.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 (233) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/document-bar/useEditedSectionDetails.cjs +0 -3
  3. package/build/components/document-bar/useEditedSectionDetails.cjs.map +2 -2
  4. package/build/components/editor-interface/index.cjs +33 -9
  5. package/build/components/editor-interface/index.cjs.map +2 -2
  6. package/build/components/header/header-skeleton.cjs +100 -0
  7. package/build/components/header/header-skeleton.cjs.map +7 -0
  8. package/build/components/header/index.cjs +63 -106
  9. package/build/components/header/index.cjs.map +3 -3
  10. package/build/components/media/index.cjs +44 -0
  11. package/build/components/media/index.cjs.map +7 -0
  12. package/build/components/media/metadata-panel.cjs +96 -0
  13. package/build/components/media/metadata-panel.cjs.map +7 -0
  14. package/build/components/media/preview.cjs +39 -0
  15. package/build/components/media/preview.cjs.map +7 -0
  16. package/build/components/more-menu/index.cjs +3 -2
  17. package/build/components/more-menu/index.cjs.map +2 -2
  18. package/build/components/post-card-panel/index.cjs +33 -4
  19. package/build/components/post-card-panel/index.cjs.map +3 -3
  20. package/build/components/post-content-information/index.cjs +9 -0
  21. package/build/components/post-content-information/index.cjs.map +2 -2
  22. package/build/components/post-last-edited-panel/index.cjs +5 -6
  23. package/build/components/post-last-edited-panel/index.cjs.map +2 -2
  24. package/build/components/post-last-revision/index.cjs +5 -7
  25. package/build/components/post-last-revision/index.cjs.map +2 -2
  26. package/build/components/post-publish-button/label.cjs +6 -1
  27. package/build/components/post-publish-button/label.cjs.map +2 -2
  28. package/build/components/post-publish-button/post-publish-button-or-toggle.cjs +8 -3
  29. package/build/components/post-publish-button/post-publish-button-or-toggle.cjs.map +2 -2
  30. package/build/components/post-revisions-preview/index.cjs +44 -0
  31. package/build/components/post-revisions-preview/index.cjs.map +7 -0
  32. package/build/components/post-revisions-preview/revisions-canvas.cjs +82 -0
  33. package/build/components/post-revisions-preview/revisions-canvas.cjs.map +7 -0
  34. package/build/components/post-revisions-preview/revisions-header.cjs +119 -0
  35. package/build/components/post-revisions-preview/revisions-header.cjs.map +7 -0
  36. package/build/components/post-revisions-preview/revisions-slider.cjs +110 -0
  37. package/build/components/post-revisions-preview/revisions-slider.cjs.map +7 -0
  38. package/build/components/post-saved-state/index.cjs +8 -2
  39. package/build/components/post-saved-state/index.cjs.map +2 -2
  40. package/build/components/post-title/index.cjs +5 -4
  41. package/build/components/post-title/index.cjs.map +2 -2
  42. package/build/components/provider/index.cjs +19 -0
  43. package/build/components/provider/index.cjs.map +3 -3
  44. package/build/components/provider/use-block-editor-settings.cjs +2 -1
  45. package/build/components/provider/use-block-editor-settings.cjs.map +2 -2
  46. package/build/components/revision-author-panel/index.cjs +59 -0
  47. package/build/components/revision-author-panel/index.cjs.map +7 -0
  48. package/build/components/revision-created-panel/index.cjs +47 -0
  49. package/build/components/revision-created-panel/index.cjs.map +7 -0
  50. package/build/components/sidebar/header.cjs +27 -12
  51. package/build/components/sidebar/header.cjs.map +3 -3
  52. package/build/components/sidebar/index.cjs +36 -15
  53. package/build/components/sidebar/index.cjs.map +3 -3
  54. package/build/components/sidebar/post-summary.cjs +44 -19
  55. package/build/components/sidebar/post-summary.cjs.map +3 -3
  56. package/build/components/start-page-options/index.cjs +1 -1
  57. package/build/components/start-page-options/index.cjs.map +2 -2
  58. package/build/dataviews/store/private-actions.cjs +47 -26
  59. package/build/dataviews/store/private-actions.cjs.map +3 -3
  60. package/build/store/constants.cjs +3 -0
  61. package/build/store/constants.cjs.map +2 -2
  62. package/build/store/private-actions.cjs +40 -0
  63. package/build/store/private-actions.cjs.map +2 -2
  64. package/build/store/private-selectors.cjs +33 -2
  65. package/build/store/private-selectors.cjs.map +2 -2
  66. package/build/store/reducer.cjs +10 -0
  67. package/build/store/reducer.cjs.map +2 -2
  68. package/build/store/selectors.cjs +3 -0
  69. package/build/store/selectors.cjs.map +2 -2
  70. package/build/store/utils/notice-builder.cjs +4 -0
  71. package/build/store/utils/notice-builder.cjs.map +2 -2
  72. package/build-module/components/document-bar/useEditedSectionDetails.mjs +0 -3
  73. package/build-module/components/document-bar/useEditedSectionDetails.mjs.map +2 -2
  74. package/build-module/components/editor-interface/index.mjs +33 -9
  75. package/build-module/components/editor-interface/index.mjs.map +2 -2
  76. package/build-module/components/header/header-skeleton.mjs +69 -0
  77. package/build-module/components/header/header-skeleton.mjs.map +7 -0
  78. package/build-module/components/header/index.mjs +65 -107
  79. package/build-module/components/header/index.mjs.map +2 -2
  80. package/build-module/components/media/index.mjs +8 -0
  81. package/build-module/components/media/index.mjs.map +7 -0
  82. package/build-module/components/media/metadata-panel.mjs +65 -0
  83. package/build-module/components/media/metadata-panel.mjs.map +7 -0
  84. package/build-module/components/media/preview.mjs +21 -0
  85. package/build-module/components/media/preview.mjs.map +7 -0
  86. package/build-module/components/more-menu/index.mjs +3 -2
  87. package/build-module/components/more-menu/index.mjs.map +2 -2
  88. package/build-module/components/post-card-panel/index.mjs +35 -5
  89. package/build-module/components/post-card-panel/index.mjs.map +3 -3
  90. package/build-module/components/post-content-information/index.mjs +9 -0
  91. package/build-module/components/post-content-information/index.mjs.map +2 -2
  92. package/build-module/components/post-last-edited-panel/index.mjs +5 -6
  93. package/build-module/components/post-last-edited-panel/index.mjs.map +2 -2
  94. package/build-module/components/post-last-revision/index.mjs +6 -8
  95. package/build-module/components/post-last-revision/index.mjs.map +2 -2
  96. package/build-module/components/post-publish-button/label.mjs +6 -1
  97. package/build-module/components/post-publish-button/label.mjs.map +2 -2
  98. package/build-module/components/post-publish-button/post-publish-button-or-toggle.mjs +8 -3
  99. package/build-module/components/post-publish-button/post-publish-button-or-toggle.mjs.map +2 -2
  100. package/build-module/components/post-revisions-preview/index.mjs +8 -0
  101. package/build-module/components/post-revisions-preview/index.mjs.map +7 -0
  102. package/build-module/components/post-revisions-preview/revisions-canvas.mjs +54 -0
  103. package/build-module/components/post-revisions-preview/revisions-canvas.mjs.map +7 -0
  104. package/build-module/components/post-revisions-preview/revisions-header.mjs +92 -0
  105. package/build-module/components/post-revisions-preview/revisions-header.mjs.map +7 -0
  106. package/build-module/components/post-revisions-preview/revisions-slider.mjs +89 -0
  107. package/build-module/components/post-revisions-preview/revisions-slider.mjs.map +7 -0
  108. package/build-module/components/post-saved-state/index.mjs +8 -2
  109. package/build-module/components/post-saved-state/index.mjs.map +2 -2
  110. package/build-module/components/post-title/index.mjs +5 -4
  111. package/build-module/components/post-title/index.mjs.map +2 -2
  112. package/build-module/components/provider/index.mjs +19 -0
  113. package/build-module/components/provider/index.mjs.map +2 -2
  114. package/build-module/components/provider/use-block-editor-settings.mjs +2 -1
  115. package/build-module/components/provider/use-block-editor-settings.mjs.map +2 -2
  116. package/build-module/components/revision-author-panel/index.mjs +28 -0
  117. package/build-module/components/revision-author-panel/index.mjs.map +7 -0
  118. package/build-module/components/revision-created-panel/index.mjs +26 -0
  119. package/build-module/components/revision-created-panel/index.mjs.map +7 -0
  120. package/build-module/components/sidebar/header.mjs +22 -7
  121. package/build-module/components/sidebar/header.mjs.map +2 -2
  122. package/build-module/components/sidebar/index.mjs +38 -16
  123. package/build-module/components/sidebar/index.mjs.map +2 -2
  124. package/build-module/components/sidebar/post-summary.mjs +48 -20
  125. package/build-module/components/sidebar/post-summary.mjs.map +2 -2
  126. package/build-module/components/start-page-options/index.mjs +2 -1
  127. package/build-module/components/start-page-options/index.mjs.map +2 -2
  128. package/build-module/dataviews/store/private-actions.mjs +59 -27
  129. package/build-module/dataviews/store/private-actions.mjs.map +2 -2
  130. package/build-module/store/constants.mjs +2 -0
  131. package/build-module/store/constants.mjs.map +2 -2
  132. package/build-module/store/private-actions.mjs +38 -0
  133. package/build-module/store/private-actions.mjs.map +2 -2
  134. package/build-module/store/private-selectors.mjs +29 -1
  135. package/build-module/store/private-selectors.mjs.map +2 -2
  136. package/build-module/store/reducer.mjs +9 -0
  137. package/build-module/store/reducer.mjs.map +2 -2
  138. package/build-module/store/selectors.mjs +4 -0
  139. package/build-module/store/selectors.mjs.map +2 -2
  140. package/build-module/store/utils/notice-builder.mjs +4 -0
  141. package/build-module/store/utils/notice-builder.mjs.map +2 -2
  142. package/build-style/style-rtl.css +182 -16
  143. package/build-style/style.css +182 -16
  144. package/build-types/components/document-bar/useEditedSectionDetails.d.ts.map +1 -1
  145. package/build-types/components/editor-interface/index.d.ts.map +1 -1
  146. package/build-types/components/header/header-skeleton.d.ts +17 -0
  147. package/build-types/components/header/header-skeleton.d.ts.map +1 -0
  148. package/build-types/components/header/index.d.ts.map +1 -1
  149. package/build-types/components/media/index.d.ts +3 -0
  150. package/build-types/components/media/index.d.ts.map +1 -0
  151. package/build-types/components/media/metadata-panel.d.ts +12 -0
  152. package/build-types/components/media/metadata-panel.d.ts.map +1 -0
  153. package/build-types/components/media/preview.d.ts +9 -0
  154. package/build-types/components/media/preview.d.ts.map +1 -0
  155. package/build-types/components/more-menu/index.d.ts +3 -1
  156. package/build-types/components/more-menu/index.d.ts.map +1 -1
  157. package/build-types/components/post-card-panel/index.d.ts.map +1 -1
  158. package/build-types/components/post-content-information/index.d.ts.map +1 -1
  159. package/build-types/components/post-last-edited-panel/index.d.ts.map +1 -1
  160. package/build-types/components/post-last-revision/index.d.ts.map +1 -1
  161. package/build-types/components/post-publish-button/label.d.ts.map +1 -1
  162. package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts.map +1 -1
  163. package/build-types/components/post-revisions-preview/index.d.ts +3 -0
  164. package/build-types/components/post-revisions-preview/index.d.ts.map +1 -0
  165. package/build-types/components/post-revisions-preview/revisions-canvas.d.ts +7 -0
  166. package/build-types/components/post-revisions-preview/revisions-canvas.d.ts.map +1 -0
  167. package/build-types/components/post-revisions-preview/revisions-header.d.ts +8 -0
  168. package/build-types/components/post-revisions-preview/revisions-header.d.ts.map +1 -0
  169. package/build-types/components/post-revisions-preview/revisions-slider.d.ts +8 -0
  170. package/build-types/components/post-revisions-preview/revisions-slider.d.ts.map +1 -0
  171. package/build-types/components/post-saved-state/index.d.ts.map +1 -1
  172. package/build-types/components/provider/index.d.ts.map +1 -1
  173. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
  174. package/build-types/components/revision-author-panel/index.d.ts +2 -0
  175. package/build-types/components/revision-author-panel/index.d.ts.map +1 -0
  176. package/build-types/components/revision-created-panel/index.d.ts +2 -0
  177. package/build-types/components/revision-created-panel/index.d.ts.map +1 -0
  178. package/build-types/components/sidebar/index.d.ts.map +1 -1
  179. package/build-types/components/sidebar/post-summary.d.ts.map +1 -1
  180. package/build-types/components/start-page-options/index.d.ts.map +1 -1
  181. package/build-types/dataviews/store/private-actions.d.ts +1 -0
  182. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  183. package/build-types/store/constants.d.ts +1 -0
  184. package/build-types/store/constants.d.ts.map +1 -1
  185. package/build-types/store/private-actions.d.ts +13 -0
  186. package/build-types/store/private-actions.d.ts.map +1 -1
  187. package/build-types/store/private-selectors.d.ts +25 -0
  188. package/build-types/store/private-selectors.d.ts.map +1 -1
  189. package/build-types/store/reducer.d.ts +11 -0
  190. package/build-types/store/reducer.d.ts.map +1 -1
  191. package/build-types/store/selectors.d.ts.map +1 -1
  192. package/build-types/store/utils/notice-builder.d.ts.map +1 -1
  193. package/package.json +42 -40
  194. package/src/components/document-bar/useEditedSectionDetails.js +0 -5
  195. package/src/components/editor-interface/index.js +39 -9
  196. package/src/components/header/header-skeleton.js +90 -0
  197. package/src/components/header/index.js +69 -102
  198. package/src/components/header/style.scss +4 -0
  199. package/src/components/media/index.js +2 -0
  200. package/src/components/media/metadata-panel.js +77 -0
  201. package/src/components/media/preview.js +35 -0
  202. package/src/components/more-menu/index.js +2 -1
  203. package/src/components/post-card-panel/index.js +43 -7
  204. package/src/components/post-content-information/index.js +11 -0
  205. package/src/components/post-last-edited-panel/index.js +8 -9
  206. package/src/components/post-last-revision/index.js +7 -8
  207. package/src/components/post-publish-button/label.js +9 -0
  208. package/src/components/post-publish-button/post-publish-button-or-toggle.js +13 -5
  209. package/src/components/post-revisions-preview/index.js +2 -0
  210. package/src/components/post-revisions-preview/revisions-canvas.js +73 -0
  211. package/src/components/post-revisions-preview/revisions-header.js +108 -0
  212. package/src/components/post-revisions-preview/revisions-slider.js +123 -0
  213. package/src/components/post-revisions-preview/style.scss +22 -0
  214. package/src/components/post-saved-state/index.js +8 -0
  215. package/src/components/post-title/index.js +4 -3
  216. package/src/components/provider/index.js +26 -0
  217. package/src/components/provider/use-block-editor-settings.js +2 -3
  218. package/src/components/revision-author-panel/index.js +36 -0
  219. package/src/components/revision-created-panel/index.js +36 -0
  220. package/src/components/sidebar/header.js +35 -14
  221. package/src/components/sidebar/index.js +40 -13
  222. package/src/components/sidebar/post-summary.js +45 -11
  223. package/src/components/sidebar/style.scss +7 -0
  224. package/src/components/start-page-options/index.js +2 -0
  225. package/src/dataviews/store/private-actions.ts +79 -33
  226. package/src/store/constants.ts +1 -0
  227. package/src/store/private-actions.js +70 -0
  228. package/src/store/private-selectors.js +54 -0
  229. package/src/store/reducer.js +17 -0
  230. package/src/store/selectors.js +6 -0
  231. package/src/store/test/selectors.js +7 -0
  232. package/src/store/utils/notice-builder.js +9 -0
  233. package/src/style.scss +2 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/provider/use-block-editor-settings.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tprivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { default as mediaSideload } from '../../utils/media-sideload';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useGlobalStylesContext } from '../global-styles-provider';\n\nconst EMPTY_OBJECT = {};\n\nfunction __experimentalReusableBlocksSelect( select ) {\n\tconst { RECEIVE_INTERMEDIATE_RESULTS } = unlock( coreDataPrivateApis );\n\tconst { getEntityRecords } = select( coreStore );\n\treturn getEntityRecords( 'postType', 'wp_block', {\n\t\tper_page: -1,\n\t\t[ RECEIVE_INTERMEDIATE_RESULTS ]: true,\n\t} );\n}\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockBindingsSupportedAttributes',\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'maxUploadFileSize',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'canUpdateBlockBindings',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'onNavigateToEntityRecord',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isPreviewMode',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n];\n\nconst {\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tsectionRootClientIdKey,\n\tmediaEditKey,\n\tgetMediaSelectKey,\n\tisIsolatedEditorKey,\n\tdeviceTypeKey,\n} = unlock( privateApis );\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n * @param {string} renderingMode Editor rendering mode.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId, renderingMode ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t\tsectionRootClientId,\n\t\tdeviceType,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst { getDeviceType } = unlock( select( editorStore ) );\n\t\t\tconst { getBlocksByName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst siteSettings = canUser( 'read', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t} )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\tfunction getSectionRootBlock() {\n\t\t\t\tif ( renderingMode === 'template-locked' ) {\n\t\t\t\t\treturn getBlocksByName( 'core/post-content' )?.[ 0 ] ?? '';\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tgetBlocksByName( 'core/group' ).find(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\tgetBlockAttributes( clientId )?.tagName === 'main'\n\t\t\t\t\t) ?? ''\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\thasUploadPermissions:\n\t\t\t\t\tcanUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'attachment',\n\t\t\t\t\t} ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'page',\n\t\t\t\t} ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t\tsectionRootClientId: getSectionRootBlock(),\n\t\t\t\tdeviceType: getDeviceType(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport, renderingMode ]\n\t);\n\n\tconst { merged: mergedGlobalStyles } = useGlobalStylesContext();\n\tconst globalStylesData = mergedGlobalStyles.styles ?? EMPTY_OBJECT;\n\tconst globalStylesLinksData = mergedGlobalStyles._links ?? EMPTY_OBJECT;\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\tconst { editMediaEntity } = unlock( useDispatch( coreStore ) );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst { getSelectedBlockClientId } = useSelect( blockEditorStore );\n\n\t/**\n\t * Wraps onNavigateToEntityRecord to automatically include the currently selected block.\n\t * This ensures that navigation can restore the selection when returning to the previous entity.\n\t */\n\tconst wrappedOnNavigateToEntityRecord = useCallback(\n\t\t( params ) => {\n\t\t\tif ( ! settings.onNavigateToEntityRecord ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\treturn settings.onNavigateToEntityRecord( {\n\t\t\t\t...params,\n\t\t\t\tselectedBlockClientId,\n\t\t\t} );\n\t\t},\n\t\t[ settings, getSelectedBlockClientId ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo( () => {\n\t\tconst blockEditorSettings = {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings )\n\t\t\t\t\t.filter( ( [ key ] ) =>\n\t\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t\t)\n\t\t\t\t\t// Exclude onNavigateToEntityRecord since we're wrapping it\n\t\t\t\t\t.filter( ( [ key ] ) => key !== 'onNavigateToEntityRecord' )\n\t\t\t),\n\t\t\t[ globalStylesDataKey ]: globalStylesData,\n\t\t\t[ globalStylesLinksDataKey ]: globalStylesLinksData,\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tonNavigateToEntityRecord: settings.onNavigateToEntityRecord\n\t\t\t\t? wrappedOnNavigateToEntityRecord\n\t\t\t\t: undefined,\n\t\t\t[ getMediaSelectKey ]: ( select, attachmentId ) => {\n\t\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'attachment',\n\t\t\t\t\tattachmentId\n\t\t\t\t);\n\t\t\t},\n\t\t\t[ mediaEditKey ]: hasUploadPermissions\n\t\t\t\t? editMediaEntity\n\t\t\t\t: undefined,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\tmediaSideload: hasUploadPermissions ? mediaSideload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t[ selectBlockPatternsKey ]: ( select ) => {\n\t\t\t\tconst { hasFinishedResolution, getBlockPatternsForPostType } =\n\t\t\t\t\tunlock( select( coreStore ) );\n\t\t\t\tconst patterns = getBlockPatternsForPostType( postType );\n\t\t\t\treturn hasFinishedResolution( 'getBlockPatterns' )\n\t\t\t\t\t? patterns\n\t\t\t\t\t: undefined;\n\t\t\t},\n\t\t\t[ reusableBlocksSelectKey ]: __experimentalReusableBlocksSelect,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: ! isDistractionFree && postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\t[ sectionRootClientIdKey ]: sectionRootClientId,\n\t\t\teditorTool:\n\t\t\t\trenderingMode === 'post-only' && postType !== 'wp_template'\n\t\t\t\t\t? 'edit'\n\t\t\t\t\t: undefined,\n\t\t\t// When editing template parts, patterns, or navigation directly,\n\t\t\t// we're in an isolated editing context (focused on that entity alone).\n\t\t\t[ isIsolatedEditorKey ]: [\n\t\t\t\t'wp_template_part',\n\t\t\t\t'wp_block',\n\t\t\t\t'wp_navigation',\n\t\t\t].includes( postType ),\n\t\t\t...( window.__experimentalHideBlocksBasedOnScreenSize && deviceType\n\t\t\t\t? { [ deviceTypeKey ]: deviceType }\n\t\t\t\t: {} ),\n\t\t};\n\n\t\treturn blockEditorSettings;\n\t}, [\n\t\tallowedBlockTypes,\n\t\tallowRightClickOverrides,\n\t\tfocusMode,\n\t\tforceDisableFocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\tsettings,\n\t\thasUploadPermissions,\n\t\tuserPatternCategories,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tcanUseUnfilteredHTML,\n\t\tundo,\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tpostType,\n\t\tsetIsInserterOpened,\n\t\tsectionRootClientId,\n\t\tglobalStylesData,\n\t\tglobalStylesLinksData,\n\t\trenderingMode,\n\t\teditMediaEntity,\n\t\twrappedOnNavigateToEntityRecord,\n\t\tdeviceType,\n\t] );\n}\n\nexport default useBlockEditorSettings;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tprivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { default as mediaSideload } from '../../utils/media-sideload';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useGlobalStylesContext } from '../global-styles-provider';\n\nconst EMPTY_OBJECT = {};\n\nfunction __experimentalReusableBlocksSelect( select ) {\n\tconst { RECEIVE_INTERMEDIATE_RESULTS } = unlock( coreDataPrivateApis );\n\tconst { getEntityRecords } = select( coreStore );\n\treturn getEntityRecords( 'postType', 'wp_block', {\n\t\tper_page: -1,\n\t\t[ RECEIVE_INTERMEDIATE_RESULTS ]: true,\n\t} );\n}\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockBindingsSupportedAttributes',\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'maxUploadFileSize',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canEditCSS',\n\t'canLockBlocks',\n\t'canUpdateBlockBindings',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'onNavigateToEntityRecord',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isPreviewMode',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n];\n\nconst {\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tsectionRootClientIdKey,\n\tmediaEditKey,\n\tgetMediaSelectKey,\n\tisIsolatedEditorKey,\n\tdeviceTypeKey,\n} = unlock( privateApis );\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n * @param {string} renderingMode Editor rendering mode.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId, renderingMode ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t\tsectionRootClientId,\n\t\tdeviceType,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst { getDeviceType } = unlock( select( editorStore ) );\n\t\t\tconst { getBlocksByName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst siteSettings = canUser( 'read', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t} )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\tfunction getSectionRootBlock() {\n\t\t\t\tif ( renderingMode === 'template-locked' ) {\n\t\t\t\t\treturn getBlocksByName( 'core/post-content' )?.[ 0 ] ?? '';\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tgetBlocksByName( 'core/group' ).find(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\tgetBlockAttributes( clientId )?.tagName === 'main'\n\t\t\t\t\t) ?? ''\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\thasUploadPermissions:\n\t\t\t\t\tcanUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'attachment',\n\t\t\t\t\t} ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'page',\n\t\t\t\t} ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t\tsectionRootClientId: getSectionRootBlock(),\n\t\t\t\tdeviceType: getDeviceType(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport, renderingMode ]\n\t);\n\n\tconst { merged: mergedGlobalStyles } = useGlobalStylesContext();\n\tconst globalStylesData = mergedGlobalStyles.styles ?? EMPTY_OBJECT;\n\tconst globalStylesLinksData = mergedGlobalStyles._links ?? EMPTY_OBJECT;\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\tconst { editMediaEntity } = unlock( useDispatch( coreStore ) );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst { getSelectedBlockClientId } = useSelect( blockEditorStore );\n\n\t/**\n\t * Wraps onNavigateToEntityRecord to automatically include the currently selected block.\n\t * This ensures that navigation can restore the selection when returning to the previous entity.\n\t */\n\tconst wrappedOnNavigateToEntityRecord = useCallback(\n\t\t( params ) => {\n\t\t\tif ( ! settings.onNavigateToEntityRecord ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\treturn settings.onNavigateToEntityRecord( {\n\t\t\t\t...params,\n\t\t\t\tselectedBlockClientId,\n\t\t\t} );\n\t\t},\n\t\t[ settings, getSelectedBlockClientId ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo( () => {\n\t\tconst blockEditorSettings = {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings )\n\t\t\t\t\t.filter( ( [ key ] ) =>\n\t\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t\t)\n\t\t\t\t\t// Exclude onNavigateToEntityRecord since we're wrapping it\n\t\t\t\t\t.filter( ( [ key ] ) => key !== 'onNavigateToEntityRecord' )\n\t\t\t),\n\t\t\t[ globalStylesDataKey ]: globalStylesData,\n\t\t\t[ globalStylesLinksDataKey ]: globalStylesLinksData,\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tonNavigateToEntityRecord: settings.onNavigateToEntityRecord\n\t\t\t\t? wrappedOnNavigateToEntityRecord\n\t\t\t\t: undefined,\n\t\t\t[ getMediaSelectKey ]: ( select, attachmentId ) => {\n\t\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'attachment',\n\t\t\t\t\tattachmentId\n\t\t\t\t);\n\t\t\t},\n\t\t\t[ mediaEditKey ]: hasUploadPermissions\n\t\t\t\t? editMediaEntity\n\t\t\t\t: undefined,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\tmediaSideload: hasUploadPermissions ? mediaSideload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t[ selectBlockPatternsKey ]: ( select ) => {\n\t\t\t\tconst { hasFinishedResolution, getBlockPatternsForPostType } =\n\t\t\t\t\tunlock( select( coreStore ) );\n\t\t\t\tconst patterns = getBlockPatternsForPostType( postType );\n\t\t\t\treturn hasFinishedResolution( 'getBlockPatterns' )\n\t\t\t\t\t? patterns\n\t\t\t\t\t: undefined;\n\t\t\t},\n\t\t\t[ reusableBlocksSelectKey ]: __experimentalReusableBlocksSelect,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: ! isDistractionFree && postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\t[ sectionRootClientIdKey ]: sectionRootClientId,\n\t\t\teditorTool:\n\t\t\t\trenderingMode === 'post-only' && postType !== 'wp_template'\n\t\t\t\t\t? 'edit'\n\t\t\t\t\t: undefined,\n\t\t\t// When editing template parts, patterns, or navigation directly,\n\t\t\t// we're in an isolated editing context (focused on that entity alone).\n\t\t\t[ isIsolatedEditorKey ]: [\n\t\t\t\t'wp_template_part',\n\t\t\t\t'wp_block',\n\t\t\t\t'wp_navigation',\n\t\t\t].includes( postType ),\n\t\t\t...( deviceType ? { [ deviceTypeKey ]: deviceType } : {} ),\n\t\t};\n\n\t\treturn blockEditorSettings;\n\t}, [\n\t\tallowedBlockTypes,\n\t\tallowRightClickOverrides,\n\t\tfocusMode,\n\t\tforceDisableFocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\tsettings,\n\t\thasUploadPermissions,\n\t\tuserPatternCategories,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tcanUseUnfilteredHTML,\n\t\tundo,\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tpostType,\n\t\tsetIsInserterOpened,\n\t\tsectionRootClientId,\n\t\tglobalStylesData,\n\t\tglobalStylesLinksData,\n\t\trenderingMode,\n\t\teditMediaEntity,\n\t\twrappedOnNavigateToEntityRecord,\n\t\tdeviceType,\n\t] );\n}\n\nexport default useBlockEditorSettings;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,28 @@
1
+ // packages/editor/src/components/revision-author-panel/index.js
2
+ import { useSelect } from "@wordpress/data";
3
+ import { store as coreStore } from "@wordpress/core-data";
4
+ import { decodeEntities } from "@wordpress/html-entities";
5
+ import { __ } from "@wordpress/i18n";
6
+ import PostPanelRow from "../post-panel-row/index.mjs";
7
+ import { store as editorStore } from "../../store/index.mjs";
8
+ import { unlock } from "../../lock-unlock.mjs";
9
+ import { jsx } from "react/jsx-runtime";
10
+ function RevisionAuthorPanel() {
11
+ const authorName = useSelect((select) => {
12
+ const { getCurrentRevision } = unlock(select(editorStore));
13
+ const revision = getCurrentRevision();
14
+ if (!revision?.author) {
15
+ return null;
16
+ }
17
+ const author = select(coreStore).getUser(revision.author);
18
+ return author?.name;
19
+ }, []);
20
+ if (!authorName) {
21
+ return null;
22
+ }
23
+ return /* @__PURE__ */ jsx(PostPanelRow, { label: __("Author"), children: decodeEntities(authorName) });
24
+ }
25
+ export {
26
+ RevisionAuthorPanel as default
27
+ };
28
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/revision-author-panel/index.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function RevisionAuthorPanel() {\n\tconst authorName = useSelect( ( select ) => {\n\t\tconst { getCurrentRevision } = unlock( select( editorStore ) );\n\t\tconst revision = getCurrentRevision();\n\t\tif ( ! revision?.author ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst author = select( coreStore ).getUser( revision.author );\n\t\treturn author?.name;\n\t}, [] );\n\n\tif ( ! authorName ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostPanelRow label={ __( 'Author' ) }>\n\t\t\t{ decodeEntities( authorName ) }\n\t\t</PostPanelRow>\n\t);\n}\n"],
5
+ "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AACnC,SAAS,sBAAsB;AAC/B,SAAS,UAAU;AAKnB,OAAO,kBAAkB;AACzB,SAAS,SAAS,mBAAmB;AACrC,SAAS,cAAc;AAkBrB;AAhBa,SAAR,sBAAuC;AAC7C,QAAM,aAAa,UAAW,CAAE,WAAY;AAC3C,UAAM,EAAE,mBAAmB,IAAI,OAAQ,OAAQ,WAAY,CAAE;AAC7D,UAAM,WAAW,mBAAmB;AACpC,QAAK,CAAE,UAAU,QAAS;AACzB,aAAO;AAAA,IACR;AACA,UAAM,SAAS,OAAQ,SAAU,EAAE,QAAS,SAAS,MAAO;AAC5D,WAAO,QAAQ;AAAA,EAChB,GAAG,CAAC,CAAE;AAEN,MAAK,CAAE,YAAa;AACnB,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,gBAAa,OAAQ,GAAI,QAAS,GAChC,yBAAgB,UAAW,GAC9B;AAEF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,26 @@
1
+ // packages/editor/src/components/revision-created-panel/index.js
2
+ import { __experimentalText as Text } from "@wordpress/components";
3
+ import { useSelect } from "@wordpress/data";
4
+ import { __, sprintf } from "@wordpress/i18n";
5
+ import { humanTimeDiff } from "@wordpress/date";
6
+ import { store as editorStore } from "../../store/index.mjs";
7
+ import { unlock } from "../../lock-unlock.mjs";
8
+ import { jsx } from "react/jsx-runtime";
9
+ function RevisionCreatedPanel() {
10
+ const date = useSelect((select) => {
11
+ const { getCurrentRevision } = unlock(select(editorStore));
12
+ return getCurrentRevision()?.date;
13
+ }, []);
14
+ if (!date) {
15
+ return null;
16
+ }
17
+ return /* @__PURE__ */ jsx("div", { className: "editor-post-last-edited-panel", children: /* @__PURE__ */ jsx(Text, { children: sprintf(
18
+ // translators: %s: Human-readable time difference, e.g. "2 days ago".
19
+ __("Created %s."),
20
+ humanTimeDiff(date)
21
+ ) }) });
22
+ }
23
+ export {
24
+ RevisionCreatedPanel as default
25
+ };
26
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/revision-created-panel/index.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalText as Text } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { humanTimeDiff } from '@wordpress/date';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function RevisionCreatedPanel() {\n\tconst date = useSelect( ( select ) => {\n\t\tconst { getCurrentRevision } = unlock( select( editorStore ) );\n\t\treturn getCurrentRevision()?.date;\n\t}, [] );\n\n\tif ( ! date ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"editor-post-last-edited-panel\">\n\t\t\t<Text>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: Human-readable time difference, e.g. \"2 days ago\".\n\t\t\t\t\t__( 'Created %s.' ),\n\t\t\t\t\thumanTimeDiff( date )\n\t\t\t\t) }\n\t\t\t</Text>\n\t\t</div>\n\t);\n}\n"],
5
+ "mappings": ";AAGA,SAAS,sBAAsB,YAAY;AAC3C,SAAS,iBAAiB;AAC1B,SAAS,IAAI,eAAe;AAC5B,SAAS,qBAAqB;AAK9B,SAAS,SAAS,mBAAmB;AACrC,SAAS,cAAc;AAcpB;AAZY,SAAR,uBAAwC;AAC9C,QAAM,OAAO,UAAW,CAAE,WAAY;AACrC,UAAM,EAAE,mBAAmB,IAAI,OAAQ,OAAQ,WAAY,CAAE;AAC7D,WAAO,mBAAmB,GAAG;AAAA,EAC9B,GAAG,CAAC,CAAE;AAEN,MAAK,CAAE,MAAO;AACb,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,SAAI,WAAU,iCACd,8BAAC,QACE;AAAA;AAAA,IAED,GAAI,aAAc;AAAA,IAClB,cAAe,IAAK;AAAA,EACrB,GACD,GACD;AAEF;",
6
+ "names": []
7
+ }
@@ -5,19 +5,34 @@ import { useSelect } from "@wordpress/data";
5
5
  import { forwardRef } from "@wordpress/element";
6
6
  import { decodeEntities } from "@wordpress/html-entities";
7
7
  import { store as editorStore } from "../../store/index.mjs";
8
+ import { ATTACHMENT_POST_TYPE } from "../../store/constants.mjs";
8
9
  import { unlock } from "../../lock-unlock.mjs";
9
10
  import { sidebars } from "./constants.mjs";
10
11
  import { jsx, jsxs } from "react/jsx-runtime";
11
12
  var { Tabs } = unlock(componentsPrivateApis);
12
13
  var SidebarHeader = (_, ref) => {
13
- const postTypeLabel = useSelect(
14
- (select) => select(editorStore).getPostTypeLabel(),
14
+ const { postTypeLabel, isAttachment, isRevisionsMode } = useSelect(
15
+ (select) => {
16
+ const { getPostTypeLabel, getCurrentPostType } = select(editorStore);
17
+ const { isRevisionsMode: _isRevisionsMode } = unlock(
18
+ select(editorStore)
19
+ );
20
+ return {
21
+ postTypeLabel: getPostTypeLabel(),
22
+ isAttachment: getCurrentPostType() === ATTACHMENT_POST_TYPE && window?.__experimentalMediaEditor,
23
+ isRevisionsMode: _isRevisionsMode()
24
+ };
25
+ },
15
26
  []
16
27
  );
17
- const documentLabel = postTypeLabel ? decodeEntities(postTypeLabel) : (
18
- // translators: Default label for the Document sidebar tab, not selected.
19
- _x("Document", "noun, panel")
20
- );
28
+ let documentLabel;
29
+ if (isRevisionsMode) {
30
+ documentLabel = __("Revision");
31
+ } else if (postTypeLabel) {
32
+ documentLabel = decodeEntities(postTypeLabel);
33
+ } else {
34
+ documentLabel = _x("Document", "noun, panel");
35
+ }
21
36
  return /* @__PURE__ */ jsxs(Tabs.TabList, { ref, children: [
22
37
  /* @__PURE__ */ jsx(
23
38
  Tabs.Tab,
@@ -27,7 +42,7 @@ var SidebarHeader = (_, ref) => {
27
42
  children: documentLabel
28
43
  }
29
44
  ),
30
- /* @__PURE__ */ jsx(
45
+ !isAttachment && !isRevisionsMode && /* @__PURE__ */ jsx(
31
46
  Tabs.Tab,
32
47
  {
33
48
  tabId: sidebars.block,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/sidebar/header.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { sidebars } from './constants';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SidebarHeader = ( _, ref ) => {\n\tconst postTypeLabel = useSelect(\n\t\t( select ) => select( editorStore ).getPostTypeLabel(),\n\t\t[]\n\t);\n\n\tconst documentLabel = postTypeLabel\n\t\t? decodeEntities( postTypeLabel )\n\t\t: // translators: Default label for the Document sidebar tab, not selected.\n\t\t _x( 'Document', 'noun, panel' );\n\n\treturn (\n\t\t<Tabs.TabList ref={ ref }>\n\t\t\t<Tabs.Tab\n\t\t\t\ttabId={ sidebars.document }\n\t\t\t\t// Used for focus management in the SettingsSidebar component.\n\t\t\t\tdata-tab-id={ sidebars.document }\n\t\t\t>\n\t\t\t\t{ documentLabel }\n\t\t\t</Tabs.Tab>\n\t\t\t<Tabs.Tab\n\t\t\t\ttabId={ sidebars.block }\n\t\t\t\t// Used for focus management in the SettingsSidebar component.\n\t\t\t\tdata-tab-id={ sidebars.block }\n\t\t\t>\n\t\t\t\t{ /* translators: Text label for the Block Settings Sidebar tab. */ }\n\t\t\t\t{ __( 'Block' ) }\n\t\t\t</Tabs.Tab>\n\t\t</Tabs.TabList>\n\t);\n};\n\nexport default forwardRef( SidebarHeader );\n"],
5
- "mappings": ";AAGA,SAAS,eAAe,6BAA6B;AACrD,SAAS,IAAI,UAAU;AACvB,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAK/B,SAAS,SAAS,mBAAmB;AACrC,SAAS,cAAc;AACvB,SAAS,gBAAgB;AAgBvB,SACC,KADD;AAdF,IAAM,EAAE,KAAK,IAAI,OAAQ,qBAAsB;AAE/C,IAAM,gBAAgB,CAAE,GAAG,QAAS;AACnC,QAAM,gBAAgB;AAAA,IACrB,CAAE,WAAY,OAAQ,WAAY,EAAE,iBAAiB;AAAA,IACrD,CAAC;AAAA,EACF;AAEA,QAAM,gBAAgB,gBACnB,eAAgB,aAAc;AAAA;AAAA,IAE9B,GAAI,YAAY,aAAc;AAAA;AAEjC,SACC,qBAAC,KAAK,SAAL,EAAa,KACb;AAAA;AAAA,MAAC,KAAK;AAAA,MAAL;AAAA,QACA,OAAQ,SAAS;AAAA,QAEjB,eAAc,SAAS;AAAA,QAErB;AAAA;AAAA,IACH;AAAA,IACA;AAAA,MAAC,KAAK;AAAA,MAAL;AAAA,QACA,OAAQ,SAAS;AAAA,QAEjB,eAAc,SAAS;AAAA,QAGrB,aAAI,OAAQ;AAAA;AAAA,IACf;AAAA,KACD;AAEF;AAEA,IAAO,iBAAQ,WAAY,aAAc;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { ATTACHMENT_POST_TYPE } from '../../store/constants';\nimport { unlock } from '../../lock-unlock';\nimport { sidebars } from './constants';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SidebarHeader = ( _, ref ) => {\n\tconst { postTypeLabel, isAttachment, isRevisionsMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostTypeLabel, getCurrentPostType } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { isRevisionsMode: _isRevisionsMode } = unlock(\n\t\t\t\tselect( editorStore )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tpostTypeLabel: getPostTypeLabel(),\n\t\t\t\tisAttachment:\n\t\t\t\t\tgetCurrentPostType() === ATTACHMENT_POST_TYPE &&\n\t\t\t\t\twindow?.__experimentalMediaEditor,\n\t\t\t\tisRevisionsMode: _isRevisionsMode(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tlet documentLabel;\n\tif ( isRevisionsMode ) {\n\t\tdocumentLabel = __( 'Revision' );\n\t} else if ( postTypeLabel ) {\n\t\tdocumentLabel = decodeEntities( postTypeLabel );\n\t} else {\n\t\t// translators: Default label for the Document sidebar tab, not selected.\n\t\tdocumentLabel = _x( 'Document', 'noun, panel' );\n\t}\n\n\treturn (\n\t\t<Tabs.TabList ref={ ref }>\n\t\t\t<Tabs.Tab\n\t\t\t\ttabId={ sidebars.document }\n\t\t\t\t// Used for focus management in the SettingsSidebar component.\n\t\t\t\tdata-tab-id={ sidebars.document }\n\t\t\t>\n\t\t\t\t{ documentLabel }\n\t\t\t</Tabs.Tab>\n\t\t\t{ ! isAttachment && ! isRevisionsMode && (\n\t\t\t\t<Tabs.Tab\n\t\t\t\t\ttabId={ sidebars.block }\n\t\t\t\t\t// Used for focus management in the SettingsSidebar component.\n\t\t\t\t\tdata-tab-id={ sidebars.block }\n\t\t\t\t>\n\t\t\t\t\t{ /* translators: Text label for the Block Settings Sidebar tab. */ }\n\t\t\t\t\t{ __( 'Block' ) }\n\t\t\t\t</Tabs.Tab>\n\t\t\t) }\n\t\t</Tabs.TabList>\n\t);\n};\n\nexport default forwardRef( SidebarHeader );\n"],
5
+ "mappings": ";AAGA,SAAS,eAAe,6BAA6B;AACrD,SAAS,IAAI,UAAU;AACvB,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAK/B,SAAS,SAAS,mBAAmB;AACrC,SAAS,4BAA4B;AACrC,SAAS,cAAc;AACvB,SAAS,gBAAgB;AAkCvB,SACC,KADD;AAhCF,IAAM,EAAE,KAAK,IAAI,OAAQ,qBAAsB;AAE/C,IAAM,gBAAgB,CAAE,GAAG,QAAS;AACnC,QAAM,EAAE,eAAe,cAAc,gBAAgB,IAAI;AAAA,IACxD,CAAE,WAAY;AACb,YAAM,EAAE,kBAAkB,mBAAmB,IAC5C,OAAQ,WAAY;AACrB,YAAM,EAAE,iBAAiB,iBAAiB,IAAI;AAAA,QAC7C,OAAQ,WAAY;AAAA,MACrB;AACA,aAAO;AAAA,QACN,eAAe,iBAAiB;AAAA,QAChC,cACC,mBAAmB,MAAM,wBACzB,QAAQ;AAAA,QACT,iBAAiB,iBAAiB;AAAA,MACnC;AAAA,IACD;AAAA,IACA,CAAC;AAAA,EACF;AAEA,MAAI;AACJ,MAAK,iBAAkB;AACtB,oBAAgB,GAAI,UAAW;AAAA,EAChC,WAAY,eAAgB;AAC3B,oBAAgB,eAAgB,aAAc;AAAA,EAC/C,OAAO;AAEN,oBAAgB,GAAI,YAAY,aAAc;AAAA,EAC/C;AAEA,SACC,qBAAC,KAAK,SAAL,EAAa,KACb;AAAA;AAAA,MAAC,KAAK;AAAA,MAAL;AAAA,QACA,OAAQ,SAAS;AAAA,QAEjB,eAAc,SAAS;AAAA,QAErB;AAAA;AAAA,IACH;AAAA,IACE,CAAE,gBAAgB,CAAE,mBACrB;AAAA,MAAC,KAAK;AAAA,MAAL;AAAA,QACA,OAAQ,SAAS;AAAA,QAEjB,eAAc,SAAS;AAAA,QAGrB,aAAI,OAAQ;AAAA;AAAA,IACf;AAAA,KAEF;AAEF;AAEA,IAAO,iBAAQ,WAAY,aAAc;",
6
6
  "names": []
7
7
  }
@@ -25,16 +25,18 @@ import PostTransformPanel from "../post-transform-panel/index.mjs";
25
25
  import SidebarHeader from "./header.mjs";
26
26
  import TemplateContentPanel from "../template-content-panel/index.mjs";
27
27
  import TemplatePartContentPanel from "../template-part-content-panel/index.mjs";
28
+ import { MediaMetadataPanel } from "../media/index.mjs";
28
29
  import useAutoSwitchEditorSidebars from "../provider/use-auto-switch-editor-sidebars.mjs";
29
30
  import { sidebars } from "./constants.mjs";
30
31
  import { unlock } from "../../lock-unlock.mjs";
31
32
  import { store as editorStore } from "../../store/index.mjs";
32
33
  import {
34
+ ATTACHMENT_POST_TYPE,
33
35
  NAVIGATION_POST_TYPE,
34
36
  TEMPLATE_PART_POST_TYPE,
35
37
  TEMPLATE_POST_TYPE
36
38
  } from "../../store/constants.mjs";
37
- import { jsx, jsxs } from "react/jsx-runtime";
39
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
38
40
  var { Tabs } = unlock(componentsPrivateApis);
39
41
  var SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select({
40
42
  web: true,
@@ -44,10 +46,15 @@ var SidebarContent = ({
44
46
  tabName,
45
47
  keyboardShortcut,
46
48
  onActionPerformed,
47
- extraPanels
49
+ extraPanels,
50
+ postType
48
51
  }) => {
49
52
  const tabListRef = useRef(null);
50
53
  const tabsContextValue = useContext(Tabs.Context);
54
+ const isAttachment = postType === ATTACHMENT_POST_TYPE;
55
+ const isRevisionsMode = useSelect((select) => {
56
+ return unlock(select(editorStore)).isRevisionsMode();
57
+ });
51
58
  useEffect(() => {
52
59
  const tabsElements = Array.from(
53
60
  tabListRef.current?.querySelectorAll('[role="tab"]') || []
@@ -82,24 +89,36 @@ var SidebarContent = ({
82
89
  icon: isRTL() ? drawerLeft : drawerRight,
83
90
  isActiveByDefault: SIDEBAR_ACTIVE_BY_DEFAULT,
84
91
  children: /* @__PURE__ */ jsxs(Tabs.Context.Provider, { value: tabsContextValue, children: [
85
- /* @__PURE__ */ jsxs(Tabs.TabPanel, { tabId: sidebars.document, focusable: false, children: [
86
- /* @__PURE__ */ jsx(PostSummary, { onActionPerformed }),
87
- /* @__PURE__ */ jsx(PluginDocumentSettingPanel.Slot, {}),
88
- /* @__PURE__ */ jsx(TemplateContentPanel, {}),
89
- /* @__PURE__ */ jsx(TemplatePartContentPanel, {}),
90
- /* @__PURE__ */ jsx(PostTransformPanel, {}),
91
- /* @__PURE__ */ jsx(PostTaxonomiesPanel, {}),
92
- /* @__PURE__ */ jsx(PatternOverridesPanel, {}),
93
- extraPanels
94
- ] }),
95
- /* @__PURE__ */ jsx(Tabs.TabPanel, { tabId: sidebars.block, focusable: false, children: /* @__PURE__ */ jsx(BlockInspector, {}) })
92
+ /* @__PURE__ */ jsx(Tabs.TabPanel, { tabId: sidebars.document, focusable: false, children: isAttachment ? /* @__PURE__ */ jsx(
93
+ MediaMetadataPanel,
94
+ {
95
+ onActionPerformed
96
+ }
97
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
98
+ /* @__PURE__ */ jsx(
99
+ PostSummary,
100
+ {
101
+ onActionPerformed
102
+ }
103
+ ),
104
+ !isRevisionsMode && /* @__PURE__ */ jsxs(Fragment, { children: [
105
+ /* @__PURE__ */ jsx(PluginDocumentSettingPanel.Slot, {}),
106
+ /* @__PURE__ */ jsx(TemplateContentPanel, {}),
107
+ /* @__PURE__ */ jsx(TemplatePartContentPanel, {}),
108
+ /* @__PURE__ */ jsx(PostTransformPanel, {}),
109
+ /* @__PURE__ */ jsx(PostTaxonomiesPanel, {}),
110
+ /* @__PURE__ */ jsx(PatternOverridesPanel, {}),
111
+ extraPanels
112
+ ] })
113
+ ] }) }),
114
+ !isAttachment && /* @__PURE__ */ jsx(Tabs.TabPanel, { tabId: sidebars.block, focusable: false, children: /* @__PURE__ */ jsx(BlockInspector, {}) })
96
115
  ] })
97
116
  }
98
117
  );
99
118
  };
100
119
  var Sidebar = ({ extraPanels, onActionPerformed }) => {
101
120
  useAutoSwitchEditorSidebars();
102
- const { tabName, keyboardShortcut, showSummary } = useSelect(
121
+ const { tabName, keyboardShortcut, showSummary, postType } = useSelect(
103
122
  (select) => {
104
123
  const shortcut = select(
105
124
  keyboardShortcutsStore
@@ -115,6 +134,7 @@ var Sidebar = ({ extraPanels, onActionPerformed }) => {
115
134
  blockEditorStore
116
135
  ).getBlockSelectionStart() ? sidebars.block : sidebars.document;
117
136
  }
137
+ const _postType = select(editorStore).getCurrentPostType();
118
138
  return {
119
139
  tabName: _tabName,
120
140
  keyboardShortcut: shortcut,
@@ -122,7 +142,8 @@ var Sidebar = ({ extraPanels, onActionPerformed }) => {
122
142
  TEMPLATE_POST_TYPE,
123
143
  TEMPLATE_PART_POST_TYPE,
124
144
  NAVIGATION_POST_TYPE
125
- ].includes(select(editorStore).getCurrentPostType())
145
+ ].includes(_postType),
146
+ postType: _postType
126
147
  };
127
148
  },
128
149
  []
@@ -149,7 +170,8 @@ var Sidebar = ({ extraPanels, onActionPerformed }) => {
149
170
  keyboardShortcut,
150
171
  showSummary,
151
172
  onActionPerformed,
152
- extraPanels
173
+ extraPanels,
174
+ postType
153
175
  }
154
176
  )
155
177
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/sidebar/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n} from '@wordpress/element';\nimport { isRTL, __, _x } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport PatternOverridesPanel from '../pattern-overrides-panel';\nimport PluginDocumentSettingPanel from '../plugin-document-setting-panel';\nimport PluginSidebar from '../plugin-sidebar';\nimport PostSummary from './post-summary';\nimport PostTaxonomiesPanel from '../post-taxonomies/panel';\nimport PostTransformPanel from '../post-transform-panel';\nimport SidebarHeader from './header';\nimport TemplateContentPanel from '../template-content-panel';\nimport TemplatePartContentPanel from '../template-part-content-panel';\nimport useAutoSwitchEditorSidebars from '../provider/use-auto-switch-editor-sidebars';\nimport { sidebars } from './constants';\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport {\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\n\nconst SidebarContent = ( {\n\ttabName,\n\tkeyboardShortcut,\n\tonActionPerformed,\n\textraPanels,\n} ) => {\n\tconst tabListRef = useRef( null );\n\t// Because `PluginSidebar` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\t// This effect addresses a race condition caused by tabbing from the last\n\t// block in the editor into the settings sidebar. Without this effect, the\n\t// selected tab and browser focus can become separated in an unexpected way\n\t// (e.g the \"block\" tab is focused, but the \"post\" tab is selected).\n\tuseEffect( () => {\n\t\tconst tabsElements = Array.from(\n\t\t\ttabListRef.current?.querySelectorAll( '[role=\"tab\"]' ) || []\n\t\t);\n\t\tconst selectedTabElement = tabsElements.find(\n\t\t\t// We are purposefully using a custom `data-tab-id` attribute here\n\t\t\t// because we don't want rely on any assumptions about `Tabs`\n\t\t\t// component internals.\n\t\t\t( element ) => element.getAttribute( 'data-tab-id' ) === tabName\n\t\t);\n\t\tconst activeElement = selectedTabElement?.ownerDocument.activeElement;\n\t\tconst tabsHasFocus = tabsElements.some( ( element ) => {\n\t\t\treturn activeElement && activeElement.id === element.id;\n\t\t} );\n\t\tif (\n\t\t\ttabsHasFocus &&\n\t\t\tselectedTabElement &&\n\t\t\tselectedTabElement.id !== activeElement?.id\n\t\t) {\n\t\t\tselectedTabElement?.focus();\n\t\t}\n\t}, [ tabName ] );\n\n\treturn (\n\t\t<PluginSidebar\n\t\t\tidentifier={ tabName }\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SidebarHeader ref={ tabListRef } />\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t// margin to the panel.\n\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\tclassName=\"editor-sidebar__panel\"\n\t\t\theaderClassName=\"editor-sidebar__panel-tabs\"\n\t\t\ttitle={\n\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t_x( 'Settings', 'panel button label' )\n\t\t\t}\n\t\t\ttoggleShortcut={ keyboardShortcut }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.document } focusable={ false }>\n\t\t\t\t\t<PostSummary onActionPerformed={ onActionPerformed } />\n\t\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t\t<TemplateContentPanel />\n\t\t\t\t\t<TemplatePartContentPanel />\n\t\t\t\t\t<PostTransformPanel />\n\t\t\t\t\t<PostTaxonomiesPanel />\n\t\t\t\t\t<PatternOverridesPanel />\n\t\t\t\t\t{ extraPanels }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.block } focusable={ false }>\n\t\t\t\t\t<BlockInspector />\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</PluginSidebar>\n\t);\n};\n\nconst Sidebar = ( { extraPanels, onActionPerformed } ) => {\n\tuseAutoSwitchEditorSidebars();\n\tconst { tabName, keyboardShortcut, showSummary } = useSelect(\n\t\t( select ) => {\n\t\t\tconst shortcut = select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/editor/toggle-sidebar' );\n\n\t\t\tconst sidebar =\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea( 'core' );\n\t\t\tconst _isEditorSidebarOpened = [\n\t\t\t\tsidebars.block,\n\t\t\t\tsidebars.document,\n\t\t\t].includes( sidebar );\n\t\t\tlet _tabName = sidebar;\n\t\t\tif ( ! _isEditorSidebarOpened ) {\n\t\t\t\t_tabName = !! select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).getBlockSelectionStart()\n\t\t\t\t\t? sidebars.block\n\t\t\t\t\t: sidebars.document;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\ttabName: _tabName,\n\t\t\t\tkeyboardShortcut: shortcut,\n\t\t\t\tshowSummary: ! [\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\tNAVIGATION_POST_TYPE,\n\t\t\t\t].includes( select( editorStore ).getCurrentPostType() ),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\tenableComplementaryArea( 'core', newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\tselectedTabId={ tabName }\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\ttabName={ tabName }\n\t\t\t\tkeyboardShortcut={ keyboardShortcut }\n\t\t\t\tshowSummary={ showSummary }\n\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\textraPanels={ extraPanels }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n};\n\nexport default Sidebar;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n} from '@wordpress/element';\nimport { isRTL, __, _x } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport PatternOverridesPanel from '../pattern-overrides-panel';\nimport PluginDocumentSettingPanel from '../plugin-document-setting-panel';\nimport PluginSidebar from '../plugin-sidebar';\nimport PostSummary from './post-summary';\nimport PostTaxonomiesPanel from '../post-taxonomies/panel';\nimport PostTransformPanel from '../post-transform-panel';\nimport SidebarHeader from './header';\nimport TemplateContentPanel from '../template-content-panel';\nimport TemplatePartContentPanel from '../template-part-content-panel';\nimport { MediaMetadataPanel } from '../media';\nimport useAutoSwitchEditorSidebars from '../provider/use-auto-switch-editor-sidebars';\nimport { sidebars } from './constants';\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport {\n\tATTACHMENT_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\n\nconst SidebarContent = ( {\n\ttabName,\n\tkeyboardShortcut,\n\tonActionPerformed,\n\textraPanels,\n\tpostType,\n} ) => {\n\tconst tabListRef = useRef( null );\n\t// Because `PluginSidebar` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\tconst isAttachment = postType === ATTACHMENT_POST_TYPE;\n\tconst isRevisionsMode = useSelect( ( select ) => {\n\t\treturn unlock( select( editorStore ) ).isRevisionsMode();\n\t} );\n\n\t// This effect addresses a race condition caused by tabbing from the last\n\t// block in the editor into the settings sidebar. Without this effect, the\n\t// selected tab and browser focus can become separated in an unexpected way\n\t// (e.g the \"block\" tab is focused, but the \"post\" tab is selected).\n\tuseEffect( () => {\n\t\tconst tabsElements = Array.from(\n\t\t\ttabListRef.current?.querySelectorAll( '[role=\"tab\"]' ) || []\n\t\t);\n\t\tconst selectedTabElement = tabsElements.find(\n\t\t\t// We are purposefully using a custom `data-tab-id` attribute here\n\t\t\t// because we don't want rely on any assumptions about `Tabs`\n\t\t\t// component internals.\n\t\t\t( element ) => element.getAttribute( 'data-tab-id' ) === tabName\n\t\t);\n\t\tconst activeElement = selectedTabElement?.ownerDocument.activeElement;\n\t\tconst tabsHasFocus = tabsElements.some( ( element ) => {\n\t\t\treturn activeElement && activeElement.id === element.id;\n\t\t} );\n\t\tif (\n\t\t\ttabsHasFocus &&\n\t\t\tselectedTabElement &&\n\t\t\tselectedTabElement.id !== activeElement?.id\n\t\t) {\n\t\t\tselectedTabElement?.focus();\n\t\t}\n\t}, [ tabName ] );\n\n\treturn (\n\t\t<PluginSidebar\n\t\t\tidentifier={ tabName }\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SidebarHeader ref={ tabListRef } />\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t// margin to the panel.\n\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\tclassName=\"editor-sidebar__panel\"\n\t\t\theaderClassName=\"editor-sidebar__panel-tabs\"\n\t\t\ttitle={\n\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t_x( 'Settings', 'panel button label' )\n\t\t\t}\n\t\t\ttoggleShortcut={ keyboardShortcut }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.document } focusable={ false }>\n\t\t\t\t\t{ isAttachment ? (\n\t\t\t\t\t\t<MediaMetadataPanel\n\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PostSummary\n\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ ! isRevisionsMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t\t\t\t\t\t<TemplateContentPanel />\n\t\t\t\t\t\t\t\t\t<TemplatePartContentPanel />\n\t\t\t\t\t\t\t\t\t<PostTransformPanel />\n\t\t\t\t\t\t\t\t\t<PostTaxonomiesPanel />\n\t\t\t\t\t\t\t\t\t<PatternOverridesPanel />\n\t\t\t\t\t\t\t\t\t{ extraPanels }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t{ ! isAttachment && (\n\t\t\t\t\t<Tabs.TabPanel tabId={ sidebars.block } focusable={ false }>\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t) }\n\t\t\t</Tabs.Context.Provider>\n\t\t</PluginSidebar>\n\t);\n};\n\nconst Sidebar = ( { extraPanels, onActionPerformed } ) => {\n\tuseAutoSwitchEditorSidebars();\n\tconst { tabName, keyboardShortcut, showSummary, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst shortcut = select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/editor/toggle-sidebar' );\n\n\t\t\tconst sidebar =\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea( 'core' );\n\t\t\tconst _isEditorSidebarOpened = [\n\t\t\t\tsidebars.block,\n\t\t\t\tsidebars.document,\n\t\t\t].includes( sidebar );\n\t\t\tlet _tabName = sidebar;\n\t\t\tif ( ! _isEditorSidebarOpened ) {\n\t\t\t\t_tabName = !! select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).getBlockSelectionStart()\n\t\t\t\t\t? sidebars.block\n\t\t\t\t\t: sidebars.document;\n\t\t\t}\n\n\t\t\tconst _postType = select( editorStore ).getCurrentPostType();\n\n\t\t\treturn {\n\t\t\t\ttabName: _tabName,\n\t\t\t\tkeyboardShortcut: shortcut,\n\t\t\t\tshowSummary: ! [\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\tNAVIGATION_POST_TYPE,\n\t\t\t\t].includes( _postType ),\n\t\t\t\tpostType: _postType,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\tenableComplementaryArea( 'core', newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\tselectedTabId={ tabName }\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\ttabName={ tabName }\n\t\t\t\tkeyboardShortcut={ keyboardShortcut }\n\t\t\t\tshowSummary={ showSummary }\n\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\textraPanels={ extraPanels }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n};\n\nexport default Sidebar;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,11 @@
1
1
  // packages/editor/src/components/sidebar/post-summary.js
2
- import { __experimentalVStack as VStack } from "@wordpress/components";
2
+ import {
3
+ __experimentalVStack as VStack,
4
+ ExternalLink
5
+ } from "@wordpress/components";
3
6
  import { useSelect } from "@wordpress/data";
7
+ import { __ } from "@wordpress/i18n";
8
+ import { addQueryArgs } from "@wordpress/url";
4
9
  import PluginPostStatusInfo from "../plugin-post-status-info/index.mjs";
5
10
  import PostAuthorPanel from "../post-author/panel.mjs";
6
11
  import PostCardPanel from "../post-card-panel/index.mjs";
@@ -11,6 +16,7 @@ import { PrivatePostExcerptPanel as PostExcerptPanel } from "../post-excerpt/pan
11
16
  import PostFeaturedImagePanel from "../post-featured-image/panel.mjs";
12
17
  import PostFormatPanel from "../post-format/panel.mjs";
13
18
  import PostLastEditedPanel from "../post-last-edited-panel/index.mjs";
19
+ import RevisionCreatedPanel from "../revision-created-panel/index.mjs";
14
20
  import PostPanelSection from "../post-panel-section/index.mjs";
15
21
  import PostSchedulePanel from "../post-schedule/panel.mjs";
16
22
  import PostStatusPanel from "../post-status/index.mjs";
@@ -23,24 +29,27 @@ import SiteDiscussion from "../site-discussion/index.mjs";
23
29
  import { store as editorStore } from "../../store/index.mjs";
24
30
  import { PrivatePostLastRevision } from "../post-last-revision/index.mjs";
25
31
  import PostTrash from "../post-trash/index.mjs";
32
+ import RevisionAuthorPanel from "../revision-author-panel/index.mjs";
33
+ import { unlock } from "../../lock-unlock.mjs";
26
34
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
27
35
  var PANEL_NAME = "post-status";
28
36
  function PostSummary({ onActionPerformed }) {
29
- const { isRemovedPostStatusPanel, postType, postId } = useSelect(
30
- (select) => {
31
- const {
32
- isEditorPanelRemoved,
33
- getCurrentPostType,
34
- getCurrentPostId
35
- } = select(editorStore);
36
- return {
37
- isRemovedPostStatusPanel: isEditorPanelRemoved(PANEL_NAME),
38
- postType: getCurrentPostType(),
39
- postId: getCurrentPostId()
40
- };
41
- },
42
- []
43
- );
37
+ const { isRemovedPostStatusPanel, postType, postId, revisionId } = useSelect((select) => {
38
+ const {
39
+ isEditorPanelRemoved,
40
+ getCurrentPostType,
41
+ getCurrentPostId,
42
+ getCurrentRevisionId
43
+ } = unlock(select(editorStore));
44
+ return {
45
+ isRemovedPostStatusPanel: isEditorPanelRemoved(PANEL_NAME),
46
+ postType: getCurrentPostType(),
47
+ postId: getCurrentPostId(),
48
+ revisionId: getCurrentRevisionId()
49
+ };
50
+ }, []);
51
+ const isRevisionsMode = !!revisionId;
52
+ const shouldShowPostStatusPanel = !isRemovedPostStatusPanel && !isRevisionsMode;
44
53
  return /* @__PURE__ */ jsx(PostPanelSection, { className: "editor-post-summary", children: /* @__PURE__ */ jsx(PluginPostStatusInfo.Slot, { children: (fills) => /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(VStack, { spacing: 4, children: [
45
54
  /* @__PURE__ */ jsx(
46
55
  PostCardPanel,
@@ -50,13 +59,32 @@ function PostSummary({ onActionPerformed }) {
50
59
  onActionPerformed
51
60
  }
52
61
  ),
53
- /* @__PURE__ */ jsx(PostFeaturedImagePanel, { withPanelBody: false }),
54
- /* @__PURE__ */ jsx(PostExcerptPanel, {}),
62
+ !isRevisionsMode && /* @__PURE__ */ jsx(
63
+ PostFeaturedImagePanel,
64
+ {
65
+ withPanelBody: false
66
+ }
67
+ ),
68
+ !isRevisionsMode && /* @__PURE__ */ jsx(PostExcerptPanel, {}),
55
69
  /* @__PURE__ */ jsxs(VStack, { spacing: 1, children: [
56
70
  /* @__PURE__ */ jsx(PostContentInformation, {}),
57
- /* @__PURE__ */ jsx(PostLastEditedPanel, {})
71
+ isRevisionsMode ? /* @__PURE__ */ jsx(RevisionCreatedPanel, {}) : /* @__PURE__ */ jsx(PostLastEditedPanel, {})
72
+ ] }),
73
+ isRevisionsMode && revisionId && /* @__PURE__ */ jsxs(Fragment, { children: [
74
+ /* @__PURE__ */ jsx(
75
+ ExternalLink,
76
+ {
77
+ href: addQueryArgs("revision.php", {
78
+ revision: revisionId
79
+ }),
80
+ children: __(
81
+ "Open classic revisions screen"
82
+ )
83
+ }
84
+ ),
85
+ /* @__PURE__ */ jsx(RevisionAuthorPanel, {})
58
86
  ] }),
59
- !isRemovedPostStatusPanel && /* @__PURE__ */ jsxs(VStack, { spacing: 4, children: [
87
+ shouldShowPostStatusPanel && /* @__PURE__ */ jsxs(VStack, { spacing: 4, children: [
60
88
  /* @__PURE__ */ jsxs(VStack, { spacing: 1, children: [
61
89
  /* @__PURE__ */ jsx(PostStatusPanel, {}),
62
90
  /* @__PURE__ */ jsx(PostSchedulePanel, {}),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/sidebar/post-summary.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PluginPostStatusInfo from '../plugin-post-status-info';\nimport PostAuthorPanel from '../post-author/panel';\nimport PostCardPanel from '../post-card-panel';\nimport PostContentInformation from '../post-content-information';\nimport PageAttributesPanel from '../page-attributes/panel';\nimport PostDiscussionPanel from '../post-discussion/panel';\nimport { PrivatePostExcerptPanel as PostExcerptPanel } from '../post-excerpt/panel';\nimport PostFeaturedImagePanel from '../post-featured-image/panel';\nimport PostFormatPanel from '../post-format/panel';\nimport PostLastEditedPanel from '../post-last-edited-panel';\nimport PostPanelSection from '../post-panel-section';\nimport PostSchedulePanel from '../post-schedule/panel';\nimport PostStatusPanel from '../post-status';\nimport PostSyncStatus from '../post-sync-status';\nimport PostTemplatePanel from '../post-template/panel';\nimport PostURLPanel from '../post-url/panel';\nimport BlogTitle from '../blog-title';\nimport PostsPerPage from '../posts-per-page';\nimport SiteDiscussion from '../site-discussion';\nimport { store as editorStore } from '../../store';\nimport { PrivatePostLastRevision } from '../post-last-revision';\nimport PostTrash from '../post-trash';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-status';\n\nexport default function PostSummary( { onActionPerformed } ) {\n\tconst { isRemovedPostStatusPanel, postType, postId } = useSelect(\n\t\t( select ) => {\n\t\t\t// We use isEditorPanelRemoved to hide the panel if it was programmatically removed. We do\n\t\t\t// not use isEditorPanelEnabled since this panel should not be disabled through the UI.\n\t\t\tconst {\n\t\t\t\tisEditorPanelRemoved,\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetCurrentPostId,\n\t\t\t} = select( editorStore );\n\t\t\treturn {\n\t\t\t\tisRemovedPostStatusPanel: isEditorPanelRemoved( PANEL_NAME ),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t\tpostId: getCurrentPostId(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn (\n\t\t<PostPanelSection className=\"editor-post-summary\">\n\t\t\t<PluginPostStatusInfo.Slot>\n\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t<PostCardPanel\n\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\tpostId={ postId }\n\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostFeaturedImagePanel withPanelBody={ false } />\n\t\t\t\t\t\t\t<PostExcerptPanel />\n\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t<PostContentInformation />\n\t\t\t\t\t\t\t\t<PostLastEditedPanel />\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t{ ! isRemovedPostStatusPanel && (\n\t\t\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t\t\t<PostStatusPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSchedulePanel />\n\t\t\t\t\t\t\t\t\t\t<PostURLPanel />\n\t\t\t\t\t\t\t\t\t\t<PostAuthorPanel />\n\t\t\t\t\t\t\t\t\t\t<PostTemplatePanel />\n\t\t\t\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t\t\t\t<PrivatePostLastRevision />\n\t\t\t\t\t\t\t\t\t\t<PageAttributesPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSyncStatus />\n\t\t\t\t\t\t\t\t\t\t<BlogTitle />\n\t\t\t\t\t\t\t\t\t\t<PostsPerPage />\n\t\t\t\t\t\t\t\t\t\t<SiteDiscussion />\n\t\t\t\t\t\t\t\t\t\t<PostFormatPanel />\n\t\t\t\t\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t\t<PostTrash\n\t\t\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PluginPostStatusInfo.Slot>\n\t\t</PostPanelSection>\n\t);\n}\n"],
5
- "mappings": ";AAGA,SAAS,wBAAwB,cAAc;AAC/C,SAAS,iBAAiB;AAK1B,OAAO,0BAA0B;AACjC,OAAO,qBAAqB;AAC5B,OAAO,mBAAmB;AAC1B,OAAO,4BAA4B;AACnC,OAAO,yBAAyB;AAChC,OAAO,yBAAyB;AAChC,SAAS,2BAA2B,wBAAwB;AAC5D,OAAO,4BAA4B;AACnC,OAAO,qBAAqB;AAC5B,OAAO,yBAAyB;AAChC,OAAO,sBAAsB;AAC7B,OAAO,uBAAuB;AAC9B,OAAO,qBAAqB;AAC5B,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAC9B,OAAO,kBAAkB;AACzB,OAAO,eAAe;AACtB,OAAO,kBAAkB;AACzB,OAAO,oBAAoB;AAC3B,SAAS,SAAS,mBAAmB;AACrC,SAAS,+BAA+B;AACxC,OAAO,eAAe;AA8BjB,mBAEE,KAOA,YATF;AAzBL,IAAM,aAAa;AAEJ,SAAR,YAA8B,EAAE,kBAAkB,GAAI;AAC5D,QAAM,EAAE,0BAA0B,UAAU,OAAO,IAAI;AAAA,IACtD,CAAE,WAAY;AAGb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,WAAY;AACxB,aAAO;AAAA,QACN,0BAA0B,qBAAsB,UAAW;AAAA,QAC3D,UAAU,mBAAmB;AAAA,QAC7B,QAAQ,iBAAiB;AAAA,MAC1B;AAAA,IACD;AAAA,IACA,CAAC;AAAA,EACF;AAEA,SACC,oBAAC,oBAAiB,WAAU,uBAC3B,8BAAC,qBAAqB,MAArB,EACE,WAAE,UACH,gCACC,+BAAC,UAAO,SAAU,GACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,IACA,oBAAC,0BAAuB,eAAgB,OAAQ;AAAA,IAChD,oBAAC,oBAAiB;AAAA,IAClB,qBAAC,UAAO,SAAU,GACjB;AAAA,0BAAC,0BAAuB;AAAA,MACxB,oBAAC,uBAAoB;AAAA,OACtB;AAAA,IACE,CAAE,4BACH,qBAAC,UAAO,SAAU,GACjB;AAAA,2BAAC,UAAO,SAAU,GACjB;AAAA,4BAAC,mBAAgB;AAAA,QACjB,oBAAC,qBAAkB;AAAA,QACnB,oBAAC,gBAAa;AAAA,QACd,oBAAC,mBAAgB;AAAA,QACjB,oBAAC,qBAAkB;AAAA,QACnB,oBAAC,uBAAoB;AAAA,QACrB,oBAAC,2BAAwB;AAAA,QACzB,oBAAC,uBAAoB;AAAA,QACrB,oBAAC,kBAAe;AAAA,QAChB,oBAAC,aAAU;AAAA,QACX,oBAAC,gBAAa;AAAA,QACd,oBAAC,kBAAe;AAAA,QAChB,oBAAC,mBAAgB;AAAA,QACf;AAAA,SACH;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA;AAAA;AAAA,MACD;AAAA,OACD;AAAA,KAEF,GACD,GAEF,GACD;AAEF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\tExternalLink,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport PluginPostStatusInfo from '../plugin-post-status-info';\nimport PostAuthorPanel from '../post-author/panel';\nimport PostCardPanel from '../post-card-panel';\nimport PostContentInformation from '../post-content-information';\nimport PageAttributesPanel from '../page-attributes/panel';\nimport PostDiscussionPanel from '../post-discussion/panel';\nimport { PrivatePostExcerptPanel as PostExcerptPanel } from '../post-excerpt/panel';\nimport PostFeaturedImagePanel from '../post-featured-image/panel';\nimport PostFormatPanel from '../post-format/panel';\nimport PostLastEditedPanel from '../post-last-edited-panel';\nimport RevisionCreatedPanel from '../revision-created-panel';\nimport PostPanelSection from '../post-panel-section';\nimport PostSchedulePanel from '../post-schedule/panel';\nimport PostStatusPanel from '../post-status';\nimport PostSyncStatus from '../post-sync-status';\nimport PostTemplatePanel from '../post-template/panel';\nimport PostURLPanel from '../post-url/panel';\nimport BlogTitle from '../blog-title';\nimport PostsPerPage from '../posts-per-page';\nimport SiteDiscussion from '../site-discussion';\nimport { store as editorStore } from '../../store';\nimport { PrivatePostLastRevision } from '../post-last-revision';\nimport PostTrash from '../post-trash';\nimport RevisionAuthorPanel from '../revision-author-panel';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-status';\n\nexport default function PostSummary( { onActionPerformed } ) {\n\tconst { isRemovedPostStatusPanel, postType, postId, revisionId } =\n\t\tuseSelect( ( select ) => {\n\t\t\t// We use isEditorPanelRemoved to hide the panel if it was programmatically removed. We do\n\t\t\t// not use isEditorPanelEnabled since this panel should not be disabled through the UI.\n\t\t\tconst {\n\t\t\t\tisEditorPanelRemoved,\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetCurrentPostId,\n\t\t\t\tgetCurrentRevisionId,\n\t\t\t} = unlock( select( editorStore ) );\n\t\t\treturn {\n\t\t\t\tisRemovedPostStatusPanel: isEditorPanelRemoved( PANEL_NAME ),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t\tpostId: getCurrentPostId(),\n\t\t\t\trevisionId: getCurrentRevisionId(),\n\t\t\t};\n\t\t}, [] );\n\n\tconst isRevisionsMode = !! revisionId;\n\tconst shouldShowPostStatusPanel =\n\t\t! isRemovedPostStatusPanel && ! isRevisionsMode;\n\n\treturn (\n\t\t<PostPanelSection className=\"editor-post-summary\">\n\t\t\t<PluginPostStatusInfo.Slot>\n\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t<PostCardPanel\n\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\tpostId={ postId }\n\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ ! isRevisionsMode && (\n\t\t\t\t\t\t\t\t<PostFeaturedImagePanel\n\t\t\t\t\t\t\t\t\twithPanelBody={ false }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! isRevisionsMode && <PostExcerptPanel /> }\n\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t<PostContentInformation />\n\t\t\t\t\t\t\t\t{ isRevisionsMode ? (\n\t\t\t\t\t\t\t\t\t<RevisionCreatedPanel />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<PostLastEditedPanel />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t{ isRevisionsMode && revisionId && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\t\t\t\t\t\t\trevision: revisionId,\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Open classic revisions screen'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t<RevisionAuthorPanel />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ shouldShowPostStatusPanel && (\n\t\t\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t\t\t<PostStatusPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSchedulePanel />\n\t\t\t\t\t\t\t\t\t\t<PostURLPanel />\n\t\t\t\t\t\t\t\t\t\t<PostAuthorPanel />\n\t\t\t\t\t\t\t\t\t\t<PostTemplatePanel />\n\t\t\t\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t\t\t\t<PrivatePostLastRevision />\n\t\t\t\t\t\t\t\t\t\t<PageAttributesPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSyncStatus />\n\t\t\t\t\t\t\t\t\t\t<BlogTitle />\n\t\t\t\t\t\t\t\t\t\t<PostsPerPage />\n\t\t\t\t\t\t\t\t\t\t<SiteDiscussion />\n\t\t\t\t\t\t\t\t\t\t<PostFormatPanel />\n\t\t\t\t\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t\t<PostTrash\n\t\t\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PluginPostStatusInfo.Slot>\n\t\t</PostPanelSection>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -12,6 +12,7 @@ import { __unstableSerializeAndClean } from "@wordpress/blocks";
12
12
  import { store as preferencesStore } from "@wordpress/preferences";
13
13
  import { store as interfaceStore } from "@wordpress/interface";
14
14
  import {
15
+ ATTACHMENT_POST_TYPE,
15
16
  TEMPLATE_POST_TYPE,
16
17
  TEMPLATE_PART_POST_TYPE
17
18
  } from "../../store/constants.mjs";
@@ -129,7 +130,7 @@ function StartPageOptions() {
129
130
  const currentPostType = getCurrentPostType();
130
131
  return {
131
132
  postId: getCurrentPostId(),
132
- enabled: choosePatternModalEnabled && TEMPLATE_POST_TYPE !== currentPostType && TEMPLATE_PART_POST_TYPE !== currentPostType
133
+ enabled: choosePatternModalEnabled && ATTACHMENT_POST_TYPE !== currentPostType && TEMPLATE_POST_TYPE !== currentPostType && TEMPLATE_PART_POST_TYPE !== currentPostType
133
134
  };
134
135
  }, []);
135
136
  useEffect(() => {