11import { __ , _x } from '@wordpress/i18n' ;
22import { useSelect , useDispatch } from '@wordpress/data' ;
33import { Button } from '@wordpress/components' ;
4- import { moreVertical } from '@wordpress/icons' ;
4+ import { brush , drawerRight , moreVertical } from '@wordpress/icons' ;
55import { store as preferencesStore } from '@wordpress/preferences' ;
66import { store as interfaceStore , ActionItem } from '@wordpress/interface' ;
77import { keyboardShortcut } from '@wordpress/keycodes' ;
@@ -10,8 +10,9 @@ import { Menu } from '@wordpress/ui';
1010import CopyContentMenuItem from './copy-content-menu-item' ;
1111import MoreMenuItem from './more-menu-item' ;
1212import ModeSwitcher from '../mode-switcher' ;
13- import MoreMenuGroup from './more-menu-group' ;
13+ import { toMenuItems } from './more-menu-group' ;
1414import MoreMenuPreferenceItem from './more-menu-preference-item' ;
15+ import MoreMenuSubmenu from './more-menu-submenu' ;
1516import ToolsMoreMenuGroup from './tools-more-menu-group' ;
1617import ViewMoreMenuGroup from './view-more-menu-group' ;
1718import { store as editorStore } from '../../store' ;
@@ -69,58 +70,70 @@ export default function MoreMenu( { isRevisionMode = false } ) {
6970 >
7071 < Menu . Group >
7172 < Menu . GroupLabel > { _x ( 'View' , 'noun' ) } </ Menu . GroupLabel >
72- < MoreMenuPreferenceItem
73- scope = "core"
74- name = "fixedToolbar"
75- onToggle = { turnOffDistractionFree }
76- label = { __ ( 'Top toolbar' ) }
77- info = { __ (
78- 'Access all block and document tools in a single place'
79- ) }
80- messageActivated = { __ ( 'Top toolbar activated.' ) }
81- messageDeactivated = { __ ( 'Top toolbar deactivated.' ) }
82- />
83- < MoreMenuPreferenceItem
84- scope = "core"
85- name = "distractionFree"
86- label = { __ ( 'Distraction free' ) }
87- info = { __ ( 'Write with calmness' ) }
88- handleToggling = { false }
89- onToggle = { ( ) =>
90- toggleDistractionFree ( { createNotice : false } )
91- }
92- messageActivated = { __ (
93- 'Distraction free mode activated.'
94- ) }
95- messageDeactivated = { __ (
96- 'Distraction free mode deactivated.'
97- ) }
98- shortcut = { keyboardShortcut . primaryShift ( '\\' ) }
99- />
100- < MoreMenuPreferenceItem
101- scope = "core"
102- name = "focusMode"
103- label = { __ ( 'Spotlight mode' ) }
104- info = { __ ( 'Focus on one block at a time' ) }
105- messageActivated = { __ ( 'Spotlight mode activated.' ) }
106- messageDeactivated = { __ (
107- 'Spotlight mode deactivated.'
73+ < MoreMenuSubmenu
74+ icon = { brush }
75+ label = { __ ( 'Appearance' ) }
76+ >
77+ < MoreMenuPreferenceItem
78+ scope = "core"
79+ name = "fixedToolbar"
80+ onToggle = { turnOffDistractionFree }
81+ label = { __ ( 'Top toolbar' ) }
82+ info = { __ (
83+ 'Access all block and document tools in a single place'
84+ ) }
85+ messageActivated = { __ ( 'Top toolbar activated.' ) }
86+ messageDeactivated = { __ (
87+ 'Top toolbar deactivated.'
88+ ) }
89+ />
90+ < MoreMenuPreferenceItem
91+ scope = "core"
92+ name = "distractionFree"
93+ label = { __ ( 'Distraction free' ) }
94+ info = { __ ( 'Write with calmness' ) }
95+ handleToggling = { false }
96+ onToggle = { ( ) =>
97+ toggleDistractionFree ( { createNotice : false } )
98+ }
99+ messageActivated = { __ (
100+ 'Distraction free mode activated.'
101+ ) }
102+ messageDeactivated = { __ (
103+ 'Distraction free mode deactivated.'
104+ ) }
105+ shortcut = { keyboardShortcut . primaryShift ( '\\' ) }
106+ />
107+ < MoreMenuPreferenceItem
108+ scope = "core"
109+ name = "focusMode"
110+ label = { __ ( 'Spotlight mode' ) }
111+ info = { __ ( 'Focus on one block at a time' ) }
112+ messageActivated = { __ (
113+ 'Spotlight mode activated.'
114+ ) }
115+ messageDeactivated = { __ (
116+ 'Spotlight mode deactivated.'
117+ ) }
118+ />
119+ < ViewMoreMenuGroup . Slot />
120+ </ MoreMenuSubmenu >
121+ < ActionItem . Slot
122+ name = "core/plugin-more-menu"
123+ fillProps = { { as : MoreMenuItem } }
124+ >
125+ { ( items ) => (
126+ < MoreMenuSubmenu
127+ icon = { drawerRight }
128+ label = { __ ( 'Panels' ) }
129+ >
130+ { toMenuItems ( items ) }
131+ </ MoreMenuSubmenu >
108132 ) }
109- />
110- < ViewMoreMenuGroup . Slot />
133+ </ ActionItem . Slot >
111134 </ Menu . Group >
112135 < Menu . Separator />
113136 < ModeSwitcher />
114- < ActionItem . Slot
115- name = "core/plugin-more-menu"
116- fillProps = { { as : MoreMenuItem } }
117- >
118- { ( items ) => (
119- < MoreMenuGroup label = { __ ( 'Panels' ) } >
120- { items }
121- </ MoreMenuGroup >
122- ) }
123- </ ActionItem . Slot >
124137 < Menu . Separator />
125138 < Menu . Group >
126139 < Menu . GroupLabel > { __ ( 'Tools' ) } </ Menu . GroupLabel >
0 commit comments