@lark-project/ui-kit-plugin
Version:
Lark Project UI Kit Plugin
38 lines (37 loc) • 1.98 kB
TypeScript
/**
* Copyright (c) 2024 Lark Technologies Pte. Ltd.
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,provided that the above copyright notice and this permission notice appear in all copies.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
* EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
import { CSSProperties } from 'react';
import { RichTextEditorContent, RichTextEditorOptions } from '@lark-project/js-sdk';
import { ITriggerControllerProps } from '../../../base';
import { IRichTextEditorProps } from '../interface';
import { IBaseDOMProps, IBasePopoverProps } from '../../../types';
export interface IRichTextEditorPopoverProps extends IBaseDOMProps, IBasePopoverProps, Pick<ITriggerControllerProps, 'disabled' | 'trigger' | 'visible' | 'onVisibleChange' | 'onClickOutSide'>, Pick<IRichTextEditorProps, 'defaultValue' | 'spaceId'>, Pick<RichTextEditorOptions, 'imageUpload'> {
/**
* 弹出层宽度
*/
contentWidth?: CSSProperties['width'];
/**
* 富文本触发 onClickOutSide 时会自动触发 onSubmit 回调
* @param value
* @returns
*/
onSubmit?: (value: RichTextEditorContent) => void;
}
export interface IRichTextEditorPopoverContext extends Partial<NonNullable<RichTextEditorOptions['imageUpload']>> {
spaceId: string;
defaultValue?: Pick<RichTextEditorContent, 'doc'>;
}
export interface IEditor {
setValue: (val: Pick<RichTextEditorContent, 'doc'>) => void;
}