@wordpress/edit-post 6.3.0 → 6.3.3
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.
- package/build/components/layout/index.js +7 -4
- package/build/components/layout/index.js.map +1 -1
- package/build/components/start-page-options/index.js +116 -0
- package/build/components/start-page-options/index.js.map +1 -0
- package/build-module/components/layout/index.js +6 -4
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/start-page-options/index.js +103 -0
- package/build-module/components/start-page-options/index.js.map +1 -0
- package/build-style/style-rtl.css +38 -0
- package/build-style/style.css +38 -0
- package/package.json +27 -27
- package/src/components/layout/index.js +10 -2
- package/src/components/start-page-options/index.js +121 -0
- package/src/components/start-page-options/style.scss +42 -0
- package/src/style.scss +1 -0
|
@@ -57,6 +57,8 @@ var _welcomeGuide = _interopRequireDefault(require("../welcome-guide"));
|
|
|
57
57
|
|
|
58
58
|
var _actionsPanel = _interopRequireDefault(require("./actions-panel"));
|
|
59
59
|
|
|
60
|
+
var _startPageOptions = _interopRequireDefault(require("../start-page-options"));
|
|
61
|
+
|
|
60
62
|
var _store = require("../../store");
|
|
61
63
|
|
|
62
64
|
/**
|
|
@@ -71,8 +73,6 @@ var _store = require("../../store");
|
|
|
71
73
|
* Internal dependencies
|
|
72
74
|
*/
|
|
73
75
|
const interfaceLabels = {
|
|
74
|
-
secondarySidebar: (0, _i18n.__)('Block library'),
|
|
75
|
-
|
|
76
76
|
/* translators: accessibility text for the editor top bar landmark region. */
|
|
77
77
|
header: (0, _i18n.__)('Editor top bar'),
|
|
78
78
|
|
|
@@ -176,6 +176,7 @@ function Layout(_ref) {
|
|
|
176
176
|
|
|
177
177
|
setEntitiesSavedStatesCallback(false);
|
|
178
178
|
}, [entitiesSavedStatesCallback]);
|
|
179
|
+
const secondarySidebarLabel = isListViewOpened ? (0, _i18n.__)('List View') : (0, _i18n.__)('Block Library');
|
|
179
180
|
|
|
180
181
|
const secondarySidebar = () => {
|
|
181
182
|
if (mode === 'visual' && isInserterOpened) {
|
|
@@ -199,7 +200,9 @@ function Layout(_ref) {
|
|
|
199
200
|
isActive: isFullscreenActive
|
|
200
201
|
}), (0, _element.createElement)(_browserUrl.default, null), (0, _element.createElement)(_editor.UnsavedChangesWarning, null), (0, _element.createElement)(_editor.AutosaveMonitor, null), (0, _element.createElement)(_editor.LocalAutosaveMonitor, null), (0, _element.createElement)(_keyboardShortcuts2.default, null), (0, _element.createElement)(_editor.EditorKeyboardShortcutsRegister, null), (0, _element.createElement)(_settingsSidebar.default, null), (0, _element.createElement)(_interface.InterfaceSkeleton, {
|
|
201
202
|
className: className,
|
|
202
|
-
labels: interfaceLabels,
|
|
203
|
+
labels: { ...interfaceLabels,
|
|
204
|
+
secondarySidebar: secondarySidebarLabel
|
|
205
|
+
},
|
|
203
206
|
header: (0, _element.createElement)(_header.default, {
|
|
204
207
|
setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback
|
|
205
208
|
}),
|
|
@@ -240,7 +243,7 @@ function Layout(_ref) {
|
|
|
240
243
|
previous: previousShortcut,
|
|
241
244
|
next: nextShortcut
|
|
242
245
|
}
|
|
243
|
-
}), (0, _element.createElement)(_preferencesModal.default, null), (0, _element.createElement)(_keyboardShortcutHelpModal.default, null), (0, _element.createElement)(_welcomeGuide.default, null), (0, _element.createElement)(_components.Popover.Slot, null), (0, _element.createElement)(_plugins.PluginArea, {
|
|
246
|
+
}), (0, _element.createElement)(_preferencesModal.default, null), (0, _element.createElement)(_keyboardShortcutHelpModal.default, null), (0, _element.createElement)(_welcomeGuide.default, null), (0, _element.createElement)(_startPageOptions.default, null), (0, _element.createElement)(_components.Popover.Slot, null), (0, _element.createElement)(_plugins.PluginArea, {
|
|
244
247
|
onError: onPluginAreaError
|
|
245
248
|
}));
|
|
246
249
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.js"],"names":["interfaceLabels","secondarySidebar","header","body","sidebar","actions","footer","Layout","styles","isMobileViewport","isHugeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","editPostStore","createErrorNotice","noticesStore","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","hasReducedUI","showBlockBreadcrumbs","isTemplateMode","documentLabel","select","getEditorSettings","getPostTypeLabel","editorStore","editorSettings","postTypeLabel","isEditingTemplate","isFeatureActive","interfaceStore","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","keyboardShortcutsStore","getAllShortcutKeyCombinations","className","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","onPluginAreaError","previous","next"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { BlockBreadcrumb, BlockStyles } from '@wordpress/block-editor';\nimport { Button, ScrollLock, Popover } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport { store as editPostStore } from '../../store';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block library' ),\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction Layout( { styles } ) {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\tsetIsInserterOpened,\n\t} = useDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\thasReducedUI,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar: select( editPostStore ).isFeatureActive(\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive: select( editPostStore ).isFeatureActive(\n\t\t\t\t'fullscreenMode'\n\t\t\t),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\thasReducedUI: select( editPostStore ).isFeatureActive(\n\t\t\t\t'reducedUI'\n\t\t\t),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'show-icon-labels': showIconLabels,\n\t} );\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [\n\t\tentitiesSavedStatesCallback,\n\t\tsetEntitiesSavedStatesCallback,\n\t] = useState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<SettingsSidebar />\n\t\t\t<InterfaceSkeleton\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<BlockStyles.Slot scope=\"core/block-inspector\" />\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! hasReducedUI &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<Popover.Slot />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.js"],"names":["interfaceLabels","header","body","sidebar","actions","footer","Layout","styles","isMobileViewport","isHugeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","editPostStore","createErrorNotice","noticesStore","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","hasReducedUI","showBlockBreadcrumbs","isTemplateMode","documentLabel","select","getEditorSettings","getPostTypeLabel","editorStore","editorSettings","postTypeLabel","isEditingTemplate","isFeatureActive","interfaceStore","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","keyboardShortcutsStore","getAllShortcutKeyCombinations","className","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","secondarySidebarLabel","secondarySidebar","onPluginAreaError","previous","next"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { BlockBreadcrumb, BlockStyles } from '@wordpress/block-editor';\nimport { Button, ScrollLock, Popover } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport StartPageOptions from '../start-page-options';\nimport { store as editPostStore } from '../../store';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction Layout( { styles } ) {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\tsetIsInserterOpened,\n\t} = useDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\thasReducedUI,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar: select( editPostStore ).isFeatureActive(\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive: select( editPostStore ).isFeatureActive(\n\t\t\t\t'fullscreenMode'\n\t\t\t),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\thasReducedUI: select( editPostStore ).isFeatureActive(\n\t\t\t\t'reducedUI'\n\t\t\t),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'show-icon-labels': showIconLabels,\n\t} );\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [\n\t\tentitiesSavedStatesCallback,\n\t\tsetEntitiesSavedStatesCallback,\n\t] = useState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<SettingsSidebar />\n\t\t\t<InterfaceSkeleton\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ {\n\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t} }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<BlockStyles.Slot scope=\"core/block-inspector\" />\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! hasReducedUI &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<StartPageOptions />\n\t\t\t<Popover.Slot />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = StartPageOptions;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _components = require("@wordpress/components");
|
|
11
|
+
|
|
12
|
+
var _i18n = require("@wordpress/i18n");
|
|
13
|
+
|
|
14
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
15
|
+
|
|
16
|
+
var _data = require("@wordpress/data");
|
|
17
|
+
|
|
18
|
+
var _compose = require("@wordpress/compose");
|
|
19
|
+
|
|
20
|
+
var _editor = require("@wordpress/editor");
|
|
21
|
+
|
|
22
|
+
var _store = require("../../store");
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* WordPress dependencies
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Internal dependencies
|
|
30
|
+
*/
|
|
31
|
+
function PatternSelection(_ref) {
|
|
32
|
+
let {
|
|
33
|
+
onChoosePattern
|
|
34
|
+
} = _ref;
|
|
35
|
+
const {
|
|
36
|
+
blockPatterns
|
|
37
|
+
} = (0, _data.useSelect)(select => {
|
|
38
|
+
const {
|
|
39
|
+
__experimentalGetPatternsByBlockTypes
|
|
40
|
+
} = select(_blockEditor.store);
|
|
41
|
+
return {
|
|
42
|
+
blockPatterns: __experimentalGetPatternsByBlockTypes('core/post-content')
|
|
43
|
+
};
|
|
44
|
+
}, []);
|
|
45
|
+
const shownBlockPatterns = (0, _compose.useAsyncList)(blockPatterns);
|
|
46
|
+
const {
|
|
47
|
+
resetEditorBlocks
|
|
48
|
+
} = (0, _data.useDispatch)(_editor.store);
|
|
49
|
+
(0, _element.useEffect)(() => {
|
|
50
|
+
if (blockPatterns.length <= 1) {
|
|
51
|
+
onChoosePattern();
|
|
52
|
+
}
|
|
53
|
+
}, [blockPatterns.length]);
|
|
54
|
+
return (0, _element.createElement)(_blockEditor.__experimentalBlockPatternsList, {
|
|
55
|
+
blockPatterns: blockPatterns,
|
|
56
|
+
shownPatterns: shownBlockPatterns,
|
|
57
|
+
onClickPattern: (_pattern, blocks) => {
|
|
58
|
+
resetEditorBlocks(blocks);
|
|
59
|
+
onChoosePattern();
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const START_PAGE_MODAL_STATES = {
|
|
65
|
+
INITIAL: 'INITIAL',
|
|
66
|
+
PATTERN: 'PATTERN',
|
|
67
|
+
CLOSED: 'CLOSED'
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
function StartPageOptions() {
|
|
71
|
+
const [modalState, setModalState] = (0, _element.useState)(START_PAGE_MODAL_STATES.INITIAL);
|
|
72
|
+
const shouldOpenModel = (0, _data.useSelect)(select => {
|
|
73
|
+
if (modalState !== START_PAGE_MODAL_STATES.INITIAL) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const {
|
|
78
|
+
__experimentalGetPatternsByBlockTypes
|
|
79
|
+
} = select(_blockEditor.store);
|
|
80
|
+
const {
|
|
81
|
+
getCurrentPostType,
|
|
82
|
+
getEditedPostContent,
|
|
83
|
+
isEditedPostSaveable
|
|
84
|
+
} = select(_editor.store);
|
|
85
|
+
const {
|
|
86
|
+
isEditingTemplate,
|
|
87
|
+
isFeatureActive
|
|
88
|
+
} = select(_store.store);
|
|
89
|
+
return getCurrentPostType() === 'page' && !isEditedPostSaveable() && '' === getEditedPostContent() && !isEditingTemplate() && !isFeatureActive('welcomeGuide') && __experimentalGetPatternsByBlockTypes('core/post-content').length >= 1;
|
|
90
|
+
}, [modalState]);
|
|
91
|
+
(0, _element.useEffect)(() => {
|
|
92
|
+
if (shouldOpenModel) {
|
|
93
|
+
setModalState(START_PAGE_MODAL_STATES.PATTERN);
|
|
94
|
+
}
|
|
95
|
+
}, [shouldOpenModel]);
|
|
96
|
+
|
|
97
|
+
if (modalState === START_PAGE_MODAL_STATES.INITIAL || modalState === START_PAGE_MODAL_STATES.CLOSED) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return (0, _element.createElement)(_components.Modal, {
|
|
102
|
+
className: "edit-post-start-page-options__modal",
|
|
103
|
+
title: (0, _i18n.__)('Choose a pattern'),
|
|
104
|
+
closeLabel: (0, _i18n.__)('Cancel'),
|
|
105
|
+
onRequestClose: () => {
|
|
106
|
+
setModalState(START_PAGE_MODAL_STATES.CLOSED);
|
|
107
|
+
}
|
|
108
|
+
}, (0, _element.createElement)("div", {
|
|
109
|
+
className: "edit-post-start-page-options__modal-content"
|
|
110
|
+
}, modalState === START_PAGE_MODAL_STATES.PATTERN && (0, _element.createElement)(PatternSelection, {
|
|
111
|
+
onChoosePattern: () => {
|
|
112
|
+
setModalState(START_PAGE_MODAL_STATES.CLOSED);
|
|
113
|
+
}
|
|
114
|
+
})));
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/start-page-options/index.js"],"names":["PatternSelection","onChoosePattern","blockPatterns","select","__experimentalGetPatternsByBlockTypes","blockEditorStore","shownBlockPatterns","resetEditorBlocks","editorStore","length","_pattern","blocks","START_PAGE_MODAL_STATES","INITIAL","PATTERN","CLOSED","StartPageOptions","modalState","setModalState","shouldOpenModel","getCurrentPostType","getEditedPostContent","isEditedPostSaveable","isEditingTemplate","isFeatureActive","editPostStore"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction PatternSelection( { onChoosePattern } ) {\n\tconst { blockPatterns } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetPatternsByBlockTypes } = select(\n\t\t\tblockEditorStore\n\t\t);\n\t\treturn {\n\t\t\tblockPatterns: __experimentalGetPatternsByBlockTypes(\n\t\t\t\t'core/post-content'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\tconst { resetEditorBlocks } = useDispatch( editorStore );\n\tuseEffect( () => {\n\t\tif ( blockPatterns.length <= 1 ) {\n\t\t\tonChoosePattern();\n\t\t}\n\t}, [ blockPatterns.length ] );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( _pattern, blocks ) => {\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nconst START_PAGE_MODAL_STATES = {\n\tINITIAL: 'INITIAL',\n\tPATTERN: 'PATTERN',\n\tCLOSED: 'CLOSED',\n};\n\nexport default function StartPageOptions() {\n\tconst [ modalState, setModalState ] = useState(\n\t\tSTART_PAGE_MODAL_STATES.INITIAL\n\t);\n\tconst shouldOpenModel = useSelect(\n\t\t( select ) => {\n\t\t\tif ( modalState !== START_PAGE_MODAL_STATES.INITIAL ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { __experimentalGetPatternsByBlockTypes } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst {\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetEditedPostContent,\n\t\t\t\tisEditedPostSaveable,\n\t\t\t} = select( editorStore );\n\t\t\tconst { isEditingTemplate, isFeatureActive } = select(\n\t\t\t\teditPostStore\n\t\t\t);\n\t\t\treturn (\n\t\t\t\tgetCurrentPostType() === 'page' &&\n\t\t\t\t! isEditedPostSaveable() &&\n\t\t\t\t'' === getEditedPostContent() &&\n\t\t\t\t! isEditingTemplate() &&\n\t\t\t\t! isFeatureActive( 'welcomeGuide' ) &&\n\t\t\t\t__experimentalGetPatternsByBlockTypes( 'core/post-content' )\n\t\t\t\t\t.length >= 1\n\t\t\t);\n\t\t},\n\t\t[ modalState ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( shouldOpenModel ) {\n\t\t\tsetModalState( START_PAGE_MODAL_STATES.PATTERN );\n\t\t}\n\t}, [ shouldOpenModel ] );\n\n\tif (\n\t\tmodalState === START_PAGE_MODAL_STATES.INITIAL ||\n\t\tmodalState === START_PAGE_MODAL_STATES.CLOSED\n\t) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-start-page-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\tonRequestClose={ () => {\n\t\t\t\tsetModalState( START_PAGE_MODAL_STATES.CLOSED );\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"edit-post-start-page-options__modal-content\">\n\t\t\t\t{ modalState === START_PAGE_MODAL_STATES.PATTERN && (\n\t\t\t\t\t<PatternSelection\n\t\t\t\t\t\tonChoosePattern={ () => {\n\t\t\t\t\t\t\tsetModalState( START_PAGE_MODAL_STATES.CLOSED );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"]}
|
|
@@ -36,10 +36,9 @@ import SettingsSidebar from '../sidebar/settings-sidebar';
|
|
|
36
36
|
import MetaBoxes from '../meta-boxes';
|
|
37
37
|
import WelcomeGuide from '../welcome-guide';
|
|
38
38
|
import ActionsPanel from './actions-panel';
|
|
39
|
+
import StartPageOptions from '../start-page-options';
|
|
39
40
|
import { store as editPostStore } from '../../store';
|
|
40
41
|
const interfaceLabels = {
|
|
41
|
-
secondarySidebar: __('Block library'),
|
|
42
|
-
|
|
43
42
|
/* translators: accessibility text for the editor top bar landmark region. */
|
|
44
43
|
header: __('Editor top bar'),
|
|
45
44
|
|
|
@@ -143,6 +142,7 @@ function Layout(_ref) {
|
|
|
143
142
|
|
|
144
143
|
setEntitiesSavedStatesCallback(false);
|
|
145
144
|
}, [entitiesSavedStatesCallback]);
|
|
145
|
+
const secondarySidebarLabel = isListViewOpened ? __('List View') : __('Block Library');
|
|
146
146
|
|
|
147
147
|
const secondarySidebar = () => {
|
|
148
148
|
if (mode === 'visual' && isInserterOpened) {
|
|
@@ -166,7 +166,9 @@ function Layout(_ref) {
|
|
|
166
166
|
isActive: isFullscreenActive
|
|
167
167
|
}), createElement(BrowserURL, null), createElement(UnsavedChangesWarning, null), createElement(AutosaveMonitor, null), createElement(LocalAutosaveMonitor, null), createElement(EditPostKeyboardShortcuts, null), createElement(EditorKeyboardShortcutsRegister, null), createElement(SettingsSidebar, null), createElement(InterfaceSkeleton, {
|
|
168
168
|
className: className,
|
|
169
|
-
labels: interfaceLabels,
|
|
169
|
+
labels: { ...interfaceLabels,
|
|
170
|
+
secondarySidebar: secondarySidebarLabel
|
|
171
|
+
},
|
|
170
172
|
header: createElement(Header, {
|
|
171
173
|
setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback
|
|
172
174
|
}),
|
|
@@ -207,7 +209,7 @@ function Layout(_ref) {
|
|
|
207
209
|
previous: previousShortcut,
|
|
208
210
|
next: nextShortcut
|
|
209
211
|
}
|
|
210
|
-
}), createElement(EditPostPreferencesModal, null), createElement(KeyboardShortcutHelpModal, null), createElement(WelcomeGuide, null), createElement(Popover.Slot, null), createElement(PluginArea, {
|
|
212
|
+
}), createElement(EditPostPreferencesModal, null), createElement(KeyboardShortcutHelpModal, null), createElement(WelcomeGuide, null), createElement(StartPageOptions, null), createElement(Popover.Slot, null), createElement(PluginArea, {
|
|
211
213
|
onError: onPluginAreaError
|
|
212
214
|
}));
|
|
213
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.js"],"names":["classnames","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorNotices","EditorKeyboardShortcutsRegister","EditorSnackbars","store","editorStore","useSelect","useDispatch","BlockBreadcrumb","BlockStyles","Button","ScrollLock","Popover","useViewportMatch","PluginArea","__","_x","sprintf","ComplementaryArea","FullscreenMode","InterfaceSkeleton","interfaceStore","useState","useEffect","useCallback","keyboardShortcutsStore","noticesStore","TextEditor","VisualEditor","EditPostKeyboardShortcuts","KeyboardShortcutHelpModal","EditPostPreferencesModal","BrowserURL","Header","InserterSidebar","ListViewSidebar","SettingsSidebar","MetaBoxes","WelcomeGuide","ActionsPanel","editPostStore","interfaceLabels","secondarySidebar","header","body","sidebar","actions","footer","Layout","styles","isMobileViewport","isHugeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","createErrorNotice","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","hasReducedUI","showBlockBreadcrumbs","isTemplateMode","documentLabel","select","getEditorSettings","getPostTypeLabel","editorSettings","postTypeLabel","isEditingTemplate","isFeatureActive","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","getAllShortcutKeyCombinations","className","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","onPluginAreaError","previous","next"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,eADD,EAECC,oBAFD,EAGCC,qBAHD,EAICC,aAJD,EAKCC,+BALD,EAMCC,eAND,EAOCC,KAAK,IAAIC,WAPV,QAQO,mBARP;AASA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,eAAT,EAA0BC,WAA1B,QAA6C,yBAA7C;AACA,SAASC,MAAT,EAAiBC,UAAjB,EAA6BC,OAA7B,QAA4C,uBAA5C;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,EAAT,EAAaC,EAAb,EAAiBC,OAAjB,QAAgC,iBAAhC;AACA,SACCC,iBADD,EAECC,cAFD,EAGCC,iBAHD,EAIChB,KAAK,IAAIiB,cAJV,QAKO,sBALP;AAMA,SAASC,QAAT,EAAmBC,SAAnB,EAA8BC,WAA9B,QAAiD,oBAAjD;AACA,SAASpB,KAAK,IAAIqB,sBAAlB,QAAgD,+BAAhD;AACA,SAASrB,KAAK,IAAIsB,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,yBAAP,MAAsC,uBAAtC;AACA,OAAOC,yBAAP,MAAsC,iCAAtC;AACA,OAAOC,wBAAP,MAAqC,sBAArC;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,eAAP,MAA4B,uCAA5B;AACA,OAAOC,eAAP,MAA4B,wCAA5B;AACA,OAAOC,eAAP,MAA4B,6BAA5B;AACA,OAAOC,SAAP,MAAsB,eAAtB;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,SAASnC,KAAK,IAAIoC,aAAlB,QAAuC,aAAvC;AAEA,MAAMC,eAAe,GAAG;AACvBC,EAAAA,gBAAgB,EAAE3B,EAAE,CAAE,eAAF,CADG;;AAEvB;AACA4B,EAAAA,MAAM,EAAE5B,EAAE,CAAE,gBAAF,CAHa;;AAIvB;AACA6B,EAAAA,IAAI,EAAE7B,EAAE,CAAE,gBAAF,CALe;;AAMvB;AACA8B,EAAAA,OAAO,EAAE9B,EAAE,CAAE,iBAAF,CAPY;;AAQvB;AACA+B,EAAAA,OAAO,EAAE/B,EAAE,CAAE,gBAAF,CATY;;AAUvB;AACAgC,EAAAA,MAAM,EAAEhC,EAAE,CAAE,eAAF;AAXa,CAAxB;;AAcA,SAASiC,MAAT,OAA8B;AAAA,MAAb;AAAEC,IAAAA;AAAF,GAAa;AAC7B,QAAMC,gBAAgB,GAAGrC,gBAAgB,CAAE,QAAF,EAAY,GAAZ,CAAzC;AACA,QAAMsC,cAAc,GAAGtC,gBAAgB,CAAE,MAAF,EAAU,IAAV,CAAvC;AACA,QAAM;AACLuC,IAAAA,kBADK;AAELC,IAAAA,mBAFK;AAGLC,IAAAA;AAHK,MAIF/C,WAAW,CAAEiC,aAAF,CAJf;AAKA,QAAM;AAAEe,IAAAA;AAAF,MAAwBhD,WAAW,CAAEmB,YAAF,CAAzC;AACA,QAAM;AACL8B,IAAAA,IADK;AAELC,IAAAA,kBAFK;AAGLC,IAAAA,oBAHK;AAILC,IAAAA,eAJK;AAKLC,IAAAA,kBALK;AAMLC,IAAAA,eANK;AAOLC,IAAAA,gBAPK;AAQLC,IAAAA,YARK;AASLC,IAAAA,gBATK;AAULC,IAAAA,gBAVK;AAWLC,IAAAA,gBAXK;AAYLC,IAAAA,cAZK;AAaLC,IAAAA,YAbK;AAcLC,IAAAA,oBAdK;AAeLC,IAAAA,cAfK;AAgBLC,IAAAA;AAhBK,MAiBFjE,SAAS,CAAIkE,MAAF,IAAc;AAC5B,UAAM;AAAEC,MAAAA,iBAAF;AAAqBC,MAAAA;AAArB,QAA0CF,MAAM,CAAEnE,WAAF,CAAtD;AACA,UAAMsE,cAAc,GAAGF,iBAAiB,EAAxC;AACA,UAAMG,aAAa,GAAGF,gBAAgB,EAAtC;AAEA,WAAO;AACNJ,MAAAA,cAAc,EAAEE,MAAM,CAAEhC,aAAF,CAAN,CAAwBqC,iBAAxB,EADV;AAENhB,MAAAA,eAAe,EAAEW,MAAM,CAAEhC,aAAF,CAAN,CAAwBsC,eAAxB,CAChB,cADgB,CAFX;AAKNnB,MAAAA,eAAe,EAAE,CAAC,EACjBa,MAAM,CAAEnD,cAAF,CAAN,CAAyB0D,0BAAzB,CACCvC,aAAa,CAACwC,IADf,KAEKR,MAAM,CAAEhC,aAAF,CAAN,CAAwByC,sBAAxB,EAHY,CALZ;AAUNxB,MAAAA,kBAAkB,EAAEe,MAAM,CAAEhC,aAAF,CAAN,CAAwBsC,eAAxB,CACnB,gBADmB,CAVd;AAaNb,MAAAA,gBAAgB,EAAEO,MAAM,CAAEhC,aAAF,CAAN,CAAwByB,gBAAxB,EAbZ;AAcNC,MAAAA,gBAAgB,EAAEM,MAAM,CAAEhC,aAAF,CAAN,CAAwB0B,gBAAxB,EAdZ;AAeNV,MAAAA,IAAI,EAAEgB,MAAM,CAAEhC,aAAF,CAAN,CAAwB0C,aAAxB,EAfA;AAgBNxB,MAAAA,oBAAoB,EAAEiB,cAAc,CAACQ,kBAhB/B;AAiBNvB,MAAAA,kBAAkB,EAAEY,MAAM,CAAEhC,aAAF,CAAN,CAAwB4C,YAAxB,EAjBd;AAkBNtB,MAAAA,gBAAgB,EAAEU,MAAM,CACvB/C,sBADuB,CAAN,CAEhB4D,6BAFgB,CAEe,gCAFf,CAlBZ;AAqBNtB,MAAAA,YAAY,EAAES,MAAM,CACnB/C,sBADmB,CAAN,CAEZ4D,6BAFY,CAEmB,4BAFnB,CArBR;AAwBNlB,MAAAA,cAAc,EAAEK,MAAM,CAAEhC,aAAF,CAAN,CAAwBsC,eAAxB,CACf,gBADe,CAxBV;AA2BNV,MAAAA,YAAY,EAAEI,MAAM,CAAEhC,aAAF,CAAN,CAAwBsC,eAAxB,CACb,WADa,CA3BR;AA8BNT,MAAAA,oBAAoB,EAAEG,MAAM,CAAEhC,aAAF,CAAN,CAAwBsC,eAAxB,CACrB,sBADqB,CA9BhB;AAiCN;AACAP,MAAAA,aAAa,EAAEK,aAAa,IAAI5D,EAAE,CAAE,UAAF,EAAc,MAAd;AAlC5B,KAAP;AAoCA,GAzCY,EAyCV,EAzCU,CAjBb;AA2DA,QAAMsE,SAAS,GAAGzF,UAAU,CAAE,kBAAF,EAAsB,aAAa2D,IAAnC,EAAyC;AACpE,yBAAqBG,eAD+C;AAEpE,yBAAqBE,eAF+C;AAGpE,qBAAiBD,kBAHmD;AAIpE,wBAAoBO;AAJgD,GAAzC,CAA5B;;AAMA,QAAMoB,gBAAgB,GAAG,MACxBnC,kBAAkB,CACjBY,gBAAgB,GAAG,iBAAH,GAAuB,oBADtB,CADnB,CA1E6B,CA+E7B;;;AACAzC,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKoC,eAAe,IAAI,CAAER,cAA1B,EAA2C;AAC1CG,MAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACA;AACD,GAJQ,EAIN,CAAEK,eAAF,EAAmBR,cAAnB,CAJM,CAAT;AAKA5B,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK0C,gBAAgB,IAAI,CAAEd,cAA3B,EAA4C;AAC3CE,MAAAA,mBAAmB;AACnB;AACD,GAJQ,EAIN,CAAEY,gBAAF,EAAoBd,cAApB,CAJM,CAAT,CArF6B,CA2F7B;AACA;;AACA,QAAM,CACLqC,2BADK,EAELC,8BAFK,IAGFnE,QAAQ,CAAE,KAAF,CAHZ;AAIA,QAAMoE,wBAAwB,GAAGlE,WAAW,CACzCmE,GAAF,IAAW;AACV,QAAK,OAAOH,2BAAP,KAAuC,UAA5C,EAAyD;AACxDA,MAAAA,2BAA2B,CAAEG,GAAF,CAA3B;AACA;;AACDF,IAAAA,8BAA8B,CAAE,KAAF,CAA9B;AACA,GAN0C,EAO3C,CAAED,2BAAF,CAP2C,CAA5C;;AAUA,QAAM9C,gBAAgB,GAAG,MAAM;AAC9B,QAAKc,IAAI,KAAK,QAAT,IAAqBS,gBAA1B,EAA6C;AAC5C,aAAO,cAAC,eAAD,OAAP;AACA;;AACD,QAAKT,IAAI,KAAK,QAAT,IAAqBU,gBAA1B,EAA6C;AAC5C,aAAO,cAAC,eAAD,OAAP;AACA;;AACD,WAAO,IAAP;AACA,GARD;;AAUA,WAAS0B,iBAAT,CAA4BZ,IAA5B,EAAmC;AAClCzB,IAAAA,iBAAiB,CAChBtC,OAAO;AACN;AACAF,IAAAA,EAAE,CACD,kEADC,CAFI,EAKNiE,IALM,CADS,CAAjB;AASA;;AAED,SACC,8BACC,cAAC,cAAD;AAAgB,IAAA,QAAQ,EAAGvB;AAA3B,IADD,EAEC,cAAC,UAAD,OAFD,EAGC,cAAC,qBAAD,OAHD,EAIC,cAAC,eAAD,OAJD,EAKC,cAAC,oBAAD,OALD,EAMC,cAAC,yBAAD,OAND,EAOC,cAAC,+BAAD,OAPD,EAQC,cAAC,eAAD,OARD,EASC,cAAC,iBAAD;AACC,IAAA,SAAS,EAAG6B,SADb;AAEC,IAAA,MAAM,EAAG7C,eAFV;AAGC,IAAA,MAAM,EACL,cAAC,MAAD;AACC,MAAA,8BAA8B,EAC7BgD;AAFF,MAJF;AAUC,IAAA,gBAAgB,EAAG/C,gBAAgB,EAVpC;AAWC,IAAA,OAAO,EACN,CAAE,CAAEQ,gBAAF,IAAsBS,eAAxB,KACC,8BACG,CAAET,gBAAF,IAAsB,CAAES,eAAxB,IACD;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,MAAD;AACC,MAAA,OAAO,EAAC,WADT;AAEC,MAAA,SAAS,EAAC,+CAFX;AAGC,MAAA,OAAO,EAAG4B,gBAHX;AAIC,uBAAgB;AAJjB,OAMGvB,gBAAgB,GACfjD,EAAE,CAAE,qBAAF,CADa,GAEfA,EAAE,CAAE,wBAAF,CARN,CADD,CAFF,EAeC,cAAC,iBAAD,CAAmB,IAAnB;AAAwB,MAAA,KAAK,EAAC;AAA9B,MAfD,CAbH;AAgCC,IAAA,OAAO,EAAG,cAAC,eAAD,OAhCX;AAiCC,IAAA,OAAO,EACN,8BACC,cAAC,aAAD,OADD,EAEG,CAAEyC,IAAI,KAAK,MAAT,IAAmB,CAAEE,oBAAvB,KACD,cAAC,UAAD,OAHF,EAKGA,oBAAoB,IAAIF,IAAI,KAAK,QAAjC,IACD,cAAC,YAAD;AAAc,MAAA,MAAM,EAAGP;AAAvB,MANF,EAQG,CAAEqB,cAAF,IACD;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,SAAD;AAAW,MAAA,QAAQ,EAAC;AAApB,MADD,EAEC,cAAC,SAAD;AAAW,MAAA,QAAQ,EAAC;AAApB,MAFD,CATF,EAcGpB,gBAAgB,IAAIS,eAApB,IACD,cAAC,UAAD,OAfF,EAiBC,cAAC,WAAD,CAAa,IAAb;AAAkB,MAAA,KAAK,EAAC;AAAxB,MAjBD,CAlCF;AAsDC,IAAA,MAAM,EACL,CAAES,YAAF,IACAC,oBADA,IAEA,CAAEnB,gBAFF,IAGAQ,oBAHA,IAIAF,IAAI,KAAK,QAJT,IAKC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,eAAD;AAAiB,MAAA,aAAa,EAAGe;AAAjC,MADD,CA5DH;AAiEC,IAAA,OAAO,EACN,cAAC,YAAD;AACC,MAAA,wBAAwB,EAAGmB,wBAD5B;AAEC,MAAA,yBAAyB,EACxBF,2BAHF;AAKC,MAAA,8BAA8B,EAC7BC;AANF,MAlEF;AA4EC,IAAA,SAAS,EAAG;AACXI,MAAAA,QAAQ,EAAE/B,gBADC;AAEXgC,MAAAA,IAAI,EAAE/B;AAFK;AA5Eb,IATD,EA0FC,cAAC,wBAAD,OA1FD,EA2FC,cAAC,yBAAD,OA3FD,EA4FC,cAAC,YAAD,OA5FD,EA6FC,cAAC,OAAD,CAAS,IAAT,OA7FD,EA8FC,cAAC,UAAD;AAAY,IAAA,OAAO,EAAG6B;AAAtB,IA9FD,CADD;AAkGA;;AAED,eAAe5C,MAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { BlockBreadcrumb, BlockStyles } from '@wordpress/block-editor';\nimport { Button, ScrollLock, Popover } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport { store as editPostStore } from '../../store';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block library' ),\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction Layout( { styles } ) {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\tsetIsInserterOpened,\n\t} = useDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\thasReducedUI,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar: select( editPostStore ).isFeatureActive(\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive: select( editPostStore ).isFeatureActive(\n\t\t\t\t'fullscreenMode'\n\t\t\t),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\thasReducedUI: select( editPostStore ).isFeatureActive(\n\t\t\t\t'reducedUI'\n\t\t\t),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'show-icon-labels': showIconLabels,\n\t} );\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [\n\t\tentitiesSavedStatesCallback,\n\t\tsetEntitiesSavedStatesCallback,\n\t] = useState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<SettingsSidebar />\n\t\t\t<InterfaceSkeleton\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<BlockStyles.Slot scope=\"core/block-inspector\" />\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! hasReducedUI &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<Popover.Slot />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.js"],"names":["classnames","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorNotices","EditorKeyboardShortcutsRegister","EditorSnackbars","store","editorStore","useSelect","useDispatch","BlockBreadcrumb","BlockStyles","Button","ScrollLock","Popover","useViewportMatch","PluginArea","__","_x","sprintf","ComplementaryArea","FullscreenMode","InterfaceSkeleton","interfaceStore","useState","useEffect","useCallback","keyboardShortcutsStore","noticesStore","TextEditor","VisualEditor","EditPostKeyboardShortcuts","KeyboardShortcutHelpModal","EditPostPreferencesModal","BrowserURL","Header","InserterSidebar","ListViewSidebar","SettingsSidebar","MetaBoxes","WelcomeGuide","ActionsPanel","StartPageOptions","editPostStore","interfaceLabels","header","body","sidebar","actions","footer","Layout","styles","isMobileViewport","isHugeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","createErrorNotice","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","hasReducedUI","showBlockBreadcrumbs","isTemplateMode","documentLabel","select","getEditorSettings","getPostTypeLabel","editorSettings","postTypeLabel","isEditingTemplate","isFeatureActive","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","getAllShortcutKeyCombinations","className","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","secondarySidebarLabel","secondarySidebar","onPluginAreaError","previous","next"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { BlockBreadcrumb, BlockStyles } from '@wordpress/block-editor';\nimport { Button, ScrollLock, Popover } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport StartPageOptions from '../start-page-options';\nimport { store as editPostStore } from '../../store';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction Layout( { styles } ) {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\tsetIsInserterOpened,\n\t} = useDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\thasReducedUI,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar: select( editPostStore ).isFeatureActive(\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive: select( editPostStore ).isFeatureActive(\n\t\t\t\t'fullscreenMode'\n\t\t\t),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\thasReducedUI: select( editPostStore ).isFeatureActive(\n\t\t\t\t'reducedUI'\n\t\t\t),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'show-icon-labels': showIconLabels,\n\t} );\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [\n\t\tentitiesSavedStatesCallback,\n\t\tsetEntitiesSavedStatesCallback,\n\t] = useState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<SettingsSidebar />\n\t\t\t<InterfaceSkeleton\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ {\n\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t} }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<BlockStyles.Slot scope=\"core/block-inspector\" />\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! hasReducedUI &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<StartPageOptions />\n\t\t\t<Popover.Slot />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* WordPress dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { Modal } from '@wordpress/components';
|
|
7
|
+
import { __ } from '@wordpress/i18n';
|
|
8
|
+
import { useState, useEffect } from '@wordpress/element';
|
|
9
|
+
import { store as blockEditorStore, __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
|
|
10
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
11
|
+
import { useAsyncList } from '@wordpress/compose';
|
|
12
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
13
|
+
/**
|
|
14
|
+
* Internal dependencies
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { store as editPostStore } from '../../store';
|
|
18
|
+
|
|
19
|
+
function PatternSelection(_ref) {
|
|
20
|
+
let {
|
|
21
|
+
onChoosePattern
|
|
22
|
+
} = _ref;
|
|
23
|
+
const {
|
|
24
|
+
blockPatterns
|
|
25
|
+
} = useSelect(select => {
|
|
26
|
+
const {
|
|
27
|
+
__experimentalGetPatternsByBlockTypes
|
|
28
|
+
} = select(blockEditorStore);
|
|
29
|
+
return {
|
|
30
|
+
blockPatterns: __experimentalGetPatternsByBlockTypes('core/post-content')
|
|
31
|
+
};
|
|
32
|
+
}, []);
|
|
33
|
+
const shownBlockPatterns = useAsyncList(blockPatterns);
|
|
34
|
+
const {
|
|
35
|
+
resetEditorBlocks
|
|
36
|
+
} = useDispatch(editorStore);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (blockPatterns.length <= 1) {
|
|
39
|
+
onChoosePattern();
|
|
40
|
+
}
|
|
41
|
+
}, [blockPatterns.length]);
|
|
42
|
+
return createElement(BlockPatternsList, {
|
|
43
|
+
blockPatterns: blockPatterns,
|
|
44
|
+
shownPatterns: shownBlockPatterns,
|
|
45
|
+
onClickPattern: (_pattern, blocks) => {
|
|
46
|
+
resetEditorBlocks(blocks);
|
|
47
|
+
onChoosePattern();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const START_PAGE_MODAL_STATES = {
|
|
53
|
+
INITIAL: 'INITIAL',
|
|
54
|
+
PATTERN: 'PATTERN',
|
|
55
|
+
CLOSED: 'CLOSED'
|
|
56
|
+
};
|
|
57
|
+
export default function StartPageOptions() {
|
|
58
|
+
const [modalState, setModalState] = useState(START_PAGE_MODAL_STATES.INITIAL);
|
|
59
|
+
const shouldOpenModel = useSelect(select => {
|
|
60
|
+
if (modalState !== START_PAGE_MODAL_STATES.INITIAL) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const {
|
|
65
|
+
__experimentalGetPatternsByBlockTypes
|
|
66
|
+
} = select(blockEditorStore);
|
|
67
|
+
const {
|
|
68
|
+
getCurrentPostType,
|
|
69
|
+
getEditedPostContent,
|
|
70
|
+
isEditedPostSaveable
|
|
71
|
+
} = select(editorStore);
|
|
72
|
+
const {
|
|
73
|
+
isEditingTemplate,
|
|
74
|
+
isFeatureActive
|
|
75
|
+
} = select(editPostStore);
|
|
76
|
+
return getCurrentPostType() === 'page' && !isEditedPostSaveable() && '' === getEditedPostContent() && !isEditingTemplate() && !isFeatureActive('welcomeGuide') && __experimentalGetPatternsByBlockTypes('core/post-content').length >= 1;
|
|
77
|
+
}, [modalState]);
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
if (shouldOpenModel) {
|
|
80
|
+
setModalState(START_PAGE_MODAL_STATES.PATTERN);
|
|
81
|
+
}
|
|
82
|
+
}, [shouldOpenModel]);
|
|
83
|
+
|
|
84
|
+
if (modalState === START_PAGE_MODAL_STATES.INITIAL || modalState === START_PAGE_MODAL_STATES.CLOSED) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return createElement(Modal, {
|
|
89
|
+
className: "edit-post-start-page-options__modal",
|
|
90
|
+
title: __('Choose a pattern'),
|
|
91
|
+
closeLabel: __('Cancel'),
|
|
92
|
+
onRequestClose: () => {
|
|
93
|
+
setModalState(START_PAGE_MODAL_STATES.CLOSED);
|
|
94
|
+
}
|
|
95
|
+
}, createElement("div", {
|
|
96
|
+
className: "edit-post-start-page-options__modal-content"
|
|
97
|
+
}, modalState === START_PAGE_MODAL_STATES.PATTERN && createElement(PatternSelection, {
|
|
98
|
+
onChoosePattern: () => {
|
|
99
|
+
setModalState(START_PAGE_MODAL_STATES.CLOSED);
|
|
100
|
+
}
|
|
101
|
+
})));
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/start-page-options/index.js"],"names":["Modal","__","useState","useEffect","store","blockEditorStore","__experimentalBlockPatternsList","BlockPatternsList","useSelect","useDispatch","useAsyncList","editorStore","editPostStore","PatternSelection","onChoosePattern","blockPatterns","select","__experimentalGetPatternsByBlockTypes","shownBlockPatterns","resetEditorBlocks","length","_pattern","blocks","START_PAGE_MODAL_STATES","INITIAL","PATTERN","CLOSED","StartPageOptions","modalState","setModalState","shouldOpenModel","getCurrentPostType","getEditedPostContent","isEditedPostSaveable","isEditingTemplate","isFeatureActive"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,KAAT,QAAsB,uBAAtB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,EAAmBC,SAAnB,QAAoC,oBAApC;AACA,SACCC,KAAK,IAAIC,gBADV,EAECC,+BAA+B,IAAIC,iBAFpC,QAGO,yBAHP;AAIA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SAASN,KAAK,IAAIO,WAAlB,QAAqC,mBAArC;AAEA;AACA;AACA;;AACA,SAASP,KAAK,IAAIQ,aAAlB,QAAuC,aAAvC;;AAEA,SAASC,gBAAT,OAAiD;AAAA,MAAtB;AAAEC,IAAAA;AAAF,GAAsB;AAChD,QAAM;AAAEC,IAAAA;AAAF,MAAoBP,SAAS,CAAIQ,MAAF,IAAc;AAClD,UAAM;AAAEC,MAAAA;AAAF,QAA4CD,MAAM,CACvDX,gBADuD,CAAxD;AAGA,WAAO;AACNU,MAAAA,aAAa,EAAEE,qCAAqC,CACnD,mBADmD;AAD9C,KAAP;AAKA,GATkC,EAShC,EATgC,CAAnC;AAUA,QAAMC,kBAAkB,GAAGR,YAAY,CAAEK,aAAF,CAAvC;AACA,QAAM;AAAEI,IAAAA;AAAF,MAAwBV,WAAW,CAAEE,WAAF,CAAzC;AACAR,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKY,aAAa,CAACK,MAAd,IAAwB,CAA7B,EAAiC;AAChCN,MAAAA,eAAe;AACf;AACD,GAJQ,EAIN,CAAEC,aAAa,CAACK,MAAhB,CAJM,CAAT;AAKA,SACC,cAAC,iBAAD;AACC,IAAA,aAAa,EAAGL,aADjB;AAEC,IAAA,aAAa,EAAGG,kBAFjB;AAGC,IAAA,cAAc,EAAG,CAAEG,QAAF,EAAYC,MAAZ,KAAwB;AACxCH,MAAAA,iBAAiB,CAAEG,MAAF,CAAjB;AACAR,MAAAA,eAAe;AACf;AANF,IADD;AAUA;;AAED,MAAMS,uBAAuB,GAAG;AAC/BC,EAAAA,OAAO,EAAE,SADsB;AAE/BC,EAAAA,OAAO,EAAE,SAFsB;AAG/BC,EAAAA,MAAM,EAAE;AAHuB,CAAhC;AAMA,eAAe,SAASC,gBAAT,GAA4B;AAC1C,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgC3B,QAAQ,CAC7CqB,uBAAuB,CAACC,OADqB,CAA9C;AAGA,QAAMM,eAAe,GAAGtB,SAAS,CAC9BQ,MAAF,IAAc;AACb,QAAKY,UAAU,KAAKL,uBAAuB,CAACC,OAA5C,EAAsD;AACrD,aAAO,KAAP;AACA;;AACD,UAAM;AAAEP,MAAAA;AAAF,QAA4CD,MAAM,CACvDX,gBADuD,CAAxD;AAGA,UAAM;AACL0B,MAAAA,kBADK;AAELC,MAAAA,oBAFK;AAGLC,MAAAA;AAHK,QAIFjB,MAAM,CAAEL,WAAF,CAJV;AAKA,UAAM;AAAEuB,MAAAA,iBAAF;AAAqBC,MAAAA;AAArB,QAAyCnB,MAAM,CACpDJ,aADoD,CAArD;AAGA,WACCmB,kBAAkB,OAAO,MAAzB,IACA,CAAEE,oBAAoB,EADtB,IAEA,OAAOD,oBAAoB,EAF3B,IAGA,CAAEE,iBAAiB,EAHnB,IAIA,CAAEC,eAAe,CAAE,cAAF,CAJjB,IAKAlB,qCAAqC,CAAE,mBAAF,CAArC,CACEG,MADF,IACY,CAPb;AASA,GAzB+B,EA0BhC,CAAEQ,UAAF,CA1BgC,CAAjC;AA6BAzB,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK2B,eAAL,EAAuB;AACtBD,MAAAA,aAAa,CAAEN,uBAAuB,CAACE,OAA1B,CAAb;AACA;AACD,GAJQ,EAIN,CAAEK,eAAF,CAJM,CAAT;;AAMA,MACCF,UAAU,KAAKL,uBAAuB,CAACC,OAAvC,IACAI,UAAU,KAAKL,uBAAuB,CAACG,MAFxC,EAGE;AACD,WAAO,IAAP;AACA;;AACD,SACC,cAAC,KAAD;AACC,IAAA,SAAS,EAAC,qCADX;AAEC,IAAA,KAAK,EAAGzB,EAAE,CAAE,kBAAF,CAFX;AAGC,IAAA,UAAU,EAAGA,EAAE,CAAE,QAAF,CAHhB;AAIC,IAAA,cAAc,EAAG,MAAM;AACtB4B,MAAAA,aAAa,CAAEN,uBAAuB,CAACG,MAA1B,CAAb;AACA;AANF,KAQC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGE,UAAU,KAAKL,uBAAuB,CAACE,OAAvC,IACD,cAAC,gBAAD;AACC,IAAA,eAAe,EAAG,MAAM;AACvBI,MAAAA,aAAa,CAAEN,uBAAuB,CAACG,MAA1B,CAAb;AACA;AAHF,IAFF,CARD,CADD;AAoBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction PatternSelection( { onChoosePattern } ) {\n\tconst { blockPatterns } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetPatternsByBlockTypes } = select(\n\t\t\tblockEditorStore\n\t\t);\n\t\treturn {\n\t\t\tblockPatterns: __experimentalGetPatternsByBlockTypes(\n\t\t\t\t'core/post-content'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\tconst { resetEditorBlocks } = useDispatch( editorStore );\n\tuseEffect( () => {\n\t\tif ( blockPatterns.length <= 1 ) {\n\t\t\tonChoosePattern();\n\t\t}\n\t}, [ blockPatterns.length ] );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( _pattern, blocks ) => {\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nconst START_PAGE_MODAL_STATES = {\n\tINITIAL: 'INITIAL',\n\tPATTERN: 'PATTERN',\n\tCLOSED: 'CLOSED',\n};\n\nexport default function StartPageOptions() {\n\tconst [ modalState, setModalState ] = useState(\n\t\tSTART_PAGE_MODAL_STATES.INITIAL\n\t);\n\tconst shouldOpenModel = useSelect(\n\t\t( select ) => {\n\t\t\tif ( modalState !== START_PAGE_MODAL_STATES.INITIAL ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { __experimentalGetPatternsByBlockTypes } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst {\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetEditedPostContent,\n\t\t\t\tisEditedPostSaveable,\n\t\t\t} = select( editorStore );\n\t\t\tconst { isEditingTemplate, isFeatureActive } = select(\n\t\t\t\teditPostStore\n\t\t\t);\n\t\t\treturn (\n\t\t\t\tgetCurrentPostType() === 'page' &&\n\t\t\t\t! isEditedPostSaveable() &&\n\t\t\t\t'' === getEditedPostContent() &&\n\t\t\t\t! isEditingTemplate() &&\n\t\t\t\t! isFeatureActive( 'welcomeGuide' ) &&\n\t\t\t\t__experimentalGetPatternsByBlockTypes( 'core/post-content' )\n\t\t\t\t\t.length >= 1\n\t\t\t);\n\t\t},\n\t\t[ modalState ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( shouldOpenModel ) {\n\t\t\tsetModalState( START_PAGE_MODAL_STATES.PATTERN );\n\t\t}\n\t}, [ shouldOpenModel ] );\n\n\tif (\n\t\tmodalState === START_PAGE_MODAL_STATES.INITIAL ||\n\t\tmodalState === START_PAGE_MODAL_STATES.CLOSED\n\t) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-start-page-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\tonRequestClose={ () => {\n\t\t\t\tsetModalState( START_PAGE_MODAL_STATES.CLOSED );\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"edit-post-start-page-options__modal-content\">\n\t\t\t\t{ modalState === START_PAGE_MODAL_STATES.PATTERN && (\n\t\t\t\t\t<PatternSelection\n\t\t\t\t\t\tonChoosePattern={ () => {\n\t\t\t\t\t\t\tsetModalState( START_PAGE_MODAL_STATES.CLOSED );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"]}
|
|
@@ -1782,6 +1782,44 @@ h2.edit-post-template-summary__title {
|
|
|
1782
1782
|
fill: #fff;
|
|
1783
1783
|
}
|
|
1784
1784
|
|
|
1785
|
+
@media (min-width: 600px) {
|
|
1786
|
+
.edit-post-start-page-options__modal {
|
|
1787
|
+
width: calc(100% - 32px);
|
|
1788
|
+
height: calc(100% - 120px);
|
|
1789
|
+
}
|
|
1790
|
+
}
|
|
1791
|
+
@media (min-width: 782px) {
|
|
1792
|
+
.edit-post-start-page-options__modal {
|
|
1793
|
+
width: 750px;
|
|
1794
|
+
}
|
|
1795
|
+
}
|
|
1796
|
+
@media (min-width: 960px) {
|
|
1797
|
+
.edit-post-start-page-options__modal {
|
|
1798
|
+
height: 70%;
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
.edit-post-start-page-options__modal .components-modal__header {
|
|
1802
|
+
border-bottom: none;
|
|
1803
|
+
}
|
|
1804
|
+
.edit-post-start-page-options__modal .components-modal__content::before {
|
|
1805
|
+
content: none;
|
|
1806
|
+
}
|
|
1807
|
+
|
|
1808
|
+
.edit-post-start-page-options__modal-content .block-editor-block-patterns-list {
|
|
1809
|
+
column-count: 2;
|
|
1810
|
+
column-gap: 24px;
|
|
1811
|
+
}
|
|
1812
|
+
.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item {
|
|
1813
|
+
break-inside: avoid-column;
|
|
1814
|
+
margin-bottom: 24px;
|
|
1815
|
+
}
|
|
1816
|
+
.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__container {
|
|
1817
|
+
min-height: 100px;
|
|
1818
|
+
}
|
|
1819
|
+
.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__content {
|
|
1820
|
+
width: 100%;
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1785
1823
|
/**
|
|
1786
1824
|
* Animations
|
|
1787
1825
|
*/
|
package/build-style/style.css
CHANGED
|
@@ -1786,6 +1786,44 @@ h2.edit-post-template-summary__title {
|
|
|
1786
1786
|
fill: #fff;
|
|
1787
1787
|
}
|
|
1788
1788
|
|
|
1789
|
+
@media (min-width: 600px) {
|
|
1790
|
+
.edit-post-start-page-options__modal {
|
|
1791
|
+
width: calc(100% - 32px);
|
|
1792
|
+
height: calc(100% - 120px);
|
|
1793
|
+
}
|
|
1794
|
+
}
|
|
1795
|
+
@media (min-width: 782px) {
|
|
1796
|
+
.edit-post-start-page-options__modal {
|
|
1797
|
+
width: 750px;
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
@media (min-width: 960px) {
|
|
1801
|
+
.edit-post-start-page-options__modal {
|
|
1802
|
+
height: 70%;
|
|
1803
|
+
}
|
|
1804
|
+
}
|
|
1805
|
+
.edit-post-start-page-options__modal .components-modal__header {
|
|
1806
|
+
border-bottom: none;
|
|
1807
|
+
}
|
|
1808
|
+
.edit-post-start-page-options__modal .components-modal__content::before {
|
|
1809
|
+
content: none;
|
|
1810
|
+
}
|
|
1811
|
+
|
|
1812
|
+
.edit-post-start-page-options__modal-content .block-editor-block-patterns-list {
|
|
1813
|
+
column-count: 2;
|
|
1814
|
+
column-gap: 24px;
|
|
1815
|
+
}
|
|
1816
|
+
.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item {
|
|
1817
|
+
break-inside: avoid-column;
|
|
1818
|
+
margin-bottom: 24px;
|
|
1819
|
+
}
|
|
1820
|
+
.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__container {
|
|
1821
|
+
min-height: 100px;
|
|
1822
|
+
}
|
|
1823
|
+
.edit-post-start-page-options__modal-content .block-editor-block-patterns-list .block-editor-block-patterns-list__list-item .block-editor-block-preview__content {
|
|
1824
|
+
width: 100%;
|
|
1825
|
+
}
|
|
1826
|
+
|
|
1789
1827
|
/**
|
|
1790
1828
|
* Animations
|
|
1791
1829
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/edit-post",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.3",
|
|
4
4
|
"description": "Edit Post module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -27,31 +27,31 @@
|
|
|
27
27
|
"react-native": "src/index",
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@babel/runtime": "^7.16.0",
|
|
30
|
-
"@wordpress/a11y": "^3.6.
|
|
31
|
-
"@wordpress/api-fetch": "^6.3.
|
|
32
|
-
"@wordpress/block-editor": "^8.5.
|
|
33
|
-
"@wordpress/block-library": "^7.3.
|
|
34
|
-
"@wordpress/blocks": "^11.5.
|
|
35
|
-
"@wordpress/components": "^19.8.
|
|
36
|
-
"@wordpress/compose": "^5.4.
|
|
37
|
-
"@wordpress/core-data": "^4.4.
|
|
38
|
-
"@wordpress/data": "^6.6.
|
|
39
|
-
"@wordpress/deprecated": "^3.6.
|
|
40
|
-
"@wordpress/editor": "^12.5.
|
|
41
|
-
"@wordpress/element": "^4.4.
|
|
42
|
-
"@wordpress/hooks": "^3.6.
|
|
43
|
-
"@wordpress/i18n": "^4.6.
|
|
44
|
-
"@wordpress/icons": "^8.2.
|
|
45
|
-
"@wordpress/interface": "^4.5.
|
|
46
|
-
"@wordpress/keyboard-shortcuts": "^3.4.
|
|
47
|
-
"@wordpress/keycodes": "^3.6.
|
|
48
|
-
"@wordpress/media-utils": "^3.4.
|
|
49
|
-
"@wordpress/notices": "^3.6.
|
|
50
|
-
"@wordpress/plugins": "^4.4.
|
|
51
|
-
"@wordpress/preferences": "^1.2.
|
|
52
|
-
"@wordpress/url": "^3.7.
|
|
53
|
-
"@wordpress/viewport": "^4.4.
|
|
54
|
-
"@wordpress/warning": "^2.6.
|
|
30
|
+
"@wordpress/a11y": "^3.6.1",
|
|
31
|
+
"@wordpress/api-fetch": "^6.3.1",
|
|
32
|
+
"@wordpress/block-editor": "^8.5.3",
|
|
33
|
+
"@wordpress/block-library": "^7.3.3",
|
|
34
|
+
"@wordpress/blocks": "^11.5.3",
|
|
35
|
+
"@wordpress/components": "^19.8.2",
|
|
36
|
+
"@wordpress/compose": "^5.4.1",
|
|
37
|
+
"@wordpress/core-data": "^4.4.3",
|
|
38
|
+
"@wordpress/data": "^6.6.1",
|
|
39
|
+
"@wordpress/deprecated": "^3.6.1",
|
|
40
|
+
"@wordpress/editor": "^12.5.3",
|
|
41
|
+
"@wordpress/element": "^4.4.1",
|
|
42
|
+
"@wordpress/hooks": "^3.6.1",
|
|
43
|
+
"@wordpress/i18n": "^4.6.1",
|
|
44
|
+
"@wordpress/icons": "^8.2.2",
|
|
45
|
+
"@wordpress/interface": "^4.5.2",
|
|
46
|
+
"@wordpress/keyboard-shortcuts": "^3.4.1",
|
|
47
|
+
"@wordpress/keycodes": "^3.6.1",
|
|
48
|
+
"@wordpress/media-utils": "^3.4.1",
|
|
49
|
+
"@wordpress/notices": "^3.6.1",
|
|
50
|
+
"@wordpress/plugins": "^4.4.2",
|
|
51
|
+
"@wordpress/preferences": "^1.2.2",
|
|
52
|
+
"@wordpress/url": "^3.7.1",
|
|
53
|
+
"@wordpress/viewport": "^4.4.1",
|
|
54
|
+
"@wordpress/warning": "^2.6.1",
|
|
55
55
|
"classnames": "^2.3.1",
|
|
56
56
|
"lodash": "^4.17.21",
|
|
57
57
|
"memize": "^1.1.0",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "37e930b93fbba88fa024a91eb527a90f855c97f3"
|
|
68
68
|
}
|
|
@@ -47,10 +47,10 @@ import SettingsSidebar from '../sidebar/settings-sidebar';
|
|
|
47
47
|
import MetaBoxes from '../meta-boxes';
|
|
48
48
|
import WelcomeGuide from '../welcome-guide';
|
|
49
49
|
import ActionsPanel from './actions-panel';
|
|
50
|
+
import StartPageOptions from '../start-page-options';
|
|
50
51
|
import { store as editPostStore } from '../../store';
|
|
51
52
|
|
|
52
53
|
const interfaceLabels = {
|
|
53
|
-
secondarySidebar: __( 'Block library' ),
|
|
54
54
|
/* translators: accessibility text for the editor top bar landmark region. */
|
|
55
55
|
header: __( 'Editor top bar' ),
|
|
56
56
|
/* translators: accessibility text for the editor content landmark region. */
|
|
@@ -170,6 +170,10 @@ function Layout( { styles } ) {
|
|
|
170
170
|
[ entitiesSavedStatesCallback ]
|
|
171
171
|
);
|
|
172
172
|
|
|
173
|
+
const secondarySidebarLabel = isListViewOpened
|
|
174
|
+
? __( 'List View' )
|
|
175
|
+
: __( 'Block Library' );
|
|
176
|
+
|
|
173
177
|
const secondarySidebar = () => {
|
|
174
178
|
if ( mode === 'visual' && isInserterOpened ) {
|
|
175
179
|
return <InserterSidebar />;
|
|
@@ -204,7 +208,10 @@ function Layout( { styles } ) {
|
|
|
204
208
|
<SettingsSidebar />
|
|
205
209
|
<InterfaceSkeleton
|
|
206
210
|
className={ className }
|
|
207
|
-
labels={
|
|
211
|
+
labels={ {
|
|
212
|
+
...interfaceLabels,
|
|
213
|
+
secondarySidebar: secondarySidebarLabel,
|
|
214
|
+
} }
|
|
208
215
|
header={
|
|
209
216
|
<Header
|
|
210
217
|
setEntitiesSavedStatesCallback={
|
|
@@ -286,6 +293,7 @@ function Layout( { styles } ) {
|
|
|
286
293
|
<EditPostPreferencesModal />
|
|
287
294
|
<KeyboardShortcutHelpModal />
|
|
288
295
|
<WelcomeGuide />
|
|
296
|
+
<StartPageOptions />
|
|
289
297
|
<Popover.Slot />
|
|
290
298
|
<PluginArea onError={ onPluginAreaError } />
|
|
291
299
|
</>
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { Modal } from '@wordpress/components';
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { useState, useEffect } from '@wordpress/element';
|
|
7
|
+
import {
|
|
8
|
+
store as blockEditorStore,
|
|
9
|
+
__experimentalBlockPatternsList as BlockPatternsList,
|
|
10
|
+
} from '@wordpress/block-editor';
|
|
11
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
12
|
+
import { useAsyncList } from '@wordpress/compose';
|
|
13
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Internal dependencies
|
|
17
|
+
*/
|
|
18
|
+
import { store as editPostStore } from '../../store';
|
|
19
|
+
|
|
20
|
+
function PatternSelection( { onChoosePattern } ) {
|
|
21
|
+
const { blockPatterns } = useSelect( ( select ) => {
|
|
22
|
+
const { __experimentalGetPatternsByBlockTypes } = select(
|
|
23
|
+
blockEditorStore
|
|
24
|
+
);
|
|
25
|
+
return {
|
|
26
|
+
blockPatterns: __experimentalGetPatternsByBlockTypes(
|
|
27
|
+
'core/post-content'
|
|
28
|
+
),
|
|
29
|
+
};
|
|
30
|
+
}, [] );
|
|
31
|
+
const shownBlockPatterns = useAsyncList( blockPatterns );
|
|
32
|
+
const { resetEditorBlocks } = useDispatch( editorStore );
|
|
33
|
+
useEffect( () => {
|
|
34
|
+
if ( blockPatterns.length <= 1 ) {
|
|
35
|
+
onChoosePattern();
|
|
36
|
+
}
|
|
37
|
+
}, [ blockPatterns.length ] );
|
|
38
|
+
return (
|
|
39
|
+
<BlockPatternsList
|
|
40
|
+
blockPatterns={ blockPatterns }
|
|
41
|
+
shownPatterns={ shownBlockPatterns }
|
|
42
|
+
onClickPattern={ ( _pattern, blocks ) => {
|
|
43
|
+
resetEditorBlocks( blocks );
|
|
44
|
+
onChoosePattern();
|
|
45
|
+
} }
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const START_PAGE_MODAL_STATES = {
|
|
51
|
+
INITIAL: 'INITIAL',
|
|
52
|
+
PATTERN: 'PATTERN',
|
|
53
|
+
CLOSED: 'CLOSED',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export default function StartPageOptions() {
|
|
57
|
+
const [ modalState, setModalState ] = useState(
|
|
58
|
+
START_PAGE_MODAL_STATES.INITIAL
|
|
59
|
+
);
|
|
60
|
+
const shouldOpenModel = useSelect(
|
|
61
|
+
( select ) => {
|
|
62
|
+
if ( modalState !== START_PAGE_MODAL_STATES.INITIAL ) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
const { __experimentalGetPatternsByBlockTypes } = select(
|
|
66
|
+
blockEditorStore
|
|
67
|
+
);
|
|
68
|
+
const {
|
|
69
|
+
getCurrentPostType,
|
|
70
|
+
getEditedPostContent,
|
|
71
|
+
isEditedPostSaveable,
|
|
72
|
+
} = select( editorStore );
|
|
73
|
+
const { isEditingTemplate, isFeatureActive } = select(
|
|
74
|
+
editPostStore
|
|
75
|
+
);
|
|
76
|
+
return (
|
|
77
|
+
getCurrentPostType() === 'page' &&
|
|
78
|
+
! isEditedPostSaveable() &&
|
|
79
|
+
'' === getEditedPostContent() &&
|
|
80
|
+
! isEditingTemplate() &&
|
|
81
|
+
! isFeatureActive( 'welcomeGuide' ) &&
|
|
82
|
+
__experimentalGetPatternsByBlockTypes( 'core/post-content' )
|
|
83
|
+
.length >= 1
|
|
84
|
+
);
|
|
85
|
+
},
|
|
86
|
+
[ modalState ]
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
useEffect( () => {
|
|
90
|
+
if ( shouldOpenModel ) {
|
|
91
|
+
setModalState( START_PAGE_MODAL_STATES.PATTERN );
|
|
92
|
+
}
|
|
93
|
+
}, [ shouldOpenModel ] );
|
|
94
|
+
|
|
95
|
+
if (
|
|
96
|
+
modalState === START_PAGE_MODAL_STATES.INITIAL ||
|
|
97
|
+
modalState === START_PAGE_MODAL_STATES.CLOSED
|
|
98
|
+
) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
return (
|
|
102
|
+
<Modal
|
|
103
|
+
className="edit-post-start-page-options__modal"
|
|
104
|
+
title={ __( 'Choose a pattern' ) }
|
|
105
|
+
closeLabel={ __( 'Cancel' ) }
|
|
106
|
+
onRequestClose={ () => {
|
|
107
|
+
setModalState( START_PAGE_MODAL_STATES.CLOSED );
|
|
108
|
+
} }
|
|
109
|
+
>
|
|
110
|
+
<div className="edit-post-start-page-options__modal-content">
|
|
111
|
+
{ modalState === START_PAGE_MODAL_STATES.PATTERN && (
|
|
112
|
+
<PatternSelection
|
|
113
|
+
onChoosePattern={ () => {
|
|
114
|
+
setModalState( START_PAGE_MODAL_STATES.CLOSED );
|
|
115
|
+
} }
|
|
116
|
+
/>
|
|
117
|
+
) }
|
|
118
|
+
</div>
|
|
119
|
+
</Modal>
|
|
120
|
+
);
|
|
121
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
.edit-post-start-page-options__modal {
|
|
2
|
+
// To keep modal dimensions consistent as subsections are navigated, width
|
|
3
|
+
// and height are used instead of max-(width/height).
|
|
4
|
+
@include break-small() {
|
|
5
|
+
width: calc(100% - #{ $grid-unit-20 * 2 });
|
|
6
|
+
height: calc(100% - #{ $header-height * 2 });
|
|
7
|
+
}
|
|
8
|
+
@include break-medium() {
|
|
9
|
+
width: $break-medium - $grid-unit-20 * 2;
|
|
10
|
+
}
|
|
11
|
+
@include break-large() {
|
|
12
|
+
height: 70%;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// @todo: Consider this for a minimal modal prop.
|
|
16
|
+
.components-modal__header {
|
|
17
|
+
border-bottom: none;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.components-modal__content::before {
|
|
21
|
+
content: none;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// 2 column masonry layout.
|
|
26
|
+
.edit-post-start-page-options__modal-content .block-editor-block-patterns-list {
|
|
27
|
+
column-count: 2;
|
|
28
|
+
column-gap: $grid-unit-30;
|
|
29
|
+
|
|
30
|
+
.block-editor-block-patterns-list__list-item {
|
|
31
|
+
break-inside: avoid-column;
|
|
32
|
+
margin-bottom: $grid-unit-30;
|
|
33
|
+
|
|
34
|
+
.block-editor-block-preview__container {
|
|
35
|
+
min-height: 100px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.block-editor-block-preview__content {
|
|
39
|
+
width: 100%;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
package/src/style.scss
CHANGED