/** * Copyright 2023-present DreamNum Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { IPreset } from '@univerjs/presets'; import type { IUniverUIConfig } from '@univerjs/ui'; import { UniverDocsPlugin } from '@univerjs/docs'; import { UniverDocsUIPlugin } from '@univerjs/docs-ui'; import { UniverFormulaEnginePlugin } from '@univerjs/engine-formula'; import { UniverRenderEnginePlugin } from '@univerjs/engine-render'; import { UniverNetworkPlugin } from '@univerjs/network'; import { UniverUIPlugin } from '@univerjs/ui'; import '@univerjs/network/facade'; import '@univerjs/docs-ui/facade'; export type * from '@univerjs/docs-ui/facade'; export type * from '@univerjs/network/facade'; export interface IUniverDocsCorePresetConfig extends Pick { collaboration?: true; } export function UniverDocsCorePreset(config: Partial = {}): IPreset { const { container = 'app', header, footer, toolbar, ribbonType, menu, contextMenu, disableAutoFocus, } = config; return { plugins: [ UniverNetworkPlugin, UniverDocsPlugin, UniverRenderEnginePlugin as any, [UniverUIPlugin, { container, header, footer, toolbar, ribbonType, menu, contextMenu, disableAutoFocus, }], UniverDocsUIPlugin, UniverFormulaEnginePlugin, ], }; }