@craftercms/studio-ui
Version:
Services, components, models & utils to build CrafterCMS authoring extensions.
49 lines (47 loc) • 1.78 kB
TypeScript
/*
* Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3 as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import React from 'react';
import { SystemIconDescriptor } from '../SystemIcon';
import { WidgetDescriptor } from '../../models';
import TranslationOrText from '../../models/TranslationOrText';
import { onSubmittingAndOrPendingChangeProps } from '../../hooks/useEnhancedDialogState';
export interface Tool {
title: TranslationOrText;
icon: SystemIconDescriptor;
url: string;
widget: WidgetDescriptor;
}
export interface SiteToolsProps {
site: string;
activeToolId: string;
footerHtml?: string;
openSidebar: boolean;
sidebarWidth: number;
tools: Tool[];
sidebarBelowToolbar?: boolean;
hideSidebarLogo?: boolean;
hideSidebarSiteSwitcher?: boolean;
showAppsButton?: boolean;
classes?: Partial<Record<'root', string>>;
mountMode?: 'dialog' | 'page';
onBackClick?(): void;
onWidthChange(width: number): void;
onNavItemClick(url: string): void;
onSubmittingAndOrPendingChange?(value: onSubmittingAndOrPendingChangeProps): void;
onMinimize?: () => void;
}
export declare function SiteTools(props: SiteToolsProps): React.JSX.Element;
export default SiteTools;