UNPKG

@wordpress/editor

Version:
8 lines (7 loc) 8.48 kB
{ "version": 3, "sources": ["../../../src/components/more-menu/index.js"], "sourcesContent": ["import { __, _x } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { external, moreVertical } from '@wordpress/icons';\nimport { MenuGroup, MenuItem, DropdownMenu } from '@wordpress/components';\nimport {\n\tPreferenceToggleMenuItem,\n\tstore as preferencesStore,\n} from '@wordpress/preferences';\nimport { store as interfaceStore, ActionItem } from '@wordpress/interface';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport CopyContentMenuItem from './copy-content-menu-item';\nimport ModeSwitcher from '../mode-switcher';\nimport ToolsMoreMenuGroup from './tools-more-menu-group';\nimport ViewMoreMenuGroup from './view-more-menu-group';\nimport { store as editorStore } from '../../store';\n\nexport default function MoreMenu( { isRevisionMode = false } ) {\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst { toggleDistractionFree } = useDispatch( editorStore );\n\tconst showIconLabels = useSelect(\n\t\t( select ) =>\n\t\t\tselect( preferencesStore ).get( 'core', 'showIconLabels' ),\n\t\t[]\n\t);\n\n\tconst turnOffDistractionFree = () => {\n\t\tsetPreference( 'core', 'distractionFree', false );\n\t};\n\tconst dropdownProps = {\n\t\ticon: moreVertical,\n\t\tlabel: __( 'Options' ),\n\t\tpopoverProps: {\n\t\t\tplacement: 'bottom-end',\n\t\t\tclassName: 'more-menu-dropdown__content',\n\t\t},\n\t\ttoggleProps: {\n\t\t\tshowTooltip: ! showIconLabels,\n\t\t\t...( showIconLabels && { variant: 'tertiary' } ),\n\t\t\ttooltipPosition: 'bottom',\n\t\t\tsize: 'compact',\n\t\t},\n\t};\n\n\tif ( isRevisionMode ) {\n\t\treturn (\n\t\t\t<DropdownMenu { ...dropdownProps }>\n\t\t\t\t{ () => <ModeSwitcher /> }\n\t\t\t</DropdownMenu>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu { ...dropdownProps }>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup label={ _x( 'View', 'noun' ) }>\n\t\t\t\t\t\t\t<PreferenceToggleMenuItem\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tname=\"fixedToolbar\"\n\t\t\t\t\t\t\t\tonToggle={ turnOffDistractionFree }\n\t\t\t\t\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\t\t\t\t\tinfo={ __(\n\t\t\t\t\t\t\t\t\t'Access all block and document tools in a single place'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tmessageActivated={ __(\n\t\t\t\t\t\t\t\t\t'Top toolbar activated.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tmessageDeactivated={ __(\n\t\t\t\t\t\t\t\t\t'Top toolbar deactivated.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PreferenceToggleMenuItem\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tname=\"distractionFree\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\t\t\t\t\tinfo={ __( 'Write with calmness' ) }\n\t\t\t\t\t\t\t\thandleToggling={ false }\n\t\t\t\t\t\t\t\tonToggle={ () =>\n\t\t\t\t\t\t\t\t\ttoggleDistractionFree( {\n\t\t\t\t\t\t\t\t\t\tcreateNotice: false,\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\tmessageActivated={ __(\n\t\t\t\t\t\t\t\t\t'Distraction free mode activated.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tmessageDeactivated={ __(\n\t\t\t\t\t\t\t\t\t'Distraction free mode deactivated.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift(\n\t\t\t\t\t\t\t\t\t'\\\\'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PreferenceToggleMenuItem\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tname=\"focusMode\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t\t\t\tinfo={ __( 'Focus on one block at a time' ) }\n\t\t\t\t\t\t\t\tmessageActivated={ __(\n\t\t\t\t\t\t\t\t\t'Spotlight mode activated.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tmessageDeactivated={ __(\n\t\t\t\t\t\t\t\t\t'Spotlight mode deactivated.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ViewMoreMenuGroup.Slot fillProps={ { onClose } } />\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<ModeSwitcher />\n\t\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\t\tname=\"core/plugin-more-menu\"\n\t\t\t\t\t\t\tlabel={ __( 'Panels' ) }\n\t\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\topenModal( 'editor/keyboard-shortcut-help' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.access( 'h' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Keyboard shortcuts' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<CopyContentMenuItem />\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/wordpress-block-editor/'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noopener\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Help' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden render={ <span /> }>\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<ToolsMoreMenuGroup.Slot\n\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\topenModal( 'editor/preferences' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Preferences' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</>\n\t);\n}\n"], "mappings": "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", "names": ["interfaceStore", "preferencesStore", "editorStore", "ModeSwitcher", "ViewMoreMenuGroup", "CopyContentMenuItem", "ToolsMoreMenuGroup"] }