UNPKG

@wordpress/editor

Version:
114 lines (113 loc) 4.79 kB
// packages/editor/src/components/sidebar/index.js import { BlockInspector, store as blockEditorStore } from "@wordpress/block-editor"; import { useSelect, useDispatch } from "@wordpress/data"; import { isRTL, __, _x } from "@wordpress/i18n"; import { drawerLeft, drawerRight } from "@wordpress/icons"; import { store as keyboardShortcutsStore } from "@wordpress/keyboard-shortcuts"; import { store as interfaceStore } from "@wordpress/interface"; import { Tabs } from "@wordpress/ui"; import PatternOverridesPanel from "../pattern-overrides-panel/index.mjs"; import PluginDocumentSettingPanel from "../plugin-document-setting-panel/index.mjs"; import PluginSidebar from "../plugin-sidebar/index.mjs"; import PostSummary from "./post-summary.mjs"; import DataFormPostSummary from "./dataform-post-summary.mjs"; import PostRevisionSummary from "./post-revision-summary.mjs"; import PostTaxonomiesPanel from "../post-taxonomies/panel.mjs"; import PostTransformPanel from "../post-transform-panel/index.mjs"; import SidebarHeader from "./header.mjs"; import TemplateActionsPanel from "../template-actions-panel/index.mjs"; import TemplateContentPanel from "../template-content-panel/index.mjs"; import TemplatePartContentPanel from "../template-part-content-panel/index.mjs"; import RevisionBlockDiffPanel from "../revision-block-diff/index.mjs"; import useAutoSwitchEditorSidebars from "../provider/use-auto-switch-editor-sidebars.mjs"; import { sidebars } from "./constants.mjs"; import { unlock } from "../../lock-unlock.mjs"; import { store as editorStore } from "../../store/index.mjs"; import { Fragment, jsx, jsxs } from "react/jsx-runtime"; var SIDEBAR_ACTIVE_BY_DEFAULT = true; function Sidebar({ extraPanels, onActionPerformed }) { useAutoSwitchEditorSidebars(); const { tabName, keyboardShortcut, isRevisionsMode } = useSelect( (select) => { const shortcut = select( keyboardShortcutsStore ).getShortcutRepresentation("core/editor/toggle-sidebar"); const sidebar = select(interfaceStore).getActiveComplementaryArea("core"); const _isEditorSidebarOpened = [ sidebars.block, sidebars.document ].includes(sidebar); let _tabName = sidebar; if (!_isEditorSidebarOpened) { _tabName = select(blockEditorStore).getBlockSelectionStart() ? sidebars.block : sidebars.document; } return { tabName: _tabName, keyboardShortcut: shortcut, isRevisionsMode: unlock( select(editorStore) ).isRevisionsMode() }; }, [] ); const { enableComplementaryArea } = useDispatch(interfaceStore); function onTabSelect(newSelectedTabId) { enableComplementaryArea("core", newSelectedTabId); } let tabContent; if (isRevisionsMode) { tabContent = /* @__PURE__ */ jsx(PostRevisionSummary, {}); } else { const isDataFormInspectorEnabled = window?.__experimentalDataFormInspector; tabContent = /* @__PURE__ */ jsxs(Fragment, { children: [ isDataFormInspectorEnabled ? /* @__PURE__ */ jsx( DataFormPostSummary, { onActionPerformed } ) : /* @__PURE__ */ jsx(PostSummary, { onActionPerformed }), /* @__PURE__ */ jsx(PluginDocumentSettingPanel.Slot, {}), /* @__PURE__ */ jsx(TemplateContentPanel, {}), isDataFormInspectorEnabled && /* @__PURE__ */ jsx(TemplateActionsPanel, {}), /* @__PURE__ */ jsx(TemplatePartContentPanel, {}), /* @__PURE__ */ jsx(PostTransformPanel, {}), /* @__PURE__ */ jsx(PostTaxonomiesPanel, {}), /* @__PURE__ */ jsx(PatternOverridesPanel, {}), extraPanels ] }); } return /* @__PURE__ */ jsxs( PluginSidebar, { identifier: tabName, header: /* @__PURE__ */ jsx(SidebarHeader, {}), closeLabel: __("Close Settings"), className: "editor-sidebar__panel", headerClassName: "editor-sidebar__panel-tabs", title: ( /* translators: button label text should, if possible, be under 16 characters. */ _x("Settings", "panel button label") ), toggleShortcut: keyboardShortcut, icon: isRTL() ? drawerLeft : drawerRight, isActiveByDefault: SIDEBAR_ACTIVE_BY_DEFAULT, render: /* @__PURE__ */ jsx(Tabs.Root, { value: tabName, onValueChange: onTabSelect }), children: [ /* @__PURE__ */ jsx(Tabs.Panel, { value: sidebars.document, tabIndex: -1, children: tabContent }), /* @__PURE__ */ jsxs(Tabs.Panel, { value: sidebars.block, tabIndex: -1, children: [ /* @__PURE__ */ jsx(BlockInspector, {}), isRevisionsMode && /* @__PURE__ */ jsx(RevisionBlockDiffPanel, {}) ] }) ] } ); } var sidebar_default = Sidebar; export { sidebar_default as default }; //# sourceMappingURL=index.mjs.map