@wordpress/edit-post 7.25.0 → 7.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/LICENSE.md +1 -1
- package/build/components/browser-url/index.js +3 -2
- package/build/components/browser-url/index.js.map +1 -1
- package/build/components/header/index.js +25 -25
- package/build/components/header/index.js.map +1 -1
- package/build/components/header/writing-menu/index.js +11 -8
- package/build/components/header/writing-menu/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +1 -20
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +33 -26
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/index.native.js +3 -1
- package/build/components/layout/index.native.js.map +1 -1
- package/build/components/meta-boxes/meta-box-visibility.js +2 -6
- package/build/components/meta-boxes/meta-box-visibility.js.map +1 -1
- package/build/components/preferences-modal/index.js +25 -8
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/preferences-modal/options/enable-feature.js +23 -23
- package/build/components/preferences-modal/options/enable-feature.js.map +1 -1
- package/build/components/preferences-modal/options/enable-panel.js +3 -6
- package/build/components/preferences-modal/options/enable-panel.js.map +1 -1
- package/build/components/sidebar/plugin-document-setting-panel/index.js +3 -3
- package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
- package/build/components/sidebar/plugin-sidebar/index.js +2 -10
- package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
- package/build/components/sidebar/post-status/index.js +2 -3
- package/build/components/sidebar/post-status/index.js.map +1 -1
- package/build/components/sidebar/settings-sidebar/index.js +1 -7
- package/build/components/sidebar/settings-sidebar/index.js.map +1 -1
- package/build/editor.js +19 -28
- package/build/editor.js.map +1 -1
- package/build/editor.native.js +3 -10
- package/build/editor.native.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +16 -12
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/hooks/use-post-history.js +79 -0
- package/build/hooks/use-post-history.js.map +1 -0
- package/build/index.js +19 -16
- package/build/index.js.map +1 -1
- package/build/index.native.js +7 -1
- package/build/index.native.js.map +1 -1
- package/build/store/actions.js +59 -73
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +1 -62
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +66 -38
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/browser-url/index.js +3 -2
- package/build-module/components/browser-url/index.js.map +1 -1
- package/build-module/components/header/index.js +25 -25
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/header/writing-menu/index.js +11 -8
- package/build-module/components/header/writing-menu/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +1 -20
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +33 -25
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/index.native.js +4 -2
- package/build-module/components/layout/index.native.js.map +1 -1
- package/build-module/components/meta-boxes/meta-box-visibility.js +2 -6
- package/build-module/components/meta-boxes/meta-box-visibility.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +25 -8
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/preferences-modal/options/enable-feature.js +22 -23
- package/build-module/components/preferences-modal/options/enable-feature.js.map +1 -1
- package/build-module/components/preferences-modal/options/enable-panel.js +3 -7
- package/build-module/components/preferences-modal/options/enable-panel.js.map +1 -1
- package/build-module/components/sidebar/plugin-document-setting-panel/index.js +3 -3
- package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
- package/build-module/components/sidebar/plugin-sidebar/index.js +2 -10
- package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
- package/build-module/components/sidebar/post-status/index.js +3 -4
- package/build-module/components/sidebar/post-status/index.js.map +1 -1
- package/build-module/components/sidebar/settings-sidebar/index.js +2 -8
- package/build-module/components/sidebar/settings-sidebar/index.js.map +1 -1
- package/build-module/editor.js +19 -28
- package/build-module/editor.js.map +1 -1
- package/build-module/editor.native.js +3 -10
- package/build-module/editor.native.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +16 -12
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/hooks/use-post-history.js +73 -0
- package/build-module/hooks/use-post-history.js.map +1 -0
- package/build-module/index.js +17 -11
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +7 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/store/actions.js +55 -69
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +1 -60
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +58 -29
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +13 -284
- package/build-style/style.css +13 -284
- package/package.json +32 -32
- package/src/components/browser-url/index.js +4 -2
- package/src/components/header/index.js +24 -40
- package/src/components/header/style.scss +3 -3
- package/src/components/header/writing-menu/index.js +10 -8
- package/src/components/keyboard-shortcut-help-modal/test/index.js +0 -15
- package/src/components/keyboard-shortcuts/index.js +1 -23
- package/src/components/layout/index.js +18 -27
- package/src/components/layout/index.native.js +9 -1
- package/src/components/meta-boxes/meta-box-visibility.js +2 -8
- package/src/components/preferences-modal/index.js +27 -9
- package/src/components/preferences-modal/options/enable-feature.js +26 -21
- package/src/components/preferences-modal/options/enable-panel.js +3 -7
- package/src/components/preferences-modal/test/__snapshots__/meta-boxes-section.js.snap +187 -175
- package/src/components/sidebar/plugin-document-setting-panel/index.js +3 -3
- package/src/components/sidebar/plugin-sidebar/index.js +1 -9
- package/src/components/sidebar/post-status/index.js +3 -3
- package/src/components/sidebar/settings-sidebar/index.js +15 -13
- package/src/components/text-editor/style.scss +0 -6
- package/src/editor.js +34 -33
- package/src/editor.native.js +2 -17
- package/src/hooks/commands/use-common-commands.js +14 -16
- package/src/hooks/use-post-history.js +73 -0
- package/src/index.js +22 -12
- package/src/index.native.js +8 -1
- package/src/store/actions.js +48 -85
- package/src/store/reducer.js +0 -60
- package/src/store/selectors.js +74 -46
- package/src/store/test/actions.js +10 -103
- package/src/store/test/reducer.js +1 -108
- package/src/store/test/selectors.js +0 -50
- package/src/style.scss +1 -5
- package/src/test/editor.native.js +17 -0
- package/build/components/header/header-toolbar/index.js +0 -160
- package/build/components/header/header-toolbar/index.js.map +0 -1
- package/build/components/secondary-sidebar/inserter-sidebar.js +0 -73
- package/build/components/secondary-sidebar/inserter-sidebar.js.map +0 -1
- package/build/components/secondary-sidebar/list-view-outline.js +0 -112
- package/build/components/secondary-sidebar/list-view-outline.js.map +0 -1
- package/build/components/secondary-sidebar/list-view-sidebar.js +0 -148
- package/build/components/secondary-sidebar/list-view-sidebar.js.map +0 -1
- package/build/components/sidebar/discussion-panel/index.js +0 -59
- package/build/components/sidebar/discussion-panel/index.js.map +0 -1
- package/build/components/sidebar/featured-image/index.js +0 -70
- package/build/components/sidebar/featured-image/index.js.map +0 -1
- package/build/components/sidebar/last-revision/index.js +0 -21
- package/build/components/sidebar/last-revision/index.js.map +0 -1
- package/build/components/sidebar/page-attributes/index.js +0 -65
- package/build/components/sidebar/page-attributes/index.js.map +0 -1
- package/build/components/sidebar/plugin-post-excerpt/index.js +0 -72
- package/build/components/sidebar/plugin-post-excerpt/index.js.map +0 -1
- package/build/components/sidebar/post-excerpt/index.js +0 -54
- package/build/components/sidebar/post-excerpt/index.js.map +0 -1
- package/build/components/sidebar/post-taxonomies/index.js +0 -30
- package/build/components/sidebar/post-taxonomies/index.js.map +0 -1
- package/build/components/sidebar/post-taxonomies/taxonomy-panel.js +0 -56
- package/build/components/sidebar/post-taxonomies/taxonomy-panel.js.map +0 -1
- package/build/components/view-link/index.js +0 -53
- package/build/components/view-link/index.js.map +0 -1
- package/build-module/components/header/header-toolbar/index.js +0 -152
- package/build-module/components/header/header-toolbar/index.js.map +0 -1
- package/build-module/components/secondary-sidebar/inserter-sidebar.js +0 -66
- package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +0 -1
- package/build-module/components/secondary-sidebar/list-view-outline.js +0 -105
- package/build-module/components/secondary-sidebar/list-view-outline.js.map +0 -1
- package/build-module/components/secondary-sidebar/list-view-sidebar.js +0 -140
- package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +0 -1
- package/build-module/components/sidebar/discussion-panel/index.js +0 -52
- package/build-module/components/sidebar/discussion-panel/index.js.map +0 -1
- package/build-module/components/sidebar/featured-image/index.js +0 -63
- package/build-module/components/sidebar/featured-image/index.js.map +0 -1
- package/build-module/components/sidebar/last-revision/index.js +0 -13
- package/build-module/components/sidebar/last-revision/index.js.map +0 -1
- package/build-module/components/sidebar/page-attributes/index.js +0 -57
- package/build-module/components/sidebar/page-attributes/index.js.map +0 -1
- package/build-module/components/sidebar/plugin-post-excerpt/index.js +0 -64
- package/build-module/components/sidebar/plugin-post-excerpt/index.js.map +0 -1
- package/build-module/components/sidebar/post-excerpt/index.js +0 -47
- package/build-module/components/sidebar/post-excerpt/index.js.map +0 -1
- package/build-module/components/sidebar/post-taxonomies/index.js +0 -21
- package/build-module/components/sidebar/post-taxonomies/index.js.map +0 -1
- package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js +0 -48
- package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js.map +0 -1
- package/build-module/components/view-link/index.js +0 -46
- package/build-module/components/view-link/index.js.map +0 -1
- package/src/components/header/header-toolbar/index.js +0 -186
- package/src/components/header/header-toolbar/style.scss +0 -116
- package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +0 -929
- package/src/components/secondary-sidebar/inserter-sidebar.js +0 -71
- package/src/components/secondary-sidebar/list-view-outline.js +0 -98
- package/src/components/secondary-sidebar/list-view-sidebar.js +0 -170
- package/src/components/secondary-sidebar/style.scss +0 -120
- package/src/components/sidebar/discussion-panel/index.js +0 -62
- package/src/components/sidebar/featured-image/index.js +0 -67
- package/src/components/sidebar/last-revision/index.js +0 -17
- package/src/components/sidebar/last-revision/style.scss +0 -10
- package/src/components/sidebar/page-attributes/index.js +0 -65
- package/src/components/sidebar/plugin-post-excerpt/index.js +0 -61
- package/src/components/sidebar/plugin-post-excerpt/test/index.js +0 -36
- package/src/components/sidebar/post-excerpt/index.js +0 -59
- package/src/components/sidebar/post-taxonomies/index.js +0 -30
- package/src/components/sidebar/post-taxonomies/taxonomy-panel.js +0 -48
- package/src/components/view-link/index.js +0 -48
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlockInspector","store","blockEditorStore","useSelect","useDispatch","Platform","useCallback","useContext","isRTL","__","drawerLeft","drawerRight","interfaceStore","keyboardShortcutsStore","editorStore","SettingsHeader","PostStatus","LastRevision","PostTaxonomies","FeaturedImage","PostExcerpt","DiscussionPanel","PageAttributes","MetaBoxes","PluginDocumentSettingPanel","PluginSidebarEditPost","TemplateSummary","editPostStore","privateApis","componentsPrivateApis","unlock","Tabs","SIDEBAR_ACTIVE_BY_DEFAULT","select","web","native","sidebars","document","block","SidebarContent","sidebarName","keyboardShortcut","isTemplateMode","tabsContextValue","Context","createElement","identifier","header","Provider","value","closeLabel","className","headerClassName","title","toggleShortcut","icon","isActiveByDefault","TabPanel","tabId","focusable","Fragment","Slot","location","SettingsSidebar","isSettingsSidebarActive","sidebar","getActiveComplementaryArea","name","isSettingsSidebar","includes","getBlockSelectionStart","shortcut","getShortcutRepresentation","getRenderingMode","openGeneralSidebar","onTabSelect","newSelectedTabId","selectedTabId","onSelect"],"sources":["@wordpress/edit-post/src/components/sidebar/settings-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Platform, useCallback, useContext } from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport SettingsHeader from '../settings-header';\nimport PostStatus from '../post-status';\nimport LastRevision from '../last-revision';\nimport PostTaxonomies from '../post-taxonomies';\nimport FeaturedImage from '../featured-image';\nimport PostExcerpt from '../post-excerpt';\nimport DiscussionPanel from '../discussion-panel';\nimport PageAttributes from '../page-attributes';\nimport MetaBoxes from '../../meta-boxes';\nimport PluginDocumentSettingPanel from '../plugin-document-setting-panel';\nimport PluginSidebarEditPost from '../plugin-sidebar';\nimport TemplateSummary from '../template-summary';\nimport { store as editPostStore } from '../../../store';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\nexport const sidebars = {\n\tdocument: 'edit-post/document',\n\tblock: 'edit-post/block',\n};\n\nconst SidebarContent = ( {\n\tsidebarName,\n\tkeyboardShortcut,\n\tisTemplateMode,\n} ) => {\n\t// Because `PluginSidebarEditPost` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\treturn (\n\t\t<PluginSidebarEditPost\n\t\t\tidentifier={ sidebarName }\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SettingsHeader />\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t// margin to the panel.\n\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\tclassName=\"edit-post-sidebar__panel\"\n\t\t\theaderClassName=\"edit-post-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\ttoggleShortcut={ keyboardShortcut }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.document } focusable={ false }>\n\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PostStatus />\n\t\t\t\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t\t\t\t<LastRevision />\n\t\t\t\t\t\t\t<PostTaxonomies />\n\t\t\t\t\t\t\t<FeaturedImage />\n\t\t\t\t\t\t\t<PostExcerpt />\n\t\t\t\t\t\t\t<DiscussionPanel />\n\t\t\t\t\t\t\t<PageAttributes />\n\t\t\t\t\t\t\t<MetaBoxes location=\"side\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isTemplateMode && <TemplateSummary /> }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.block } focusable={ false }>\n\t\t\t\t\t<BlockInspector />\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</PluginSidebarEditPost>\n\t);\n};\n\nconst SettingsSidebar = () => {\n\tconst {\n\t\tsidebarName,\n\t\tisSettingsSidebarActive,\n\t\tkeyboardShortcut,\n\t\tisTemplateMode,\n\t} = useSelect( ( select ) => {\n\t\t// The settings sidebar is used by the edit-post/document and edit-post/block sidebars.\n\t\t// sidebarName represents the sidebar that is active or that should be active when the SettingsSidebar toggle button is pressed.\n\t\t// If one of the two sidebars is active the component will contain the content of that sidebar.\n\t\t// When neither of the two sidebars is active we can not simply return null, because the PluginSidebarEditPost\n\t\t// component, besides being used to render the sidebar, also renders the toggle button. In that case sidebarName\n\t\t// should contain the sidebar that will be active when the toggle button is pressed. If a block\n\t\t// is selected, that should be edit-post/block otherwise it's edit-post/document.\n\t\tlet sidebar = select( interfaceStore ).getActiveComplementaryArea(\n\t\t\teditPostStore.name\n\t\t);\n\t\tlet isSettingsSidebar = true;\n\t\tif ( ! [ sidebars.document, sidebars.block ].includes( sidebar ) ) {\n\t\t\tisSettingsSidebar = false;\n\t\t\tif ( select( blockEditorStore ).getBlockSelectionStart() ) {\n\t\t\t\tsidebar = sidebars.block;\n\t\t\t}\n\t\t\tsidebar = sidebars.document;\n\t\t}\n\t\tconst shortcut = select(\n\t\t\tkeyboardShortcutsStore\n\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' );\n\t\treturn {\n\t\t\tsidebarName: sidebar,\n\t\t\tisSettingsSidebarActive: isSettingsSidebar,\n\t\t\tkeyboardShortcut: shortcut,\n\t\t\tisTemplateMode:\n\t\t\t\tselect( editorStore ).getRenderingMode() === 'template-only',\n\t\t};\n\t}, [] );\n\n\tconst { openGeneralSidebar } = useDispatch( editPostStore );\n\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\topenGeneralSidebar( newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ openGeneralSidebar ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// `interfaceStore`), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop.Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={ isSettingsSidebarActive ? sidebarName : null }\n\t\t\tonSelect={ onTabSelect }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\tsidebarName={ sidebarName }\n\t\t\t\tkeyboardShortcut={ keyboardShortcut }\n\t\t\t\tisTemplateMode={ isTemplateMode }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n};\n\nexport default SettingsSidebar;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["BlockInspector","store","blockEditorStore","useSelect","useDispatch","Platform","useCallback","useContext","isRTL","__","drawerLeft","drawerRight","interfaceStore","keyboardShortcutsStore","editorStore","PageAttributesPanel","PostDiscussionPanel","PostExcerptPanel","PostFeaturedImagePanel","PostLastRevisionPanel","PostTaxonomiesPanel","SettingsHeader","PostStatus","MetaBoxes","PluginDocumentSettingPanel","PluginSidebarEditPost","TemplateSummary","editPostStore","privateApis","componentsPrivateApis","unlock","Tabs","SIDEBAR_ACTIVE_BY_DEFAULT","select","web","native","sidebars","document","block","SidebarContent","sidebarName","keyboardShortcut","isTemplateMode","tabsContextValue","Context","createElement","identifier","header","Provider","value","closeLabel","className","headerClassName","title","toggleShortcut","icon","isActiveByDefault","TabPanel","tabId","focusable","Fragment","Slot","location","SettingsSidebar","isSettingsSidebarActive","sidebar","getActiveComplementaryArea","name","isSettingsSidebar","includes","getBlockSelectionStart","shortcut","getShortcutRepresentation","getRenderingMode","openGeneralSidebar","onTabSelect","newSelectedTabId","selectedTabId","onSelect"],"sources":["@wordpress/edit-post/src/components/sidebar/settings-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Platform, useCallback, useContext } from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tstore as editorStore,\n\tPageAttributesPanel,\n\tPostDiscussionPanel,\n\tPostExcerptPanel,\n\tPostFeaturedImagePanel,\n\tPostLastRevisionPanel,\n\tPostTaxonomiesPanel,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport SettingsHeader from '../settings-header';\nimport PostStatus from '../post-status';\nimport MetaBoxes from '../../meta-boxes';\nimport PluginDocumentSettingPanel from '../plugin-document-setting-panel';\nimport PluginSidebarEditPost from '../plugin-sidebar';\nimport TemplateSummary from '../template-summary';\nimport { store as editPostStore } from '../../../store';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\nexport const sidebars = {\n\tdocument: 'edit-post/document',\n\tblock: 'edit-post/block',\n};\n\nconst SidebarContent = ( {\n\tsidebarName,\n\tkeyboardShortcut,\n\tisTemplateMode,\n} ) => {\n\t// Because `PluginSidebarEditPost` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\treturn (\n\t\t<PluginSidebarEditPost\n\t\t\tidentifier={ sidebarName }\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SettingsHeader />\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t// margin to the panel.\n\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\tclassName=\"edit-post-sidebar__panel\"\n\t\t\theaderClassName=\"edit-post-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\ttoggleShortcut={ keyboardShortcut }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.document } focusable={ false }>\n\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PostStatus />\n\t\t\t\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t\t\t\t<PostLastRevisionPanel />\n\t\t\t\t\t\t\t<PostTaxonomiesPanel />\n\t\t\t\t\t\t\t<PostFeaturedImagePanel />\n\t\t\t\t\t\t\t<PostExcerptPanel />\n\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t<PageAttributesPanel />\n\t\t\t\t\t\t\t<MetaBoxes location=\"side\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isTemplateMode && <TemplateSummary /> }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.block } focusable={ false }>\n\t\t\t\t\t<BlockInspector />\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</PluginSidebarEditPost>\n\t);\n};\n\nconst SettingsSidebar = () => {\n\tconst {\n\t\tsidebarName,\n\t\tisSettingsSidebarActive,\n\t\tkeyboardShortcut,\n\t\tisTemplateMode,\n\t} = useSelect( ( select ) => {\n\t\t// The settings sidebar is used by the edit-post/document and edit-post/block sidebars.\n\t\t// sidebarName represents the sidebar that is active or that should be active when the SettingsSidebar toggle button is pressed.\n\t\t// If one of the two sidebars is active the component will contain the content of that sidebar.\n\t\t// When neither of the two sidebars is active we can not simply return null, because the PluginSidebarEditPost\n\t\t// component, besides being used to render the sidebar, also renders the toggle button. In that case sidebarName\n\t\t// should contain the sidebar that will be active when the toggle button is pressed. If a block\n\t\t// is selected, that should be edit-post/block otherwise it's edit-post/document.\n\t\tlet sidebar = select( interfaceStore ).getActiveComplementaryArea(\n\t\t\teditPostStore.name\n\t\t);\n\t\tlet isSettingsSidebar = true;\n\t\tif ( ! [ sidebars.document, sidebars.block ].includes( sidebar ) ) {\n\t\t\tisSettingsSidebar = false;\n\t\t\tif ( select( blockEditorStore ).getBlockSelectionStart() ) {\n\t\t\t\tsidebar = sidebars.block;\n\t\t\t}\n\t\t\tsidebar = sidebars.document;\n\t\t}\n\t\tconst shortcut = select(\n\t\t\tkeyboardShortcutsStore\n\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' );\n\t\treturn {\n\t\t\tsidebarName: sidebar,\n\t\t\tisSettingsSidebarActive: isSettingsSidebar,\n\t\t\tkeyboardShortcut: shortcut,\n\t\t\tisTemplateMode:\n\t\t\t\tselect( editorStore ).getRenderingMode() === 'template-only',\n\t\t};\n\t}, [] );\n\n\tconst { openGeneralSidebar } = useDispatch( editPostStore );\n\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\topenGeneralSidebar( newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ openGeneralSidebar ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// `interfaceStore`), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop.Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={ isSettingsSidebarActive ? sidebarName : null }\n\t\t\tonSelect={ onTabSelect }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\tsidebarName={ sidebarName }\n\t\t\t\tkeyboardShortcut={ keyboardShortcut }\n\t\t\t\tisTemplateMode={ isTemplateMode }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n};\n\nexport default SettingsSidebar;\n"],"mappings":"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"}
|
package/build-module/editor.js
CHANGED
|
@@ -10,7 +10,6 @@ import { SlotFillProvider } from '@wordpress/components';
|
|
|
10
10
|
import { store as coreStore } from '@wordpress/core-data';
|
|
11
11
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
12
12
|
import { CommandMenu } from '@wordpress/commands';
|
|
13
|
-
import { useViewportMatch } from '@wordpress/compose';
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
* Internal dependencies
|
|
@@ -19,27 +18,28 @@ import Layout from './components/layout';
|
|
|
19
18
|
import EditorInitialization from './components/editor-initialization';
|
|
20
19
|
import { store as editPostStore } from './store';
|
|
21
20
|
import { unlock } from './lock-unlock';
|
|
21
|
+
import usePostHistory from './hooks/use-post-history';
|
|
22
22
|
const {
|
|
23
23
|
ExperimentalEditorProvider
|
|
24
24
|
} = unlock(editorPrivateApis);
|
|
25
25
|
function Editor({
|
|
26
|
-
postId,
|
|
27
|
-
postType,
|
|
26
|
+
postId: initialPostId,
|
|
27
|
+
postType: initialPostType,
|
|
28
28
|
settings,
|
|
29
29
|
initialEdits,
|
|
30
30
|
...props
|
|
31
31
|
}) {
|
|
32
|
-
const isLargeViewport = useViewportMatch('medium');
|
|
33
32
|
const {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
currentPost,
|
|
34
|
+
getPostLinkProps,
|
|
35
|
+
goBack
|
|
36
|
+
} = usePostHistory(initialPostId, initialPostType);
|
|
37
|
+
const {
|
|
37
38
|
hasInlineToolbar,
|
|
38
39
|
post,
|
|
39
40
|
preferredStyleVariations,
|
|
40
41
|
hiddenBlockTypes,
|
|
41
42
|
blockTypes,
|
|
42
|
-
keepCaretInsideBlock,
|
|
43
43
|
template
|
|
44
44
|
} = useSelect(select => {
|
|
45
45
|
var _getPostType$viewable;
|
|
@@ -60,52 +60,43 @@ function Editor({
|
|
|
60
60
|
const {
|
|
61
61
|
getBlockTypes
|
|
62
62
|
} = select(blocksStore);
|
|
63
|
-
const isTemplate = ['wp_template', 'wp_template_part'].includes(postType);
|
|
63
|
+
const isTemplate = ['wp_template', 'wp_template_part'].includes(currentPost.postType);
|
|
64
64
|
// Ideally the initializeEditor function should be called using the ID of the REST endpoint.
|
|
65
65
|
// to avoid the special case.
|
|
66
66
|
let postObject;
|
|
67
67
|
if (isTemplate) {
|
|
68
|
-
const posts = getEntityRecords('postType', postType, {
|
|
69
|
-
wp_id: postId
|
|
68
|
+
const posts = getEntityRecords('postType', currentPost.postType, {
|
|
69
|
+
wp_id: currentPost.postId
|
|
70
70
|
});
|
|
71
71
|
postObject = posts?.[0];
|
|
72
72
|
} else {
|
|
73
|
-
postObject = getEntityRecord('postType', postType, postId);
|
|
73
|
+
postObject = getEntityRecord('postType', currentPost.postType, currentPost.postId);
|
|
74
74
|
}
|
|
75
75
|
const supportsTemplateMode = getEditorSettings().supportsTemplateMode;
|
|
76
|
-
const isViewable = (_getPostType$viewable = getPostType(postType)?.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false;
|
|
76
|
+
const isViewable = (_getPostType$viewable = getPostType(currentPost.postType)?.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false;
|
|
77
77
|
const canEditTemplate = canUser('create', 'templates');
|
|
78
78
|
return {
|
|
79
|
-
hasFixedToolbar: isFeatureActive('fixedToolbar') || !isLargeViewport,
|
|
80
|
-
focusMode: isFeatureActive('focusMode'),
|
|
81
|
-
isDistractionFree: isFeatureActive('distractionFree'),
|
|
82
79
|
hasInlineToolbar: isFeatureActive('inlineToolbar'),
|
|
83
80
|
preferredStyleVariations: select(preferencesStore).get('core/edit-post', 'preferredStyleVariations'),
|
|
84
81
|
hiddenBlockTypes: getHiddenBlockTypes(),
|
|
85
82
|
blockTypes: getBlockTypes(),
|
|
86
|
-
keepCaretInsideBlock: isFeatureActive('keepCaretInsideBlock'),
|
|
87
83
|
template: supportsTemplateMode && isViewable && canEditTemplate ? getEditedPostTemplate() : null,
|
|
88
84
|
post: postObject
|
|
89
85
|
};
|
|
90
|
-
}, [postType, postId
|
|
86
|
+
}, [currentPost.postType, currentPost.postId]);
|
|
91
87
|
const {
|
|
92
|
-
updatePreferredStyleVariations
|
|
93
|
-
setIsInserterOpened
|
|
88
|
+
updatePreferredStyleVariations
|
|
94
89
|
} = useDispatch(editPostStore);
|
|
95
90
|
const editorSettings = useMemo(() => {
|
|
96
91
|
const result = {
|
|
97
92
|
...settings,
|
|
93
|
+
getPostLinkProps,
|
|
94
|
+
goBack,
|
|
98
95
|
__experimentalPreferredStyleVariations: {
|
|
99
96
|
value: preferredStyleVariations,
|
|
100
97
|
onChange: updatePreferredStyleVariations
|
|
101
98
|
},
|
|
102
|
-
hasFixedToolbar,
|
|
103
|
-
focusMode,
|
|
104
|
-
isDistractionFree,
|
|
105
99
|
hasInlineToolbar,
|
|
106
|
-
// This is marked as experimental to give time for the quick inserter to mature.
|
|
107
|
-
__experimentalSetIsInserterOpened: setIsInserterOpened,
|
|
108
|
-
keepCaretInsideBlock,
|
|
109
100
|
// Keep a reference of the `allowedBlockTypes` from the server to handle use cases
|
|
110
101
|
// where we need to differentiate if a block is disabled by the user or some plugin.
|
|
111
102
|
defaultAllowedBlockTypes: settings.allowedBlockTypes
|
|
@@ -122,7 +113,7 @@ function Editor({
|
|
|
122
113
|
result.allowedBlockTypes = defaultAllowedBlockTypes.filter(type => !hiddenBlockTypes.includes(type));
|
|
123
114
|
}
|
|
124
115
|
return result;
|
|
125
|
-
}, [settings,
|
|
116
|
+
}, [settings, hasInlineToolbar, hiddenBlockTypes, blockTypes, preferredStyleVariations, updatePreferredStyleVariations, getPostLinkProps, goBack]);
|
|
126
117
|
if (!post) {
|
|
127
118
|
return null;
|
|
128
119
|
}
|
|
@@ -134,7 +125,7 @@ function Editor({
|
|
|
134
125
|
__unstableTemplate: template,
|
|
135
126
|
...props
|
|
136
127
|
}, createElement(ErrorBoundary, null, createElement(CommandMenu, null), createElement(EditorInitialization, {
|
|
137
|
-
postId: postId
|
|
128
|
+
postId: currentPost.postId
|
|
138
129
|
}), createElement(Layout, null)), createElement(PostLockedModal, null)));
|
|
139
130
|
}
|
|
140
131
|
export default Editor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","blocksStore","useSelect","useDispatch","ErrorBoundary","PostLockedModal","editorStore","privateApis","editorPrivateApis","useMemo","SlotFillProvider","coreStore","preferencesStore","CommandMenu","useViewportMatch","Layout","EditorInitialization","editPostStore","unlock","ExperimentalEditorProvider","Editor","postId","postType","settings","initialEdits","props","isLargeViewport","hasFixedToolbar","focusMode","isDistractionFree","hasInlineToolbar","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","keepCaretInsideBlock","template","select","_getPostType$viewable","isFeatureActive","getEditedPostTemplate","getHiddenBlockTypes","getEntityRecord","getPostType","getEntityRecords","canUser","getEditorSettings","getBlockTypes","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","canEditTemplate","get","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","length","map","name","filter","type","createElement","useSubRegistry","__unstableTemplate"],"sources":["@wordpress/edit-post/src/editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { CommandMenu } from '@wordpress/commands';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport { store as editPostStore } from './store';\nimport { unlock } from './lock-unlock';\n\nconst { ExperimentalEditorProvider } = unlock( editorPrivateApis );\n\nfunction Editor( { postId, postType, settings, initialEdits, ...props } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thasInlineToolbar,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tkeepCaretInsideBlock,\n\t\ttemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisFeatureActive,\n\t\t\t\tgetEditedPostTemplate,\n\t\t\t\tgetHiddenBlockTypes,\n\t\t\t} = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, getEntityRecords, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t\t// to avoid the special case.\n\t\t\tlet postObject;\n\t\t\tif ( isTemplate ) {\n\t\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\t\twp_id: postId,\n\t\t\t\t} );\n\t\t\t\tpostObject = posts?.[ 0 ];\n\t\t\t} else {\n\t\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t\t}\n\t\t\tconst supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode;\n\t\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\t\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\t\t\treturn {\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tisFeatureActive( 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\t\tisDistractionFree: isFeatureActive( 'distractionFree' ),\n\t\t\t\thasInlineToolbar: isFeatureActive( 'inlineToolbar' ),\n\t\t\t\tpreferredStyleVariations: select( preferencesStore ).get(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations'\n\t\t\t\t),\n\t\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode && isViewable && canEditTemplate\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport ]\n\t);\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\tisDistractionFree,\n\t\t\thasInlineToolbar,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t// Keep a reference of the `allowedBlockTypes` from the server to handle use cases\n\t\t\t// where we need to differentiate if a block is disabled by the user or some plugin.\n\t\t\tdefaultAllowedBlockTypes: settings.allowedBlockTypes,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\thasInlineToolbar,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<ExperimentalEditorProvider\n\t\t\t\tsettings={ editorSettings }\n\t\t\t\tpost={ post }\n\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t__unstableTemplate={ template }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t<CommandMenu />\n\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t<Layout />\n\t\t\t\t</ErrorBoundary>\n\t\t\t\t<PostLockedModal />\n\t\t\t</ExperimentalEditorProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Editor;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["store","blocksStore","useSelect","useDispatch","ErrorBoundary","PostLockedModal","editorStore","privateApis","editorPrivateApis","useMemo","SlotFillProvider","coreStore","preferencesStore","CommandMenu","Layout","EditorInitialization","editPostStore","unlock","usePostHistory","ExperimentalEditorProvider","Editor","postId","initialPostId","postType","initialPostType","settings","initialEdits","props","currentPost","getPostLinkProps","goBack","hasInlineToolbar","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","template","select","_getPostType$viewable","isFeatureActive","getEditedPostTemplate","getHiddenBlockTypes","getEntityRecord","getPostType","getEntityRecords","canUser","getEditorSettings","getBlockTypes","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","canEditTemplate","get","updatePreferredStyleVariations","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","defaultAllowedBlockTypes","allowedBlockTypes","length","map","name","filter","type","createElement","useSubRegistry","__unstableTemplate"],"sources":["@wordpress/edit-post/src/editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { CommandMenu } from '@wordpress/commands';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport { store as editPostStore } from './store';\nimport { unlock } from './lock-unlock';\nimport usePostHistory from './hooks/use-post-history';\n\nconst { ExperimentalEditorProvider } = unlock( editorPrivateApis );\n\nfunction Editor( {\n\tpostId: initialPostId,\n\tpostType: initialPostType,\n\tsettings,\n\tinitialEdits,\n\t...props\n} ) {\n\tconst { currentPost, getPostLinkProps, goBack } = usePostHistory(\n\t\tinitialPostId,\n\t\tinitialPostType\n\t);\n\n\tconst {\n\t\thasInlineToolbar,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\ttemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisFeatureActive,\n\t\t\t\tgetEditedPostTemplate,\n\t\t\t\tgetHiddenBlockTypes,\n\t\t\t} = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, getEntityRecords, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\t\tcurrentPost.postType\n\t\t\t);\n\t\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t\t// to avoid the special case.\n\t\t\tlet postObject;\n\t\t\tif ( isTemplate ) {\n\t\t\t\tconst posts = getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\tcurrentPost.postType,\n\t\t\t\t\t{\n\t\t\t\t\t\twp_id: currentPost.postId,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tpostObject = posts?.[ 0 ];\n\t\t\t} else {\n\t\t\t\tpostObject = getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tcurrentPost.postType,\n\t\t\t\t\tcurrentPost.postId\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode;\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( currentPost.postType )?.viewable ?? false;\n\t\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\t\t\treturn {\n\t\t\t\thasInlineToolbar: isFeatureActive( 'inlineToolbar' ),\n\t\t\t\tpreferredStyleVariations: select( preferencesStore ).get(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations'\n\t\t\t\t),\n\t\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode && isViewable && canEditTemplate\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ currentPost.postType, currentPost.postId ]\n\t);\n\n\tconst { updatePreferredStyleVariations } = useDispatch( editPostStore );\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\tgetPostLinkProps,\n\t\t\tgoBack,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasInlineToolbar,\n\n\t\t\t// Keep a reference of the `allowedBlockTypes` from the server to handle use cases\n\t\t\t// where we need to differentiate if a block is disabled by the user or some plugin.\n\t\t\tdefaultAllowedBlockTypes: settings.allowedBlockTypes,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasInlineToolbar,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\tupdatePreferredStyleVariations,\n\t\tgetPostLinkProps,\n\t\tgoBack,\n\t] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<ExperimentalEditorProvider\n\t\t\t\tsettings={ editorSettings }\n\t\t\t\tpost={ post }\n\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t__unstableTemplate={ template }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t<CommandMenu />\n\t\t\t\t\t<EditorInitialization postId={ currentPost.postId } />\n\t\t\t\t\t<Layout />\n\t\t\t\t</ErrorBoundary>\n\t\t\t\t<PostLockedModal />\n\t\t\t</ExperimentalEditorProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Editor;\n"],"mappings":"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"}
|
|
@@ -42,12 +42,10 @@ class Editor extends Component {
|
|
|
42
42
|
});
|
|
43
43
|
this.setTitleRef = this.setTitleRef.bind(this);
|
|
44
44
|
}
|
|
45
|
-
getEditorSettings(settings,
|
|
45
|
+
getEditorSettings(settings, hiddenBlockTypes, blockTypes) {
|
|
46
46
|
settings = {
|
|
47
47
|
...settings,
|
|
48
|
-
isRTL: I18nManager.isRTL
|
|
49
|
-
hasFixedToolbar,
|
|
50
|
-
focusMode
|
|
48
|
+
isRTL: I18nManager.isRTL
|
|
51
49
|
};
|
|
52
50
|
|
|
53
51
|
// Omit hidden block types if exists and non-empty.
|
|
@@ -107,8 +105,6 @@ class Editor extends Component {
|
|
|
107
105
|
render() {
|
|
108
106
|
const {
|
|
109
107
|
settings,
|
|
110
|
-
hasFixedToolbar,
|
|
111
|
-
focusMode,
|
|
112
108
|
initialEdits,
|
|
113
109
|
hiddenBlockTypes,
|
|
114
110
|
blockTypes,
|
|
@@ -119,7 +115,7 @@ class Editor extends Component {
|
|
|
119
115
|
initialHtml,
|
|
120
116
|
...props
|
|
121
117
|
} = this.props;
|
|
122
|
-
const editorSettings = this.getEditorSettings(settings,
|
|
118
|
+
const editorSettings = this.getEditorSettings(settings, hiddenBlockTypes, blockTypes);
|
|
123
119
|
const normalizedPost = post || {
|
|
124
120
|
id: postId,
|
|
125
121
|
title: {
|
|
@@ -153,7 +149,6 @@ class Editor extends Component {
|
|
|
153
149
|
}
|
|
154
150
|
export default compose([withSelect(select => {
|
|
155
151
|
const {
|
|
156
|
-
isFeatureActive,
|
|
157
152
|
getEditorMode,
|
|
158
153
|
getHiddenBlockTypes
|
|
159
154
|
} = select(editPostStore);
|
|
@@ -161,8 +156,6 @@ export default compose([withSelect(select => {
|
|
|
161
156
|
getBlockTypes
|
|
162
157
|
} = select(blocksStore);
|
|
163
158
|
return {
|
|
164
|
-
hasFixedToolbar: isFeatureActive('fixedToolbar'),
|
|
165
|
-
focusMode: isFeatureActive('focusMode'),
|
|
166
159
|
mode: getEditorMode(),
|
|
167
160
|
hiddenBlockTypes: getHiddenBlockTypes(),
|
|
168
161
|
blockTypes: getBlockTypes()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memize","I18nManager","GestureHandlerRootView","Component","EditorProvider","parse","serialize","store","blocksStore","withDispatch","withSelect","compose","subscribeSetFocusOnTitle","subscribeFeaturedImageIdNativeUpdated","SlotFillProvider","coreStore","Layout","editPostStore","Editor","constructor","props","arguments","galleryWithImageBlocks","window","wp","galleryBlockV2Enabled","initialHtmlModeEnabled","mode","switchEditorMode","getEditorSettings","maxSize","setTitleRef","bind","settings","hasFixedToolbar","focusMode","hiddenBlockTypes","blockTypes","isRTL","length","allowedBlockTypes","undefined","defaultAllowedBlockTypes","map","name","filter","type","includes","componentDidMount","editEntityRecord","postType","postId","subscriptionParentSetFocusOnTitle","postTitleRef","focus","focusTitleWhenAvailable","subscriptionParentFeaturedImageIdNativeUpdated","payload","featured_media","featuredImageId","undoIgnore","componentWillUnmount","remove","titleRef","render","initialEdits","post","initialHtml","editorSettings","normalizedPost","id","title","raw","initialTitle","content","status","meta","createElement","style","flex","useSubRegistry","select","isFeatureActive","getEditorMode","getHiddenBlockTypes","getBlockTypes","dispatch"],"sources":["@wordpress/edit-post/src/editor.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport memize from 'memize';\nimport { I18nManager } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { EditorProvider } from '@wordpress/editor';\nimport { parse, serialize, store as blocksStore } from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport {\n\tsubscribeSetFocusOnTitle,\n\tsubscribeFeaturedImageIdNativeUpdated,\n} from '@wordpress/react-native-bridge';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport { store as editPostStore } from './store';\n\nclass Editor extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\t// need to set this globally to avoid race with deprecations\n\t\t// defaulting to true to avoid issues with a not-yet-cached value\n\t\tconst { galleryWithImageBlocks = true } = props;\n\t\twindow.wp.galleryBlockV2Enabled = galleryWithImageBlocks;\n\n\t\tif ( props.initialHtmlModeEnabled && props.mode === 'visual' ) {\n\t\t\t// Enable html mode if the initial mode the parent wants it but we're not already in it.\n\t\t\tthis.props.switchEditorMode( 'text' );\n\t\t}\n\n\t\tthis.getEditorSettings = memize( this.getEditorSettings, {\n\t\t\tmaxSize: 1,\n\t\t} );\n\n\t\tthis.setTitleRef = this.setTitleRef.bind( this );\n\t}\n\n\tgetEditorSettings(\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thiddenBlockTypes,\n\t\tblockTypes\n\t) {\n\t\tsettings = {\n\t\t\t...settings,\n\t\t\tisRTL: I18nManager.isRTL,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\tif ( settings.allowedBlockTypes === undefined ) {\n\t\t\t\t// If no specific flags for allowedBlockTypes are set, assume `true`\n\t\t\t\t// meaning allow all block types.\n\t\t\t\tsettings.allowedBlockTypes = true;\n\t\t\t}\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tsettings.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings;\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { editEntityRecord, postType, postId } = this.props;\n\n\t\tthis.subscriptionParentSetFocusOnTitle = subscribeSetFocusOnTitle(\n\t\t\t() => {\n\t\t\t\tif ( this.postTitleRef ) {\n\t\t\t\t\tthis.postTitleRef.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// If the post title ref is not available, we postpone setting focus to when it's available.\n\t\t\t\t\tthis.focusTitleWhenAvailable = true;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentFeaturedImageIdNativeUpdated =\n\t\t\tsubscribeFeaturedImageIdNativeUpdated( ( payload ) => {\n\t\t\t\teditEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId,\n\t\t\t\t\t{ featured_media: payload.featuredImageId },\n\t\t\t\t\t{\n\t\t\t\t\t\tundoIgnore: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentSetFocusOnTitle ) {\n\t\t\tthis.subscriptionParentSetFocusOnTitle.remove();\n\t\t}\n\n\t\tif ( this.subscribeFeaturedImageIdNativeUpdated ) {\n\t\t\tthis.subscribeFeaturedImageIdNativeUpdated.remove();\n\t\t}\n\t}\n\n\tsetTitleRef( titleRef ) {\n\t\tif ( this.focusTitleWhenAvailable && ! this.postTitleRef ) {\n\t\t\tthis.focusTitleWhenAvailable = false;\n\t\t\ttitleRef.focus();\n\t\t}\n\n\t\tthis.postTitleRef = titleRef;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tsettings,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\tinitialEdits,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes,\n\t\t\tpost,\n\t\t\tpostId,\n\t\t\tpostType,\n\t\t\tfeaturedImageId,\n\t\t\tinitialHtml,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\tconst editorSettings = this.getEditorSettings(\n\t\t\tsettings,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes\n\t\t);\n\n\t\tconst normalizedPost = post || {\n\t\t\tid: postId,\n\t\t\ttitle: {\n\t\t\t\traw: props.initialTitle || '',\n\t\t\t},\n\t\t\tfeatured_media: featuredImageId,\n\t\t\tcontent: {\n\t\t\t\t// Make sure the post content is in sync with gutenberg store\n\t\t\t\t// to avoid marking the post as modified when simply loaded\n\t\t\t\t// For now, let's assume: serialize( parse( html ) ) !== html.\n\t\t\t\traw: serialize( parse( initialHtml || '' ) ),\n\t\t\t},\n\t\t\ttype: postType,\n\t\t\tstatus: 'draft',\n\t\t\tmeta: [],\n\t\t};\n\n\t\treturn (\n\t\t\t<GestureHandlerRootView style={ { flex: 1 } }>\n\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tpost={ normalizedPost }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Layout setTitleRef={ this.setTitleRef } />\n\t\t\t\t\t</EditorProvider>\n\t\t\t\t</SlotFillProvider>\n\t\t\t</GestureHandlerRootView>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isFeatureActive, getEditorMode, getHiddenBlockTypes } =\n\t\t\tselect( editPostStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\n\t\treturn {\n\t\t\thasFixedToolbar: isFeatureActive( 'fixedToolbar' ),\n\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\tmode: getEditorMode(),\n\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\tblockTypes: getBlockTypes(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { editEntityRecord } = dispatch( coreStore );\n\t\treturn {\n\t\t\tswitchEditorMode,\n\t\t\teditEntityRecord,\n\t\t};\n\t} ),\n] )( Editor );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["memize","I18nManager","GestureHandlerRootView","Component","EditorProvider","parse","serialize","store","blocksStore","withDispatch","withSelect","compose","subscribeSetFocusOnTitle","subscribeFeaturedImageIdNativeUpdated","SlotFillProvider","coreStore","Layout","editPostStore","Editor","constructor","props","arguments","galleryWithImageBlocks","window","wp","galleryBlockV2Enabled","initialHtmlModeEnabled","mode","switchEditorMode","getEditorSettings","maxSize","setTitleRef","bind","settings","hiddenBlockTypes","blockTypes","isRTL","length","allowedBlockTypes","undefined","defaultAllowedBlockTypes","map","name","filter","type","includes","componentDidMount","editEntityRecord","postType","postId","subscriptionParentSetFocusOnTitle","postTitleRef","focus","focusTitleWhenAvailable","subscriptionParentFeaturedImageIdNativeUpdated","payload","featured_media","featuredImageId","undoIgnore","componentWillUnmount","remove","titleRef","render","initialEdits","post","initialHtml","editorSettings","normalizedPost","id","title","raw","initialTitle","content","status","meta","createElement","style","flex","useSubRegistry","select","getEditorMode","getHiddenBlockTypes","getBlockTypes","dispatch"],"sources":["@wordpress/edit-post/src/editor.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport memize from 'memize';\nimport { I18nManager } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { EditorProvider } from '@wordpress/editor';\nimport { parse, serialize, store as blocksStore } from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport {\n\tsubscribeSetFocusOnTitle,\n\tsubscribeFeaturedImageIdNativeUpdated,\n} from '@wordpress/react-native-bridge';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport { store as editPostStore } from './store';\n\nclass Editor extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\t// need to set this globally to avoid race with deprecations\n\t\t// defaulting to true to avoid issues with a not-yet-cached value\n\t\tconst { galleryWithImageBlocks = true } = props;\n\t\twindow.wp.galleryBlockV2Enabled = galleryWithImageBlocks;\n\n\t\tif ( props.initialHtmlModeEnabled && props.mode === 'visual' ) {\n\t\t\t// Enable html mode if the initial mode the parent wants it but we're not already in it.\n\t\t\tthis.props.switchEditorMode( 'text' );\n\t\t}\n\n\t\tthis.getEditorSettings = memize( this.getEditorSettings, {\n\t\t\tmaxSize: 1,\n\t\t} );\n\n\t\tthis.setTitleRef = this.setTitleRef.bind( this );\n\t}\n\n\tgetEditorSettings( settings, hiddenBlockTypes, blockTypes ) {\n\t\tsettings = {\n\t\t\t...settings,\n\t\t\tisRTL: I18nManager.isRTL,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\tif ( settings.allowedBlockTypes === undefined ) {\n\t\t\t\t// If no specific flags for allowedBlockTypes are set, assume `true`\n\t\t\t\t// meaning allow all block types.\n\t\t\t\tsettings.allowedBlockTypes = true;\n\t\t\t}\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tsettings.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings;\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { editEntityRecord, postType, postId } = this.props;\n\n\t\tthis.subscriptionParentSetFocusOnTitle = subscribeSetFocusOnTitle(\n\t\t\t() => {\n\t\t\t\tif ( this.postTitleRef ) {\n\t\t\t\t\tthis.postTitleRef.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// If the post title ref is not available, we postpone setting focus to when it's available.\n\t\t\t\t\tthis.focusTitleWhenAvailable = true;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentFeaturedImageIdNativeUpdated =\n\t\t\tsubscribeFeaturedImageIdNativeUpdated( ( payload ) => {\n\t\t\t\teditEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId,\n\t\t\t\t\t{ featured_media: payload.featuredImageId },\n\t\t\t\t\t{\n\t\t\t\t\t\tundoIgnore: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentSetFocusOnTitle ) {\n\t\t\tthis.subscriptionParentSetFocusOnTitle.remove();\n\t\t}\n\n\t\tif ( this.subscribeFeaturedImageIdNativeUpdated ) {\n\t\t\tthis.subscribeFeaturedImageIdNativeUpdated.remove();\n\t\t}\n\t}\n\n\tsetTitleRef( titleRef ) {\n\t\tif ( this.focusTitleWhenAvailable && ! this.postTitleRef ) {\n\t\t\tthis.focusTitleWhenAvailable = false;\n\t\t\ttitleRef.focus();\n\t\t}\n\n\t\tthis.postTitleRef = titleRef;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tsettings,\n\t\t\tinitialEdits,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes,\n\t\t\tpost,\n\t\t\tpostId,\n\t\t\tpostType,\n\t\t\tfeaturedImageId,\n\t\t\tinitialHtml,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\tconst editorSettings = this.getEditorSettings(\n\t\t\tsettings,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes\n\t\t);\n\n\t\tconst normalizedPost = post || {\n\t\t\tid: postId,\n\t\t\ttitle: {\n\t\t\t\traw: props.initialTitle || '',\n\t\t\t},\n\t\t\tfeatured_media: featuredImageId,\n\t\t\tcontent: {\n\t\t\t\t// Make sure the post content is in sync with gutenberg store\n\t\t\t\t// to avoid marking the post as modified when simply loaded\n\t\t\t\t// For now, let's assume: serialize( parse( html ) ) !== html.\n\t\t\t\traw: serialize( parse( initialHtml || '' ) ),\n\t\t\t},\n\t\t\ttype: postType,\n\t\t\tstatus: 'draft',\n\t\t\tmeta: [],\n\t\t};\n\n\t\treturn (\n\t\t\t<GestureHandlerRootView style={ { flex: 1 } }>\n\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tpost={ normalizedPost }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Layout setTitleRef={ this.setTitleRef } />\n\t\t\t\t\t</EditorProvider>\n\t\t\t\t</SlotFillProvider>\n\t\t\t</GestureHandlerRootView>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getEditorMode, getHiddenBlockTypes } = select( editPostStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\n\t\treturn {\n\t\t\tmode: getEditorMode(),\n\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\tblockTypes: getBlockTypes(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { editEntityRecord } = dispatch( coreStore );\n\t\treturn {\n\t\t\tswitchEditorMode,\n\t\t\teditEntityRecord,\n\t\t};\n\t} ),\n] )( Editor );\n"],"mappings":"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"}
|
|
@@ -21,7 +21,6 @@ export default function useCommonCommands() {
|
|
|
21
21
|
openGeneralSidebar,
|
|
22
22
|
closeGeneralSidebar,
|
|
23
23
|
switchEditorMode,
|
|
24
|
-
setIsListViewOpened,
|
|
25
24
|
toggleDistractionFree
|
|
26
25
|
} = useDispatch(editPostStore);
|
|
27
26
|
const {
|
|
@@ -36,17 +35,21 @@ export default function useCommonCommands() {
|
|
|
36
35
|
isDistractionFree
|
|
37
36
|
} = useSelect(select => {
|
|
38
37
|
const {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
get
|
|
39
|
+
} = select(preferencesStore);
|
|
40
|
+
const {
|
|
41
|
+
getEditorMode
|
|
42
42
|
} = select(editPostStore);
|
|
43
|
+
const {
|
|
44
|
+
isListViewOpened
|
|
45
|
+
} = select(editorStore);
|
|
43
46
|
return {
|
|
44
47
|
activeSidebar: select(interfaceStore).getActiveComplementaryArea(editPostStore.name),
|
|
45
48
|
editorMode: getEditorMode(),
|
|
46
49
|
isListViewOpen: isListViewOpened(),
|
|
47
50
|
isPublishSidebarEnabled: select(editorStore).isPublishSidebarEnabled(),
|
|
48
|
-
showBlockBreadcrumbs:
|
|
49
|
-
isDistractionFree:
|
|
51
|
+
showBlockBreadcrumbs: get('core', 'showBlockBreadcrumbs'),
|
|
52
|
+
isDistractionFree: get('core', 'distractionFree')
|
|
50
53
|
};
|
|
51
54
|
}, []);
|
|
52
55
|
const {
|
|
@@ -56,7 +59,8 @@ export default function useCommonCommands() {
|
|
|
56
59
|
createInfoNotice
|
|
57
60
|
} = useDispatch(noticesStore);
|
|
58
61
|
const {
|
|
59
|
-
__unstableSaveForPreview
|
|
62
|
+
__unstableSaveForPreview,
|
|
63
|
+
setIsListViewOpened
|
|
60
64
|
} = useDispatch(editorStore);
|
|
61
65
|
const {
|
|
62
66
|
getCurrentPostId
|
|
@@ -107,7 +111,7 @@ export default function useCommonCommands() {
|
|
|
107
111
|
callback: ({
|
|
108
112
|
close
|
|
109
113
|
}) => {
|
|
110
|
-
toggle('core
|
|
114
|
+
toggle('core', 'focusMode');
|
|
111
115
|
close();
|
|
112
116
|
}
|
|
113
117
|
});
|
|
@@ -139,7 +143,7 @@ export default function useCommonCommands() {
|
|
|
139
143
|
callback: ({
|
|
140
144
|
close
|
|
141
145
|
}) => {
|
|
142
|
-
toggle('core
|
|
146
|
+
toggle('core', 'fixedToolbar');
|
|
143
147
|
if (isDistractionFree) {
|
|
144
148
|
toggleDistractionFree();
|
|
145
149
|
}
|
|
@@ -178,7 +182,7 @@ export default function useCommonCommands() {
|
|
|
178
182
|
callback: ({
|
|
179
183
|
close
|
|
180
184
|
}) => {
|
|
181
|
-
toggle('core
|
|
185
|
+
toggle('core', 'showBlockBreadcrumbs');
|
|
182
186
|
close();
|
|
183
187
|
createInfoNotice(showBlockBreadcrumbs ? __('Breadcrumbs hidden.') : __('Breadcrumbs visible.'), {
|
|
184
188
|
id: 'core/edit-post/toggle-breadcrumbs/notice',
|
|
@@ -188,14 +192,14 @@ export default function useCommonCommands() {
|
|
|
188
192
|
});
|
|
189
193
|
useCommand({
|
|
190
194
|
name: 'core/toggle-publish-sidebar',
|
|
191
|
-
label: isPublishSidebarEnabled ? __('Disable pre-publish
|
|
195
|
+
label: isPublishSidebarEnabled ? __('Disable pre-publish checks') : __('Enable pre-publish checks'),
|
|
192
196
|
icon: formatListBullets,
|
|
193
197
|
callback: ({
|
|
194
198
|
close
|
|
195
199
|
}) => {
|
|
196
200
|
close();
|
|
197
201
|
toggle('core/edit-post', 'isPublishSidebarEnabled');
|
|
198
|
-
createInfoNotice(isPublishSidebarEnabled ? __('Pre-publish
|
|
202
|
+
createInfoNotice(isPublishSidebarEnabled ? __('Pre-publish checks disabled.') : __('Pre-publish checks enabled.'), {
|
|
199
203
|
id: 'core/edit-post/publish-sidebar/notice',
|
|
200
204
|
type: 'snackbar'
|
|
201
205
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","__","isRTL","code","drawerLeft","drawerRight","blockDefault","keyboard","desktop","listView","external","formatListBullets","useCommand","store","preferencesStore","interfaceStore","editorStore","noticesStore","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","PREFERENCES_MODAL_NAME","editPostStore","useCommonCommands","openGeneralSidebar","closeGeneralSidebar","switchEditorMode","setIsListViewOpened","toggleDistractionFree","openModal","editorMode","activeSidebar","isListViewOpen","isPublishSidebarEnabled","showBlockBreadcrumbs","isDistractionFree","select","getEditorMode","isListViewOpened","isFeatureActive","getActiveComplementaryArea","name","get","toggle","createInfoNotice","__unstableSaveForPreview","getCurrentPostId","label","icon","callback","close","id","type","postId","link","window","open"],"sources":["@wordpress/edit-post/src/hooks/commands/use-common-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tcode,\n\tdrawerLeft,\n\tdrawerRight,\n\tblockDefault,\n\tkeyboard,\n\tdesktop,\n\tlistView,\n\texternal,\n\tformatListBullets,\n} from '@wordpress/icons';\nimport { useCommand } from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';\nimport { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';\nimport { store as editPostStore } from '../../store';\n\nexport default function useCommonCommands() {\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\tswitchEditorMode,\n\t\tsetIsListViewOpened,\n\t\ttoggleDistractionFree,\n\t} = useDispatch( editPostStore );\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst {\n\t\teditorMode,\n\t\tactiveSidebar,\n\t\tisListViewOpen,\n\t\tisPublishSidebarEnabled,\n\t\tshowBlockBreadcrumbs,\n\t\tisDistractionFree,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorMode, isListViewOpened, isFeatureActive } =\n\t\t\tselect( editPostStore );\n\t\treturn {\n\t\t\tactiveSidebar: select( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditPostStore.name\n\t\t\t),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisPublishSidebarEnabled:\n\t\t\t\tselect( editorStore ).isPublishSidebarEnabled(),\n\t\t\tshowBlockBreadcrumbs: isFeatureActive( 'showBlockBreadcrumbs' ),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\teditPostStore.name,\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { __unstableSaveForPreview } = useDispatch( editorStore );\n\tconst { getCurrentPostId } = useSelect( editorStore );\n\n\tuseCommand( {\n\t\tname: 'core/open-settings-sidebar',\n\t\tlabel: __( 'Toggle settings sidebar' ),\n\t\ticon: isRTL() ? drawerLeft : drawerRight,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/document' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/document' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-block-inspector',\n\t\tlabel: __( 'Toggle block inspector' ),\n\t\ticon: blockDefault,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/block' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/block' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-distraction-free',\n\t\tlabel: __( 'Toggle distraction free' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggleDistractionFree();\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-spotlight-mode',\n\t\tlabel: __( 'Toggle spotlight mode' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'focusMode' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-fullscreen-mode',\n\t\tlabel: __( 'Toggle fullscreen mode' ),\n\t\ticon: desktop,\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'fullscreenMode' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-list-view',\n\t\tlabel: __( 'Toggle list view' ),\n\t\ticon: listView,\n\t\tcallback: ( { close } ) => {\n\t\t\tsetIsListViewOpened( ! isListViewOpen );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-top-toolbar',\n\t\tlabel: __( 'Toggle top toolbar' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'fixedToolbar' );\n\t\t\tif ( isDistractionFree ) {\n\t\t\t\ttoggleDistractionFree();\n\t\t\t}\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-code-editor',\n\t\tlabel: __( 'Toggle code editor' ),\n\t\ticon: code,\n\t\tcallback: ( { close } ) => {\n\t\t\tswitchEditorMode( editorMode === 'visual' ? 'text' : 'visual' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-preferences',\n\t\tlabel: __( 'Editor preferences' ),\n\t\tcallback: () => {\n\t\t\topenModal( PREFERENCES_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-shortcut-help',\n\t\tlabel: __( 'Keyboard shortcuts' ),\n\t\ticon: keyboard,\n\t\tcallback: () => {\n\t\t\topenModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-breadcrumbs',\n\t\tlabel: showBlockBreadcrumbs\n\t\t\t? __( 'Hide block breadcrumbs' )\n\t\t\t: __( 'Show block breadcrumbs' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'showBlockBreadcrumbs' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tshowBlockBreadcrumbs\n\t\t\t\t\t? __( 'Breadcrumbs hidden.' )\n\t\t\t\t\t: __( 'Breadcrumbs visible.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/toggle-breadcrumbs/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-publish-sidebar',\n\t\tlabel: isPublishSidebarEnabled\n\t\t\t? __( 'Disable pre-publish checklist' )\n\t\t\t: __( 'Enable pre-publish checklist' ),\n\t\ticon: formatListBullets,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\ttoggle( 'core/edit-post', 'isPublishSidebarEnabled' );\n\t\t\tcreateInfoNotice(\n\t\t\t\tisPublishSidebarEnabled\n\t\t\t\t\t? __( 'Pre-publish checklist off.' )\n\t\t\t\t\t: __( 'Pre-publish checklist on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/publish-sidebar/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/preview-link',\n\t\tlabel: __( 'Preview in a new tab' ),\n\t\ticon: external,\n\t\tcallback: async ( { close } ) => {\n\t\t\tclose();\n\t\t\tconst postId = getCurrentPostId();\n\t\t\tconst link = await __unstableSaveForPreview();\n\t\t\twindow.open( link, `wp-preview-${ postId }` );\n\t\t},\n\t} );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","__","isRTL","code","drawerLeft","drawerRight","blockDefault","keyboard","desktop","listView","external","formatListBullets","useCommand","store","preferencesStore","interfaceStore","editorStore","noticesStore","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","PREFERENCES_MODAL_NAME","editPostStore","useCommonCommands","openGeneralSidebar","closeGeneralSidebar","switchEditorMode","toggleDistractionFree","openModal","editorMode","activeSidebar","isListViewOpen","isPublishSidebarEnabled","showBlockBreadcrumbs","isDistractionFree","select","get","getEditorMode","isListViewOpened","getActiveComplementaryArea","name","toggle","createInfoNotice","__unstableSaveForPreview","setIsListViewOpened","getCurrentPostId","label","icon","callback","close","id","type","postId","link","window","open"],"sources":["@wordpress/edit-post/src/hooks/commands/use-common-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tcode,\n\tdrawerLeft,\n\tdrawerRight,\n\tblockDefault,\n\tkeyboard,\n\tdesktop,\n\tlistView,\n\texternal,\n\tformatListBullets,\n} from '@wordpress/icons';\nimport { useCommand } from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';\nimport { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';\nimport { store as editPostStore } from '../../store';\n\nexport default function useCommonCommands() {\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\tswitchEditorMode,\n\t\ttoggleDistractionFree,\n\t} = useDispatch( editPostStore );\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst {\n\t\teditorMode,\n\t\tactiveSidebar,\n\t\tisListViewOpen,\n\t\tisPublishSidebarEnabled,\n\t\tshowBlockBreadcrumbs,\n\t\tisDistractionFree,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorMode } = select( editPostStore );\n\t\tconst { isListViewOpened } = select( editorStore );\n\t\treturn {\n\t\t\tactiveSidebar: select( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditPostStore.name\n\t\t\t),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisPublishSidebarEnabled:\n\t\t\t\tselect( editorStore ).isPublishSidebarEnabled(),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t};\n\t}, [] );\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { __unstableSaveForPreview, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\tconst { getCurrentPostId } = useSelect( editorStore );\n\n\tuseCommand( {\n\t\tname: 'core/open-settings-sidebar',\n\t\tlabel: __( 'Toggle settings sidebar' ),\n\t\ticon: isRTL() ? drawerLeft : drawerRight,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/document' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/document' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-block-inspector',\n\t\tlabel: __( 'Toggle block inspector' ),\n\t\ticon: blockDefault,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/block' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/block' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-distraction-free',\n\t\tlabel: __( 'Toggle distraction free' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggleDistractionFree();\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-spotlight-mode',\n\t\tlabel: __( 'Toggle spotlight mode' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'focusMode' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-fullscreen-mode',\n\t\tlabel: __( 'Toggle fullscreen mode' ),\n\t\ticon: desktop,\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'fullscreenMode' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-list-view',\n\t\tlabel: __( 'Toggle list view' ),\n\t\ticon: listView,\n\t\tcallback: ( { close } ) => {\n\t\t\tsetIsListViewOpened( ! isListViewOpen );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-top-toolbar',\n\t\tlabel: __( 'Toggle top toolbar' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'fixedToolbar' );\n\t\t\tif ( isDistractionFree ) {\n\t\t\t\ttoggleDistractionFree();\n\t\t\t}\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-code-editor',\n\t\tlabel: __( 'Toggle code editor' ),\n\t\ticon: code,\n\t\tcallback: ( { close } ) => {\n\t\t\tswitchEditorMode( editorMode === 'visual' ? 'text' : 'visual' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-preferences',\n\t\tlabel: __( 'Editor preferences' ),\n\t\tcallback: () => {\n\t\t\topenModal( PREFERENCES_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-shortcut-help',\n\t\tlabel: __( 'Keyboard shortcuts' ),\n\t\ticon: keyboard,\n\t\tcallback: () => {\n\t\t\topenModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-breadcrumbs',\n\t\tlabel: showBlockBreadcrumbs\n\t\t\t? __( 'Hide block breadcrumbs' )\n\t\t\t: __( 'Show block breadcrumbs' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'showBlockBreadcrumbs' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tshowBlockBreadcrumbs\n\t\t\t\t\t? __( 'Breadcrumbs hidden.' )\n\t\t\t\t\t: __( 'Breadcrumbs visible.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/toggle-breadcrumbs/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-publish-sidebar',\n\t\tlabel: isPublishSidebarEnabled\n\t\t\t? __( 'Disable pre-publish checks' )\n\t\t\t: __( 'Enable pre-publish checks' ),\n\t\ticon: formatListBullets,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\ttoggle( 'core/edit-post', 'isPublishSidebarEnabled' );\n\t\t\tcreateInfoNotice(\n\t\t\t\tisPublishSidebarEnabled\n\t\t\t\t\t? __( 'Pre-publish checks disabled.' )\n\t\t\t\t\t: __( 'Pre-publish checks enabled.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/publish-sidebar/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/preview-link',\n\t\tlabel: __( 'Preview in a new tab' ),\n\t\ticon: external,\n\t\tcallback: async ( { close } ) => {\n\t\t\tclose();\n\t\t\tconst postId = getCurrentPostId();\n\t\t\tconst link = await __unstableSaveForPreview();\n\t\t\twindow.open( link, `wp-preview-${ postId }` );\n\t\t},\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,EAAE,EAAEC,KAAK,QAAQ,iBAAiB;AAC3C,SACCC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,YAAY,EACZC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRC,iBAAiB,QACX,kBAAkB;AACzB,SAASC,UAAU,QAAQ,qBAAqB;AAChD,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,wBAAwB;AAClE,SAASD,KAAK,IAAIE,cAAc,QAAQ,sBAAsB;AAC9D,SAASF,KAAK,IAAIG,WAAW,QAAQ,mBAAmB;AACxD,SAASH,KAAK,IAAII,YAAY,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,SAASC,iCAAiC,QAAQ,+CAA+C;AACjG,SAASC,sBAAsB,QAAQ,oCAAoC;AAC3E,SAASN,KAAK,IAAIO,aAAa,QAAQ,aAAa;AAEpD,eAAe,SAASC,iBAAiBA,CAAA,EAAG;EAC3C,MAAM;IACLC,kBAAkB;IAClBC,mBAAmB;IACnBC,gBAAgB;IAChBC;EACD,CAAC,GAAGzB,WAAW,CAAEoB,aAAc,CAAC;EAChC,MAAM;IAAEM;EAAU,CAAC,GAAG1B,WAAW,CAAEe,cAAe,CAAC;EACnD,MAAM;IACLY,UAAU;IACVC,aAAa;IACbC,cAAc;IACdC,uBAAuB;IACvBC,oBAAoB;IACpBC;EACD,CAAC,GAAGjC,SAAS,CAAIkC,MAAM,IAAM;IAC5B,MAAM;MAAEC;IAAI,CAAC,GAAGD,MAAM,CAAEnB,gBAAiB,CAAC;IAC1C,MAAM;MAAEqB;IAAc,CAAC,GAAGF,MAAM,CAAEb,aAAc,CAAC;IACjD,MAAM;MAAEgB;IAAiB,CAAC,GAAGH,MAAM,CAAEjB,WAAY,CAAC;IAClD,OAAO;MACNY,aAAa,EAAEK,MAAM,CAAElB,cAAe,CAAC,CAACsB,0BAA0B,CACjEjB,aAAa,CAACkB,IACf,CAAC;MACDX,UAAU,EAAEQ,aAAa,CAAC,CAAC;MAC3BN,cAAc,EAAEO,gBAAgB,CAAC,CAAC;MAClCN,uBAAuB,EACtBG,MAAM,CAAEjB,WAAY,CAAC,CAACc,uBAAuB,CAAC,CAAC;MAChDC,oBAAoB,EAAEG,GAAG,CAAE,MAAM,EAAE,sBAAuB,CAAC;MAC3DF,iBAAiB,EAAEE,GAAG,CAAE,MAAM,EAAE,iBAAkB;IACnD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEK;EAAO,CAAC,GAAGvC,WAAW,CAAEc,gBAAiB,CAAC;EAClD,MAAM;IAAE0B;EAAiB,CAAC,GAAGxC,WAAW,CAAEiB,YAAa,CAAC;EACxD,MAAM;IAAEwB,wBAAwB;IAAEC;EAAoB,CAAC,GACtD1C,WAAW,CAAEgB,WAAY,CAAC;EAC3B,MAAM;IAAE2B;EAAiB,CAAC,GAAG5C,SAAS,CAAEiB,WAAY,CAAC;EAErDJ,UAAU,CAAE;IACX0B,IAAI,EAAE,4BAA4B;IAClCM,KAAK,EAAE3C,EAAE,CAAE,yBAA0B,CAAC;IACtC4C,IAAI,EAAE3C,KAAK,CAAC,CAAC,GAAGE,UAAU,GAAGC,WAAW;IACxCyC,QAAQ,EAAEA,CAAE;MAAEC;IAAM,CAAC,KAAM;MAC1BA,KAAK,CAAC,CAAC;MACP,IAAKnB,aAAa,KAAK,oBAAoB,EAAG;QAC7CL,mBAAmB,CAAC,CAAC;MACtB,CAAC,MAAM;QACND,kBAAkB,CAAE,oBAAqB,CAAC;MAC3C;IACD;EACD,CAAE,CAAC;EAEHV,UAAU,CAAE;IACX0B,IAAI,EAAE,2BAA2B;IACjCM,KAAK,EAAE3C,EAAE,CAAE,wBAAyB,CAAC;IACrC4C,IAAI,EAAEvC,YAAY;IAClBwC,QAAQ,EAAEA,CAAE;MAAEC;IAAM,CAAC,KAAM;MAC1BA,KAAK,CAAC,CAAC;MACP,IAAKnB,aAAa,KAAK,iBAAiB,EAAG;QAC1CL,mBAAmB,CAAC,CAAC;MACtB,CAAC,MAAM;QACND,kBAAkB,CAAE,iBAAkB,CAAC;MACxC;IACD;EACD,CAAE,CAAC;EAEHV,UAAU,CAAE;IACX0B,IAAI,EAAE,8BAA8B;IACpCM,KAAK,EAAE3C,EAAE,CAAE,yBAA0B,CAAC;IACtC6C,QAAQ,EAAEA,CAAE;MAAEC;IAAM,CAAC,KAAM;MAC1BtB,qBAAqB,CAAC,CAAC;MACvBsB,KAAK,CAAC,CAAC;IACR;EACD,CAAE,CAAC;EAEHnC,UAAU,CAAE;IACX0B,IAAI,EAAE,4BAA4B;IAClCM,KAAK,EAAE3C,EAAE,CAAE,uBAAwB,CAAC;IACpC6C,QAAQ,EAAEA,CAAE;MAAEC;IAAM,CAAC,KAAM;MAC1BR,MAAM,CAAE,MAAM,EAAE,WAAY,CAAC;MAC7BQ,KAAK,CAAC,CAAC;IACR;EACD,CAAE,CAAC;EAEHnC,UAAU,CAAE;IACX0B,IAAI,EAAE,6BAA6B;IACnCM,KAAK,EAAE3C,EAAE,CAAE,wBAAyB,CAAC;IACrC4C,IAAI,EAAErC,OAAO;IACbsC,QAAQ,EAAEA,CAAE;MAAEC;IAAM,CAAC,KAAM;MAC1BR,MAAM,CAAE,gBAAgB,EAAE,gBAAiB,CAAC;MAC5CQ,KAAK,CAAC,CAAC;IACR;EACD,CAAE,CAAC;EAEHnC,UAAU,CAAE;IACX0B,IAAI,EAAE,uBAAuB;IAC7BM,KAAK,EAAE3C,EAAE,CAAE,kBAAmB,CAAC;IAC/B4C,IAAI,EAAEpC,QAAQ;IACdqC,QAAQ,EAAEA,CAAE;MAAEC;IAAM,CAAC,KAAM;MAC1BL,mBAAmB,CAAE,CAAEb,cAAe,CAAC;MACvCkB,KAAK,CAAC,CAAC;IACR;EACD,CAAE,CAAC;EAEHnC,UAAU,CAAE;IACX0B,IAAI,EAAE,yBAAyB;IAC/BM,KAAK,EAAE3C,EAAE,CAAE,oBAAqB,CAAC;IACjC6C,QAAQ,EAAEA,CAAE;MAAEC;IAAM,CAAC,KAAM;MAC1BR,MAAM,CAAE,MAAM,EAAE,cAAe,CAAC;MAChC,IAAKP,iBAAiB,EAAG;QACxBP,qBAAqB,CAAC,CAAC;MACxB;MACAsB,KAAK,CAAC,CAAC;IACR;EACD,CAAE,CAAC;EAEHnC,UAAU,CAAE;IACX0B,IAAI,EAAE,yBAAyB;IAC/BM,KAAK,EAAE3C,EAAE,CAAE,oBAAqB,CAAC;IACjC4C,IAAI,EAAE1C,IAAI;IACV2C,QAAQ,EAAEA,CAAE;MAAEC;IAAM,CAAC,KAAM;MAC1BvB,gBAAgB,CAAEG,UAAU,KAAK,QAAQ,GAAG,MAAM,GAAG,QAAS,CAAC;MAC/DoB,KAAK,CAAC,CAAC;IACR;EACD,CAAE,CAAC;EAEHnC,UAAU,CAAE;IACX0B,IAAI,EAAE,uBAAuB;IAC7BM,KAAK,EAAE3C,EAAE,CAAE,oBAAqB,CAAC;IACjC6C,QAAQ,EAAEA,CAAA,KAAM;MACfpB,SAAS,CAAEP,sBAAuB,CAAC;IACpC;EACD,CAAE,CAAC;EAEHP,UAAU,CAAE;IACX0B,IAAI,EAAE,yBAAyB;IAC/BM,KAAK,EAAE3C,EAAE,CAAE,oBAAqB,CAAC;IACjC4C,IAAI,EAAEtC,QAAQ;IACduC,QAAQ,EAAEA,CAAA,KAAM;MACfpB,SAAS,CAAER,iCAAkC,CAAC;IAC/C;EACD,CAAE,CAAC;EAEHN,UAAU,CAAE;IACX0B,IAAI,EAAE,yBAAyB;IAC/BM,KAAK,EAAEb,oBAAoB,GACxB9B,EAAE,CAAE,wBAAyB,CAAC,GAC9BA,EAAE,CAAE,wBAAyB,CAAC;IACjC6C,QAAQ,EAAEA,CAAE;MAAEC;IAAM,CAAC,KAAM;MAC1BR,MAAM,CAAE,MAAM,EAAE,sBAAuB,CAAC;MACxCQ,KAAK,CAAC,CAAC;MACPP,gBAAgB,CACfT,oBAAoB,GACjB9B,EAAE,CAAE,qBAAsB,CAAC,GAC3BA,EAAE,CAAE,sBAAuB,CAAC,EAC/B;QACC+C,EAAE,EAAE,0CAA0C;QAC9CC,IAAI,EAAE;MACP,CACD,CAAC;IACF;EACD,CAAE,CAAC;EAEHrC,UAAU,CAAE;IACX0B,IAAI,EAAE,6BAA6B;IACnCM,KAAK,EAAEd,uBAAuB,GAC3B7B,EAAE,CAAE,4BAA6B,CAAC,GAClCA,EAAE,CAAE,2BAA4B,CAAC;IACpC4C,IAAI,EAAElC,iBAAiB;IACvBmC,QAAQ,EAAEA,CAAE;MAAEC;IAAM,CAAC,KAAM;MAC1BA,KAAK,CAAC,CAAC;MACPR,MAAM,CAAE,gBAAgB,EAAE,yBAA0B,CAAC;MACrDC,gBAAgB,CACfV,uBAAuB,GACpB7B,EAAE,CAAE,8BAA+B,CAAC,GACpCA,EAAE,CAAE,6BAA8B,CAAC,EACtC;QACC+C,EAAE,EAAE,uCAAuC;QAC3CC,IAAI,EAAE;MACP,CACD,CAAC;IACF;EACD,CAAE,CAAC;EAEHrC,UAAU,CAAE;IACX0B,IAAI,EAAE,mBAAmB;IACzBM,KAAK,EAAE3C,EAAE,CAAE,sBAAuB,CAAC;IACnC4C,IAAI,EAAEnC,QAAQ;IACdoC,QAAQ,EAAE,MAAAA,CAAQ;MAAEC;IAAM,CAAC,KAAM;MAChCA,KAAK,CAAC,CAAC;MACP,MAAMG,MAAM,GAAGP,gBAAgB,CAAC,CAAC;MACjC,MAAMQ,IAAI,GAAG,MAAMV,wBAAwB,CAAC,CAAC;MAC7CW,MAAM,CAACC,IAAI,CAAEF,IAAI,EAAG,cAAcD,MAAQ,EAAE,CAAC;IAC9C;EACD,CAAE,CAAC;AACJ"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useCallback, useReducer } from '@wordpress/element';
|
|
5
|
+
import { addQueryArgs, getQueryArgs, removeQueryArgs } from '@wordpress/url';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A hook that records the 'entity' history in the post editor as a user
|
|
9
|
+
* navigates between editing a post and editing the post template or patterns.
|
|
10
|
+
*
|
|
11
|
+
* Implemented as a stack, so a little similar to the browser history API.
|
|
12
|
+
*
|
|
13
|
+
* Used to control displaying UI elements like the back button.
|
|
14
|
+
*
|
|
15
|
+
* @param {number} initialPostId The post id of the post when the editor loaded.
|
|
16
|
+
* @param {string} initialPostType The post type of the post when the editor loaded.
|
|
17
|
+
*
|
|
18
|
+
* @return {Object} An object containing the `currentPost` variable and
|
|
19
|
+
* `getPostLinkProps` and `goBack` functions.
|
|
20
|
+
*/
|
|
21
|
+
export default function usePostHistory(initialPostId, initialPostType) {
|
|
22
|
+
const [postHistory, dispatch] = useReducer((historyState, {
|
|
23
|
+
type,
|
|
24
|
+
post
|
|
25
|
+
}) => {
|
|
26
|
+
if (type === 'push') {
|
|
27
|
+
return [...historyState, post];
|
|
28
|
+
}
|
|
29
|
+
if (type === 'pop') {
|
|
30
|
+
// Try to leave one item in the history.
|
|
31
|
+
if (historyState.length > 1) {
|
|
32
|
+
return historyState.slice(0, -1);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return historyState;
|
|
36
|
+
}, [{
|
|
37
|
+
postId: initialPostId,
|
|
38
|
+
postType: initialPostType
|
|
39
|
+
}]);
|
|
40
|
+
const getPostLinkProps = useCallback(params => {
|
|
41
|
+
const currentArgs = getQueryArgs(window.location.href);
|
|
42
|
+
const currentUrlWithoutArgs = removeQueryArgs(window.location.href, ...Object.keys(currentArgs));
|
|
43
|
+
const newUrl = addQueryArgs(currentUrlWithoutArgs, {
|
|
44
|
+
post: params.postId,
|
|
45
|
+
action: 'edit'
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
href: newUrl,
|
|
49
|
+
onClick: event => {
|
|
50
|
+
event.preventDefault();
|
|
51
|
+
dispatch({
|
|
52
|
+
type: 'push',
|
|
53
|
+
post: {
|
|
54
|
+
postId: params.postId,
|
|
55
|
+
postType: params.postType
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}, []);
|
|
61
|
+
const goBack = useCallback(() => {
|
|
62
|
+
dispatch({
|
|
63
|
+
type: 'pop'
|
|
64
|
+
});
|
|
65
|
+
}, []);
|
|
66
|
+
const currentPost = postHistory[postHistory.length - 1];
|
|
67
|
+
return {
|
|
68
|
+
currentPost,
|
|
69
|
+
getPostLinkProps,
|
|
70
|
+
goBack: postHistory.length > 1 ? goBack : undefined
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=use-post-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useReducer","addQueryArgs","getQueryArgs","removeQueryArgs","usePostHistory","initialPostId","initialPostType","postHistory","dispatch","historyState","type","post","length","slice","postId","postType","getPostLinkProps","params","currentArgs","window","location","href","currentUrlWithoutArgs","Object","keys","newUrl","action","onClick","event","preventDefault","goBack","currentPost","undefined"],"sources":["@wordpress/edit-post/src/hooks/use-post-history.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useReducer } from '@wordpress/element';\nimport { addQueryArgs, getQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * A hook that records the 'entity' history in the post editor as a user\n * navigates between editing a post and editing the post template or patterns.\n *\n * Implemented as a stack, so a little similar to the browser history API.\n *\n * Used to control displaying UI elements like the back button.\n *\n * @param {number} initialPostId The post id of the post when the editor loaded.\n * @param {string} initialPostType The post type of the post when the editor loaded.\n *\n * @return {Object} An object containing the `currentPost` variable and\n * `getPostLinkProps` and `goBack` functions.\n */\nexport default function usePostHistory( initialPostId, initialPostType ) {\n\tconst [ postHistory, dispatch ] = useReducer(\n\t\t( historyState, { type, post } ) => {\n\t\t\tif ( type === 'push' ) {\n\t\t\t\treturn [ ...historyState, post ];\n\t\t\t}\n\t\t\tif ( type === 'pop' ) {\n\t\t\t\t// Try to leave one item in the history.\n\t\t\t\tif ( historyState.length > 1 ) {\n\t\t\t\t\treturn historyState.slice( 0, -1 );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn historyState;\n\t\t},\n\t\t[ { postId: initialPostId, postType: initialPostType } ]\n\t);\n\n\tconst getPostLinkProps = useCallback( ( params ) => {\n\t\tconst currentArgs = getQueryArgs( window.location.href );\n\t\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\t\twindow.location.href,\n\t\t\t...Object.keys( currentArgs )\n\t\t);\n\n\t\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, {\n\t\t\tpost: params.postId,\n\t\t\taction: 'edit',\n\t\t} );\n\n\t\treturn {\n\t\t\thref: newUrl,\n\t\t\tonClick: ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tdispatch( {\n\t\t\t\t\ttype: 'push',\n\t\t\t\t\tpost: { postId: params.postId, postType: params.postType },\n\t\t\t\t} );\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst goBack = useCallback( () => {\n\t\tdispatch( { type: 'pop' } );\n\t}, [] );\n\n\tconst currentPost = postHistory[ postHistory.length - 1 ];\n\n\treturn {\n\t\tcurrentPost,\n\t\tgetPostLinkProps,\n\t\tgoBack: postHistory.length > 1 ? goBack : undefined,\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,UAAU,QAAQ,oBAAoB;AAC5D,SAASC,YAAY,EAAEC,YAAY,EAAEC,eAAe,QAAQ,gBAAgB;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,cAAcA,CAAEC,aAAa,EAAEC,eAAe,EAAG;EACxE,MAAM,CAAEC,WAAW,EAAEC,QAAQ,CAAE,GAAGR,UAAU,CAC3C,CAAES,YAAY,EAAE;IAAEC,IAAI;IAAEC;EAAK,CAAC,KAAM;IACnC,IAAKD,IAAI,KAAK,MAAM,EAAG;MACtB,OAAO,CAAE,GAAGD,YAAY,EAAEE,IAAI,CAAE;IACjC;IACA,IAAKD,IAAI,KAAK,KAAK,EAAG;MACrB;MACA,IAAKD,YAAY,CAACG,MAAM,GAAG,CAAC,EAAG;QAC9B,OAAOH,YAAY,CAACI,KAAK,CAAE,CAAC,EAAE,CAAC,CAAE,CAAC;MACnC;IACD;IACA,OAAOJ,YAAY;EACpB,CAAC,EACD,CAAE;IAAEK,MAAM,EAAET,aAAa;IAAEU,QAAQ,EAAET;EAAgB,CAAC,CACvD,CAAC;EAED,MAAMU,gBAAgB,GAAGjB,WAAW,CAAIkB,MAAM,IAAM;IACnD,MAAMC,WAAW,GAAGhB,YAAY,CAAEiB,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC;IACxD,MAAMC,qBAAqB,GAAGnB,eAAe,CAC5CgB,MAAM,CAACC,QAAQ,CAACC,IAAI,EACpB,GAAGE,MAAM,CAACC,IAAI,CAAEN,WAAY,CAC7B,CAAC;IAED,MAAMO,MAAM,GAAGxB,YAAY,CAAEqB,qBAAqB,EAAE;MACnDX,IAAI,EAAEM,MAAM,CAACH,MAAM;MACnBY,MAAM,EAAE;IACT,CAAE,CAAC;IAEH,OAAO;MACNL,IAAI,EAAEI,MAAM;MACZE,OAAO,EAAIC,KAAK,IAAM;QACrBA,KAAK,CAACC,cAAc,CAAC,CAAC;QACtBrB,QAAQ,CAAE;UACTE,IAAI,EAAE,MAAM;UACZC,IAAI,EAAE;YAAEG,MAAM,EAAEG,MAAM,CAACH,MAAM;YAAEC,QAAQ,EAAEE,MAAM,CAACF;UAAS;QAC1D,CAAE,CAAC;MACJ;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMe,MAAM,GAAG/B,WAAW,CAAE,MAAM;IACjCS,QAAQ,CAAE;MAAEE,IAAI,EAAE;IAAM,CAAE,CAAC;EAC5B,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMqB,WAAW,GAAGxB,WAAW,CAAEA,WAAW,CAACK,MAAM,GAAG,CAAC,CAAE;EAEzD,OAAO;IACNmB,WAAW;IACXf,gBAAgB;IAChBc,MAAM,EAAEvB,WAAW,CAACK,MAAM,GAAG,CAAC,GAAGkB,MAAM,GAAGE;EAC3C,CAAC;AACF"}
|