@wordpress/edit-post 7.24.1 → 7.26.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 (267) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE.md +1 -1
  3. package/build/components/browser-url/index.js +3 -2
  4. package/build/components/browser-url/index.js.map +1 -1
  5. package/build/components/header/index.js +35 -33
  6. package/build/components/header/index.js.map +1 -1
  7. package/build/components/header/mode-switcher/index.js +1 -1
  8. package/build/components/header/mode-switcher/index.js.map +1 -1
  9. package/build/components/header/more-menu/index.js +2 -1
  10. package/build/components/header/more-menu/index.js.map +1 -1
  11. package/build/components/header/writing-menu/index.js +22 -18
  12. package/build/components/header/writing-menu/index.js.map +1 -1
  13. package/build/components/keyboard-shortcuts/index.js +1 -20
  14. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  15. package/build/components/layout/index.js +45 -38
  16. package/build/components/layout/index.js.map +1 -1
  17. package/build/components/layout/index.native.js +3 -1
  18. package/build/components/layout/index.native.js.map +1 -1
  19. package/build/components/meta-boxes/meta-box-visibility.js +2 -6
  20. package/build/components/meta-boxes/meta-box-visibility.js.map +1 -1
  21. package/build/components/preferences-modal/index.js +87 -54
  22. package/build/components/preferences-modal/index.js.map +1 -1
  23. package/build/components/preferences-modal/options/enable-feature.js +23 -23
  24. package/build/components/preferences-modal/options/enable-feature.js.map +1 -1
  25. package/build/components/preferences-modal/options/enable-panel.js +3 -6
  26. package/build/components/preferences-modal/options/enable-panel.js.map +1 -1
  27. package/build/components/sidebar/plugin-document-setting-panel/index.js +3 -3
  28. package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  29. package/build/components/sidebar/plugin-sidebar/index.js +2 -10
  30. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  31. package/build/components/sidebar/post-status/index.js +3 -5
  32. package/build/components/sidebar/post-status/index.js.map +1 -1
  33. package/build/components/sidebar/settings-header/index.js +17 -43
  34. package/build/components/sidebar/settings-header/index.js.map +1 -1
  35. package/build/components/sidebar/settings-sidebar/index.js +80 -26
  36. package/build/components/sidebar/settings-sidebar/index.js.map +1 -1
  37. package/build/components/start-page-options/index.js +3 -3
  38. package/build/components/start-page-options/index.js.map +1 -1
  39. package/build/components/visual-editor/index.js +20 -257
  40. package/build/components/visual-editor/index.js.map +1 -1
  41. package/build/components/welcome-guide/index.js +6 -3
  42. package/build/components/welcome-guide/index.js.map +1 -1
  43. package/build/editor.js +20 -30
  44. package/build/editor.js.map +1 -1
  45. package/build/editor.native.js +3 -11
  46. package/build/editor.native.js.map +1 -1
  47. package/build/hooks/commands/use-common-commands.js +16 -12
  48. package/build/hooks/commands/use-common-commands.js.map +1 -1
  49. package/build/hooks/use-post-history.js +79 -0
  50. package/build/hooks/use-post-history.js.map +1 -0
  51. package/build/index.js +24 -20
  52. package/build/index.js.map +1 -1
  53. package/build/index.native.js +7 -1
  54. package/build/index.native.js.map +1 -1
  55. package/build/plugins/welcome-guide-menu-item/index.js +2 -6
  56. package/build/plugins/welcome-guide-menu-item/index.js.map +1 -1
  57. package/build/store/actions.js +94 -112
  58. package/build/store/actions.js.map +1 -1
  59. package/build/store/reducer.js +1 -95
  60. package/build/store/reducer.js.map +1 -1
  61. package/build/store/selectors.js +86 -48
  62. package/build/store/selectors.js.map +1 -1
  63. package/build-module/components/browser-url/index.js +3 -2
  64. package/build-module/components/browser-url/index.js.map +1 -1
  65. package/build-module/components/header/index.js +37 -35
  66. package/build-module/components/header/index.js.map +1 -1
  67. package/build-module/components/header/mode-switcher/index.js +1 -1
  68. package/build-module/components/header/mode-switcher/index.js.map +1 -1
  69. package/build-module/components/header/more-menu/index.js +2 -1
  70. package/build-module/components/header/more-menu/index.js.map +1 -1
  71. package/build-module/components/header/writing-menu/index.js +23 -19
  72. package/build-module/components/header/writing-menu/index.js.map +1 -1
  73. package/build-module/components/keyboard-shortcuts/index.js +1 -20
  74. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  75. package/build-module/components/layout/index.js +46 -38
  76. package/build-module/components/layout/index.js.map +1 -1
  77. package/build-module/components/layout/index.native.js +4 -2
  78. package/build-module/components/layout/index.native.js.map +1 -1
  79. package/build-module/components/meta-boxes/meta-box-visibility.js +2 -6
  80. package/build-module/components/meta-boxes/meta-box-visibility.js.map +1 -1
  81. package/build-module/components/preferences-modal/index.js +87 -54
  82. package/build-module/components/preferences-modal/index.js.map +1 -1
  83. package/build-module/components/preferences-modal/options/enable-feature.js +22 -23
  84. package/build-module/components/preferences-modal/options/enable-feature.js.map +1 -1
  85. package/build-module/components/preferences-modal/options/enable-panel.js +3 -7
  86. package/build-module/components/preferences-modal/options/enable-panel.js.map +1 -1
  87. package/build-module/components/sidebar/plugin-document-setting-panel/index.js +3 -3
  88. package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  89. package/build-module/components/sidebar/plugin-sidebar/index.js +2 -10
  90. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  91. package/build-module/components/sidebar/post-status/index.js +4 -6
  92. package/build-module/components/sidebar/post-status/index.js.map +1 -1
  93. package/build-module/components/sidebar/settings-header/index.js +20 -46
  94. package/build-module/components/sidebar/settings-header/index.js.map +1 -1
  95. package/build-module/components/sidebar/settings-sidebar/index.js +80 -27
  96. package/build-module/components/sidebar/settings-sidebar/index.js.map +1 -1
  97. package/build-module/components/start-page-options/index.js +3 -3
  98. package/build-module/components/start-page-options/index.js.map +1 -1
  99. package/build-module/components/visual-editor/index.js +24 -261
  100. package/build-module/components/visual-editor/index.js.map +1 -1
  101. package/build-module/components/welcome-guide/index.js +6 -3
  102. package/build-module/components/welcome-guide/index.js.map +1 -1
  103. package/build-module/editor.js +20 -30
  104. package/build-module/editor.js.map +1 -1
  105. package/build-module/editor.native.js +3 -11
  106. package/build-module/editor.native.js.map +1 -1
  107. package/build-module/hooks/commands/use-common-commands.js +16 -12
  108. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  109. package/build-module/hooks/use-post-history.js +73 -0
  110. package/build-module/hooks/use-post-history.js.map +1 -0
  111. package/build-module/index.js +19 -12
  112. package/build-module/index.js.map +1 -1
  113. package/build-module/index.native.js +7 -1
  114. package/build-module/index.native.js.map +1 -1
  115. package/build-module/plugins/welcome-guide-menu-item/index.js +2 -6
  116. package/build-module/plugins/welcome-guide-menu-item/index.js.map +1 -1
  117. package/build-module/store/actions.js +86 -105
  118. package/build-module/store/actions.js.map +1 -1
  119. package/build-module/store/reducer.js +1 -92
  120. package/build-module/store/reducer.js.map +1 -1
  121. package/build-module/store/selectors.js +76 -38
  122. package/build-module/store/selectors.js.map +1 -1
  123. package/build-style/style-rtl.css +65 -473
  124. package/build-style/style.css +65 -473
  125. package/package.json +32 -32
  126. package/src/components/browser-url/index.js +4 -2
  127. package/src/components/header/index.js +45 -46
  128. package/src/components/header/mode-switcher/index.js +2 -1
  129. package/src/components/header/more-menu/index.js +1 -0
  130. package/src/components/header/style.scss +63 -37
  131. package/src/components/header/writing-menu/index.js +24 -24
  132. package/src/components/keyboard-shortcut-help-modal/test/index.js +0 -15
  133. package/src/components/keyboard-shortcuts/index.js +1 -23
  134. package/src/components/layout/index.js +31 -39
  135. package/src/components/layout/index.native.js +9 -1
  136. package/src/components/meta-boxes/meta-box-visibility.js +2 -8
  137. package/src/components/preferences-modal/index.js +128 -97
  138. package/src/components/preferences-modal/options/enable-feature.js +26 -21
  139. package/src/components/preferences-modal/options/enable-panel.js +3 -7
  140. package/src/components/preferences-modal/test/__snapshots__/meta-boxes-section.js.snap +187 -175
  141. package/src/components/preferences-modal/test/index.js +1 -52
  142. package/src/components/sidebar/plugin-document-setting-panel/index.js +3 -3
  143. package/src/components/sidebar/plugin-sidebar/index.js +1 -9
  144. package/src/components/sidebar/post-status/index.js +5 -5
  145. package/src/components/sidebar/settings-header/index.js +19 -71
  146. package/src/components/sidebar/settings-sidebar/index.js +125 -60
  147. package/src/components/sidebar/style.scss +4 -12
  148. package/src/components/start-page-options/index.js +3 -3
  149. package/src/components/text-editor/style.scss +0 -6
  150. package/src/components/visual-editor/index.js +26 -359
  151. package/src/components/visual-editor/style.scss +0 -15
  152. package/src/components/welcome-guide/index.js +4 -2
  153. package/src/editor.js +36 -35
  154. package/src/editor.native.js +2 -23
  155. package/src/hooks/commands/use-common-commands.js +14 -16
  156. package/src/hooks/use-post-history.js +73 -0
  157. package/src/index.js +24 -13
  158. package/src/index.native.js +8 -1
  159. package/src/plugins/welcome-guide-menu-item/index.js +3 -6
  160. package/src/store/actions.js +80 -131
  161. package/src/store/reducer.js +0 -93
  162. package/src/store/selectors.js +97 -55
  163. package/src/store/test/actions.js +10 -131
  164. package/src/store/test/reducer.js +1 -108
  165. package/src/store/test/selectors.js +0 -50
  166. package/src/style.scss +1 -8
  167. package/src/test/__snapshots__/editor.native.js.snap +21 -0
  168. package/src/test/editor.native.js +107 -56
  169. package/build/components/device-preview/index.js +0 -72
  170. package/build/components/device-preview/index.js.map +0 -1
  171. package/build/components/header/document-actions/index.js +0 -82
  172. package/build/components/header/document-actions/index.js.map +0 -1
  173. package/build/components/header/header-toolbar/index.js +0 -156
  174. package/build/components/header/header-toolbar/index.js.map +0 -1
  175. package/build/components/secondary-sidebar/inserter-sidebar.js +0 -73
  176. package/build/components/secondary-sidebar/inserter-sidebar.js.map +0 -1
  177. package/build/components/secondary-sidebar/list-view-outline.js +0 -112
  178. package/build/components/secondary-sidebar/list-view-outline.js.map +0 -1
  179. package/build/components/secondary-sidebar/list-view-sidebar.js +0 -148
  180. package/build/components/secondary-sidebar/list-view-sidebar.js.map +0 -1
  181. package/build/components/sidebar/discussion-panel/index.js +0 -59
  182. package/build/components/sidebar/discussion-panel/index.js.map +0 -1
  183. package/build/components/sidebar/featured-image/index.js +0 -70
  184. package/build/components/sidebar/featured-image/index.js.map +0 -1
  185. package/build/components/sidebar/last-revision/index.js +0 -21
  186. package/build/components/sidebar/last-revision/index.js.map +0 -1
  187. package/build/components/sidebar/page-attributes/index.js +0 -65
  188. package/build/components/sidebar/page-attributes/index.js.map +0 -1
  189. package/build/components/sidebar/plugin-post-excerpt/index.js +0 -72
  190. package/build/components/sidebar/plugin-post-excerpt/index.js.map +0 -1
  191. package/build/components/sidebar/post-excerpt/index.js +0 -54
  192. package/build/components/sidebar/post-excerpt/index.js.map +0 -1
  193. package/build/components/sidebar/post-taxonomies/index.js +0 -30
  194. package/build/components/sidebar/post-taxonomies/index.js.map +0 -1
  195. package/build/components/sidebar/post-taxonomies/taxonomy-panel.js +0 -56
  196. package/build/components/sidebar/post-taxonomies/taxonomy-panel.js.map +0 -1
  197. package/build/components/sidebar/post-template/create-modal.js +0 -99
  198. package/build/components/sidebar/post-template/create-modal.js.map +0 -1
  199. package/build/components/sidebar/post-template/form.js +0 -110
  200. package/build/components/sidebar/post-template/form.js.map +0 -1
  201. package/build/components/sidebar/post-template/index.js +0 -106
  202. package/build/components/sidebar/post-template/index.js.map +0 -1
  203. package/build/components/view-link/index.js +0 -53
  204. package/build/components/view-link/index.js.map +0 -1
  205. package/build-module/components/device-preview/index.js +0 -65
  206. package/build-module/components/device-preview/index.js.map +0 -1
  207. package/build-module/components/header/document-actions/index.js +0 -74
  208. package/build-module/components/header/document-actions/index.js.map +0 -1
  209. package/build-module/components/header/header-toolbar/index.js +0 -148
  210. package/build-module/components/header/header-toolbar/index.js.map +0 -1
  211. package/build-module/components/secondary-sidebar/inserter-sidebar.js +0 -66
  212. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +0 -1
  213. package/build-module/components/secondary-sidebar/list-view-outline.js +0 -105
  214. package/build-module/components/secondary-sidebar/list-view-outline.js.map +0 -1
  215. package/build-module/components/secondary-sidebar/list-view-sidebar.js +0 -140
  216. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +0 -1
  217. package/build-module/components/sidebar/discussion-panel/index.js +0 -52
  218. package/build-module/components/sidebar/discussion-panel/index.js.map +0 -1
  219. package/build-module/components/sidebar/featured-image/index.js +0 -63
  220. package/build-module/components/sidebar/featured-image/index.js.map +0 -1
  221. package/build-module/components/sidebar/last-revision/index.js +0 -13
  222. package/build-module/components/sidebar/last-revision/index.js.map +0 -1
  223. package/build-module/components/sidebar/page-attributes/index.js +0 -57
  224. package/build-module/components/sidebar/page-attributes/index.js.map +0 -1
  225. package/build-module/components/sidebar/plugin-post-excerpt/index.js +0 -64
  226. package/build-module/components/sidebar/plugin-post-excerpt/index.js.map +0 -1
  227. package/build-module/components/sidebar/post-excerpt/index.js +0 -47
  228. package/build-module/components/sidebar/post-excerpt/index.js.map +0 -1
  229. package/build-module/components/sidebar/post-taxonomies/index.js +0 -21
  230. package/build-module/components/sidebar/post-taxonomies/index.js.map +0 -1
  231. package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js +0 -48
  232. package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js.map +0 -1
  233. package/build-module/components/sidebar/post-template/create-modal.js +0 -92
  234. package/build-module/components/sidebar/post-template/create-modal.js.map +0 -1
  235. package/build-module/components/sidebar/post-template/form.js +0 -102
  236. package/build-module/components/sidebar/post-template/form.js.map +0 -1
  237. package/build-module/components/sidebar/post-template/index.js +0 -98
  238. package/build-module/components/sidebar/post-template/index.js.map +0 -1
  239. package/build-module/components/view-link/index.js +0 -46
  240. package/build-module/components/view-link/index.js.map +0 -1
  241. package/src/components/device-preview/index.js +0 -73
  242. package/src/components/header/document-actions/index.js +0 -82
  243. package/src/components/header/document-actions/style.scss +0 -64
  244. package/src/components/header/header-toolbar/index.js +0 -182
  245. package/src/components/header/header-toolbar/style.scss +0 -114
  246. package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +0 -929
  247. package/src/components/secondary-sidebar/inserter-sidebar.js +0 -71
  248. package/src/components/secondary-sidebar/list-view-outline.js +0 -98
  249. package/src/components/secondary-sidebar/list-view-sidebar.js +0 -170
  250. package/src/components/secondary-sidebar/style.scss +0 -120
  251. package/src/components/sidebar/discussion-panel/index.js +0 -62
  252. package/src/components/sidebar/featured-image/index.js +0 -67
  253. package/src/components/sidebar/last-revision/index.js +0 -17
  254. package/src/components/sidebar/last-revision/style.scss +0 -10
  255. package/src/components/sidebar/page-attributes/index.js +0 -65
  256. package/src/components/sidebar/plugin-post-excerpt/index.js +0 -61
  257. package/src/components/sidebar/plugin-post-excerpt/test/index.js +0 -36
  258. package/src/components/sidebar/post-excerpt/index.js +0 -59
  259. package/src/components/sidebar/post-taxonomies/index.js +0 -30
  260. package/src/components/sidebar/post-taxonomies/taxonomy-panel.js +0 -48
  261. package/src/components/sidebar/post-template/create-modal.js +0 -140
  262. package/src/components/sidebar/post-template/form.js +0 -141
  263. package/src/components/sidebar/post-template/index.js +0 -120
  264. package/src/components/sidebar/post-template/style.scss +0 -22
  265. package/src/components/sidebar/settings-header/style.scss +0 -74
  266. package/src/components/sidebar/template/style.scss +0 -35
  267. package/src/components/view-link/index.js +0 -48
@@ -7,8 +7,8 @@ import classnames from 'classnames';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { privateApis as blockEditorPrivateApis, store as blockEditorStore } from '@wordpress/block-editor';
11
- import { PostSavedState, PostPreviewButton } from '@wordpress/editor';
10
+ import { BlockToolbar, store as blockEditorStore } from '@wordpress/block-editor';
11
+ import { PostSavedState, PostPreviewButton, store as editorStore, DocumentBar, privateApis as editorPrivateApis } from '@wordpress/editor';
12
12
  import { useEffect, useRef, useState } from '@wordpress/element';
13
13
  import { useSelect } from '@wordpress/data';
14
14
  import { __ } from '@wordpress/i18n';
@@ -22,18 +22,16 @@ import { store as preferencesStore } from '@wordpress/preferences';
22
22
  * Internal dependencies
23
23
  */
24
24
  import FullscreenModeClose from './fullscreen-mode-close';
25
- import HeaderToolbar from './header-toolbar';
26
25
  import MoreMenu from './more-menu';
27
26
  import PostPublishButtonOrToggle from './post-publish-button-or-toggle';
28
- import { default as DevicePreview } from '../device-preview';
29
- import ViewLink from '../view-link';
30
27
  import MainDashboardButton from './main-dashboard-button';
31
28
  import { store as editPostStore } from '../../store';
32
- import DocumentActions from './document-actions';
33
29
  import { unlock } from '../../lock-unlock';
34
30
  const {
35
- BlockContextualToolbar
36
- } = unlock(blockEditorPrivateApis);
31
+ DocumentTools,
32
+ PostViewLink,
33
+ PreviewDropdown
34
+ } = unlock(editorPrivateApis);
37
35
  const slideY = {
38
36
  hidden: {
39
37
  y: '-50px'
@@ -65,40 +63,45 @@ const slideX = {
65
63
  }
66
64
  };
67
65
  function Header({
68
- setEntitiesSavedStatesCallback,
69
- setListViewToggleElement
66
+ setEntitiesSavedStatesCallback
70
67
  }) {
71
68
  const isWideViewport = useViewportMatch('large');
72
69
  const isLargeViewport = useViewportMatch('medium');
73
70
  const blockToolbarRef = useRef();
74
71
  const {
75
- blockSelectionStart,
72
+ isTextEditor,
73
+ hasBlockSelection,
76
74
  hasActiveMetaboxes,
77
75
  hasFixedToolbar,
78
76
  isEditingTemplate,
79
77
  isPublishSidebarOpened,
80
- showIconLabels
78
+ showIconLabels,
79
+ hasHistory
81
80
  } = useSelect(select => {
82
81
  const {
83
82
  get: getPreference
84
83
  } = select(preferencesStore);
84
+ const {
85
+ getEditorMode
86
+ } = select(editPostStore);
85
87
  return {
86
- blockSelectionStart: select(blockEditorStore).getBlockSelectionStart(),
88
+ isTextEditor: getEditorMode() === 'text',
89
+ hasBlockSelection: !!select(blockEditorStore).getBlockSelectionStart(),
87
90
  hasActiveMetaboxes: select(editPostStore).hasMetaBoxes(),
88
- isEditingTemplate: select(editPostStore).isEditingTemplate(),
91
+ hasHistory: !!select(editorStore).getEditorSettings().goBack,
92
+ isEditingTemplate: select(editorStore).getRenderingMode() === 'template-only',
89
93
  isPublishSidebarOpened: select(editPostStore).isPublishSidebarOpened(),
90
- hasFixedToolbar: getPreference('core/edit-post', 'fixedToolbar'),
91
- showIconLabels: select(editPostStore).isFeatureActive('showIconLabels')
94
+ hasFixedToolbar: getPreference('core', 'fixedToolbar'),
95
+ showIconLabels: getPreference('core', 'showIconLabels')
92
96
  };
93
97
  }, []);
94
98
  const [isBlockToolsCollapsed, setIsBlockToolsCollapsed] = useState(true);
95
- const hasBlockSelected = !!blockSelectionStart;
96
99
  useEffect(() => {
97
100
  // If we have a new block selection, show the block tools
98
- if (blockSelectionStart) {
101
+ if (hasBlockSelection) {
99
102
  setIsBlockToolsCollapsed(false);
100
103
  }
101
- }, [blockSelectionStart]);
104
+ }, [hasBlockSelection]);
102
105
  return createElement("div", {
103
106
  className: "edit-post-header"
104
107
  }, createElement(MainDashboardButton.Slot, null, createElement(motion.div, {
@@ -116,19 +119,18 @@ function Header({
116
119
  delay: 0.8
117
120
  },
118
121
  className: "edit-post-header__toolbar"
119
- }, createElement(HeaderToolbar, {
120
- hasFixedToolbar: hasFixedToolbar,
121
- setListViewToggleElement: setListViewToggleElement
122
+ }, createElement(DocumentTools, {
123
+ disableBlockTools: isTextEditor
122
124
  }), hasFixedToolbar && isLargeViewport && createElement(Fragment, null, createElement("div", {
123
125
  className: classnames('selected-block-tools-wrapper', {
124
- 'is-collapsed': isBlockToolsCollapsed
126
+ 'is-collapsed': isEditingTemplate && isBlockToolsCollapsed
125
127
  })
126
- }, createElement(BlockContextualToolbar, {
127
- isFixed: true
128
+ }, createElement(BlockToolbar, {
129
+ hideDragHandle: true
128
130
  })), createElement(Popover.Slot, {
129
131
  ref: blockToolbarRef,
130
132
  name: "block-toolbar"
131
- }), isEditingTemplate && hasBlockSelected && createElement(Button, {
133
+ }), isEditingTemplate && hasBlockSelection && createElement(Button, {
132
134
  className: "edit-post-header__block-tools-toggle",
133
135
  icon: isBlockToolsCollapsed ? next : previous,
134
136
  onClick: () => {
@@ -137,9 +139,9 @@ function Header({
137
139
  label: isBlockToolsCollapsed ? __('Show block tools') : __('Hide block tools')
138
140
  })), createElement("div", {
139
141
  className: classnames('edit-post-header__center', {
140
- 'is-collapsed': !isBlockToolsCollapsed && isLargeViewport && isEditingTemplate
142
+ 'is-collapsed': isEditingTemplate && hasBlockSelection && !isBlockToolsCollapsed && hasFixedToolbar && isLargeViewport
141
143
  })
142
- }, isEditingTemplate && createElement(DocumentActions, null))), createElement(motion.div, {
144
+ }, (isEditingTemplate || hasHistory) && createElement(DocumentBar, null))), createElement(motion.div, {
143
145
  variants: slideY,
144
146
  transition: {
145
147
  type: 'tween',
@@ -153,19 +155,19 @@ function Header({
153
155
  // We track that DOM node to return focus to the PostPublishButtonOrToggle
154
156
  // when the publish sidebar has been closed.
155
157
  createElement(PostSavedState, {
156
- forceIsDirty: hasActiveMetaboxes,
157
- showIconLabels: showIconLabels
158
- }), createElement(DevicePreview, null), createElement(PostPreviewButton, {
158
+ forceIsDirty: hasActiveMetaboxes
159
+ }), createElement(PreviewDropdown, {
159
160
  forceIsAutosaveable: hasActiveMetaboxes
160
- }), createElement(ViewLink, null), createElement(PostPublishButtonOrToggle, {
161
+ }), createElement(PostPreviewButton, {
162
+ className: "edit-post-header__post-preview-button",
163
+ forceIsAutosaveable: hasActiveMetaboxes
164
+ }), createElement(PostViewLink, null), createElement(PostPublishButtonOrToggle, {
161
165
  forceIsDirty: hasActiveMetaboxes,
162
166
  setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback
163
- }), (isWideViewport || !showIconLabels) && createElement(Fragment, null, createElement(PinnedItems.Slot, {
167
+ }), (isWideViewport || !showIconLabels) && createElement(PinnedItems.Slot, {
164
168
  scope: "core/edit-post"
165
169
  }), createElement(MoreMenu, {
166
170
  showIconLabels: showIconLabels
167
- })), showIconLabels && !isWideViewport && createElement(MoreMenu, {
168
- showIconLabels: showIconLabels
169
171
  })));
170
172
  }
171
173
  export default Header;
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","privateApis","blockEditorPrivateApis","store","blockEditorStore","PostSavedState","PostPreviewButton","useEffect","useRef","useState","useSelect","__","next","previous","PinnedItems","useViewportMatch","Button","__unstableMotion","motion","Popover","preferencesStore","FullscreenModeClose","HeaderToolbar","MoreMenu","PostPublishButtonOrToggle","default","DevicePreview","ViewLink","MainDashboardButton","editPostStore","DocumentActions","unlock","BlockContextualToolbar","slideY","hidden","y","distractionFreeInactive","hover","transition","type","delay","slideX","x","Header","setEntitiesSavedStatesCallback","setListViewToggleElement","isWideViewport","isLargeViewport","blockToolbarRef","blockSelectionStart","hasActiveMetaboxes","hasFixedToolbar","isEditingTemplate","isPublishSidebarOpened","showIconLabels","select","get","getPreference","getBlockSelectionStart","hasMetaBoxes","isFeatureActive","isBlockToolsCollapsed","setIsBlockToolsCollapsed","hasBlockSelected","createElement","className","Slot","div","variants","showTooltip","Fragment","isFixed","ref","name","icon","onClick","collapsed","label","forceIsDirty","forceIsAutosaveable","scope"],"sources":["@wordpress/edit-post/src/components/header/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PostSavedState, PostPreviewButton } from '@wordpress/editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { next, previous } from '@wordpress/icons';\nimport { PinnedItems } from '@wordpress/interface';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tButton,\n\t__unstableMotion as motion,\n\tPopover,\n} from '@wordpress/components';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport FullscreenModeClose from './fullscreen-mode-close';\nimport HeaderToolbar from './header-toolbar';\nimport MoreMenu from './more-menu';\nimport PostPublishButtonOrToggle from './post-publish-button-or-toggle';\nimport { default as DevicePreview } from '../device-preview';\nimport ViewLink from '../view-link';\nimport MainDashboardButton from './main-dashboard-button';\nimport { store as editPostStore } from '../../store';\nimport DocumentActions from './document-actions';\nimport { unlock } from '../../lock-unlock';\n\nconst { BlockContextualToolbar } = unlock( blockEditorPrivateApis );\n\nconst slideY = {\n\thidden: { y: '-50px' },\n\tdistractionFreeInactive: { y: 0 },\n\thover: { y: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nconst slideX = {\n\thidden: { x: '-100%' },\n\tdistractionFreeInactive: { x: 0 },\n\thover: { x: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nfunction Header( {\n\tsetEntitiesSavedStatesCallback,\n\tsetListViewToggleElement,\n} ) {\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst blockToolbarRef = useRef();\n\tconst {\n\t\tblockSelectionStart,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tisEditingTemplate,\n\t\tisPublishSidebarOpened,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { get: getPreference } = select( preferencesStore );\n\n\t\treturn {\n\t\t\tblockSelectionStart:\n\t\t\t\tselect( blockEditorStore ).getBlockSelectionStart(),\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tisEditingTemplate: select( editPostStore ).isEditingTemplate(),\n\t\t\tisPublishSidebarOpened:\n\t\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\t\thasFixedToolbar: getPreference( 'core/edit-post', 'fixedToolbar' ),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t};\n\t}, [] );\n\n\tconst [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] =\n\t\tuseState( true );\n\n\tconst hasBlockSelected = !! blockSelectionStart;\n\n\tuseEffect( () => {\n\t\t// If we have a new block selection, show the block tools\n\t\tif ( blockSelectionStart ) {\n\t\t\tsetIsBlockToolsCollapsed( false );\n\t\t}\n\t}, [ blockSelectionStart ] );\n\n\treturn (\n\t\t<div className=\"edit-post-header\">\n\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ slideX }\n\t\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\t>\n\t\t\t\t\t<FullscreenModeClose showTooltip />\n\t\t\t\t</motion.div>\n\t\t\t</MainDashboardButton.Slot>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__toolbar\"\n\t\t\t>\n\t\t\t\t<HeaderToolbar\n\t\t\t\t\thasFixedToolbar={ hasFixedToolbar }\n\t\t\t\t\tsetListViewToggleElement={ setListViewToggleElement }\n\t\t\t\t/>\n\t\t\t\t{ hasFixedToolbar && isLargeViewport && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'selected-block-tools-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-collapsed': isBlockToolsCollapsed,\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\t\t<BlockContextualToolbar isFixed />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Popover.Slot\n\t\t\t\t\t\t\tref={ blockToolbarRef }\n\t\t\t\t\t\t\tname=\"block-toolbar\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isEditingTemplate && hasBlockSelected && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"edit-post-header__block-tools-toggle\"\n\t\t\t\t\t\t\t\ticon={ isBlockToolsCollapsed ? next : previous }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsBlockToolsCollapsed(\n\t\t\t\t\t\t\t\t\t\t( collapsed ) => ! collapsed\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\tlabel={\n\t\t\t\t\t\t\t\t\tisBlockToolsCollapsed\n\t\t\t\t\t\t\t\t\t\t? __( 'Show block tools' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Hide block tools' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames( 'edit-post-header__center', {\n\t\t\t\t\t\t'is-collapsed':\n\t\t\t\t\t\t\t! isBlockToolsCollapsed &&\n\t\t\t\t\t\t\tisLargeViewport &&\n\t\t\t\t\t\t\tisEditingTemplate,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ isEditingTemplate && <DocumentActions /> }\n\t\t\t\t</div>\n\t\t\t</motion.div>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__settings\"\n\t\t\t>\n\t\t\t\t{ ! isPublishSidebarOpened && (\n\t\t\t\t\t// This button isn't completely hidden by the publish sidebar.\n\t\t\t\t\t// We can't hide the whole toolbar when the publish sidebar is open because\n\t\t\t\t\t// we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.\n\t\t\t\t\t// We track that DOM node to return focus to the PostPublishButtonOrToggle\n\t\t\t\t\t// when the publish sidebar has been closed.\n\t\t\t\t\t<PostSavedState\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<DevicePreview />\n\t\t\t\t<PostPreviewButton forceIsAutosaveable={ hasActiveMetaboxes } />\n\t\t\t\t<ViewLink />\n\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ showIconLabels && ! isWideViewport && (\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t</div>\n\t);\n}\n\nexport default Header;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","BlockToolbar","store","blockEditorStore","PostSavedState","PostPreviewButton","editorStore","DocumentBar","privateApis","editorPrivateApis","useEffect","useRef","useState","useSelect","__","next","previous","PinnedItems","useViewportMatch","Button","__unstableMotion","motion","Popover","preferencesStore","FullscreenModeClose","MoreMenu","PostPublishButtonOrToggle","MainDashboardButton","editPostStore","unlock","DocumentTools","PostViewLink","PreviewDropdown","slideY","hidden","y","distractionFreeInactive","hover","transition","type","delay","slideX","x","Header","setEntitiesSavedStatesCallback","isWideViewport","isLargeViewport","blockToolbarRef","isTextEditor","hasBlockSelection","hasActiveMetaboxes","hasFixedToolbar","isEditingTemplate","isPublishSidebarOpened","showIconLabels","hasHistory","select","get","getPreference","getEditorMode","getBlockSelectionStart","hasMetaBoxes","getEditorSettings","goBack","getRenderingMode","isBlockToolsCollapsed","setIsBlockToolsCollapsed","createElement","className","Slot","div","variants","showTooltip","disableBlockTools","Fragment","hideDragHandle","ref","name","icon","onClick","collapsed","label","forceIsDirty","forceIsAutosaveable","scope"],"sources":["@wordpress/edit-post/src/components/header/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPostSavedState,\n\tPostPreviewButton,\n\tstore as editorStore,\n\tDocumentBar,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { next, previous } from '@wordpress/icons';\nimport { PinnedItems } from '@wordpress/interface';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tButton,\n\t__unstableMotion as motion,\n\tPopover,\n} from '@wordpress/components';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport FullscreenModeClose from './fullscreen-mode-close';\nimport MoreMenu from './more-menu';\nimport PostPublishButtonOrToggle from './post-publish-button-or-toggle';\nimport MainDashboardButton from './main-dashboard-button';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { DocumentTools, PostViewLink, PreviewDropdown } =\n\tunlock( editorPrivateApis );\n\nconst slideY = {\n\thidden: { y: '-50px' },\n\tdistractionFreeInactive: { y: 0 },\n\thover: { y: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nconst slideX = {\n\thidden: { x: '-100%' },\n\tdistractionFreeInactive: { x: 0 },\n\thover: { x: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nfunction Header( { setEntitiesSavedStatesCallback } ) {\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst blockToolbarRef = useRef();\n\tconst {\n\t\tisTextEditor,\n\t\thasBlockSelection,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tisEditingTemplate,\n\t\tisPublishSidebarOpened,\n\t\tshowIconLabels,\n\t\thasHistory,\n\t} = useSelect( ( select ) => {\n\t\tconst { get: getPreference } = select( preferencesStore );\n\t\tconst { getEditorMode } = select( editPostStore );\n\n\t\treturn {\n\t\t\tisTextEditor: getEditorMode() === 'text',\n\t\t\thasBlockSelection:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\thasHistory: !! select( editorStore ).getEditorSettings().goBack,\n\t\t\tisEditingTemplate:\n\t\t\t\tselect( editorStore ).getRenderingMode() === 'template-only',\n\t\t\tisPublishSidebarOpened:\n\t\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\t\thasFixedToolbar: getPreference( 'core', 'fixedToolbar' ),\n\t\t\tshowIconLabels: getPreference( 'core', 'showIconLabels' ),\n\t\t};\n\t}, [] );\n\n\tconst [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] =\n\t\tuseState( true );\n\n\tuseEffect( () => {\n\t\t// If we have a new block selection, show the block tools\n\t\tif ( hasBlockSelection ) {\n\t\t\tsetIsBlockToolsCollapsed( false );\n\t\t}\n\t}, [ hasBlockSelection ] );\n\n\treturn (\n\t\t<div className=\"edit-post-header\">\n\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ slideX }\n\t\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\t>\n\t\t\t\t\t<FullscreenModeClose showTooltip />\n\t\t\t\t</motion.div>\n\t\t\t</MainDashboardButton.Slot>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__toolbar\"\n\t\t\t>\n\t\t\t\t<DocumentTools disableBlockTools={ isTextEditor } />\n\t\t\t\t{ hasFixedToolbar && isLargeViewport && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'selected-block-tools-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-collapsed':\n\t\t\t\t\t\t\t\t\t\tisEditingTemplate &&\n\t\t\t\t\t\t\t\t\t\tisBlockToolsCollapsed,\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\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Popover.Slot\n\t\t\t\t\t\t\tref={ blockToolbarRef }\n\t\t\t\t\t\t\tname=\"block-toolbar\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isEditingTemplate && hasBlockSelection && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"edit-post-header__block-tools-toggle\"\n\t\t\t\t\t\t\t\ticon={ isBlockToolsCollapsed ? next : previous }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsBlockToolsCollapsed(\n\t\t\t\t\t\t\t\t\t\t( collapsed ) => ! collapsed\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\tlabel={\n\t\t\t\t\t\t\t\t\tisBlockToolsCollapsed\n\t\t\t\t\t\t\t\t\t\t? __( 'Show block tools' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Hide block tools' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames( 'edit-post-header__center', {\n\t\t\t\t\t\t'is-collapsed':\n\t\t\t\t\t\t\tisEditingTemplate &&\n\t\t\t\t\t\t\thasBlockSelection &&\n\t\t\t\t\t\t\t! isBlockToolsCollapsed &&\n\t\t\t\t\t\t\thasFixedToolbar &&\n\t\t\t\t\t\t\tisLargeViewport,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ ( isEditingTemplate || hasHistory ) && <DocumentBar /> }\n\t\t\t\t</div>\n\t\t\t</motion.div>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__settings\"\n\t\t\t>\n\t\t\t\t{ ! isPublishSidebarOpened && (\n\t\t\t\t\t// This button isn't completely hidden by the publish sidebar.\n\t\t\t\t\t// We can't hide the whole toolbar when the publish sidebar is open because\n\t\t\t\t\t// we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.\n\t\t\t\t\t// We track that DOM node to return focus to the PostPublishButtonOrToggle\n\t\t\t\t\t// when the publish sidebar has been closed.\n\t\t\t\t\t<PostSavedState forceIsDirty={ hasActiveMetaboxes } />\n\t\t\t\t) }\n\t\t\t\t<PreviewDropdown forceIsAutosaveable={ hasActiveMetaboxes } />\n\t\t\t\t<PostPreviewButton\n\t\t\t\t\tclassName=\"edit-post-header__post-preview-button\"\n\t\t\t\t\tforceIsAutosaveable={ hasActiveMetaboxes }\n\t\t\t\t/>\n\t\t\t\t<PostViewLink />\n\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-post\" />\n\t\t\t\t) }\n\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t</motion.div>\n\t\t</div>\n\t);\n}\n\nexport default Header;\n"],"mappings":"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"}
@@ -36,7 +36,7 @@ function ModeSwitcher() {
36
36
  shortcut: select(keyboardShortcutsStore).getShortcutRepresentation('core/edit-post/toggle-mode'),
37
37
  isRichEditingEnabled: select(editorStore).getEditorSettings().richEditingEnabled,
38
38
  isCodeEditingEnabled: select(editorStore).getEditorSettings().codeEditingEnabled,
39
- isEditingTemplate: select(editPostStore).isEditingTemplate(),
39
+ isEditingTemplate: select(editorStore).getRenderingMode() === 'template-only',
40
40
  mode: select(editPostStore).getEditorMode()
41
41
  }), []);
42
42
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["__","MenuItemsChoice","MenuGroup","useSelect","useDispatch","store","keyboardShortcutsStore","editorStore","editPostStore","MODES","value","label","ModeSwitcher","shortcut","isRichEditingEnabled","isCodeEditingEnabled","isEditingTemplate","mode","select","getShortcutRepresentation","getEditorSettings","richEditingEnabled","codeEditingEnabled","getEditorMode","switchEditorMode","selectedMode","choices","map","choice","disabled","info","createElement","onSelect"],"sources":["@wordpress/edit-post/src/components/header/mode-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItemsChoice, MenuGroup } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Set of available mode options.\n *\n * @type {Array}\n */\nconst MODES = [\n\t{\n\t\tvalue: 'visual',\n\t\tlabel: __( 'Visual editor' ),\n\t},\n\t{\n\t\tvalue: 'text',\n\t\tlabel: __( 'Code editor' ),\n\t},\n];\n\nfunction ModeSwitcher() {\n\tconst {\n\t\tshortcut,\n\t\tisRichEditingEnabled,\n\t\tisCodeEditingEnabled,\n\t\tisEditingTemplate,\n\t\tmode,\n\t} = useSelect(\n\t\t( select ) => ( {\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/edit-post/toggle-mode' ),\n\t\t\tisRichEditingEnabled:\n\t\t\t\tselect( editorStore ).getEditorSettings().richEditingEnabled,\n\t\t\tisCodeEditingEnabled:\n\t\t\t\tselect( editorStore ).getEditorSettings().codeEditingEnabled,\n\t\t\tisEditingTemplate: select( editPostStore ).isEditingTemplate(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { switchEditorMode } = useDispatch( editPostStore );\n\n\tif ( isEditingTemplate ) {\n\t\treturn null;\n\t}\n\n\tlet selectedMode = mode;\n\tif ( ! isRichEditingEnabled && mode === 'visual' ) {\n\t\tselectedMode = 'text';\n\t}\n\tif ( ! isCodeEditingEnabled && mode === 'text' ) {\n\t\tselectedMode = 'visual';\n\t}\n\n\tconst choices = MODES.map( ( choice ) => {\n\t\tif ( ! isCodeEditingEnabled && choice.value === 'text' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t};\n\t\t}\n\t\tif ( ! isRichEditingEnabled && choice.value === 'visual' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t\tinfo: __(\n\t\t\t\t\t'You can enable the visual editor in your profile settings.'\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\tif ( choice.value !== selectedMode && ! choice.disabled ) {\n\t\t\treturn { ...choice, shortcut };\n\t\t}\n\t\treturn choice;\n\t} );\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Editor' ) }>\n\t\t\t<MenuItemsChoice\n\t\t\t\tchoices={ choices }\n\t\t\t\tvalue={ selectedMode }\n\t\t\t\tonSelect={ switchEditorMode }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default ModeSwitcher;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,EAAEC,SAAS,QAAQ,uBAAuB;AAClE,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,sBAAsB,QAAQ,+BAA+B;AAC/E,SAASD,KAAK,IAAIE,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,SAASF,KAAK,IAAIG,aAAa,QAAQ,gBAAgB;;AAEvD;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAG,CACb;EACCC,KAAK,EAAE,QAAQ;EACfC,KAAK,EAAEX,EAAE,CAAE,eAAgB;AAC5B,CAAC,EACD;EACCU,KAAK,EAAE,MAAM;EACbC,KAAK,EAAEX,EAAE,CAAE,aAAc;AAC1B,CAAC,CACD;AAED,SAASY,YAAYA,CAAA,EAAG;EACvB,MAAM;IACLC,QAAQ;IACRC,oBAAoB;IACpBC,oBAAoB;IACpBC,iBAAiB;IACjBC;EACD,CAAC,GAAGd,SAAS,CACVe,MAAM,KAAQ;IACfL,QAAQ,EAAEK,MAAM,CACfZ,sBACD,CAAC,CAACa,yBAAyB,CAAE,4BAA6B,CAAC;IAC3DL,oBAAoB,EACnBI,MAAM,CAAEX,WAAY,CAAC,CAACa,iBAAiB,CAAC,CAAC,CAACC,kBAAkB;IAC7DN,oBAAoB,EACnBG,MAAM,CAAEX,WAAY,CAAC,CAACa,iBAAiB,CAAC,CAAC,CAACE,kBAAkB;IAC7DN,iBAAiB,EAAEE,MAAM,CAAEV,aAAc,CAAC,CAACQ,iBAAiB,CAAC,CAAC;IAC9DC,IAAI,EAAEC,MAAM,CAAEV,aAAc,CAAC,CAACe,aAAa,CAAC;EAC7C,CAAC,CAAE,EACH,EACD,CAAC;EACD,MAAM;IAAEC;EAAiB,CAAC,GAAGpB,WAAW,CAAEI,aAAc,CAAC;EAEzD,IAAKQ,iBAAiB,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,IAAIS,YAAY,GAAGR,IAAI;EACvB,IAAK,CAAEH,oBAAoB,IAAIG,IAAI,KAAK,QAAQ,EAAG;IAClDQ,YAAY,GAAG,MAAM;EACtB;EACA,IAAK,CAAEV,oBAAoB,IAAIE,IAAI,KAAK,MAAM,EAAG;IAChDQ,YAAY,GAAG,QAAQ;EACxB;EAEA,MAAMC,OAAO,GAAGjB,KAAK,CAACkB,GAAG,CAAIC,MAAM,IAAM;IACxC,IAAK,CAAEb,oBAAoB,IAAIa,MAAM,CAAClB,KAAK,KAAK,MAAM,EAAG;MACxDkB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE;MACX,CAAC;IACF;IACA,IAAK,CAAEf,oBAAoB,IAAIc,MAAM,CAAClB,KAAK,KAAK,QAAQ,EAAG;MAC1DkB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE,IAAI;QACdC,IAAI,EAAE9B,EAAE,CACP,4DACD;MACD,CAAC;IACF;IACA,IAAK4B,MAAM,CAAClB,KAAK,KAAKe,YAAY,IAAI,CAAEG,MAAM,CAACC,QAAQ,EAAG;MACzD,OAAO;QAAE,GAAGD,MAAM;QAAEf;MAAS,CAAC;IAC/B;IACA,OAAOe,MAAM;EACd,CAAE,CAAC;EAEH,OACCG,aAAA,CAAC7B,SAAS;IAACS,KAAK,EAAGX,EAAE,CAAE,QAAS;EAAG,GAClC+B,aAAA,CAAC9B,eAAe;IACfyB,OAAO,EAAGA,OAAS;IACnBhB,KAAK,EAAGe,YAAc;IACtBO,QAAQ,EAAGR;EAAkB,CAC7B,CACS,CAAC;AAEd;AAEA,eAAeZ,YAAY"}
1
+ {"version":3,"names":["__","MenuItemsChoice","MenuGroup","useSelect","useDispatch","store","keyboardShortcutsStore","editorStore","editPostStore","MODES","value","label","ModeSwitcher","shortcut","isRichEditingEnabled","isCodeEditingEnabled","isEditingTemplate","mode","select","getShortcutRepresentation","getEditorSettings","richEditingEnabled","codeEditingEnabled","getRenderingMode","getEditorMode","switchEditorMode","selectedMode","choices","map","choice","disabled","info","createElement","onSelect"],"sources":["@wordpress/edit-post/src/components/header/mode-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItemsChoice, MenuGroup } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Set of available mode options.\n *\n * @type {Array}\n */\nconst MODES = [\n\t{\n\t\tvalue: 'visual',\n\t\tlabel: __( 'Visual editor' ),\n\t},\n\t{\n\t\tvalue: 'text',\n\t\tlabel: __( 'Code editor' ),\n\t},\n];\n\nfunction ModeSwitcher() {\n\tconst {\n\t\tshortcut,\n\t\tisRichEditingEnabled,\n\t\tisCodeEditingEnabled,\n\t\tisEditingTemplate,\n\t\tmode,\n\t} = useSelect(\n\t\t( select ) => ( {\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/edit-post/toggle-mode' ),\n\t\t\tisRichEditingEnabled:\n\t\t\t\tselect( editorStore ).getEditorSettings().richEditingEnabled,\n\t\t\tisCodeEditingEnabled:\n\t\t\t\tselect( editorStore ).getEditorSettings().codeEditingEnabled,\n\t\t\tisEditingTemplate:\n\t\t\t\tselect( editorStore ).getRenderingMode() === 'template-only',\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { switchEditorMode } = useDispatch( editPostStore );\n\n\tif ( isEditingTemplate ) {\n\t\treturn null;\n\t}\n\n\tlet selectedMode = mode;\n\tif ( ! isRichEditingEnabled && mode === 'visual' ) {\n\t\tselectedMode = 'text';\n\t}\n\tif ( ! isCodeEditingEnabled && mode === 'text' ) {\n\t\tselectedMode = 'visual';\n\t}\n\n\tconst choices = MODES.map( ( choice ) => {\n\t\tif ( ! isCodeEditingEnabled && choice.value === 'text' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t};\n\t\t}\n\t\tif ( ! isRichEditingEnabled && choice.value === 'visual' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t\tinfo: __(\n\t\t\t\t\t'You can enable the visual editor in your profile settings.'\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\tif ( choice.value !== selectedMode && ! choice.disabled ) {\n\t\t\treturn { ...choice, shortcut };\n\t\t}\n\t\treturn choice;\n\t} );\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Editor' ) }>\n\t\t\t<MenuItemsChoice\n\t\t\t\tchoices={ choices }\n\t\t\t\tvalue={ selectedMode }\n\t\t\t\tonSelect={ switchEditorMode }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default ModeSwitcher;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,EAAEC,SAAS,QAAQ,uBAAuB;AAClE,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,sBAAsB,QAAQ,+BAA+B;AAC/E,SAASD,KAAK,IAAIE,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,SAASF,KAAK,IAAIG,aAAa,QAAQ,gBAAgB;;AAEvD;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAG,CACb;EACCC,KAAK,EAAE,QAAQ;EACfC,KAAK,EAAEX,EAAE,CAAE,eAAgB;AAC5B,CAAC,EACD;EACCU,KAAK,EAAE,MAAM;EACbC,KAAK,EAAEX,EAAE,CAAE,aAAc;AAC1B,CAAC,CACD;AAED,SAASY,YAAYA,CAAA,EAAG;EACvB,MAAM;IACLC,QAAQ;IACRC,oBAAoB;IACpBC,oBAAoB;IACpBC,iBAAiB;IACjBC;EACD,CAAC,GAAGd,SAAS,CACVe,MAAM,KAAQ;IACfL,QAAQ,EAAEK,MAAM,CACfZ,sBACD,CAAC,CAACa,yBAAyB,CAAE,4BAA6B,CAAC;IAC3DL,oBAAoB,EACnBI,MAAM,CAAEX,WAAY,CAAC,CAACa,iBAAiB,CAAC,CAAC,CAACC,kBAAkB;IAC7DN,oBAAoB,EACnBG,MAAM,CAAEX,WAAY,CAAC,CAACa,iBAAiB,CAAC,CAAC,CAACE,kBAAkB;IAC7DN,iBAAiB,EAChBE,MAAM,CAAEX,WAAY,CAAC,CAACgB,gBAAgB,CAAC,CAAC,KAAK,eAAe;IAC7DN,IAAI,EAAEC,MAAM,CAAEV,aAAc,CAAC,CAACgB,aAAa,CAAC;EAC7C,CAAC,CAAE,EACH,EACD,CAAC;EACD,MAAM;IAAEC;EAAiB,CAAC,GAAGrB,WAAW,CAAEI,aAAc,CAAC;EAEzD,IAAKQ,iBAAiB,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,IAAIU,YAAY,GAAGT,IAAI;EACvB,IAAK,CAAEH,oBAAoB,IAAIG,IAAI,KAAK,QAAQ,EAAG;IAClDS,YAAY,GAAG,MAAM;EACtB;EACA,IAAK,CAAEX,oBAAoB,IAAIE,IAAI,KAAK,MAAM,EAAG;IAChDS,YAAY,GAAG,QAAQ;EACxB;EAEA,MAAMC,OAAO,GAAGlB,KAAK,CAACmB,GAAG,CAAIC,MAAM,IAAM;IACxC,IAAK,CAAEd,oBAAoB,IAAIc,MAAM,CAACnB,KAAK,KAAK,MAAM,EAAG;MACxDmB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE;MACX,CAAC;IACF;IACA,IAAK,CAAEhB,oBAAoB,IAAIe,MAAM,CAACnB,KAAK,KAAK,QAAQ,EAAG;MAC1DmB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE,IAAI;QACdC,IAAI,EAAE/B,EAAE,CACP,4DACD;MACD,CAAC;IACF;IACA,IAAK6B,MAAM,CAACnB,KAAK,KAAKgB,YAAY,IAAI,CAAEG,MAAM,CAACC,QAAQ,EAAG;MACzD,OAAO;QAAE,GAAGD,MAAM;QAAEhB;MAAS,CAAC;IAC/B;IACA,OAAOgB,MAAM;EACd,CAAE,CAAC;EAEH,OACCG,aAAA,CAAC9B,SAAS;IAACS,KAAK,EAAGX,EAAE,CAAE,QAAS;EAAG,GAClCgC,aAAA,CAAC/B,eAAe;IACf0B,OAAO,EAAGA,OAAS;IACnBjB,KAAK,EAAGgB,YAAc;IACtBO,QAAQ,EAAGR;EAAkB,CAC7B,CACS,CAAC;AAEd;AAEA,eAAeb,YAAY"}
@@ -23,7 +23,8 @@ const MoreMenu = ({
23
23
  showTooltip: !showIconLabels,
24
24
  ...(showIconLabels && {
25
25
  variant: 'tertiary'
26
- })
26
+ }),
27
+ size: 'compact'
27
28
  }
28
29
  }, ({
29
30
  onClose
@@ -1 +1 @@
1
- {"version":3,"names":["__","MenuGroup","ActionItem","MoreMenuDropdown","PinnedItems","useViewportMatch","ModeSwitcher","PreferencesMenuItem","ToolsMoreMenuGroup","WritingMenu","MoreMenu","showIconLabels","isLargeViewport","createElement","toggleProps","showTooltip","variant","onClose","Fragment","Slot","className","scope","name","label","as","fillProps","onClick"],"sources":["@wordpress/edit-post/src/components/header/more-menu/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuGroup } from '@wordpress/components';\nimport {\n\tActionItem,\n\tMoreMenuDropdown,\n\tPinnedItems,\n} from '@wordpress/interface';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport ModeSwitcher from '../mode-switcher';\nimport PreferencesMenuItem from '../preferences-menu-item';\nimport ToolsMoreMenuGroup from '../tools-more-menu-group';\nimport WritingMenu from '../writing-menu';\n\nconst MoreMenu = ( { showIconLabels } ) => {\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\n\treturn (\n\t\t<MoreMenuDropdown\n\t\t\ttoggleProps={ {\n\t\t\t\tshowTooltip: ! showIconLabels,\n\t\t\t\t...( showIconLabels && { variant: 'tertiary' } ),\n\t\t\t} }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showIconLabels && ! isLargeViewport && (\n\t\t\t\t\t\t<PinnedItems.Slot\n\t\t\t\t\t\t\tclassName={ showIconLabels && 'show-icon-labels' }\n\t\t\t\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<WritingMenu />\n\t\t\t\t\t<ModeSwitcher />\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/edit-post/plugin-more-menu\"\n\t\t\t\t\t\tlabel={ __( 'Plugins' ) }\n\t\t\t\t\t\tas={ MenuGroup }\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsMoreMenuGroup.Slot fillProps={ { onClose } } />\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<PreferencesMenuItem />\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</MoreMenuDropdown>\n\t);\n};\n\nexport default MoreMenu;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SACCC,UAAU,EACVC,gBAAgB,EAChBC,WAAW,QACL,sBAAsB;AAC7B,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,kBAAkB,MAAM,0BAA0B;AACzD,OAAOC,WAAW,MAAM,iBAAiB;AAEzC,MAAMC,QAAQ,GAAGA,CAAE;EAAEC;AAAe,CAAC,KAAM;EAC1C,MAAMC,eAAe,GAAGP,gBAAgB,CAAE,OAAQ,CAAC;EAEnD,OACCQ,aAAA,CAACV,gBAAgB;IAChBW,WAAW,EAAG;MACbC,WAAW,EAAE,CAAEJ,cAAc;MAC7B,IAAKA,cAAc,IAAI;QAAEK,OAAO,EAAE;MAAW,CAAC;IAC/C;EAAG,GAED,CAAE;IAAEC;EAAQ,CAAC,KACdJ,aAAA,CAAAK,QAAA,QACGP,cAAc,IAAI,CAAEC,eAAe,IACpCC,aAAA,CAACT,WAAW,CAACe,IAAI;IAChBC,SAAS,EAAGT,cAAc,IAAI,kBAAoB;IAClDU,KAAK,EAAC;EAAgB,CACtB,CACD,EACDR,aAAA,CAACJ,WAAW,MAAE,CAAC,EACfI,aAAA,CAACP,YAAY,MAAE,CAAC,EAChBO,aAAA,CAACX,UAAU,CAACiB,IAAI;IACfG,IAAI,EAAC,iCAAiC;IACtCC,KAAK,EAAGvB,EAAE,CAAE,SAAU,CAAG;IACzBwB,EAAE,EAAGvB,SAAW;IAChBwB,SAAS,EAAG;MAAEC,OAAO,EAAET;IAAQ;EAAG,CAClC,CAAC,EACFJ,aAAA,CAACL,kBAAkB,CAACW,IAAI;IAACM,SAAS,EAAG;MAAER;IAAQ;EAAG,CAAE,CAAC,EACrDJ,aAAA,CAACZ,SAAS,QACTY,aAAA,CAACN,mBAAmB,MAAE,CACZ,CACV,CAEc,CAAC;AAErB,CAAC;AAED,eAAeG,QAAQ"}
1
+ {"version":3,"names":["__","MenuGroup","ActionItem","MoreMenuDropdown","PinnedItems","useViewportMatch","ModeSwitcher","PreferencesMenuItem","ToolsMoreMenuGroup","WritingMenu","MoreMenu","showIconLabels","isLargeViewport","createElement","toggleProps","showTooltip","variant","size","onClose","Fragment","Slot","className","scope","name","label","as","fillProps","onClick"],"sources":["@wordpress/edit-post/src/components/header/more-menu/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuGroup } from '@wordpress/components';\nimport {\n\tActionItem,\n\tMoreMenuDropdown,\n\tPinnedItems,\n} from '@wordpress/interface';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport ModeSwitcher from '../mode-switcher';\nimport PreferencesMenuItem from '../preferences-menu-item';\nimport ToolsMoreMenuGroup from '../tools-more-menu-group';\nimport WritingMenu from '../writing-menu';\n\nconst MoreMenu = ( { showIconLabels } ) => {\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\n\treturn (\n\t\t<MoreMenuDropdown\n\t\t\ttoggleProps={ {\n\t\t\t\tshowTooltip: ! showIconLabels,\n\t\t\t\t...( showIconLabels && { variant: 'tertiary' } ),\n\t\t\t\tsize: 'compact',\n\t\t\t} }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showIconLabels && ! isLargeViewport && (\n\t\t\t\t\t\t<PinnedItems.Slot\n\t\t\t\t\t\t\tclassName={ showIconLabels && 'show-icon-labels' }\n\t\t\t\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<WritingMenu />\n\t\t\t\t\t<ModeSwitcher />\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/edit-post/plugin-more-menu\"\n\t\t\t\t\t\tlabel={ __( 'Plugins' ) }\n\t\t\t\t\t\tas={ MenuGroup }\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsMoreMenuGroup.Slot fillProps={ { onClose } } />\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<PreferencesMenuItem />\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</MoreMenuDropdown>\n\t);\n};\n\nexport default MoreMenu;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SACCC,UAAU,EACVC,gBAAgB,EAChBC,WAAW,QACL,sBAAsB;AAC7B,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,kBAAkB,MAAM,0BAA0B;AACzD,OAAOC,WAAW,MAAM,iBAAiB;AAEzC,MAAMC,QAAQ,GAAGA,CAAE;EAAEC;AAAe,CAAC,KAAM;EAC1C,MAAMC,eAAe,GAAGP,gBAAgB,CAAE,OAAQ,CAAC;EAEnD,OACCQ,aAAA,CAACV,gBAAgB;IAChBW,WAAW,EAAG;MACbC,WAAW,EAAE,CAAEJ,cAAc;MAC7B,IAAKA,cAAc,IAAI;QAAEK,OAAO,EAAE;MAAW,CAAC,CAAE;MAChDC,IAAI,EAAE;IACP;EAAG,GAED,CAAE;IAAEC;EAAQ,CAAC,KACdL,aAAA,CAAAM,QAAA,QACGR,cAAc,IAAI,CAAEC,eAAe,IACpCC,aAAA,CAACT,WAAW,CAACgB,IAAI;IAChBC,SAAS,EAAGV,cAAc,IAAI,kBAAoB;IAClDW,KAAK,EAAC;EAAgB,CACtB,CACD,EACDT,aAAA,CAACJ,WAAW,MAAE,CAAC,EACfI,aAAA,CAACP,YAAY,MAAE,CAAC,EAChBO,aAAA,CAACX,UAAU,CAACkB,IAAI;IACfG,IAAI,EAAC,iCAAiC;IACtCC,KAAK,EAAGxB,EAAE,CAAE,SAAU,CAAG;IACzByB,EAAE,EAAGxB,SAAW;IAChByB,SAAS,EAAG;MAAEC,OAAO,EAAET;IAAQ;EAAG,CAClC,CAAC,EACFL,aAAA,CAACL,kBAAkB,CAACY,IAAI;IAACM,SAAS,EAAG;MAAER;IAAQ;EAAG,CAAE,CAAC,EACrDL,aAAA,CAACZ,SAAS,QACTY,aAAA,CAACN,mBAAmB,MAAE,CACZ,CACV,CAEc,CAAC;AAErB,CAAC;AAED,eAAeG,QAAQ"}
@@ -2,13 +2,13 @@ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { useSelect, useDispatch, useRegistry } from '@wordpress/data';
5
+ import { useDispatch, useRegistry } from '@wordpress/data';
6
6
  import { MenuGroup } from '@wordpress/components';
7
7
  import { __, _x } from '@wordpress/i18n';
8
8
  import { useViewportMatch } from '@wordpress/compose';
9
9
  import { displayShortcut } from '@wordpress/keycodes';
10
10
  import { PreferenceToggleMenuItem, store as preferencesStore } from '@wordpress/preferences';
11
- import { store as blockEditorStore } from '@wordpress/block-editor';
11
+ import { store as editorStore } from '@wordpress/editor';
12
12
 
13
13
  /**
14
14
  * Internal dependencies
@@ -16,23 +16,27 @@ import { store as blockEditorStore } from '@wordpress/block-editor';
16
16
  import { store as postEditorStore } from '../../../store';
17
17
  function WritingMenu() {
18
18
  const registry = useRegistry();
19
- const isDistractionFree = useSelect(select => select(blockEditorStore).getSettings().isDistractionFree, []);
20
19
  const {
21
- setIsInserterOpened,
22
- setIsListViewOpened,
23
20
  closeGeneralSidebar
24
21
  } = useDispatch(postEditorStore);
25
22
  const {
26
23
  set: setPreference
27
24
  } = useDispatch(preferencesStore);
25
+ const {
26
+ setIsInserterOpened,
27
+ setIsListViewOpened
28
+ } = useDispatch(editorStore);
28
29
  const toggleDistractionFree = () => {
29
30
  registry.batch(() => {
30
- setPreference('core/edit-post', 'fixedToolbar', true);
31
+ setPreference('core', 'fixedToolbar', true);
31
32
  setIsInserterOpened(false);
32
33
  setIsListViewOpened(false);
33
34
  closeGeneralSidebar();
34
35
  });
35
36
  };
37
+ const turnOffDistractionFree = () => {
38
+ setPreference('core', 'distractionFree', false);
39
+ };
36
40
  const isLargeViewport = useViewportMatch('medium');
37
41
  if (!isLargeViewport) {
38
42
  return null;
@@ -40,15 +44,24 @@ function WritingMenu() {
40
44
  return createElement(MenuGroup, {
41
45
  label: _x('View', 'noun')
42
46
  }, createElement(PreferenceToggleMenuItem, {
43
- scope: "core/edit-post",
44
- disabled: isDistractionFree,
47
+ scope: "core",
45
48
  name: "fixedToolbar",
49
+ onToggle: turnOffDistractionFree,
46
50
  label: __('Top toolbar'),
47
51
  info: __('Access all block and document tools in a single place'),
48
52
  messageActivated: __('Top toolbar activated'),
49
53
  messageDeactivated: __('Top toolbar deactivated')
50
54
  }), createElement(PreferenceToggleMenuItem, {
51
- scope: "core/edit-post",
55
+ scope: "core",
56
+ name: "distractionFree",
57
+ onToggle: toggleDistractionFree,
58
+ label: __('Distraction free'),
59
+ info: __('Write with calmness'),
60
+ messageActivated: __('Distraction free mode activated'),
61
+ messageDeactivated: __('Distraction free mode deactivated'),
62
+ shortcut: displayShortcut.primaryShift('\\')
63
+ }), createElement(PreferenceToggleMenuItem, {
64
+ scope: "core",
52
65
  name: "focusMode",
53
66
  label: __('Spotlight mode'),
54
67
  info: __('Focus on one block at a time'),
@@ -58,19 +71,10 @@ function WritingMenu() {
58
71
  scope: "core/edit-post",
59
72
  name: "fullscreenMode",
60
73
  label: __('Fullscreen mode'),
61
- info: __('Show and hide admin UI'),
74
+ info: __('Show and hide the admin user interface'),
62
75
  messageActivated: __('Fullscreen mode activated'),
63
76
  messageDeactivated: __('Fullscreen mode deactivated'),
64
77
  shortcut: displayShortcut.secondary('f')
65
- }), createElement(PreferenceToggleMenuItem, {
66
- scope: "core/edit-post",
67
- name: "distractionFree",
68
- onToggle: toggleDistractionFree,
69
- label: __('Distraction free'),
70
- info: __('Write with calmness'),
71
- messageActivated: __('Distraction free mode activated'),
72
- messageDeactivated: __('Distraction free mode deactivated'),
73
- shortcut: displayShortcut.primaryShift('\\')
74
78
  }));
75
79
  }
76
80
  export default WritingMenu;
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","useRegistry","MenuGroup","__","_x","useViewportMatch","displayShortcut","PreferenceToggleMenuItem","store","preferencesStore","blockEditorStore","postEditorStore","WritingMenu","registry","isDistractionFree","select","getSettings","setIsInserterOpened","setIsListViewOpened","closeGeneralSidebar","set","setPreference","toggleDistractionFree","batch","isLargeViewport","createElement","label","scope","disabled","name","info","messageActivated","messageDeactivated","shortcut","secondary","onToggle","primaryShift"],"sources":["@wordpress/edit-post/src/components/header/writing-menu/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { MenuGroup } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport {\n\tPreferenceToggleMenuItem,\n\tstore as preferencesStore,\n} from '@wordpress/preferences';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as postEditorStore } from '../../../store';\n\nfunction WritingMenu() {\n\tconst registry = useRegistry();\n\tconst isDistractionFree = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().isDistractionFree,\n\t\t[]\n\t);\n\n\tconst { setIsInserterOpened, setIsListViewOpened, closeGeneralSidebar } =\n\t\tuseDispatch( postEditorStore );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tregistry.batch( () => {\n\t\t\tsetPreference( 'core/edit-post', 'fixedToolbar', true );\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t\tcloseGeneralSidebar();\n\t\t} );\n\t};\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tif ( ! isLargeViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup label={ _x( 'View', 'noun' ) }>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tdisabled={ isDistractionFree }\n\t\t\t\tname=\"fixedToolbar\"\n\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\tinfo={ __(\n\t\t\t\t\t'Access all block and document tools in a single place'\n\t\t\t\t) }\n\t\t\t\tmessageActivated={ __( 'Top toolbar activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Top toolbar deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"focusMode\"\n\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\tinfo={ __( 'Focus on one block at a time' ) }\n\t\t\t\tmessageActivated={ __( 'Spotlight mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Spotlight mode deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"fullscreenMode\"\n\t\t\t\tlabel={ __( 'Fullscreen mode' ) }\n\t\t\t\tinfo={ __( 'Show and hide admin UI' ) }\n\t\t\t\tmessageActivated={ __( 'Fullscreen mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Fullscreen mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.secondary( 'f' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"distractionFree\"\n\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\tinfo={ __( 'Write with calmness' ) }\n\t\t\t\tmessageActivated={ __( 'Distraction free mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Distraction free mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.primaryShift( '\\\\' ) }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default WritingMenu;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useDispatch","useRegistry","MenuGroup","__","_x","useViewportMatch","displayShortcut","PreferenceToggleMenuItem","store","preferencesStore","editorStore","postEditorStore","WritingMenu","registry","closeGeneralSidebar","set","setPreference","setIsInserterOpened","setIsListViewOpened","toggleDistractionFree","batch","turnOffDistractionFree","isLargeViewport","createElement","label","scope","name","onToggle","info","messageActivated","messageDeactivated","shortcut","primaryShift","secondary"],"sources":["@wordpress/edit-post/src/components/header/writing-menu/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { MenuGroup } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport {\n\tPreferenceToggleMenuItem,\n\tstore as preferencesStore,\n} from '@wordpress/preferences';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as postEditorStore } from '../../../store';\n\nfunction WritingMenu() {\n\tconst registry = useRegistry();\n\n\tconst { closeGeneralSidebar } = useDispatch( postEditorStore );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tregistry.batch( () => {\n\t\t\tsetPreference( 'core', 'fixedToolbar', true );\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t\tcloseGeneralSidebar();\n\t\t} );\n\t};\n\n\tconst turnOffDistractionFree = () => {\n\t\tsetPreference( 'core', 'distractionFree', false );\n\t};\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tif ( ! isLargeViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup label={ _x( 'View', 'noun' ) }>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core\"\n\t\t\t\tname=\"fixedToolbar\"\n\t\t\t\tonToggle={ turnOffDistractionFree }\n\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\tinfo={ __(\n\t\t\t\t\t'Access all block and document tools in a single place'\n\t\t\t\t) }\n\t\t\t\tmessageActivated={ __( 'Top toolbar activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Top toolbar deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core\"\n\t\t\t\tname=\"distractionFree\"\n\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\tinfo={ __( 'Write with calmness' ) }\n\t\t\t\tmessageActivated={ __( 'Distraction free mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Distraction free mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.primaryShift( '\\\\' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core\"\n\t\t\t\tname=\"focusMode\"\n\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\tinfo={ __( 'Focus on one block at a time' ) }\n\t\t\t\tmessageActivated={ __( 'Spotlight mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Spotlight mode deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"fullscreenMode\"\n\t\t\t\tlabel={ __( 'Fullscreen mode' ) }\n\t\t\t\tinfo={ __( 'Show and hide the admin user interface' ) }\n\t\t\t\tmessageActivated={ __( 'Fullscreen mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Fullscreen mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.secondary( 'f' ) }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default WritingMenu;\n"],"mappings":"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"}
@@ -16,8 +16,7 @@ import { store as editPostStore } from '../../store';
16
16
  function KeyboardShortcuts() {
17
17
  const {
18
18
  getEditorMode,
19
- isEditorSidebarOpened,
20
- isListViewOpened
19
+ isEditorSidebarOpened
21
20
  } = useSelect(editPostStore);
22
21
  const isModeToggleDisabled = useSelect(select => {
23
22
  const {
@@ -31,7 +30,6 @@ function KeyboardShortcuts() {
31
30
  openGeneralSidebar,
32
31
  closeGeneralSidebar,
33
32
  toggleFeature,
34
- setIsListViewOpened,
35
33
  toggleDistractionFree
36
34
  } = useDispatch(editPostStore);
37
35
  const {
@@ -96,15 +94,6 @@ function KeyboardShortcuts() {
96
94
  character: 'f'
97
95
  }
98
96
  });
99
- registerShortcut({
100
- name: 'core/edit-post/toggle-list-view',
101
- category: 'global',
102
- description: __('Open the block list view.'),
103
- keyCombination: {
104
- modifier: 'access',
105
- character: 'o'
106
- }
107
- });
108
97
  registerShortcut({
109
98
  name: 'core/edit-post/toggle-sidebar',
110
99
  category: 'global',
@@ -195,14 +184,6 @@ function KeyboardShortcuts() {
195
184
  openGeneralSidebar(sidebarToOpen);
196
185
  }
197
186
  });
198
-
199
- // Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.
200
- useShortcut('core/edit-post/toggle-list-view', event => {
201
- if (!isListViewOpened()) {
202
- event.preventDefault();
203
- setIsListViewOpened(true);
204
- }
205
- });
206
187
  useShortcut('core/edit-post/transform-heading-to-paragraph', event => handleTextLevelShortcut(event, 0));
207
188
  [1, 2, 3, 4, 5, 6].forEach(level => {
208
189
  //the loop is based off on a constant therefore
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useSelect","useDispatch","useShortcut","store","keyboardShortcutsStore","__","editorStore","blockEditorStore","createBlock","editPostStore","KeyboardShortcuts","getEditorMode","isEditorSidebarOpened","isListViewOpened","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","getEditorSettings","switchEditorMode","openGeneralSidebar","closeGeneralSidebar","toggleFeature","setIsListViewOpened","toggleDistractionFree","registerShortcut","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","getBlockSelectionStart","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","content","name","category","description","keyCombination","modifier","character","aliases","forEach","isDisabled","sidebarToOpen"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { getEditorMode, isEditorSidebarOpened, isListViewOpened } =\n\t\tuseSelect( editPostStore );\n\tconst isModeToggleDisabled = useSelect( ( select ) => {\n\t\tconst { richEditingEnabled, codeEditingEnabled } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\treturn ! richEditingEnabled || ! codeEditingEnabled;\n\t}, [] );\n\n\tconst {\n\t\tswitchEditorMode,\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\ttoggleFeature,\n\t\tsetIsListViewOpened,\n\t\ttoggleDistractionFree,\n\t} = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockName,\n\t\tgetSelectedBlockClientId,\n\t\tgetBlockAttributes,\n\t\tgetBlockSelectionStart,\n\t} = useSelect( blockEditorStore );\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-mode',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Switch between visual editor and code editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'm',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-distraction-free',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle distraction free mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: '\\\\',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-fullscreen',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle fullscreen mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'f',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-sidebar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Show or hide the Settings sidebar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: ',',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\t\tcharacter: '~',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/keyboard-shortcuts',\n\t\t\tcategory: 'main',\n\t\t\tdescription: __( 'Display these keyboard shortcuts.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'h',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/transform-heading-to-paragraph',\n\t\t\tcategory: 'block-library',\n\t\t\tdescription: __( 'Transform heading to paragraph.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: `0`,\n\t\t\t},\n\t\t} );\n\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tregisterShortcut( {\n\t\t\t\tname: `core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t\tcategory: 'block-library',\n\t\t\t\tdescription: __( 'Transform paragraph to heading.' ),\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: `${ level }`,\n\t\t\t\t},\n\t\t\t} );\n\t\t} );\n\t}, [] );\n\n\tuseShortcut(\n\t\t'core/edit-post/toggle-mode',\n\t\t() => {\n\t\t\tswitchEditorMode(\n\t\t\t\tgetEditorMode() === 'visual' ? 'text' : 'visual'\n\t\t\t);\n\t\t},\n\t\t{\n\t\t\tisDisabled: isModeToggleDisabled,\n\t\t}\n\t);\n\n\tuseShortcut( 'core/edit-post/toggle-fullscreen', () => {\n\t\ttoggleFeature( 'fullscreenMode' );\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isEditorSidebarOpened() ) {\n\t\t\tcloseGeneralSidebar();\n\t\t} else {\n\t\t\tconst sidebarToOpen = getBlockSelectionStart()\n\t\t\t\t? 'edit-post/block'\n\t\t\t\t: 'edit-post/document';\n\t\t\topenGeneralSidebar( sidebarToOpen );\n\t\t}\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-post/toggle-list-view', ( event ) => {\n\t\tif ( ! isListViewOpened() ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( true );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-post/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useEffect","useSelect","useDispatch","useShortcut","store","keyboardShortcutsStore","__","editorStore","blockEditorStore","createBlock","editPostStore","KeyboardShortcuts","getEditorMode","isEditorSidebarOpened","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","getEditorSettings","switchEditorMode","openGeneralSidebar","closeGeneralSidebar","toggleFeature","toggleDistractionFree","registerShortcut","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","getBlockSelectionStart","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","content","name","category","description","keyCombination","modifier","character","aliases","forEach","isDisabled","sidebarToOpen"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { getEditorMode, isEditorSidebarOpened } = useSelect( editPostStore );\n\tconst isModeToggleDisabled = useSelect( ( select ) => {\n\t\tconst { richEditingEnabled, codeEditingEnabled } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\treturn ! richEditingEnabled || ! codeEditingEnabled;\n\t}, [] );\n\tconst {\n\t\tswitchEditorMode,\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\ttoggleFeature,\n\t\ttoggleDistractionFree,\n\t} = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockName,\n\t\tgetSelectedBlockClientId,\n\t\tgetBlockAttributes,\n\t\tgetBlockSelectionStart,\n\t} = useSelect( blockEditorStore );\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-mode',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Switch between visual editor and code editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'm',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-distraction-free',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle distraction free mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: '\\\\',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-fullscreen',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle fullscreen mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'f',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-sidebar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Show or hide the Settings sidebar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: ',',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\t\tcharacter: '~',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/keyboard-shortcuts',\n\t\t\tcategory: 'main',\n\t\t\tdescription: __( 'Display these keyboard shortcuts.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'h',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/transform-heading-to-paragraph',\n\t\t\tcategory: 'block-library',\n\t\t\tdescription: __( 'Transform heading to paragraph.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: `0`,\n\t\t\t},\n\t\t} );\n\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tregisterShortcut( {\n\t\t\t\tname: `core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t\tcategory: 'block-library',\n\t\t\t\tdescription: __( 'Transform paragraph to heading.' ),\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: `${ level }`,\n\t\t\t\t},\n\t\t\t} );\n\t\t} );\n\t}, [] );\n\n\tuseShortcut(\n\t\t'core/edit-post/toggle-mode',\n\t\t() => {\n\t\t\tswitchEditorMode(\n\t\t\t\tgetEditorMode() === 'visual' ? 'text' : 'visual'\n\t\t\t);\n\t\t},\n\t\t{\n\t\t\tisDisabled: isModeToggleDisabled,\n\t\t}\n\t);\n\n\tuseShortcut( 'core/edit-post/toggle-fullscreen', () => {\n\t\ttoggleFeature( 'fullscreenMode' );\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isEditorSidebarOpened() ) {\n\t\t\tcloseGeneralSidebar();\n\t\t} else {\n\t\t\tconst sidebarToOpen = getBlockSelectionStart()\n\t\t\t\t? 'edit-post/block'\n\t\t\t\t: 'edit-post/document';\n\t\t\topenGeneralSidebar( sidebarToOpen );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-post/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"],"mappings":"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"}