@wordpress/edit-post 6.7.0 → 6.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/build/components/block-manager/category.js.map +1 -1
  4. package/build/components/block-manager/index.js +12 -4
  5. package/build/components/block-manager/index.js.map +1 -1
  6. package/build/components/device-preview/index.js.map +1 -1
  7. package/build/components/editor-initialization/listener-hooks.js.map +1 -1
  8. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  9. package/build/components/header/header-toolbar/index.js.map +1 -1
  10. package/build/components/header/index.js.map +1 -1
  11. package/build/components/header/mode-switcher/index.js.map +1 -1
  12. package/build/components/header/post-publish-button-or-toggle.js.map +1 -1
  13. package/build/components/header/template-title/delete-template.js.map +1 -1
  14. package/build/components/header/template-title/edit-template-title.js +11 -2
  15. package/build/components/header/template-title/edit-template-title.js.map +1 -1
  16. package/build/components/header/template-title/index.js.map +1 -1
  17. package/build/components/header/tools-more-menu-group/index.js.map +1 -1
  18. package/build/components/keyboard-shortcut-help-modal/config.js +12 -0
  19. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  20. package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
  21. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  22. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  23. package/build/components/layout/actions-panel.js.map +1 -1
  24. package/build/components/layout/index.js.map +1 -1
  25. package/build/components/layout/index.native.js.map +1 -1
  26. package/build/components/preferences-modal/index.js +3 -26
  27. package/build/components/preferences-modal/index.js.map +1 -1
  28. package/build/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  29. package/build/components/preferences-modal/options/enable-panel.js.map +1 -1
  30. package/build/components/preferences-modal/options/enable-publish-sidebar.js.map +1 -1
  31. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  32. package/build/components/sidebar/discussion-panel/index.js.map +1 -1
  33. package/build/components/sidebar/featured-image/index.js.map +1 -1
  34. package/build/components/sidebar/page-attributes/index.js.map +1 -1
  35. package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  36. package/build/components/sidebar/plugin-post-status-info/index.js +2 -2
  37. package/build/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  38. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  39. package/build/components/sidebar/post-excerpt/index.js.map +1 -1
  40. package/build/components/sidebar/post-format/index.js +3 -1
  41. package/build/components/sidebar/post-format/index.js.map +1 -1
  42. package/build/components/sidebar/post-schedule/index.js +28 -12
  43. package/build/components/sidebar/post-schedule/index.js.map +1 -1
  44. package/build/components/sidebar/post-slug/index.js +3 -1
  45. package/build/components/sidebar/post-slug/index.js.map +1 -1
  46. package/build/components/sidebar/post-status/index.js +6 -2
  47. package/build/components/sidebar/post-status/index.js.map +1 -1
  48. package/build/components/sidebar/post-template/create-modal.js +116 -0
  49. package/build/components/sidebar/post-template/create-modal.js.map +1 -0
  50. package/build/components/sidebar/post-template/form.js +123 -0
  51. package/build/components/sidebar/post-template/form.js.map +1 -0
  52. package/build/components/sidebar/post-template/index.js +124 -0
  53. package/build/components/sidebar/post-template/index.js.map +1 -0
  54. package/build/components/sidebar/post-url/index.js +68 -0
  55. package/build/components/sidebar/post-url/index.js.map +1 -0
  56. package/build/components/sidebar/post-visibility/index.js +21 -6
  57. package/build/components/sidebar/post-visibility/index.js.map +1 -1
  58. package/build/components/sidebar/settings-sidebar/index.js +2 -6
  59. package/build/components/sidebar/settings-sidebar/index.js.map +1 -1
  60. package/build/components/start-page-options/index.js +31 -13
  61. package/build/components/start-page-options/index.js.map +1 -1
  62. package/build/components/visual-editor/block-inspector-button.js +3 -7
  63. package/build/components/visual-editor/block-inspector-button.js.map +1 -1
  64. package/build/components/visual-editor/index.js +4 -2
  65. package/build/components/visual-editor/index.js.map +1 -1
  66. package/build/editor.js +1 -1
  67. package/build/editor.js.map +1 -1
  68. package/build/editor.native.js +1 -1
  69. package/build/editor.native.js.map +1 -1
  70. package/build/plugins/copy-content-menu-item/index.js +1 -1
  71. package/build/plugins/copy-content-menu-item/index.js.map +1 -1
  72. package/build/store/actions.js.map +1 -1
  73. package/build/store/selectors.js +8 -8
  74. package/build/store/selectors.js.map +1 -1
  75. package/build-module/components/block-manager/category.js.map +1 -1
  76. package/build-module/components/block-manager/index.js +13 -5
  77. package/build-module/components/block-manager/index.js.map +1 -1
  78. package/build-module/components/device-preview/index.js.map +1 -1
  79. package/build-module/components/editor-initialization/listener-hooks.js.map +1 -1
  80. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  81. package/build-module/components/header/header-toolbar/index.js.map +1 -1
  82. package/build-module/components/header/index.js.map +1 -1
  83. package/build-module/components/header/mode-switcher/index.js.map +1 -1
  84. package/build-module/components/header/post-publish-button-or-toggle.js.map +1 -1
  85. package/build-module/components/header/template-title/delete-template.js.map +1 -1
  86. package/build-module/components/header/template-title/edit-template-title.js +12 -2
  87. package/build-module/components/header/template-title/edit-template-title.js.map +1 -1
  88. package/build-module/components/header/template-title/index.js.map +1 -1
  89. package/build-module/components/header/tools-more-menu-group/index.js.map +1 -1
  90. package/build-module/components/keyboard-shortcut-help-modal/config.js +12 -0
  91. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  92. package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -2
  93. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  94. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  95. package/build-module/components/layout/actions-panel.js.map +1 -1
  96. package/build-module/components/layout/index.js.map +1 -1
  97. package/build-module/components/layout/index.native.js.map +1 -1
  98. package/build-module/components/preferences-modal/index.js +3 -25
  99. package/build-module/components/preferences-modal/index.js.map +1 -1
  100. package/build-module/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  101. package/build-module/components/preferences-modal/options/enable-panel.js.map +1 -1
  102. package/build-module/components/preferences-modal/options/enable-publish-sidebar.js.map +1 -1
  103. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  104. package/build-module/components/sidebar/discussion-panel/index.js.map +1 -1
  105. package/build-module/components/sidebar/featured-image/index.js.map +1 -1
  106. package/build-module/components/sidebar/page-attributes/index.js.map +1 -1
  107. package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  108. package/build-module/components/sidebar/plugin-post-status-info/index.js +2 -2
  109. package/build-module/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  110. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  111. package/build-module/components/sidebar/post-excerpt/index.js.map +1 -1
  112. package/build-module/components/sidebar/post-format/index.js +3 -1
  113. package/build-module/components/sidebar/post-format/index.js.map +1 -1
  114. package/build-module/components/sidebar/post-schedule/index.js +32 -13
  115. package/build-module/components/sidebar/post-schedule/index.js.map +1 -1
  116. package/build-module/components/sidebar/post-slug/index.js +3 -1
  117. package/build-module/components/sidebar/post-slug/index.js.map +1 -1
  118. package/build-module/components/sidebar/post-status/index.js +4 -2
  119. package/build-module/components/sidebar/post-status/index.js.map +1 -1
  120. package/build-module/components/sidebar/post-template/create-modal.js +104 -0
  121. package/build-module/components/sidebar/post-template/create-modal.js.map +1 -0
  122. package/build-module/components/sidebar/post-template/form.js +106 -0
  123. package/build-module/components/sidebar/post-template/form.js.map +1 -0
  124. package/build-module/components/sidebar/post-template/index.js +110 -0
  125. package/build-module/components/sidebar/post-template/index.js.map +1 -0
  126. package/build-module/components/sidebar/post-url/index.js +59 -0
  127. package/build-module/components/sidebar/post-url/index.js.map +1 -0
  128. package/build-module/components/sidebar/post-visibility/index.js +24 -8
  129. package/build-module/components/sidebar/post-visibility/index.js.map +1 -1
  130. package/build-module/components/sidebar/settings-sidebar/index.js +2 -4
  131. package/build-module/components/sidebar/settings-sidebar/index.js.map +1 -1
  132. package/build-module/components/start-page-options/index.js +32 -14
  133. package/build-module/components/start-page-options/index.js.map +1 -1
  134. package/build-module/components/visual-editor/block-inspector-button.js +3 -5
  135. package/build-module/components/visual-editor/block-inspector-button.js.map +1 -1
  136. package/build-module/components/visual-editor/index.js +4 -2
  137. package/build-module/components/visual-editor/index.js.map +1 -1
  138. package/build-module/editor.js +2 -2
  139. package/build-module/editor.js.map +1 -1
  140. package/build-module/editor.native.js +2 -2
  141. package/build-module/editor.native.js.map +1 -1
  142. package/build-module/plugins/copy-content-menu-item/index.js +1 -1
  143. package/build-module/plugins/copy-content-menu-item/index.js.map +1 -1
  144. package/build-module/store/actions.js.map +1 -1
  145. package/build-module/store/selectors.js +8 -7
  146. package/build-module/store/selectors.js.map +1 -1
  147. package/build-style/style-rtl.css +85 -87
  148. package/build-style/style.css +84 -90
  149. package/package.json +27 -27
  150. package/src/components/block-manager/category.js +2 -2
  151. package/src/components/block-manager/index.js +15 -4
  152. package/src/components/device-preview/index.js +4 -6
  153. package/src/components/editor-initialization/listener-hooks.js +2 -3
  154. package/src/components/header/fullscreen-mode-close/index.js +2 -3
  155. package/src/components/header/header-toolbar/index.js +6 -11
  156. package/src/components/header/index.js +6 -9
  157. package/src/components/header/mode-switcher/index.js +4 -4
  158. package/src/components/header/post-publish-button-or-toggle.js +4 -6
  159. package/src/components/header/template-title/delete-template.js +2 -3
  160. package/src/components/header/template-title/edit-template-title.js +11 -1
  161. package/src/components/header/template-title/index.js +2 -3
  162. package/src/components/header/tools-more-menu-group/index.js +2 -3
  163. package/src/components/keyboard-shortcut-help-modal/config.js +8 -0
  164. package/src/components/keyboard-shortcut-help-modal/index.js +1 -2
  165. package/src/components/keyboard-shortcut-help-modal/style.scss +0 -5
  166. package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +14 -0
  167. package/src/components/keyboard-shortcut-help-modal/test/index.js +2 -1
  168. package/src/components/keyboard-shortcuts/index.js +4 -8
  169. package/src/components/layout/actions-panel.js +6 -9
  170. package/src/components/layout/index.js +12 -21
  171. package/src/components/layout/index.native.js +4 -5
  172. package/src/components/preferences-modal/index.js +5 -23
  173. package/src/components/preferences-modal/options/enable-custom-fields.js +2 -2
  174. package/src/components/preferences-modal/options/enable-panel.js +2 -3
  175. package/src/components/preferences-modal/options/enable-publish-sidebar.js +2 -3
  176. package/src/components/preferences-modal/test/index.js +3 -3
  177. package/src/components/secondary-sidebar/inserter-sidebar.js +2 -3
  178. package/src/components/sidebar/discussion-panel/index.js +2 -3
  179. package/src/components/sidebar/featured-image/index.js +2 -3
  180. package/src/components/sidebar/page-attributes/index.js +2 -3
  181. package/src/components/sidebar/plugin-document-setting-panel/index.js +2 -3
  182. package/src/components/sidebar/plugin-post-status-info/index.js +2 -2
  183. package/src/components/sidebar/plugin-sidebar/index.js +2 -3
  184. package/src/components/sidebar/post-author/style.scss +4 -10
  185. package/src/components/sidebar/post-excerpt/index.js +2 -3
  186. package/src/components/sidebar/post-format/index.js +1 -1
  187. package/src/components/sidebar/post-format/style.scss +5 -0
  188. package/src/components/sidebar/post-schedule/index.js +27 -16
  189. package/src/components/sidebar/post-schedule/style.scss +17 -4
  190. package/src/components/sidebar/post-slug/index.js +1 -1
  191. package/src/components/sidebar/post-slug/style.scss +4 -3
  192. package/src/components/sidebar/post-status/index.js +8 -5
  193. package/src/components/sidebar/post-template/create-modal.js +146 -0
  194. package/src/components/sidebar/post-template/form.js +143 -0
  195. package/src/components/sidebar/post-template/index.js +102 -0
  196. package/src/components/sidebar/post-template/style.scss +36 -0
  197. package/src/components/sidebar/post-url/index.js +51 -0
  198. package/src/components/sidebar/post-url/style.scss +23 -0
  199. package/src/components/sidebar/post-visibility/index.js +22 -8
  200. package/src/components/sidebar/post-visibility/style.scss +5 -4
  201. package/src/components/sidebar/settings-sidebar/index.js +1 -5
  202. package/src/components/sidebar/template/style.scss +0 -8
  203. package/src/components/start-page-options/index.js +48 -28
  204. package/src/components/start-page-options/style.scss +0 -9
  205. package/src/components/visual-editor/block-inspector-button.js +4 -8
  206. package/src/components/visual-editor/index.js +2 -1
  207. package/src/editor.js +8 -10
  208. package/src/editor.native.js +5 -6
  209. package/src/plugins/copy-content-menu-item/index.js +1 -1
  210. package/src/store/actions.js +322 -295
  211. package/src/store/selectors.js +21 -24
  212. package/src/style.scss +3 -2
  213. package/build/components/sidebar/post-link/index.js +0 -182
  214. package/build/components/sidebar/post-link/index.js.map +0 -1
  215. package/build/components/sidebar/template/actions.js +0 -167
  216. package/build/components/sidebar/template/actions.js.map +0 -1
  217. package/build/components/sidebar/template/index.js +0 -164
  218. package/build/components/sidebar/template/index.js.map +0 -1
  219. package/build-module/components/sidebar/post-link/index.js +0 -165
  220. package/build-module/components/sidebar/post-link/index.js.map +0 -1
  221. package/build-module/components/sidebar/template/actions.js +0 -153
  222. package/build-module/components/sidebar/template/actions.js.map +0 -1
  223. package/build-module/components/sidebar/template/index.js +0 -145
  224. package/build-module/components/sidebar/template/index.js.map +0 -1
  225. package/src/components/sidebar/post-link/index.js +0 -180
  226. package/src/components/sidebar/post-link/style.scss +0 -20
  227. package/src/components/sidebar/template/actions.js +0 -203
  228. package/src/components/sidebar/template/index.js +0 -164
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { noop } from 'lodash';
5
4
  import { shallow } from 'enzyme';
6
5
 
7
6
  /**
@@ -9,6 +8,8 @@ import { shallow } from 'enzyme';
9
8
  */
10
9
  import { KeyboardShortcutHelpModal } from '../index';
11
10
 
11
+ const noop = () => {};
12
+
12
13
  describe( 'KeyboardShortcutHelpModal', () => {
13
14
  it( 'should match snapshot when the modal is active', () => {
14
15
  const wrapper = shallow(
@@ -18,15 +18,11 @@ import { store as editPostStore } from '../../store';
18
18
 
19
19
  function KeyboardShortcuts() {
20
20
  const { getBlockSelectionStart } = useSelect( blockEditorStore );
21
- const {
22
- getEditorMode,
23
- isEditorSidebarOpened,
24
- isListViewOpened,
25
- } = useSelect( editPostStore );
21
+ const { getEditorMode, isEditorSidebarOpened, isListViewOpened } =
22
+ useSelect( editPostStore );
26
23
  const isModeToggleDisabled = useSelect( ( select ) => {
27
- const { richEditingEnabled, codeEditingEnabled } = select(
28
- editorStore
29
- ).getEditorSettings();
24
+ const { richEditingEnabled, codeEditingEnabled } =
25
+ select( editorStore ).getEditorSettings();
30
26
  return ! richEditingEnabled || ! codeEditingEnabled;
31
27
  }, [] );
32
28
 
@@ -26,9 +26,8 @@ export default function ActionsPanel( {
26
26
  closeEntitiesSavedStates,
27
27
  isEntitiesSavedStatesOpen,
28
28
  } ) {
29
- const { closePublishSidebar, togglePublishSidebar } = useDispatch(
30
- editPostStore
31
- );
29
+ const { closePublishSidebar, togglePublishSidebar } =
30
+ useDispatch( editPostStore );
32
31
  const {
33
32
  publishSidebarOpened,
34
33
  hasActiveMetaboxes,
@@ -36,14 +35,12 @@ export default function ActionsPanel( {
36
35
  hasNonPostEntityChanges,
37
36
  } = useSelect( ( select ) => {
38
37
  return {
39
- publishSidebarOpened: select(
40
- editPostStore
41
- ).isPublishSidebarOpened(),
38
+ publishSidebarOpened:
39
+ select( editPostStore ).isPublishSidebarOpened(),
42
40
  hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),
43
41
  isSavingMetaBoxes: select( editPostStore ).isSavingMetaBoxes(),
44
- hasNonPostEntityChanges: select(
45
- editorStore
46
- ).hasNonPostEntityChanges(),
42
+ hasNonPostEntityChanges:
43
+ select( editorStore ).hasNonPostEntityChanges(),
47
44
  };
48
45
  }, [] );
49
46
 
@@ -66,11 +66,8 @@ const interfaceLabels = {
66
66
  function Layout( { styles } ) {
67
67
  const isMobileViewport = useViewportMatch( 'medium', '<' );
68
68
  const isHugeViewport = useViewportMatch( 'huge', '>=' );
69
- const {
70
- openGeneralSidebar,
71
- closeGeneralSidebar,
72
- setIsInserterOpened,
73
- } = useDispatch( editPostStore );
69
+ const { openGeneralSidebar, closeGeneralSidebar, setIsInserterOpened } =
70
+ useDispatch( editPostStore );
74
71
  const { createErrorNotice } = useDispatch( noticesStore );
75
72
  const {
76
73
  mode,
@@ -96,17 +93,15 @@ function Layout( { styles } ) {
96
93
 
97
94
  return {
98
95
  isTemplateMode: select( editPostStore ).isEditingTemplate(),
99
- hasFixedToolbar: select( editPostStore ).isFeatureActive(
100
- 'fixedToolbar'
101
- ),
96
+ hasFixedToolbar:
97
+ select( editPostStore ).isFeatureActive( 'fixedToolbar' ),
102
98
  sidebarIsOpened: !! (
103
99
  select( interfaceStore ).getActiveComplementaryArea(
104
100
  editPostStore.name
105
101
  ) || select( editPostStore ).isPublishSidebarOpened()
106
102
  ),
107
- isFullscreenActive: select( editPostStore ).isFeatureActive(
108
- 'fullscreenMode'
109
- ),
103
+ isFullscreenActive:
104
+ select( editPostStore ).isFeatureActive( 'fullscreenMode' ),
110
105
  isInserterOpened: select( editPostStore ).isInserterOpened(),
111
106
  isListViewOpened: select( editPostStore ).isListViewOpened(),
112
107
  mode: select( editPostStore ).getEditorMode(),
@@ -118,12 +113,10 @@ function Layout( { styles } ) {
118
113
  nextShortcut: select(
119
114
  keyboardShortcutsStore
120
115
  ).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),
121
- showIconLabels: select( editPostStore ).isFeatureActive(
122
- 'showIconLabels'
123
- ),
124
- hasReducedUI: select( editPostStore ).isFeatureActive(
125
- 'reducedUI'
126
- ),
116
+ showIconLabels:
117
+ select( editPostStore ).isFeatureActive( 'showIconLabels' ),
118
+ hasReducedUI:
119
+ select( editPostStore ).isFeatureActive( 'reducedUI' ),
127
120
  showBlockBreadcrumbs: select( editPostStore ).isFeatureActive(
128
121
  'showBlockBreadcrumbs'
129
122
  ),
@@ -156,10 +149,8 @@ function Layout( { styles } ) {
156
149
 
157
150
  // Local state for save panel.
158
151
  // Note 'truthy' callback implies an open panel.
159
- const [
160
- entitiesSavedStatesCallback,
161
- setEntitiesSavedStatesCallback,
162
- ] = useState( false );
152
+ const [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =
153
+ useState( false );
163
154
  const closeEntitiesSavedStates = useCallback(
164
155
  ( arg ) => {
165
156
  if ( typeof entitiesSavedStatesCallback === 'function' ) {
@@ -187,13 +187,12 @@ class Layout extends Component {
187
187
 
188
188
  export default compose( [
189
189
  withSelect( ( select ) => {
190
- const { __unstableIsEditorReady: isEditorReady } = select(
191
- editorStore
192
- );
190
+ const { __unstableIsEditorReady: isEditorReady } =
191
+ select( editorStore );
193
192
  const { getEditorMode } = select( editPostStore );
194
193
  const { getSettings } = select( blockEditorStore );
195
- const globalStyles = getSettings()?.__experimentalGlobalStylesBaseStyles
196
- ?.color;
194
+ const globalStyles =
195
+ getSettings()?.__experimentalGlobalStylesBaseStyles?.color;
197
196
 
198
197
  return {
199
198
  isReady: isEditorReady(),
@@ -19,7 +19,6 @@ import {
19
19
  PostTypeSupportCheck,
20
20
  store as editorStore,
21
21
  } from '@wordpress/editor';
22
- import { store as coreStore } from '@wordpress/core-data';
23
22
  import {
24
23
  PreferencesModal,
25
24
  PreferencesModalTabs,
@@ -45,15 +44,10 @@ const MODAL_NAME = 'edit-post/preferences';
45
44
  export default function EditPostPreferencesModal() {
46
45
  const isLargeViewport = useViewportMatch( 'medium' );
47
46
  const { closeModal } = useDispatch( editPostStore );
48
- const { isModalActive, isViewable } = useSelect( ( select ) => {
49
- const { getEditedPostAttribute } = select( editorStore );
50
- const { getPostType } = select( coreStore );
51
- const postType = getPostType( getEditedPostAttribute( 'type' ) );
52
- return {
53
- isModalActive: select( editPostStore ).isModalActive( MODAL_NAME ),
54
- isViewable: get( postType, [ 'viewable' ], false ),
55
- };
56
- }, [] );
47
+ const isModalActive = useSelect(
48
+ ( select ) => select( editPostStore ).isModalActive( MODAL_NAME ),
49
+ []
50
+ );
57
51
  const showBlockBreadcrumbsOption = useSelect(
58
52
  ( select ) => {
59
53
  const { getEditorSettings } = select( editorStore );
@@ -200,18 +194,6 @@ export default function EditPostPreferencesModal() {
200
194
  ) }
201
195
  >
202
196
  <EnablePluginDocumentSettingPanelOption.Slot />
203
- { isViewable && (
204
- <EnablePanelOption
205
- label={ __( 'Permalink' ) }
206
- panelName="post-link"
207
- />
208
- ) }
209
- { isViewable && (
210
- <EnablePanelOption
211
- label={ __( 'Template' ) }
212
- panelName="template"
213
- />
214
- ) }
215
197
  <PostTaxonomies
216
198
  taxonomyWrapper={ ( content, taxonomy ) => (
217
199
  <EnablePanelOption
@@ -260,7 +242,7 @@ export default function EditPostPreferencesModal() {
260
242
  ),
261
243
  },
262
244
  ],
263
- [ isViewable, isLargeViewport, showBlockBreadcrumbsOption ]
245
+ [ isLargeViewport, showBlockBreadcrumbsOption ]
264
246
  );
265
247
 
266
248
  if ( ! isModalActive ) {
@@ -55,6 +55,6 @@ export function EnableCustomFieldsOption( { label, areCustomFieldsEnabled } ) {
55
55
  }
56
56
 
57
57
  export default withSelect( ( select ) => ( {
58
- areCustomFieldsEnabled: !! select( editorStore ).getEditorSettings()
59
- .enableCustomFields,
58
+ areCustomFieldsEnabled:
59
+ !! select( editorStore ).getEditorSettings().enableCustomFields,
60
60
  } ) )( EnableCustomFieldsOption );
@@ -12,9 +12,8 @@ import { store as editPostStore } from '../../../store';
12
12
 
13
13
  export default compose(
14
14
  withSelect( ( select, { panelName } ) => {
15
- const { isEditorPanelEnabled, isEditorPanelRemoved } = select(
16
- editPostStore
17
- );
15
+ const { isEditorPanelEnabled, isEditorPanelRemoved } =
16
+ select( editPostStore );
18
17
  return {
19
18
  isRemoved: isEditorPanelRemoved( panelName ),
20
19
  isChecked: isEditorPanelEnabled( panelName ),
@@ -12,9 +12,8 @@ export default compose(
12
12
  isChecked: select( editorStore ).isPublishSidebarEnabled(),
13
13
  } ) ),
14
14
  withDispatch( ( dispatch ) => {
15
- const { enablePublishSidebar, disablePublishSidebar } = dispatch(
16
- editorStore
17
- );
15
+ const { enablePublishSidebar, disablePublishSidebar } =
16
+ dispatch( editorStore );
18
17
  return {
19
18
  onChange: ( isEnabled ) =>
20
19
  isEnabled ? enablePublishSidebar() : disablePublishSidebar(),
@@ -21,13 +21,13 @@ jest.mock( '@wordpress/compose/src/hooks/use-viewport-match', () => jest.fn() );
21
21
  describe( 'EditPostPreferencesModal', () => {
22
22
  describe( 'should match snapshot when the modal is active', () => {
23
23
  it( 'large viewports', () => {
24
- useSelect.mockImplementation( () => ( { isModalActive: true } ) );
24
+ useSelect.mockImplementation( () => true );
25
25
  useViewportMatch.mockImplementation( () => true );
26
26
  const wrapper = shallow( <EditPostPreferencesModal /> );
27
27
  expect( wrapper ).toMatchSnapshot();
28
28
  } );
29
29
  it( 'small viewports', () => {
30
- useSelect.mockImplementation( () => ( { isModalActive: true } ) );
30
+ useSelect.mockImplementation( () => true );
31
31
  useViewportMatch.mockImplementation( () => false );
32
32
  const wrapper = shallow( <EditPostPreferencesModal /> );
33
33
  expect( wrapper ).toMatchSnapshot();
@@ -35,7 +35,7 @@ describe( 'EditPostPreferencesModal', () => {
35
35
  } );
36
36
 
37
37
  it( 'should not render when the modal is not active', () => {
38
- useSelect.mockImplementation( () => ( { isModalActive: false } ) );
38
+ useSelect.mockImplementation( () => false );
39
39
  const wrapper = shallow( <EditPostPreferencesModal /> );
40
40
  expect( wrapper.isEmptyRender() ).toBe( true );
41
41
  } );
@@ -19,9 +19,8 @@ import { store as editPostStore } from '../../store';
19
19
 
20
20
  export default function InserterSidebar() {
21
21
  const { insertionPoint, showMostUsedBlocks } = useSelect( ( select ) => {
22
- const { isFeatureActive, __experimentalGetInsertionPoint } = select(
23
- editPostStore
24
- );
22
+ const { isFeatureActive, __experimentalGetInsertionPoint } =
23
+ select( editPostStore );
25
24
  return {
26
25
  insertionPoint: __experimentalGetInsertionPoint(),
27
26
  showMostUsedBlocks: isFeatureActive( 'mostUsedBlocks' ),
@@ -52,9 +52,8 @@ function DiscussionPanel( { isEnabled, isOpened, onTogglePanel } ) {
52
52
  export default compose( [
53
53
  withSelect( ( select ) => {
54
54
  return {
55
- isEnabled: select( editPostStore ).isEditorPanelEnabled(
56
- PANEL_NAME
57
- ),
55
+ isEnabled:
56
+ select( editPostStore ).isEditorPanelEnabled( PANEL_NAME ),
58
57
  isOpened: select( editPostStore ).isEditorPanelOpened( PANEL_NAME ),
59
58
  };
60
59
  } ),
@@ -52,9 +52,8 @@ function FeaturedImage( { isEnabled, isOpened, postType, onTogglePanel } ) {
52
52
  const applyWithSelect = withSelect( ( select ) => {
53
53
  const { getEditedPostAttribute } = select( editorStore );
54
54
  const { getPostType } = select( coreStore );
55
- const { isEditorPanelEnabled, isEditorPanelOpened } = select(
56
- editPostStore
57
- );
55
+ const { isEditorPanelEnabled, isEditorPanelOpened } =
56
+ select( editPostStore );
58
57
 
59
58
  return {
60
59
  postType: getPostType( getEditedPostAttribute( 'type' ) ),
@@ -30,9 +30,8 @@ const PANEL_NAME = 'page-attributes';
30
30
  export function PageAttributes() {
31
31
  const { isEnabled, isOpened, postType } = useSelect( ( select ) => {
32
32
  const { getEditedPostAttribute } = select( editorStore );
33
- const { isEditorPanelEnabled, isEditorPanelOpened } = select(
34
- editPostStore
35
- );
33
+ const { isEditorPanelEnabled, isEditorPanelOpened } =
34
+ select( editPostStore );
36
35
  const { getPostType } = select( coreStore );
37
36
  return {
38
37
  isEnabled: isEditorPanelEnabled( PANEL_NAME ),
@@ -114,9 +114,8 @@ const PluginDocumentSettingPanel = compose(
114
114
  withSelect( ( select, { panelName } ) => {
115
115
  return {
116
116
  opened: select( editPostStore ).isEditorPanelOpened( panelName ),
117
- isEnabled: select( editPostStore ).isEditorPanelEnabled(
118
- panelName
119
- ),
117
+ isEnabled:
118
+ select( editPostStore ).isEditorPanelEnabled( panelName ),
120
119
  };
121
120
  } ),
122
121
  withDispatch( ( dispatch, { panelName } ) => ( {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Defines as extensibility slot for the Status & visibility panel.
2
+ * Defines as extensibility slot for the Summary panel.
3
3
  */
4
4
 
5
5
  /**
@@ -10,7 +10,7 @@ import { createSlotFill, PanelRow } from '@wordpress/components';
10
10
  export const { Fill, Slot } = createSlotFill( 'PluginPostStatusInfo' );
11
11
 
12
12
  /**
13
- * Renders a row in the Status & visibility panel of the Document sidebar.
13
+ * Renders a row in the Summary panel of the Document sidebar.
14
14
  * It should be noted that this is named and implemented around the function it serves
15
15
  * and not its location, which may change in future iterations.
16
16
  *
@@ -84,9 +84,8 @@ export default function PluginSidebarEditPost( { className, ...props } ) {
84
84
  shortcut: select(
85
85
  keyboardShortcutsStore
86
86
  ).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' ),
87
- showIconLabels: select( editPostStore ).isFeatureActive(
88
- 'showIconLabels'
89
- ),
87
+ showIconLabels:
88
+ select( editPostStore ).isFeatureActive( 'showIconLabels' ),
90
89
  };
91
90
  }, [] );
92
91
  return (
@@ -1,11 +1,5 @@
1
- .editor-post-author__select {
2
- margin: -5px 0;
3
-
4
- // Set the width of the author select box in IE11 to prevent it overflowing
5
- // outside of the container because of IE11 flexbox bugs.
6
- // We reset it to `width: auto;` for non-IE11 browsers.
7
- width: 100%;
8
- @supports (position: sticky) {
9
- width: auto;
10
- }
1
+ .edit-post-post-author {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: stretch;
11
5
  }
@@ -41,9 +41,8 @@ function PostExcerpt( { isEnabled, isOpened, onTogglePanel } ) {
41
41
  export default compose( [
42
42
  withSelect( ( select ) => {
43
43
  return {
44
- isEnabled: select( editPostStore ).isEditorPanelEnabled(
45
- PANEL_NAME
46
- ),
44
+ isEnabled:
45
+ select( editPostStore ).isEditorPanelEnabled( PANEL_NAME ),
47
46
  isOpened: select( editPostStore ).isEditorPanelOpened( PANEL_NAME ),
48
47
  };
49
48
  } ),
@@ -10,7 +10,7 @@ import {
10
10
  export function PostFormat() {
11
11
  return (
12
12
  <PostFormatCheck>
13
- <PanelRow>
13
+ <PanelRow className="edit-post-post-format">
14
14
  <PostFormatForm />
15
15
  </PanelRow>
16
16
  </PostFormatCheck>
@@ -0,0 +1,5 @@
1
+ .edit-post-post-format {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: stretch;
5
+ }
@@ -1,18 +1,17 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { __ } from '@wordpress/i18n';
4
+ import { __, sprintf } from '@wordpress/i18n';
5
5
  import { PanelRow, Dropdown, Button } from '@wordpress/components';
6
6
  import { useRef } from '@wordpress/element';
7
7
  import {
8
8
  PostSchedule as PostScheduleForm,
9
- PostScheduleLabel,
10
9
  PostScheduleCheck,
10
+ usePostScheduleLabel,
11
11
  } from '@wordpress/editor';
12
12
 
13
- export function PostSchedule() {
13
+ export default function PostSchedule() {
14
14
  const anchorRef = useRef();
15
-
16
15
  return (
17
16
  <PostScheduleCheck>
18
17
  <PanelRow className="edit-post-post-schedule" ref={ anchorRef }>
@@ -21,17 +20,12 @@ export function PostSchedule() {
21
20
  popoverProps={ { anchorRef } }
22
21
  position="bottom left"
23
22
  contentClassName="edit-post-post-schedule__dialog"
24
- renderToggle={ ( { onToggle, isOpen } ) => (
25
- <>
26
- <Button
27
- className="edit-post-post-schedule__toggle"
28
- onClick={ onToggle }
29
- aria-expanded={ isOpen }
30
- variant="tertiary"
31
- >
32
- <PostScheduleLabel />
33
- </Button>
34
- </>
23
+ focusOnMount
24
+ renderToggle={ ( { isOpen, onToggle } ) => (
25
+ <PostScheduleToggle
26
+ isOpen={ isOpen }
27
+ onClick={ onToggle }
28
+ />
35
29
  ) }
36
30
  renderContent={ ( { onClose } ) => (
37
31
  <PostScheduleForm onClose={ onClose } />
@@ -42,4 +36,21 @@ export function PostSchedule() {
42
36
  );
43
37
  }
44
38
 
45
- export default PostSchedule;
39
+ function PostScheduleToggle( { isOpen, onClick } ) {
40
+ const label = usePostScheduleLabel();
41
+ const fullLabel = usePostScheduleLabel( { full: true } );
42
+ return (
43
+ <Button
44
+ className="edit-post-post-schedule__toggle"
45
+ variant="tertiary"
46
+ label={ fullLabel }
47
+ showTooltip
48
+ aria-expanded={ isOpen }
49
+ // translators: %s: Current post date.
50
+ aria-label={ sprintf( __( 'Change date: %s' ), label ) }
51
+ onClick={ onClick }
52
+ >
53
+ { label }
54
+ </Button>
55
+ );
56
+ }
@@ -1,18 +1,31 @@
1
1
  .edit-post-post-schedule {
2
2
  width: 100%;
3
3
  position: relative;
4
- justify-content: left;
4
+ justify-content: flex-start;
5
5
 
6
6
  span {
7
7
  display: block;
8
8
  width: 45%;
9
+ flex-shrink: 0;
9
10
  }
10
11
  }
11
12
 
12
13
  .components-button.edit-post-post-schedule__toggle {
13
- text-align: right;
14
+ text-align: left;
15
+ white-space: normal;
16
+ height: auto;
17
+
18
+ // This span is added by the Popover in Tooltip when no anchorRef is
19
+ // provided. We set its width to 0 so that it does not cause the button text
20
+ // to wrap to a new line when displaying the tooltip. A better fix would be
21
+ // to pass anchorRef and avoid the need for a span alltogether, which is
22
+ // what this PR allows us to do:
23
+ // https://github.com/WordPress/gutenberg/pull/41268.
24
+ span {
25
+ width: 0;
26
+ }
14
27
  }
15
28
 
16
- .edit-post-post-schedule__dialog .components-popover__content {
17
- padding: $grid-unit-20;
29
+ .edit-post-post-schedule__dialog .block-editor-publish-date-time-picker {
30
+ margin: $grid-unit-10;
18
31
  }
@@ -7,7 +7,7 @@ import { PostSlug as PostSlugForm, PostSlugCheck } from '@wordpress/editor';
7
7
  export function PostSlug() {
8
8
  return (
9
9
  <PostSlugCheck>
10
- <PanelRow>
10
+ <PanelRow className="edit-post-post-slug">
11
11
  <PostSlugForm />
12
12
  </PanelRow>
13
13
  </PostSlugCheck>
@@ -1,4 +1,5 @@
1
- .editor-post-slug__input {
2
- margin: -5px 0;
3
- padding: 2px;
1
+ .edit-post-post-slug {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: stretch;
4
5
  }
@@ -19,6 +19,8 @@ import PostFormat from '../post-format';
19
19
  import PostPendingStatus from '../post-pending-status';
20
20
  import PluginPostStatusInfo from '../plugin-post-status-info';
21
21
  import { store as editPostStore } from '../../../store';
22
+ import PostTemplate from '../post-template';
23
+ import PostURL from '../post-url';
22
24
 
23
25
  /**
24
26
  * Module Constants
@@ -29,7 +31,7 @@ function PostStatus( { isOpened, onTogglePanel } ) {
29
31
  return (
30
32
  <PanelBody
31
33
  className="edit-post-post-status"
32
- title={ __( 'Status & visibility' ) }
34
+ title={ __( 'Summary' ) }
33
35
  opened={ isOpened }
34
36
  onToggle={ onTogglePanel }
35
37
  >
@@ -38,9 +40,11 @@ function PostStatus( { isOpened, onTogglePanel } ) {
38
40
  <>
39
41
  <PostVisibility />
40
42
  <PostSchedule />
41
- <PostFormat />
43
+ <PostURL />
44
+ <PostTemplate />
42
45
  <PostSticky />
43
46
  <PostPendingStatus />
47
+ <PostFormat />
44
48
  <PostSlug />
45
49
  <PostAuthor />
46
50
  { fills }
@@ -56,9 +60,8 @@ export default compose( [
56
60
  withSelect( ( select ) => {
57
61
  // We use isEditorPanelRemoved to hide the panel if it was programatically removed. We do
58
62
  // not use isEditorPanelEnabled since this panel should not be disabled through the UI.
59
- const { isEditorPanelRemoved, isEditorPanelOpened } = select(
60
- editPostStore
61
- );
63
+ const { isEditorPanelRemoved, isEditorPanelOpened } =
64
+ select( editPostStore );
62
65
  return {
63
66
  isRemoved: isEditorPanelRemoved( PANEL_NAME ),
64
67
  isOpened: isEditorPanelOpened( PANEL_NAME ),