@wordpress/editor 14.49.1 → 14.51.1-next.v.202607070741.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 (262) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/components/collab-sidebar/format.cjs +83 -0
  3. package/build/components/collab-sidebar/format.cjs.map +7 -0
  4. package/build/components/collab-sidebar/hooks.cjs +117 -16
  5. package/build/components/collab-sidebar/hooks.cjs.map +2 -2
  6. package/build/components/collab-sidebar/index.cjs +18 -2
  7. package/build/components/collab-sidebar/index.cjs.map +2 -2
  8. package/build/components/collab-sidebar/note-highlight-styles.cjs +67 -0
  9. package/build/components/collab-sidebar/note-highlight-styles.cjs.map +7 -0
  10. package/build/components/collab-sidebar/utils.cjs +139 -0
  11. package/build/components/collab-sidebar/utils.cjs.map +2 -2
  12. package/build/components/collaborators-presence/use-collaborator-notifications.cjs +55 -30
  13. package/build/components/collaborators-presence/use-collaborator-notifications.cjs.map +2 -2
  14. package/build/components/commands/index.cjs +99 -3
  15. package/build/components/commands/index.cjs.map +2 -2
  16. package/build/components/document-bar/index.cjs +28 -34
  17. package/build/components/document-bar/index.cjs.map +2 -2
  18. package/build/components/entities-saved-states/index.cjs +1 -4
  19. package/build/components/entities-saved-states/index.cjs.map +2 -2
  20. package/build/components/header/index.cjs +1 -8
  21. package/build/components/header/index.cjs.map +2 -2
  22. package/build/components/media-categories/index.cjs +92 -6
  23. package/build/components/media-categories/index.cjs.map +2 -2
  24. package/build/components/page-attributes/parent.cjs +0 -1
  25. package/build/components/page-attributes/parent.cjs.map +2 -2
  26. package/build/components/post-author/combobox.cjs +0 -1
  27. package/build/components/post-author/combobox.cjs.map +2 -2
  28. package/build/components/post-author/select.cjs +0 -1
  29. package/build/components/post-author/select.cjs.map +2 -2
  30. package/build/components/post-preview-button/index.cjs +29 -2
  31. package/build/components/post-preview-button/index.cjs.map +2 -2
  32. package/build/components/post-publish-panel/maybe-upload-media.cjs +15 -26
  33. package/build/components/post-publish-panel/maybe-upload-media.cjs.map +3 -3
  34. package/build/components/post-revisions-preview/revisions-slider.cjs +3 -1
  35. package/build/components/post-revisions-preview/revisions-slider.cjs.map +2 -2
  36. package/build/components/post-taxonomies/flat-term-selector.cjs +0 -1
  37. package/build/components/post-taxonomies/flat-term-selector.cjs.map +2 -2
  38. package/build/components/post-taxonomies/hierarchical-term-selector.cjs +0 -2
  39. package/build/components/post-taxonomies/hierarchical-term-selector.cjs.map +2 -2
  40. package/build/components/post-template/classic-theme.cjs +0 -1
  41. package/build/components/post-template/classic-theme.cjs.map +2 -2
  42. package/build/components/preferences-modal/index.cjs +54 -28
  43. package/build/components/preferences-modal/index.cjs.map +2 -2
  44. package/build/components/preview-dropdown/index.cjs +38 -9
  45. package/build/components/preview-dropdown/index.cjs.map +3 -3
  46. package/build/components/provider/use-block-editor-settings.cjs +23 -9
  47. package/build/components/provider/use-block-editor-settings.cjs.map +3 -3
  48. package/build/components/resizable-editor/index.cjs +54 -9
  49. package/build/components/resizable-editor/index.cjs.map +3 -3
  50. package/build/components/sidebar/dataform-post-summary.cjs +5 -1
  51. package/build/components/sidebar/dataform-post-summary.cjs.map +3 -3
  52. package/build/components/sidebar/index.cjs +29 -38
  53. package/build/components/sidebar/index.cjs.map +3 -3
  54. package/build/components/sidebar/post-summary.cjs +0 -13
  55. package/build/components/sidebar/post-summary.cjs.map +3 -3
  56. package/build/components/visual-editor/index.cjs +15 -11
  57. package/build/components/visual-editor/index.cjs.map +3 -3
  58. package/build/dataviews/store/private-actions.cjs +24 -19
  59. package/build/dataviews/store/private-actions.cjs.map +2 -2
  60. package/build/store/actions.cjs +5 -3
  61. package/build/store/actions.cjs.map +2 -2
  62. package/build/store/constants.cjs +26 -0
  63. package/build/store/constants.cjs.map +2 -2
  64. package/build/store/private-actions.cjs +25 -18
  65. package/build/store/private-actions.cjs.map +3 -3
  66. package/build/store/private-selectors.cjs +5 -0
  67. package/build/store/private-selectors.cjs.map +2 -2
  68. package/build/store/reducer.cjs +6 -6
  69. package/build/store/reducer.cjs.map +2 -2
  70. package/build/store/selectors.cjs +3 -1
  71. package/build/store/selectors.cjs.map +2 -2
  72. package/build/utils/device-type.cjs +52 -0
  73. package/build/utils/device-type.cjs.map +7 -0
  74. package/build/utils/media-sideload-from-url/index.cjs +63 -0
  75. package/build/utils/media-sideload-from-url/index.cjs.map +7 -0
  76. package/build-module/components/collab-sidebar/format.mjs +57 -0
  77. package/build-module/components/collab-sidebar/format.mjs.map +7 -0
  78. package/build-module/components/collab-sidebar/hooks.mjs +121 -16
  79. package/build-module/components/collab-sidebar/hooks.mjs.map +2 -2
  80. package/build-module/components/collab-sidebar/index.mjs +21 -5
  81. package/build-module/components/collab-sidebar/index.mjs.map +2 -2
  82. package/build-module/components/collab-sidebar/note-highlight-styles.mjs +41 -0
  83. package/build-module/components/collab-sidebar/note-highlight-styles.mjs.map +7 -0
  84. package/build-module/components/collab-sidebar/utils.mjs +133 -0
  85. package/build-module/components/collab-sidebar/utils.mjs.map +2 -2
  86. package/build-module/components/collaborators-presence/use-collaborator-notifications.mjs +55 -30
  87. package/build-module/components/collaborators-presence/use-collaborator-notifications.mjs.map +2 -2
  88. package/build-module/components/commands/index.mjs +99 -3
  89. package/build-module/components/commands/index.mjs.map +2 -2
  90. package/build-module/components/document-bar/index.mjs +28 -34
  91. package/build-module/components/document-bar/index.mjs.map +2 -2
  92. package/build-module/components/entities-saved-states/index.mjs +1 -4
  93. package/build-module/components/entities-saved-states/index.mjs.map +2 -2
  94. package/build-module/components/header/index.mjs +1 -13
  95. package/build-module/components/header/index.mjs.map +2 -2
  96. package/build-module/components/media-categories/index.mjs +93 -7
  97. package/build-module/components/media-categories/index.mjs.map +2 -2
  98. package/build-module/components/page-attributes/parent.mjs +0 -1
  99. package/build-module/components/page-attributes/parent.mjs.map +2 -2
  100. package/build-module/components/post-author/combobox.mjs +0 -1
  101. package/build-module/components/post-author/combobox.mjs.map +2 -2
  102. package/build-module/components/post-author/select.mjs +0 -1
  103. package/build-module/components/post-author/select.mjs.map +2 -2
  104. package/build-module/components/post-preview-button/index.mjs +29 -2
  105. package/build-module/components/post-preview-button/index.mjs.map +2 -2
  106. package/build-module/components/post-publish-panel/maybe-upload-media.mjs +19 -27
  107. package/build-module/components/post-publish-panel/maybe-upload-media.mjs.map +2 -2
  108. package/build-module/components/post-revisions-preview/revisions-slider.mjs +3 -1
  109. package/build-module/components/post-revisions-preview/revisions-slider.mjs.map +2 -2
  110. package/build-module/components/post-taxonomies/flat-term-selector.mjs +0 -1
  111. package/build-module/components/post-taxonomies/flat-term-selector.mjs.map +2 -2
  112. package/build-module/components/post-taxonomies/hierarchical-term-selector.mjs +0 -2
  113. package/build-module/components/post-taxonomies/hierarchical-term-selector.mjs.map +2 -2
  114. package/build-module/components/post-template/classic-theme.mjs +0 -1
  115. package/build-module/components/post-template/classic-theme.mjs.map +2 -2
  116. package/build-module/components/preferences-modal/index.mjs +54 -28
  117. package/build-module/components/preferences-modal/index.mjs.map +2 -2
  118. package/build-module/components/preview-dropdown/index.mjs +38 -9
  119. package/build-module/components/preview-dropdown/index.mjs.map +2 -2
  120. package/build-module/components/provider/use-block-editor-settings.mjs +23 -9
  121. package/build-module/components/provider/use-block-editor-settings.mjs.map +2 -2
  122. package/build-module/components/resizable-editor/index.mjs +55 -10
  123. package/build-module/components/resizable-editor/index.mjs.map +2 -2
  124. package/build-module/components/sidebar/dataform-post-summary.mjs +6 -2
  125. package/build-module/components/sidebar/dataform-post-summary.mjs.map +2 -2
  126. package/build-module/components/sidebar/index.mjs +29 -42
  127. package/build-module/components/sidebar/index.mjs.map +2 -2
  128. package/build-module/components/sidebar/post-summary.mjs +0 -13
  129. package/build-module/components/sidebar/post-summary.mjs.map +2 -2
  130. package/build-module/components/visual-editor/index.mjs +16 -13
  131. package/build-module/components/visual-editor/index.mjs.map +2 -2
  132. package/build-module/dataviews/store/private-actions.mjs +26 -19
  133. package/build-module/dataviews/store/private-actions.mjs.map +2 -2
  134. package/build-module/store/actions.mjs +5 -3
  135. package/build-module/store/actions.mjs.map +2 -2
  136. package/build-module/store/constants.mjs +25 -0
  137. package/build-module/store/constants.mjs.map +2 -2
  138. package/build-module/store/private-actions.mjs +27 -17
  139. package/build-module/store/private-actions.mjs.map +2 -2
  140. package/build-module/store/private-selectors.mjs +4 -0
  141. package/build-module/store/private-selectors.mjs.map +2 -2
  142. package/build-module/store/reducer.mjs +5 -5
  143. package/build-module/store/reducer.mjs.map +2 -2
  144. package/build-module/store/selectors.mjs +3 -1
  145. package/build-module/store/selectors.mjs.map +2 -2
  146. package/build-module/utils/device-type.mjs +25 -0
  147. package/build-module/utils/device-type.mjs.map +7 -0
  148. package/build-module/utils/media-sideload-from-url/index.mjs +32 -0
  149. package/build-module/utils/media-sideload-from-url/index.mjs.map +7 -0
  150. package/build-style/style-rtl.css +84 -39
  151. package/build-style/style.css +84 -39
  152. package/build-types/components/collab-sidebar/format.d.ts +17 -0
  153. package/build-types/components/collab-sidebar/format.d.ts.map +1 -0
  154. package/build-types/components/collab-sidebar/hooks.d.ts.map +1 -1
  155. package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
  156. package/build-types/components/collab-sidebar/note-highlight-styles.d.ts +31 -0
  157. package/build-types/components/collab-sidebar/note-highlight-styles.d.ts.map +1 -0
  158. package/build-types/components/collab-sidebar/utils.d.ts +82 -2
  159. package/build-types/components/collab-sidebar/utils.d.ts.map +1 -1
  160. package/build-types/components/collaborators-presence/use-collaborator-notifications.d.ts.map +1 -1
  161. package/build-types/components/commands/index.d.ts.map +1 -1
  162. package/build-types/components/document-bar/index.d.ts.map +1 -1
  163. package/build-types/components/entities-saved-states/index.d.ts.map +1 -1
  164. package/build-types/components/header/index.d.ts.map +1 -1
  165. package/build-types/components/media-categories/index.d.ts +12 -3
  166. package/build-types/components/media-categories/index.d.ts.map +1 -1
  167. package/build-types/components/page-attributes/parent.d.ts.map +1 -1
  168. package/build-types/components/post-author/combobox.d.ts.map +1 -1
  169. package/build-types/components/post-author/select.d.ts.map +1 -1
  170. package/build-types/components/post-preview-button/index.d.ts.map +1 -1
  171. package/build-types/components/post-publish-panel/maybe-upload-media.d.ts.map +1 -1
  172. package/build-types/components/post-revisions-preview/revisions-slider.d.ts.map +1 -1
  173. package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -1
  174. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  175. package/build-types/components/post-template/classic-theme.d.ts.map +1 -1
  176. package/build-types/components/preview-dropdown/index.d.ts.map +1 -1
  177. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
  178. package/build-types/components/resizable-editor/index.d.ts.map +1 -1
  179. package/build-types/components/sidebar/dataform-post-summary.d.ts.map +1 -1
  180. package/build-types/components/sidebar/index.d.ts.map +1 -1
  181. package/build-types/components/sidebar/post-summary.d.ts.map +1 -1
  182. package/build-types/components/visual-editor/index.d.ts.map +1 -1
  183. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  184. package/build-types/store/actions.d.ts.map +1 -1
  185. package/build-types/store/constants.d.ts +6 -0
  186. package/build-types/store/constants.d.ts.map +1 -1
  187. package/build-types/store/index.d.ts +2 -2
  188. package/build-types/store/private-actions.d.ts +9 -15
  189. package/build-types/store/private-actions.d.ts.map +1 -1
  190. package/build-types/store/private-selectors.d.ts +7 -0
  191. package/build-types/store/private-selectors.d.ts.map +1 -1
  192. package/build-types/store/reducer.d.ts +6 -7
  193. package/build-types/store/reducer.d.ts.map +1 -1
  194. package/build-types/store/selectors.d.ts +1 -1
  195. package/build-types/store/selectors.d.ts.map +1 -1
  196. package/build-types/utils/device-type.d.ts +23 -0
  197. package/build-types/utils/device-type.d.ts.map +1 -0
  198. package/build-types/utils/get-template-part-icon.d.ts.map +1 -1
  199. package/build-types/utils/media-sideload-from-url/index.d.ts +18 -0
  200. package/build-types/utils/media-sideload-from-url/index.d.ts.map +1 -0
  201. package/package.json +48 -46
  202. package/src/components/collab-sidebar/format.js +72 -0
  203. package/src/components/collab-sidebar/hooks.js +203 -22
  204. package/src/components/collab-sidebar/index.js +19 -5
  205. package/src/components/collab-sidebar/note-highlight-styles.js +83 -0
  206. package/src/components/collab-sidebar/style.scss +9 -0
  207. package/src/components/collab-sidebar/test/note-highlight-styles.js +106 -0
  208. package/src/components/collab-sidebar/test/utils.js +471 -0
  209. package/src/components/collab-sidebar/utils.js +225 -2
  210. package/src/components/collaborators-presence/test/use-collaborator-notifications.ts +265 -262
  211. package/src/components/collaborators-presence/use-collaborator-notifications.ts +70 -34
  212. package/src/components/commands/index.js +142 -0
  213. package/src/components/document-bar/index.js +0 -9
  214. package/src/components/document-bar/style.scss +0 -17
  215. package/src/components/entities-saved-states/index.js +1 -5
  216. package/src/components/header/index.js +1 -15
  217. package/src/components/header/style.scss +7 -3
  218. package/src/components/media-categories/index.js +160 -6
  219. package/src/components/media-categories/test/index.js +202 -0
  220. package/src/components/page-attributes/parent.js +0 -1
  221. package/src/components/post-author/combobox.js +0 -1
  222. package/src/components/post-author/select.js +0 -1
  223. package/src/components/post-preview-button/index.js +68 -2
  224. package/src/components/post-publish-panel/maybe-upload-media.js +25 -30
  225. package/src/components/post-publish-panel/style.scss +1 -1
  226. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +11 -127
  227. package/src/components/post-revisions-preview/revisions-slider.js +4 -1
  228. package/src/components/post-revisions-preview/test/block-diff.js +2 -2
  229. package/src/components/post-taxonomies/flat-term-selector.js +0 -1
  230. package/src/components/post-taxonomies/hierarchical-term-selector.js +0 -2
  231. package/src/components/post-template/classic-theme.js +0 -1
  232. package/src/components/preferences-modal/index.js +40 -22
  233. package/src/components/preferences-modal/test/index.js +83 -0
  234. package/src/components/preview-dropdown/index.js +42 -3
  235. package/src/components/provider/use-block-editor-settings.js +42 -7
  236. package/src/components/resizable-editor/index.js +71 -9
  237. package/src/components/resizable-editor/style.scss +7 -0
  238. package/src/components/sidebar/dataform-post-summary.js +13 -1
  239. package/src/components/sidebar/index.js +32 -47
  240. package/src/components/sidebar/post-summary.js +0 -17
  241. package/src/components/styles-canvas/style.scss +1 -2
  242. package/src/components/visual-editor/index.js +19 -15
  243. package/src/components/visual-editor/style.scss +11 -4
  244. package/src/dataviews/store/private-actions.ts +30 -26
  245. package/src/store/actions.js +6 -3
  246. package/src/store/constants.ts +45 -0
  247. package/src/store/private-actions.js +38 -28
  248. package/src/store/private-selectors.js +10 -0
  249. package/src/store/reducer.js +7 -9
  250. package/src/store/selectors.js +3 -1
  251. package/src/store/test/actions.js +31 -22
  252. package/src/utils/device-type.js +46 -0
  253. package/src/utils/media-sideload-from-url/index.js +54 -0
  254. package/src/utils/media-sideload-from-url/test/index.js +162 -0
  255. package/build/components/post-publish-panel/media-util.cjs +0 -72
  256. package/build/components/post-publish-panel/media-util.cjs.map +0 -7
  257. package/build-module/components/post-publish-panel/media-util.mjs +0 -46
  258. package/build-module/components/post-publish-panel/media-util.mjs.map +0 -7
  259. package/build-types/components/post-publish-panel/media-util.d.ts +0 -20
  260. package/build-types/components/post-publish-panel/media-util.d.ts.map +0 -1
  261. package/src/components/post-publish-panel/media-util.js +0 -87
  262. package/src/components/post-publish-panel/test/media-util.js +0 -118
@@ -14,6 +14,7 @@ import PatternOverridesPanel from "../pattern-overrides-panel/index.mjs";
14
14
  import PluginDocumentSettingPanel from "../plugin-document-setting-panel/index.mjs";
15
15
  import PluginSidebar from "../plugin-sidebar/index.mjs";
16
16
  import PostSummary from "./post-summary.mjs";
17
+ import DataFormPostSummary from "./dataform-post-summary.mjs";
17
18
  import PostRevisionSummary from "./post-revision-summary.mjs";
18
19
  import PostTaxonomiesPanel from "../post-taxonomies/panel.mjs";
19
20
  import PostTransformPanel from "../post-transform-panel/index.mjs";
@@ -26,11 +27,6 @@ import useAutoSwitchEditorSidebars from "../provider/use-auto-switch-editor-side
26
27
  import { sidebars } from "./constants.mjs";
27
28
  import { unlock } from "../../lock-unlock.mjs";
28
29
  import { store as editorStore } from "../../store/index.mjs";
29
- import {
30
- NAVIGATION_POST_TYPE,
31
- TEMPLATE_PART_POST_TYPE,
32
- TEMPLATE_POST_TYPE
33
- } from "../../store/constants.mjs";
34
30
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
35
31
  var { Tabs } = unlock(componentsPrivateApis);
36
32
  var SIDEBAR_ACTIVE_BY_DEFAULT = true;
@@ -38,8 +34,7 @@ var SidebarContent = ({
38
34
  tabName,
39
35
  keyboardShortcut,
40
36
  onActionPerformed,
41
- extraPanels,
42
- postType
37
+ extraPanels
43
38
  }) => {
44
39
  const tabListRef = useRef(null);
45
40
  const tabsContextValue = useContext(Tabs.Context);
@@ -68,11 +63,17 @@ var SidebarContent = ({
68
63
  if (isRevisionsMode) {
69
64
  tabContent = /* @__PURE__ */ jsx(PostRevisionSummary, {});
70
65
  } else {
66
+ const isDataFormInspectorEnabled = window?.__experimentalDataFormInspector;
71
67
  tabContent = /* @__PURE__ */ jsxs(Fragment, { children: [
72
- /* @__PURE__ */ jsx(PostSummary, { onActionPerformed }),
68
+ isDataFormInspectorEnabled ? /* @__PURE__ */ jsx(
69
+ DataFormPostSummary,
70
+ {
71
+ onActionPerformed
72
+ }
73
+ ) : /* @__PURE__ */ jsx(PostSummary, { onActionPerformed }),
73
74
  /* @__PURE__ */ jsx(PluginDocumentSettingPanel.Slot, {}),
74
75
  /* @__PURE__ */ jsx(TemplateContentPanel, {}),
75
- window?.__experimentalDataFormInspector && ["page", "post"].includes(postType) && /* @__PURE__ */ jsx(TemplateActionsPanel, {}),
76
+ isDataFormInspectorEnabled && /* @__PURE__ */ jsx(TemplateActionsPanel, {}),
76
77
  /* @__PURE__ */ jsx(TemplatePartContentPanel, {}),
77
78
  /* @__PURE__ */ jsx(PostTransformPanel, {}),
78
79
  /* @__PURE__ */ jsx(PostTaxonomiesPanel, {}),
@@ -107,36 +108,24 @@ var SidebarContent = ({
107
108
  };
108
109
  var Sidebar = ({ extraPanels, onActionPerformed }) => {
109
110
  useAutoSwitchEditorSidebars();
110
- const { tabName, keyboardShortcut, showSummary, postType } = useSelect(
111
- (select) => {
112
- const shortcut = select(
113
- keyboardShortcutsStore
114
- ).getShortcutRepresentation("core/editor/toggle-sidebar");
115
- const sidebar = select(interfaceStore).getActiveComplementaryArea("core");
116
- const _isEditorSidebarOpened = [
117
- sidebars.block,
118
- sidebars.document
119
- ].includes(sidebar);
120
- let _tabName = sidebar;
121
- if (!_isEditorSidebarOpened) {
122
- _tabName = !!select(
123
- blockEditorStore
124
- ).getBlockSelectionStart() ? sidebars.block : sidebars.document;
125
- }
126
- const _postType = select(editorStore).getCurrentPostType();
127
- return {
128
- tabName: _tabName,
129
- keyboardShortcut: shortcut,
130
- showSummary: ![
131
- TEMPLATE_POST_TYPE,
132
- TEMPLATE_PART_POST_TYPE,
133
- NAVIGATION_POST_TYPE
134
- ].includes(_postType),
135
- postType: _postType
136
- };
137
- },
138
- []
139
- );
111
+ const { tabName, keyboardShortcut } = useSelect((select) => {
112
+ const shortcut = select(
113
+ keyboardShortcutsStore
114
+ ).getShortcutRepresentation("core/editor/toggle-sidebar");
115
+ const sidebar = select(interfaceStore).getActiveComplementaryArea("core");
116
+ const _isEditorSidebarOpened = [
117
+ sidebars.block,
118
+ sidebars.document
119
+ ].includes(sidebar);
120
+ let _tabName = sidebar;
121
+ if (!_isEditorSidebarOpened) {
122
+ _tabName = !!select(blockEditorStore).getBlockSelectionStart() ? sidebars.block : sidebars.document;
123
+ }
124
+ return {
125
+ tabName: _tabName,
126
+ keyboardShortcut: shortcut
127
+ };
128
+ }, []);
140
129
  const { enableComplementaryArea } = useDispatch(interfaceStore);
141
130
  const onTabSelect = useCallback(
142
131
  (newSelectedTabId) => {
@@ -157,10 +146,8 @@ var Sidebar = ({ extraPanels, onActionPerformed }) => {
157
146
  {
158
147
  tabName,
159
148
  keyboardShortcut,
160
- showSummary,
161
149
  onActionPerformed,
162
- extraPanels,
163
- postType
150
+ extraPanels
164
151
  }
165
152
  )
166
153
  }
@@ -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 { useCallback, useContext, useEffect, useRef } 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 PostRevisionSummary from './post-revision-summary';\nimport PostTaxonomiesPanel from '../post-taxonomies/panel';\nimport PostTransformPanel from '../post-transform-panel';\nimport SidebarHeader from './header';\nimport TemplateActionsPanel from '../template-actions-panel';\nimport TemplateContentPanel from '../template-content-panel';\nimport TemplatePartContentPanel from '../template-part-content-panel';\nimport RevisionBlockDiffPanel from '../revision-block-diff';\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 = true;\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 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\tlet tabContent;\n\tif ( isRevisionsMode ) {\n\t\ttabContent = <PostRevisionSummary />;\n\t} else {\n\t\ttabContent = (\n\t\t\t<>\n\t\t\t\t<PostSummary onActionPerformed={ onActionPerformed } />\n\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t<TemplateContentPanel />\n\t\t\t\t{ window?.__experimentalDataFormInspector &&\n\t\t\t\t\t[ 'page', 'post' ].includes( postType ) && (\n\t\t\t\t\t\t<TemplateActionsPanel />\n\t\t\t\t\t) }\n\t\t\t\t<TemplatePartContentPanel />\n\t\t\t\t<PostTransformPanel />\n\t\t\t\t<PostTaxonomiesPanel />\n\t\t\t\t<PatternOverridesPanel />\n\t\t\t\t{ extraPanels }\n\t\t\t</>\n\t\t);\n\t}\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{ tabContent }\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\t{ isRevisionsMode && <RevisionBlockDiffPanel /> }\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, 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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",
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 { useCallback, useContext, useEffect, useRef } 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 DataFormPostSummary from './dataform-post-summary';\nimport PostRevisionSummary from './post-revision-summary';\nimport PostTaxonomiesPanel from '../post-taxonomies/panel';\nimport PostTransformPanel from '../post-transform-panel';\nimport SidebarHeader from './header';\nimport TemplateActionsPanel from '../template-actions-panel';\nimport TemplateContentPanel from '../template-content-panel';\nimport TemplatePartContentPanel from '../template-part-content-panel';\nimport RevisionBlockDiffPanel from '../revision-block-diff';\nimport useAutoSwitchEditorSidebars from '../provider/use-auto-switch-editor-sidebars';\nimport { sidebars } from './constants';\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = true;\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\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\tlet tabContent;\n\tif ( isRevisionsMode ) {\n\t\ttabContent = <PostRevisionSummary />;\n\t} else {\n\t\tconst isDataFormInspectorEnabled =\n\t\t\twindow?.__experimentalDataFormInspector;\n\t\ttabContent = (\n\t\t\t<>\n\t\t\t\t{ isDataFormInspectorEnabled ? (\n\t\t\t\t\t<DataFormPostSummary\n\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<PostSummary onActionPerformed={ onActionPerformed } />\n\t\t\t\t) }\n\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t<TemplateContentPanel />\n\t\t\t\t{ isDataFormInspectorEnabled && <TemplateActionsPanel /> }\n\t\t\t\t<TemplatePartContentPanel />\n\t\t\t\t<PostTransformPanel />\n\t\t\t\t<PostTaxonomiesPanel />\n\t\t\t\t<PatternOverridesPanel />\n\t\t\t\t{ extraPanels }\n\t\t\t</>\n\t\t);\n\t}\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{ tabContent }\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\t{ isRevisionsMode && <RevisionBlockDiffPanel /> }\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 } = useSelect( ( select ) => {\n\t\tconst shortcut = select(\n\t\t\tkeyboardShortcutsStore\n\t\t).getShortcutRepresentation( 'core/editor/toggle-sidebar' );\n\n\t\tconst sidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( 'core' );\n\t\tconst _isEditorSidebarOpened = [\n\t\t\tsidebars.block,\n\t\t\tsidebars.document,\n\t\t].includes( sidebar );\n\t\tlet _tabName = sidebar;\n\t\tif ( ! _isEditorSidebarOpened ) {\n\t\t\t_tabName = !! select( blockEditorStore ).getBlockSelectionStart()\n\t\t\t\t? sidebars.block\n\t\t\t\t: sidebars.document;\n\t\t}\n\n\t\treturn {\n\t\t\ttabName: _tabName,\n\t\t\tkeyboardShortcut: shortcut,\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\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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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,6 @@
1
1
  // packages/editor/src/components/sidebar/post-summary.js
2
2
  import { Stack } from "@wordpress/ui";
3
3
  import { useSelect } from "@wordpress/data";
4
- import DataFormPostSummary from "./dataform-post-summary.mjs";
5
4
  import PluginPostStatusInfo from "../plugin-post-status-info/index.mjs";
6
5
  import PostAuthorPanel from "../post-author/panel.mjs";
7
6
  import PostCardPanel from "../post-card-panel/index.mjs";
@@ -27,18 +26,6 @@ import PostTrash from "../post-trash/index.mjs";
27
26
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
28
27
  var PANEL_NAME = "post-status";
29
28
  function PostSummary({ onActionPerformed }) {
30
- const postType = useSelect(
31
- (select) => select(editorStore).getCurrentPostType(),
32
- []
33
- );
34
- if (window?.__experimentalDataFormInspector && ["page", "post", "wp_template", "wp_template_part"].includes(
35
- postType
36
- )) {
37
- return /* @__PURE__ */ jsx(DataFormPostSummary, { onActionPerformed });
38
- }
39
- return /* @__PURE__ */ jsx(ClassicPostSummary, { onActionPerformed });
40
- }
41
- function ClassicPostSummary({ onActionPerformed }) {
42
29
  const { isRemovedPostStatusPanel, postType, postId } = useSelect(
43
30
  (select) => {
44
31
  const {
@@ -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 { Stack } from '@wordpress/ui';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport DataFormPostSummary from './dataform-post-summary';\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 postType = useSelect(\n\t\t( select ) => select( editorStore ).getCurrentPostType(),\n\t\t[]\n\t);\n\tif (\n\t\twindow?.__experimentalDataFormInspector &&\n\t\t[ 'page', 'post', 'wp_template', 'wp_template_part' ].includes(\n\t\t\tpostType\n\t\t)\n\t) {\n\t\treturn <DataFormPostSummary onActionPerformed={ onActionPerformed } />;\n\t}\n\treturn <ClassicPostSummary onActionPerformed={ onActionPerformed } />;\n}\n\nfunction ClassicPostSummary( { 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\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<Stack direction=\"column\" gap=\"lg\">\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<Stack direction=\"column\" gap=\"xs\">\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</Stack>\n\t\t\t\t\t\t\t{ ! isRemovedPostStatusPanel && (\n\t\t\t\t\t\t\t\t<Stack direction=\"column\" gap=\"lg\">\n\t\t\t\t\t\t\t\t\t<Stack direction=\"column\" gap=\"xs\">\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</Stack>\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</Stack>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Stack>\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,aAAa;AACtB,SAAS,iBAAiB;AAK1B,OAAO,yBAAyB;AAChC,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;AAkBb,SA2BJ,UA3BI,KAoCF,YApCE;AAbT,IAAM,aAAa;AAEJ,SAAR,YAA8B,EAAE,kBAAkB,GAAI;AAC5D,QAAM,WAAW;AAAA,IAChB,CAAE,WAAY,OAAQ,WAAY,EAAE,mBAAmB;AAAA,IACvD,CAAC;AAAA,EACF;AACA,MACC,QAAQ,mCACR,CAAE,QAAQ,QAAQ,eAAe,kBAAmB,EAAE;AAAA,IACrD;AAAA,EACD,GACC;AACD,WAAO,oBAAC,uBAAoB,mBAAwC;AAAA,EACrE;AACA,SAAO,oBAAC,sBAAmB,mBAAwC;AACpE;AAEA,SAAS,mBAAoB,EAAE,kBAAkB,GAAI;AACpD,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;AACA,SACC,oBAAC,oBAAiB,WAAU,uBAC3B,8BAAC,qBAAqB,MAArB,EACE,WAAE,UACH,gCACC,+BAAC,SAAM,WAAU,UAAS,KAAI,MAC7B;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,SAAM,WAAU,UAAS,KAAI,MAC7B;AAAA,0BAAC,0BAAuB;AAAA,MACxB,oBAAC,uBAAoB;AAAA,OACtB;AAAA,IACE,CAAE,4BACH,qBAAC,SAAM,WAAU,UAAS,KAAI,MAC7B;AAAA,2BAAC,SAAM,WAAU,UAAS,KAAI,MAC7B;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 { Stack } from '@wordpress/ui';\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\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<Stack direction=\"column\" gap=\"lg\">\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<Stack direction=\"column\" gap=\"xs\">\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</Stack>\n\t\t\t\t\t\t\t{ ! isRemovedPostStatusPanel && (\n\t\t\t\t\t\t\t\t<Stack direction=\"column\" gap=\"lg\">\n\t\t\t\t\t\t\t\t\t<Stack direction=\"column\" gap=\"xs\">\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</Stack>\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</Stack>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Stack>\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,aAAa;AACtB,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;AA6BjB,mBAEE,KAOA,YATF;AAxBL,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;AACA,SACC,oBAAC,oBAAiB,WAAU,uBAC3B,8BAAC,qBAAqB,MAArB,EACE,WAAE,UACH,gCACC,+BAAC,SAAM,WAAU,UAAS,KAAI,MAC7B;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,SAAM,WAAU,UAAS,KAAI,MAC7B;AAAA,0BAAC,0BAAuB;AAAA,MACxB,oBAAC,uBAAoB;AAAA,OACtB;AAAA,IACE,CAAE,4BACH,qBAAC,SAAM,WAAU,UAAS,KAAI,MAC7B;AAAA,2BAAC,SAAM,WAAU,UAAS,KAAI,MAC7B;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;",
6
6
  "names": []
7
7
  }
@@ -7,8 +7,7 @@ import {
7
7
  __unstableUseTypingObserver as useTypingObserver,
8
8
  useSettings,
9
9
  RecursionProvider,
10
- privateApis as blockEditorPrivateApis,
11
- __experimentalUseResizeCanvas as useResizeCanvas
10
+ privateApis as blockEditorPrivateApis
12
11
  } from "@wordpress/block-editor";
13
12
  import { useEffect, useRef, useMemo } from "@wordpress/element";
14
13
  import { useSelect } from "@wordpress/data";
@@ -83,7 +82,8 @@ function VisualEditor({
83
82
  isDesignPostType,
84
83
  postType,
85
84
  isPreview,
86
- styles
85
+ styles,
86
+ hasCanvasWidth
87
87
  } = useSelect((select) => {
88
88
  const {
89
89
  getCurrentPostId,
@@ -91,7 +91,8 @@ function VisualEditor({
91
91
  getCurrentTemplateId,
92
92
  getEditorSettings,
93
93
  getRenderingMode,
94
- getDeviceType
94
+ getDeviceType,
95
+ getCanvasWidth
95
96
  } = unlock(select(editorStore));
96
97
  const { getPostType, getEditedEntityRecord } = select(coreStore);
97
98
  const postTypeSlug = getCurrentPostType();
@@ -124,7 +125,8 @@ function VisualEditor({
124
125
  isFocusedEntity: !!editorSettings.onNavigateToPreviousEntityRecord,
125
126
  postType: postTypeSlug,
126
127
  isPreview: editorSettings.isPreviewMode,
127
- styles: editorSettings.styles
128
+ styles: editorSettings.styles,
129
+ hasCanvasWidth: getCanvasWidth() !== void 0
128
130
  };
129
131
  }, []);
130
132
  const { isCleanNewPost } = useSelect(editorStore);
@@ -146,7 +148,6 @@ function VisualEditor({
146
148
  };
147
149
  }, []);
148
150
  const localRef = useRef();
149
- const deviceStyles = useResizeCanvas(deviceType);
150
151
  const [globalLayoutSettings] = useSettings("layout");
151
152
  const fallbackLayout = useMemo(() => {
152
153
  if (renderingMode !== "post-only" || isDesignPostType) {
@@ -233,7 +234,8 @@ function VisualEditor({
233
234
  ].includes(postType) && // Disable in previews / view mode.
234
235
  !isPreview && // Disable resizing in mobile viewport.
235
236
  !isMobileViewport && // Disable resizing in zoomed-out mode.
236
- !isZoomedOut;
237
+ !isZoomedOut || // When the canvas has an explicit width, always allow resizing.
238
+ hasCanvasWidth;
237
239
  const isNavigationPreview = postType === NAVIGATION_POST_TYPE && isPreview;
238
240
  const [paddingAppenderRef, paddingStyle] = usePaddingAppender(
239
241
  !isPreview && renderingMode === "post-only" && !isDesignPostType
@@ -281,8 +283,12 @@ function VisualEditor({
281
283
  "edit-post-visual-editor",
282
284
  className,
283
285
  {
284
- "has-padding": isFocusedEntity || enableResizing,
285
- "is-resizable": enableResizing,
286
+ // Vertical padding frames a width-constrained canvas
287
+ // (device preview or after a resize) as a centered preview.
288
+ "has-vertical-padding": isFocusedEntity || hasCanvasWidth,
289
+ // Horizontal padding leaves room for the resize handles
290
+ // that appear on the left/right of a resizable canvas.
291
+ "has-horizontal-padding": isFocusedEntity || enableResizing,
286
292
  "is-iframed": !disableIframe
287
293
  }
288
294
  ),
@@ -297,10 +303,7 @@ function VisualEditor({
297
303
  height: "100%",
298
304
  iframeProps: {
299
305
  ...iframeProps,
300
- style: {
301
- ...iframeProps?.style,
302
- ...deviceStyles
303
- }
306
+ style: iframeProps?.style
304
307
  },
305
308
  children: [
306
309
  themeSupportsLayout && !themeHasDisabledLayoutStyles && renderingMode === "post-only" && !isDesignPostType && /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/visual-editor/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\tstore as blockEditorStore,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tuseSettings,\n\tRecursionProvider,\n\tprivateApis as blockEditorPrivateApis,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs, useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTitle from '../post-title';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport EditTemplateBlocksNotification from './edit-template-blocks-notification';\nimport ResizableEditor from '../resizable-editor';\nimport useSelectNearestEditableBlock from './use-select-nearest-editable-block';\nimport {\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tDESIGN_POST_TYPES,\n} from '../../store/constants';\nimport { useZoomOutModeExit } from './use-zoom-out-mode-exit';\nimport { usePaddingAppender } from './use-padding-appender';\nimport { useEditContentOnlySectionExit } from './use-edit-content-only-section-exit';\nimport { SyncConnectionErrorModal } from '../sync-connection-error-modal';\n\nconst {\n\tLayoutStyle,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tExperimentalBlockCanvas: BlockCanvas,\n\tuseFlashEditableBlocks,\n} = unlock( blockEditorPrivateApis );\n\n/**\n * These post types have a special editor where they don't allow you to fill the title\n * and they don't apply the layout styles.\n */\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction checkForPostContentAtRootLevel( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction VisualEditor( {\n\t// Ideally as we unify post and site editors, we won't need these props.\n\tautoFocus,\n\tdisableIframe = false,\n\tiframeProps,\n\tcontentRef,\n\tclassName,\n} ) {\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst {\n\t\trenderingMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tdeviceType,\n\t\tisFocusedEntity,\n\t\tisDesignPostType,\n\t\tpostType,\n\t\tisPreview,\n\t\tstyles,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentTemplateId,\n\t\t\tgetEditorSettings,\n\t\t\tgetRenderingMode,\n\t\t\tgetDeviceType,\n\t\t} = unlock( select( editorStore ) );\n\t\tconst { getPostType, getEditedEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getCurrentPostType();\n\t\tconst _renderingMode = getRenderingMode();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( postTypeSlug === PATTERN_POST_TYPE ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( _renderingMode === 'post-only' ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst postTypeObject = getPostType( postTypeSlug );\n\t\tconst currentTemplateId = getCurrentTemplateId();\n\t\tconst template = currentTemplateId\n\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tcurrentTemplateId\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trenderingMode: _renderingMode,\n\t\t\tpostContentAttributes: editorSettings.postContentAttributes,\n\t\t\tisDesignPostType: DESIGN_POST_TYPES.includes( postTypeSlug ),\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tpostTypeObject?.viewable && supportsTemplateMode\n\t\t\t\t\t? template\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tdeviceType: getDeviceType(),\n\t\t\tisFocusedEntity: !! editorSettings.onNavigateToPreviousEntityRecord,\n\t\t\tpostType: postTypeSlug,\n\t\t\tisPreview: editorSettings.isPreviewMode,\n\t\t\tstyles: editorSettings.styles,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t\tisZoomedOut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings, isZoomOut: _isZoomOut } = unlock(\n\t\t\tselect( blockEditorStore )\n\t\t);\n\n\t\tconst _settings = getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t\tisZoomedOut: _isZoomOut(),\n\t\t};\n\t}, [] );\n\n\tconst localRef = useRef();\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ globalLayoutSettings ] = useSettings( 'layout' );\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( renderingMode !== 'post-only' || isDesignPostType ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [\n\t\trenderingMode,\n\t\tthemeSupportsLayout,\n\t\tglobalLayoutSettings,\n\t\tisDesignPostType,\n\t] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif (\n\t\t\t! editedPostTemplate?.content &&\n\t\t\t! editedPostTemplate?.blocks &&\n\t\t\tpostContentAttributes\n\t\t) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst hasPostContentAtRootLevel = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn false;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn checkForPostContentAtRootLevel( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn (\n\t\t\tcheckForPostContentAtRootLevel( parse( parseableContent ) ) || false\n\t\t);\n\t}, [ editedPostTemplate?.content, editedPostTemplate?.blocks ] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = clsx(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst postEditorLayout =\n\t\tblockListLayout?.type === 'default' && ! hasPostContentAtRootLevel\n\t\t\t? fallbackLayout\n\t\t\t: blockListLayout;\n\tconst observeTypingRef = useTypingObserver();\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( ! autoFocus || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ autoFocus, isCleanNewPost ] );\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\n\n\tconst enableResizing =\n\t\t[\n\t\t\tNAVIGATION_POST_TYPE,\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tPATTERN_POST_TYPE,\n\t\t].includes( postType ) &&\n\t\t// Disable in previews / view mode.\n\t\t! isPreview &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport &&\n\t\t// Disable resizing in zoomed-out mode.\n\t\t! isZoomedOut;\n\n\tconst isNavigationPreview = postType === NAVIGATION_POST_TYPE && isPreview;\n\n\tconst [ paddingAppenderRef, paddingStyle ] = usePaddingAppender(\n\t\t! isPreview && renderingMode === 'post-only' && ! isDesignPostType\n\t);\n\n\tconst centerContentCSS = `display:flex;align-items:center;justify-content:center;`;\n\n\tconst iframeStyles = useMemo( () => {\n\t\treturn [\n\t\t\t...( styles ?? [] ),\n\t\t\t{\n\t\t\t\t// Ensures margins of children are contained so that the body background paints behind them.\n\t\t\t\t// Otherwise, the background of html (when zoomed out) would show there and appear broken. It's\n\t\t\t\t// important mostly for post-only views yet conceivably an issue in templated views too.\n\t\t\t\tcss: `:where(.block-editor-iframe__body){display:flow-root;}.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing || isNavigationPreview\n\t\t\t\t\t\t? 'min-height:0!important;'\n\t\t\t\t\t\t: ''\n\t\t\t\t}}\n\t\t\t\t${ paddingStyle ? paddingStyle : '' }\n\t\t\t\t${\n\t\t\t\t\tenableResizing\n\t\t\t\t\t\t? `.block-editor-iframe__html{background:var(--wp-editor-canvas-background);min-height:100vh;${ centerContentCSS }}.block-editor-iframe__body{width:100%;}`\n\t\t\t\t\t\t: ''\n\t\t\t\t}${\n\t\t\t\t\tisNavigationPreview\n\t\t\t\t\t\t? `.block-editor-iframe__body{${ centerContentCSS }padding:var(--wp--style--block-gap,2em);}`\n\t\t\t\t\t\t: ''\n\t\t\t\t}`,\n\t\t\t\t// The CSS for enableResizing centers the body content vertically when resizing is enabled and applies a background\n\t\t\t\t// color to the iframe HTML element to match the background color of the editor canvas.\n\t\t\t\t// The CSS for isNavigationPreview centers the body content vertically and horizontally when the navigation is in preview mode.\n\t\t\t},\n\t\t];\n\t}, [ styles, enableResizing, isNavigationPreview, paddingStyle ] );\n\n\tconst typewriterRef = useTypewriter();\n\tcontentRef = useMergeRefs( [\n\t\tlocalRef,\n\t\tcontentRef,\n\t\trenderingMode === 'post-only' ? typewriterRef : null,\n\t\tuseFlashEditableBlocks( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseSelectNearestEditableBlock( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseZoomOutModeExit(),\n\t\tpaddingAppenderRef,\n\t\tuseEditContentOnlySectionExit(),\n\t] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-visual-editor',\n\t\t\t\t// this class is here for backward compatibility reasons.\n\t\t\t\t'edit-post-visual-editor',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t'has-padding': isFocusedEntity || enableResizing,\n\t\t\t\t\t'is-resizable': enableResizing,\n\t\t\t\t\t'is-iframed': ! disableIframe,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<SyncConnectionErrorModal />\n\t\t\t<ResizableEditor enableResizing={ enableResizing } height=\"100%\">\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ ! disableIframe }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\tstyles={ iframeStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tiframeProps={ {\n\t\t\t\t\t\t...iframeProps,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t\t\t\t...deviceStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\trenderingMode === 'post-only' &&\n\t\t\t\t\t\t! isDesignPostType && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".editor-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ postEditorLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ align && <LayoutStyle css={ alignCSS } /> }\n\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ renderingMode === 'post-only' && ! isDesignPostType && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'editor-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t// The following class is only here for backward compatibility\n\t\t\t\t\t\t\t\t// some themes might be using it to style the post title.\n\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\tref={ observeTypingRef }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t// This is using inline styles\n\t\t\t\t\t\t\t\t// so it's applied for both iframed and non iframed editors.\n\t\t\t\t\t\t\t\tmarginTop: '4rem',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'is-' + deviceType.toLowerCase() + '-preview',\n\t\t\t\t\t\t\t\trenderingMode !== 'post-only' ||\n\t\t\t\t\t\t\t\t\tisDesignPostType\n\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content`, // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\trenderingMode === 'post-only' &&\n\t\t\t\t\t\t\t\t\t\t! isDesignPostType &&\n\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlayout={ blockListLayout }\n\t\t\t\t\t\t\tdropZoneElement={\n\t\t\t\t\t\t\t\t// When iframed, pass in the html element of the iframe to\n\t\t\t\t\t\t\t\t// ensure the drop zone extends to the edges of the iframe.\n\t\t\t\t\t\t\t\tdisableIframe\n\t\t\t\t\t\t\t\t\t? localRef.current\n\t\t\t\t\t\t\t\t\t: localRef.current?.parentNode\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__unstableDisableDropZone={\n\t\t\t\t\t\t\t\t// In template preview mode, disable drop zones at the root of the template.\n\t\t\t\t\t\t\t\trenderingMode === 'template-locked'\n\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ renderingMode === 'template-locked' && (\n\t\t\t\t\t\t\t<EditTemplateBlocksNotification\n\t\t\t\t\t\t\t\tcontentRef={ localRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</RecursionProvider>\n\t\t\t\t</BlockCanvas>\n\t\t\t</ResizableEditor>\n\t\t</div>\n\t);\n}\n\nexport default VisualEditor;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\tstore as blockEditorStore,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tuseSettings,\n\tRecursionProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs, useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTitle from '../post-title';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport EditTemplateBlocksNotification from './edit-template-blocks-notification';\nimport ResizableEditor from '../resizable-editor';\nimport useSelectNearestEditableBlock from './use-select-nearest-editable-block';\nimport {\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tDESIGN_POST_TYPES,\n} from '../../store/constants';\nimport { useZoomOutModeExit } from './use-zoom-out-mode-exit';\nimport { usePaddingAppender } from './use-padding-appender';\nimport { useEditContentOnlySectionExit } from './use-edit-content-only-section-exit';\nimport { SyncConnectionErrorModal } from '../sync-connection-error-modal';\n\nconst {\n\tLayoutStyle,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tExperimentalBlockCanvas: BlockCanvas,\n\tuseFlashEditableBlocks,\n} = unlock( blockEditorPrivateApis );\n\n/**\n * These post types have a special editor where they don't allow you to fill the title\n * and they don't apply the layout styles.\n */\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction checkForPostContentAtRootLevel( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction VisualEditor( {\n\t// Ideally as we unify post and site editors, we won't need these props.\n\tautoFocus,\n\tdisableIframe = false,\n\tiframeProps,\n\tcontentRef,\n\tclassName,\n} ) {\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst {\n\t\trenderingMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tdeviceType,\n\t\tisFocusedEntity,\n\t\tisDesignPostType,\n\t\tpostType,\n\t\tisPreview,\n\t\tstyles,\n\t\thasCanvasWidth,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentTemplateId,\n\t\t\tgetEditorSettings,\n\t\t\tgetRenderingMode,\n\t\t\tgetDeviceType,\n\t\t\tgetCanvasWidth,\n\t\t} = unlock( select( editorStore ) );\n\t\tconst { getPostType, getEditedEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getCurrentPostType();\n\t\tconst _renderingMode = getRenderingMode();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( postTypeSlug === PATTERN_POST_TYPE ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( _renderingMode === 'post-only' ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst postTypeObject = getPostType( postTypeSlug );\n\t\tconst currentTemplateId = getCurrentTemplateId();\n\t\tconst template = currentTemplateId\n\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tcurrentTemplateId\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trenderingMode: _renderingMode,\n\t\t\tpostContentAttributes: editorSettings.postContentAttributes,\n\t\t\tisDesignPostType: DESIGN_POST_TYPES.includes( postTypeSlug ),\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tpostTypeObject?.viewable && supportsTemplateMode\n\t\t\t\t\t? template\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tdeviceType: getDeviceType(),\n\t\t\tisFocusedEntity: !! editorSettings.onNavigateToPreviousEntityRecord,\n\t\t\tpostType: postTypeSlug,\n\t\t\tisPreview: editorSettings.isPreviewMode,\n\t\t\tstyles: editorSettings.styles,\n\t\t\thasCanvasWidth: getCanvasWidth() !== undefined,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t\tisZoomedOut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings, isZoomOut: _isZoomOut } = unlock(\n\t\t\tselect( blockEditorStore )\n\t\t);\n\n\t\tconst _settings = getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t\tisZoomedOut: _isZoomOut(),\n\t\t};\n\t}, [] );\n\n\tconst localRef = useRef();\n\tconst [ globalLayoutSettings ] = useSettings( 'layout' );\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( renderingMode !== 'post-only' || isDesignPostType ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [\n\t\trenderingMode,\n\t\tthemeSupportsLayout,\n\t\tglobalLayoutSettings,\n\t\tisDesignPostType,\n\t] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif (\n\t\t\t! editedPostTemplate?.content &&\n\t\t\t! editedPostTemplate?.blocks &&\n\t\t\tpostContentAttributes\n\t\t) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst hasPostContentAtRootLevel = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn false;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn checkForPostContentAtRootLevel( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn (\n\t\t\tcheckForPostContentAtRootLevel( parse( parseableContent ) ) || false\n\t\t);\n\t}, [ editedPostTemplate?.content, editedPostTemplate?.blocks ] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = clsx(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst postEditorLayout =\n\t\tblockListLayout?.type === 'default' && ! hasPostContentAtRootLevel\n\t\t\t? fallbackLayout\n\t\t\t: blockListLayout;\n\tconst observeTypingRef = useTypingObserver();\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( ! autoFocus || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ autoFocus, isCleanNewPost ] );\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\n\n\tconst enableResizing =\n\t\t( [\n\t\t\tNAVIGATION_POST_TYPE,\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tPATTERN_POST_TYPE,\n\t\t].includes( postType ) &&\n\t\t\t// Disable in previews / view mode.\n\t\t\t! isPreview &&\n\t\t\t// Disable resizing in mobile viewport.\n\t\t\t! isMobileViewport &&\n\t\t\t// Disable resizing in zoomed-out mode.\n\t\t\t! isZoomedOut ) ||\n\t\t// When the canvas has an explicit width, always allow resizing.\n\t\thasCanvasWidth;\n\n\tconst isNavigationPreview = postType === NAVIGATION_POST_TYPE && isPreview;\n\n\tconst [ paddingAppenderRef, paddingStyle ] = usePaddingAppender(\n\t\t! isPreview && renderingMode === 'post-only' && ! isDesignPostType\n\t);\n\n\tconst centerContentCSS = `display:flex;align-items:center;justify-content:center;`;\n\n\tconst iframeStyles = useMemo( () => {\n\t\treturn [\n\t\t\t...( styles ?? [] ),\n\t\t\t{\n\t\t\t\t// Ensures margins of children are contained so that the body background paints behind them.\n\t\t\t\t// Otherwise, the background of html (when zoomed out) would show there and appear broken. It's\n\t\t\t\t// important mostly for post-only views yet conceivably an issue in templated views too.\n\t\t\t\tcss: `:where(.block-editor-iframe__body){display:flow-root;}.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing || isNavigationPreview\n\t\t\t\t\t\t? 'min-height:0!important;'\n\t\t\t\t\t\t: ''\n\t\t\t\t}}\n\t\t\t\t${ paddingStyle ? paddingStyle : '' }\n\t\t\t\t${\n\t\t\t\t\tenableResizing\n\t\t\t\t\t\t? `.block-editor-iframe__html{background:var(--wp-editor-canvas-background);min-height:100vh;${ centerContentCSS }}.block-editor-iframe__body{width:100%;}`\n\t\t\t\t\t\t: ''\n\t\t\t\t}${\n\t\t\t\t\tisNavigationPreview\n\t\t\t\t\t\t? `.block-editor-iframe__body{${ centerContentCSS }padding:var(--wp--style--block-gap,2em);}`\n\t\t\t\t\t\t: ''\n\t\t\t\t}`,\n\t\t\t\t// The CSS for enableResizing centers the body content vertically when resizing is enabled and applies a background\n\t\t\t\t// color to the iframe HTML element to match the background color of the editor canvas.\n\t\t\t\t// The CSS for isNavigationPreview centers the body content vertically and horizontally when the navigation is in preview mode.\n\t\t\t},\n\t\t];\n\t}, [ styles, enableResizing, isNavigationPreview, paddingStyle ] );\n\n\tconst typewriterRef = useTypewriter();\n\tcontentRef = useMergeRefs( [\n\t\tlocalRef,\n\t\tcontentRef,\n\t\trenderingMode === 'post-only' ? typewriterRef : null,\n\t\tuseFlashEditableBlocks( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseSelectNearestEditableBlock( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseZoomOutModeExit(),\n\t\tpaddingAppenderRef,\n\t\tuseEditContentOnlySectionExit(),\n\t] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-visual-editor',\n\t\t\t\t// this class is here for backward compatibility reasons.\n\t\t\t\t'edit-post-visual-editor',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t// Vertical padding frames a width-constrained canvas\n\t\t\t\t\t// (device preview or after a resize) as a centered preview.\n\t\t\t\t\t'has-vertical-padding': isFocusedEntity || hasCanvasWidth,\n\t\t\t\t\t// Horizontal padding leaves room for the resize handles\n\t\t\t\t\t// that appear on the left/right of a resizable canvas.\n\t\t\t\t\t'has-horizontal-padding': isFocusedEntity || enableResizing,\n\t\t\t\t\t'is-iframed': ! disableIframe,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<SyncConnectionErrorModal />\n\t\t\t<ResizableEditor enableResizing={ enableResizing } height=\"100%\">\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ ! disableIframe }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\tstyles={ iframeStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tiframeProps={ {\n\t\t\t\t\t\t...iframeProps,\n\t\t\t\t\t\tstyle: iframeProps?.style,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\trenderingMode === 'post-only' &&\n\t\t\t\t\t\t! isDesignPostType && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".editor-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ postEditorLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ align && <LayoutStyle css={ alignCSS } /> }\n\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ renderingMode === 'post-only' && ! isDesignPostType && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'editor-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t// The following class is only here for backward compatibility\n\t\t\t\t\t\t\t\t// some themes might be using it to style the post title.\n\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\tref={ observeTypingRef }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t// This is using inline styles\n\t\t\t\t\t\t\t\t// so it's applied for both iframed and non iframed editors.\n\t\t\t\t\t\t\t\tmarginTop: '4rem',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'is-' + deviceType.toLowerCase() + '-preview',\n\t\t\t\t\t\t\t\trenderingMode !== 'post-only' ||\n\t\t\t\t\t\t\t\t\tisDesignPostType\n\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content`, // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\trenderingMode === 'post-only' &&\n\t\t\t\t\t\t\t\t\t\t! isDesignPostType &&\n\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlayout={ blockListLayout }\n\t\t\t\t\t\t\tdropZoneElement={\n\t\t\t\t\t\t\t\t// When iframed, pass in the html element of the iframe to\n\t\t\t\t\t\t\t\t// ensure the drop zone extends to the edges of the iframe.\n\t\t\t\t\t\t\t\tdisableIframe\n\t\t\t\t\t\t\t\t\t? localRef.current\n\t\t\t\t\t\t\t\t\t: localRef.current?.parentNode\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__unstableDisableDropZone={\n\t\t\t\t\t\t\t\t// In template preview mode, disable drop zones at the root of the template.\n\t\t\t\t\t\t\t\trenderingMode === 'template-locked'\n\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ renderingMode === 'template-locked' && (\n\t\t\t\t\t\t\t<EditTemplateBlocksNotification\n\t\t\t\t\t\t\t\tcontentRef={ localRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</RecursionProvider>\n\t\t\t\t</BlockCanvas>\n\t\t\t</ResizableEditor>\n\t\t</div>\n\t);\n}\n\nexport default VisualEditor;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -33,6 +33,8 @@ import {
33
33
  templateTitleField,
34
34
  pageTitleField,
35
35
  patternTitleField,
36
+ patternDescriptionField,
37
+ patternSyncStatusField,
36
38
  notesField,
37
39
  scheduledDateField,
38
40
  lastEditedDateField,
@@ -172,37 +174,42 @@ var registerPostTypeSchema = (postType) => async ({ registry }) => {
172
174
  if (postType === ATTACHMENT_POST_TYPE) {
173
175
  fields = ORDERED_MEDIA_FIELDS;
174
176
  } else {
177
+ const postTypeSlug = postTypeConfig.slug;
178
+ const isDesignPostType = DESIGN_POST_TYPES.includes(postTypeSlug);
179
+ const isPattern = postTypeSlug === "wp_block";
175
180
  fields = [
176
181
  postTypeConfig.supports?.thumbnail && currentTheme?.theme_supports?.["post-thumbnails"] && featuredImageField,
177
- !DESIGN_POST_TYPES.includes(postTypeConfig.slug) && postTypeConfig.supports?.author && authorField,
178
- postTypeConfig.slug === "wp_template" && templateAuthorField,
179
- postTypeConfig.slug === "wp_template_part" && templatePartAuthorField,
180
- !DESIGN_POST_TYPES.includes(postTypeConfig.slug) && statusField,
181
- !DESIGN_POST_TYPES.includes(postTypeConfig.slug) && dateField,
182
- !DESIGN_POST_TYPES.includes(postTypeConfig.slug) && scheduledDateField,
182
+ !isDesignPostType && postTypeConfig.supports?.author && authorField,
183
+ postTypeSlug === "wp_template" && templateAuthorField,
184
+ postTypeSlug === "wp_template_part" && templatePartAuthorField,
185
+ !isDesignPostType && statusField,
186
+ !isDesignPostType && dateField,
187
+ !isDesignPostType && scheduledDateField,
183
188
  lastEditedDateField,
184
- !DESIGN_POST_TYPES.includes(postTypeConfig.slug) && slugField,
185
- !DESIGN_POST_TYPES.includes(postTypeConfig.slug) && postTypeConfig.supports?.excerpt && excerptField,
189
+ !isDesignPostType && slugField,
190
+ !isDesignPostType && postTypeConfig.supports?.excerpt && excerptField,
191
+ isPattern && postTypeConfig.supports?.excerpt && patternDescriptionField,
186
192
  postTypeConfig.supports?.["page-attributes"] && parentField,
187
193
  postTypeConfig.supports?.comments && commentStatusField,
188
194
  postTypeConfig.supports?.trackbacks && pingStatusField,
189
195
  (postTypeConfig.supports?.comments || postTypeConfig.supports?.trackbacks) && discussionField,
190
- !DESIGN_POST_TYPES.includes(postTypeConfig.slug) && templateField,
196
+ !isDesignPostType && templateField,
191
197
  postTypeConfig.supports?.["post-formats"] && !disablePostFormats && formatField,
192
- !DESIGN_POST_TYPES.includes(postTypeConfig.slug) && postTypeConfig.supports?.editor && postContentInfoField,
193
- !DESIGN_POST_TYPES.includes(postTypeConfig.slug) && passwordField,
194
- postTypeConfig.slug === "post" && stickyField,
195
- postTypeConfig.slug === "wp_template" && descriptionField,
196
- postTypeConfig.slug === "wp_template" && readOnlyDescriptionField,
198
+ (!isDesignPostType || isPattern) && postTypeConfig.supports?.editor && postContentInfoField,
199
+ !isDesignPostType && passwordField,
200
+ postTypeSlug === "post" && stickyField,
201
+ postTypeSlug === "wp_template" && descriptionField,
202
+ postTypeSlug === "wp_template" && readOnlyDescriptionField,
197
203
  // The `home`/`index` template summary exposes a few fields that
198
204
  // target other entities (`root/site` and the posts page).
199
205
  // `DataFormPostSummary` overrides them to read/write the right
200
206
  // entity and to control their visibility.
201
- postTypeConfig.slug === "wp_template" && postsPageTitleField,
202
- postTypeConfig.slug === "wp_template" && postsPerPageField,
203
- postTypeConfig.slug === "wp_template" && siteDiscussionField,
207
+ postTypeSlug === "wp_template" && postsPageTitleField,
208
+ postTypeSlug === "wp_template" && postsPerPageField,
209
+ postTypeSlug === "wp_template" && siteDiscussionField,
204
210
  postTypeConfig.supports?.editor && postTypeConfig.viewable && postPreviewField,
205
- hasEditorNotesSupport(postTypeConfig.supports) && notesField
211
+ hasEditorNotesSupport(postTypeConfig.supports) && notesField,
212
+ isPattern && patternSyncStatusField
206
213
  ].filter(Boolean);
207
214
  if (postTypeConfig.supports?.title) {
208
215
  let _titleField;
@@ -210,7 +217,7 @@ var registerPostTypeSchema = (postType) => async ({ registry }) => {
210
217
  _titleField = pageTitleField;
211
218
  } else if (postType === "wp_template") {
212
219
  _titleField = templateTitleField;
213
- } else if (postType === "wp_block") {
220
+ } else if (["wp_block", "wp_template_part"].includes(postType)) {
214
221
  _titleField = patternTitleField;
215
222
  } else {
216
223
  _titleField = titleField;