@opentiny/tiny-robot 0.4.2-alpha.5 → 0.4.2-alpha.7
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/dist/action-group/index.js +4 -4
- package/dist/anchor/index.js +44 -44
- package/dist/drag-overlay/index.js +1 -1
- package/dist/dropdown-menu/index.js +1 -1
- package/dist/index.d.ts +5018 -49
- package/dist/index.js +3 -3
- package/dist/index2.js +2 -2
- package/dist/index4.js +20 -20
- package/dist/index6.js +142 -143
- package/dist/index7.js +28 -28
- package/dist/index8.js +8 -8
- package/dist/sender/index.js +2 -2
- package/dist/sender-actions/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/suggestion-pills/index.js +1 -1
- package/dist/suggestion-popover/index.js +1 -1
- package/dist/theme-provider/index.js +41 -32
- package/dist/useSlotRefs.js +1 -1
- package/dist/utils.js +1 -1
- package/package.json +3 -22
- package/dist/action-group/ActionGroup.vue.d.ts +0 -26
- package/dist/action-group/ActionGroupItem.vue.d.ts +0 -18
- package/dist/action-group/index.d.ts +0 -12
- package/dist/action-group/index.type.d.ts +0 -17
- package/dist/anchor/components/AnchorItem.vue.d.ts +0 -24
- package/dist/anchor/components/AnchorList.vue.d.ts +0 -20
- package/dist/anchor/components/AnchorOverlay.vue.d.ts +0 -33
- package/dist/anchor/components/AnchorSearch.vue.d.ts +0 -7
- package/dist/anchor/composables/index.d.ts +0 -5
- package/dist/anchor/composables/useActiveSync.d.ts +0 -10
- package/dist/anchor/composables/useFloatingOffset.d.ts +0 -6
- package/dist/anchor/composables/useNavController.d.ts +0 -12
- package/dist/anchor/composables/useOverlayInteractions.d.ts +0 -6
- package/dist/anchor/composables/useTargetFeedback.d.ts +0 -5
- package/dist/anchor/defaults.d.ts +0 -16
- package/dist/anchor/index.d.ts +0 -7
- package/dist/anchor/index.type.d.ts +0 -60
- package/dist/anchor/index.vue.d.ts +0 -159
- package/dist/anchor/internal.type.d.ts +0 -103
- package/dist/anchor/utils/scroll.d.ts +0 -7
- package/dist/anchor/utils/target.d.ts +0 -6
- package/dist/attachments/components/FileCard.vue.d.ts +0 -18
- package/dist/attachments/components/ImagePreview.vue.d.ts +0 -17
- package/dist/attachments/components/index.d.ts +0 -2
- package/dist/attachments/composables/index.d.ts +0 -5
- package/dist/attachments/composables/useFileCard.d.ts +0 -15
- package/dist/attachments/composables/useFileType.d.ts +0 -20
- package/dist/attachments/composables/useImagePreview.d.ts +0 -18
- package/dist/attachments/composables/useListType.d.ts +0 -11
- package/dist/attachments/index.d.ts +0 -7
- package/dist/attachments/index.type.d.ts +0 -70
- package/dist/attachments/index.vue.d.ts +0 -27
- package/dist/attachments/utils.d.ts +0 -3
- package/dist/base-popper/components/Popper.vue.d.ts +0 -28
- package/dist/base-popper/index.d.ts +0 -2
- package/dist/base-popper/index.vue.d.ts +0 -41
- package/dist/bubble/Bubble.vue.d.ts +0 -39
- package/dist/bubble/BubbleBoxWrapper.vue.d.ts +0 -22
- package/dist/bubble/BubbleContentWrapper.vue.d.ts +0 -16
- package/dist/bubble/BubbleItem.vue.d.ts +0 -36
- package/dist/bubble/BubbleList.vue.d.ts +0 -41
- package/dist/bubble/BubbleProvider.vue.d.ts +0 -18
- package/dist/bubble/composables/index.d.ts +0 -10
- package/dist/bubble/composables/useBubbleBoxRenderer.d.ts +0 -18
- package/dist/bubble/composables/useBubbleContentRenderer.d.ts +0 -18
- package/dist/bubble/composables/useBubbleStateChange.d.ts +0 -2
- package/dist/bubble/composables/useBubbleStore.d.ts +0 -16
- package/dist/bubble/composables/useContentResolver.d.ts +0 -5
- package/dist/bubble/composables/useCopyCleanup.d.ts +0 -6
- package/dist/bubble/composables/useMessageContent.d.ts +0 -5
- package/dist/bubble/composables/useMessageGroup.d.ts +0 -4
- package/dist/bubble/composables/useOmitMessageFields.d.ts +0 -12
- package/dist/bubble/composables/useToolCall.d.ts +0 -25
- package/dist/bubble/constants.d.ts +0 -42
- package/dist/bubble/index.d.ts +0 -19
- package/dist/bubble/index.type.d.ts +0 -171
- package/dist/bubble/renderers/Box.vue.d.ts +0 -18
- package/dist/bubble/renderers/Image.vue.d.ts +0 -4
- package/dist/bubble/renderers/Loading.vue.d.ts +0 -4
- package/dist/bubble/renderers/Markdown.vue.d.ts +0 -4
- package/dist/bubble/renderers/Reasoning.vue.d.ts +0 -9
- package/dist/bubble/renderers/Text.vue.d.ts +0 -4
- package/dist/bubble/renderers/Tool.vue.d.ts +0 -14
- package/dist/bubble/renderers/ToolRole.vue.d.ts +0 -4
- package/dist/bubble/renderers/Tools.vue.d.ts +0 -4
- package/dist/bubble/renderers/allRenderers.d.ts +0 -93
- package/dist/bubble/renderers/defaultRenderers.d.ts +0 -27
- package/dist/bubble/utils.d.ts +0 -7
- package/dist/chat/components/ChatConversation.vue.d.ts +0 -70
- package/dist/chat/components/ChatLauncherButton.vue.d.ts +0 -12
- package/dist/chat/components/ChatMcpTrigger.vue.d.ts +0 -30
- package/dist/chat/components/ChatThemeToggleButton.vue.d.ts +0 -2
- package/dist/chat/components/ChatWelcome.vue.d.ts +0 -13
- package/dist/chat/composables/useChatConversation.d.ts +0 -37
- package/dist/chat/composables/useChatMcp.d.ts +0 -29
- package/dist/chat/composables/useChatModel.d.ts +0 -27
- package/dist/chat/index.d.ts +0 -9
- package/dist/chat/index.js +0 -13701
- package/dist/chat/index.type.d.ts +0 -88
- package/dist/chat/index.vue.d.ts +0 -58
- package/dist/container/index.d.ts +0 -7
- package/dist/container/index.type.d.ts +0 -20
- package/dist/container/index.vue.d.ts +0 -32
- package/dist/conversations/index.d.ts +0 -7
- package/dist/conversations/index.vue.d.ts +0 -2
- package/dist/drag-overlay/constants.d.ts +0 -17
- package/dist/drag-overlay/directives/vDropzone.d.ts +0 -14
- package/dist/drag-overlay/index.d.ts +0 -7
- package/dist/drag-overlay/index.type.d.ts +0 -105
- package/dist/drag-overlay/index.vue.d.ts +0 -20
- package/dist/dropdown-menu/composables/usePopperHover.d.ts +0 -6
- package/dist/dropdown-menu/index.d.ts +0 -7
- package/dist/dropdown-menu/index.type.d.ts +0 -42
- package/dist/dropdown-menu/index.vue.d.ts +0 -217
- package/dist/feedback/components/SourceList.vue.d.ts +0 -11
- package/dist/feedback/components/index.d.ts +0 -1
- package/dist/feedback/index.d.ts +0 -7
- package/dist/feedback/index.type.d.ts +0 -25
- package/dist/feedback/index.vue.d.ts +0 -13
- package/dist/flow-layout-buttons/index.d.ts +0 -7
- package/dist/flow-layout-buttons/index.type.d.ts +0 -35
- package/dist/flow-layout-buttons/index.vue.d.ts +0 -22
- package/dist/history/components/Empty.vue.d.ts +0 -7
- package/dist/history/components/MenuList.vue.d.ts +0 -24
- package/dist/history/composables/useRenameEditor.d.ts +0 -22
- package/dist/history/constants.d.ts +0 -1
- package/dist/history/index.d.ts +0 -7
- package/dist/history/index.type.d.ts +0 -33
- package/dist/history/index.vue.d.ts +0 -18
- package/dist/icon-button/index.d.ts +0 -7
- package/dist/icon-button/index.type.d.ts +0 -7
- package/dist/icon-button/index.vue.d.ts +0 -6
- package/dist/mcp-add-form/components/CodeEditor.vue.d.ts +0 -9
- package/dist/mcp-add-form/components/FormEditor.vue.d.ts +0 -10
- package/dist/mcp-add-form/components/index.d.ts +0 -2
- package/dist/mcp-add-form/index.d.ts +0 -7
- package/dist/mcp-add-form/index.type.d.ts +0 -19
- package/dist/mcp-add-form/index.vue.d.ts +0 -13
- package/dist/mcp-server-picker/components/NoData.vue.d.ts +0 -7
- package/dist/mcp-server-picker/components/PluginCard.vue.d.ts +0 -40
- package/dist/mcp-server-picker/components/PluginModal.vue.d.ts +0 -15
- package/dist/mcp-server-picker/components/index.d.ts +0 -3
- package/dist/mcp-server-picker/index.d.ts +0 -7
- package/dist/mcp-server-picker/index.type.d.ts +0 -99
- package/dist/mcp-server-picker/index.vue.d.ts +0 -71
- package/dist/prompts/index.d.ts +0 -12
- package/dist/prompts/index.type.d.ts +0 -59
- package/dist/prompts/prompt.vue.d.ts +0 -5
- package/dist/prompts/prompts.vue.d.ts +0 -20
- package/dist/sender/components/editor-content/index.vue.d.ts +0 -4
- package/dist/sender/components/footer/index.vue.d.ts +0 -38
- package/dist/sender/components/layouts/MultiLineLayout.vue.d.ts +0 -43
- package/dist/sender/components/layouts/SingleLineLayout.vue.d.ts +0 -32
- package/dist/sender/composables/index.d.ts +0 -7
- package/dist/sender/composables/useAutoSize.d.ts +0 -5
- package/dist/sender/composables/useEditor.d.ts +0 -13
- package/dist/sender/composables/useKeyboardShortcuts.d.ts +0 -7
- package/dist/sender/composables/useModeSwitch.d.ts +0 -4
- package/dist/sender/composables/useSenderCore.d.ts +0 -31
- package/dist/sender/composables/useSlotScope.d.ts +0 -10
- package/dist/sender/context/index.d.ts +0 -6
- package/dist/sender/context/types.d.ts +0 -7
- package/dist/sender/extensions/constants.d.ts +0 -94
- package/dist/sender/extensions/index.d.ts +0 -12
- package/dist/sender/extensions/mention/commands.d.ts +0 -20
- package/dist/sender/extensions/mention/components/mention-list.vue.d.ts +0 -18
- package/dist/sender/extensions/mention/components/mention-view.vue.d.ts +0 -19
- package/dist/sender/extensions/mention/extension.d.ts +0 -6
- package/dist/sender/extensions/mention/index.d.ts +0 -22
- package/dist/sender/extensions/mention/plugin.d.ts +0 -16
- package/dist/sender/extensions/mention/types.d.ts +0 -126
- package/dist/sender/extensions/mention/utils.d.ts +0 -34
- package/dist/sender/extensions/suggestion/extension.d.ts +0 -8
- package/dist/sender/extensions/suggestion/index.d.ts +0 -20
- package/dist/sender/extensions/suggestion/plugin.d.ts +0 -21
- package/dist/sender/extensions/suggestion/suggestion-list.vue.d.ts +0 -46
- package/dist/sender/extensions/suggestion/types.d.ts +0 -254
- package/dist/sender/extensions/suggestion/utils/filter.d.ts +0 -29
- package/dist/sender/extensions/suggestion/utils/highlight.d.ts +0 -73
- package/dist/sender/extensions/template/block/extension.d.ts +0 -6
- package/dist/sender/extensions/template/block/plugins.d.ts +0 -13
- package/dist/sender/extensions/template/block/template-block-view.vue.d.ts +0 -14
- package/dist/sender/extensions/template/commands.d.ts +0 -31
- package/dist/sender/extensions/template/extension.d.ts +0 -6
- package/dist/sender/extensions/template/index.d.ts +0 -21
- package/dist/sender/extensions/template/select/dropdown-manager.d.ts +0 -23
- package/dist/sender/extensions/template/select/extension.d.ts +0 -5
- package/dist/sender/extensions/template/select/plugins.d.ts +0 -34
- package/dist/sender/extensions/template/select/template-select-view.vue.d.ts +0 -20
- package/dist/sender/extensions/template/types.d.ts +0 -100
- package/dist/sender/extensions/template/utils.d.ts +0 -20
- package/dist/sender/extensions/utils/id-generator.d.ts +0 -16
- package/dist/sender/extensions/utils/index.d.ts +0 -7
- package/dist/sender/extensions/utils/keyboard.d.ts +0 -49
- package/dist/sender/extensions/utils/position.d.ts +0 -25
- package/dist/sender/index.d.ts +0 -136
- package/dist/sender/index.type.d.ts +0 -302
- package/dist/sender/index.vue.d.ts +0 -90
- package/dist/sender/types/base.d.ts +0 -239
- package/dist/sender/types/components.d.ts +0 -68
- package/dist/sender/types/composables.d.ts +0 -122
- package/dist/sender/types/context.d.ts +0 -132
- package/dist/sender/types/slots.d.ts +0 -67
- package/dist/sender/utils/countGraphemes.d.ts +0 -1
- package/dist/sender-actions/action-button/index.vue.d.ts +0 -23
- package/dist/sender-actions/clear-button/index.vue.d.ts +0 -2
- package/dist/sender-actions/clear-button/useClearButtonState.d.ts +0 -6
- package/dist/sender-actions/default-actions/index.vue.d.ts +0 -17
- package/dist/sender-actions/index.d.ts +0 -21
- package/dist/sender-actions/index.type.d.ts +0 -7
- package/dist/sender-actions/submit-button/index.vue.d.ts +0 -2
- package/dist/sender-actions/types/common.d.ts +0 -40
- package/dist/sender-actions/types/index.d.ts +0 -5
- package/dist/sender-actions/types/tooltip.d.ts +0 -7
- package/dist/sender-actions/upload-button/index.type.d.ts +0 -57
- package/dist/sender-actions/upload-button/index.vue.d.ts +0 -16
- package/dist/sender-actions/utils/tooltip.d.ts +0 -8
- package/dist/sender-actions/voice-button/index.type.d.ts +0 -78
- package/dist/sender-actions/voice-button/index.vue.d.ts +0 -43
- package/dist/sender-actions/voice-button/speech.types.d.ts +0 -40
- package/dist/sender-actions/voice-button/useSpeechHandler.d.ts +0 -10
- package/dist/sender-actions/voice-button/webSpeechHandler.d.ts +0 -40
- package/dist/sender-actions/word-counter/index.vue.d.ts +0 -2
- package/dist/sender-compat/index.d.ts +0 -7
- package/dist/sender-compat/index.type.d.ts +0 -91
- package/dist/sender-compat/index.vue.d.ts +0 -532
- package/dist/shared/composables/createTeleport.d.ts +0 -2
- package/dist/shared/composables/index.d.ts +0 -5
- package/dist/shared/composables/useAutoScroll.d.ts +0 -25
- package/dist/shared/composables/useSlotRefs.d.ts +0 -12
- package/dist/shared/composables/useTeleportTarget.d.ts +0 -11
- package/dist/shared/composables/useTouchDevice.d.ts +0 -3
- package/dist/shared/utils.d.ts +0 -7
- package/dist/suggestion-pills/components/PillButton.vue.d.ts +0 -16
- package/dist/suggestion-pills/components/index.d.ts +0 -1
- package/dist/suggestion-pills/index.d.ts +0 -13
- package/dist/suggestion-pills/index.type.d.ts +0 -45
- package/dist/suggestion-pills/index.vue.d.ts +0 -44
- package/dist/suggestion-popover/components/Backdrop.vue.d.ts +0 -5
- package/dist/suggestion-popover/components/Header.vue.d.ts +0 -4
- package/dist/suggestion-popover/components/Loading.vue.d.ts +0 -17
- package/dist/suggestion-popover/components/NoData.vue.d.ts +0 -17
- package/dist/suggestion-popover/components/Tooltip.vue.d.ts +0 -19
- package/dist/suggestion-popover/index.d.ts +0 -7
- package/dist/suggestion-popover/index.type.d.ts +0 -80
- package/dist/suggestion-popover/index.vue.d.ts +0 -262
- package/dist/theme-provider/constants.d.ts +0 -6
- package/dist/theme-provider/index.d.ts +0 -9
- package/dist/theme-provider/index.type.d.ts +0 -18
- package/dist/theme-provider/index.vue.d.ts +0 -32
- package/dist/theme-provider/useTheme.d.ts +0 -11
- package/dist/useTheme.js +0 -22
- package/dist/welcome/index.d.ts +0 -7
- package/dist/welcome/index.type.d.ts +0 -10
- package/dist/welcome/index.vue.d.ts +0 -18
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { SenderProps } from './index.type';
|
|
2
|
-
declare const props: Readonly<{
|
|
3
|
-
modelValue: string;
|
|
4
|
-
defaultValue: string;
|
|
5
|
-
disabled: boolean;
|
|
6
|
-
loading: boolean;
|
|
7
|
-
autofocus: boolean;
|
|
8
|
-
maxLength: number;
|
|
9
|
-
showWordLimit: boolean;
|
|
10
|
-
clearable: boolean;
|
|
11
|
-
stopText: string;
|
|
12
|
-
defaultActions: import('./index.type').DefaultActions;
|
|
13
|
-
}> & {
|
|
14
|
-
readonly placeholder: string;
|
|
15
|
-
readonly mode: import('./index.type').InputMode;
|
|
16
|
-
readonly size: "small" | "normal";
|
|
17
|
-
readonly submitType: import('./index.type').SubmitTrigger;
|
|
18
|
-
readonly enterkeyhint: import('./index.type').EnterKeyHint;
|
|
19
|
-
readonly extensions: any[] | import('@tiptap/core').Extension<any, any>[];
|
|
20
|
-
readonly autoSize: import('./index.type').AutoSize;
|
|
21
|
-
} & {
|
|
22
|
-
readonly disabled: boolean;
|
|
23
|
-
readonly loading: boolean;
|
|
24
|
-
readonly autofocus: boolean;
|
|
25
|
-
readonly showWordLimit: boolean;
|
|
26
|
-
readonly clearable: boolean;
|
|
27
|
-
};
|
|
28
|
-
export type SenderPropsWithDefaults = typeof props;
|
|
29
|
-
declare function __VLS_template(): {
|
|
30
|
-
attrs: Partial<{}>;
|
|
31
|
-
slots: {
|
|
32
|
-
header?(_: {}): any;
|
|
33
|
-
header?(_: {}): any;
|
|
34
|
-
prefix?(_: {}): any;
|
|
35
|
-
prefix?(_: {}): any;
|
|
36
|
-
content?(_: {
|
|
37
|
-
editor: import('@tiptap/vue-3').Editor | undefined;
|
|
38
|
-
}): any;
|
|
39
|
-
content?(_: {
|
|
40
|
-
editor: import('vue').Ref<import('@tiptap/vue-3').Editor | undefined, import('@tiptap/vue-3').Editor | undefined>;
|
|
41
|
-
}): any;
|
|
42
|
-
'actions-inline'?(_: {}): any;
|
|
43
|
-
footer?(_: {}): any;
|
|
44
|
-
'footer-right'?(_: {}): any;
|
|
45
|
-
};
|
|
46
|
-
refs: {};
|
|
47
|
-
rootEl: HTMLDivElement;
|
|
48
|
-
};
|
|
49
|
-
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
50
|
-
declare const __VLS_component: import('vue').DefineComponent<SenderProps, {
|
|
51
|
-
submit: () => void;
|
|
52
|
-
clear: () => void;
|
|
53
|
-
cancel: () => void;
|
|
54
|
-
focus: () => void;
|
|
55
|
-
blur: () => void;
|
|
56
|
-
setContent: (content: string) => void;
|
|
57
|
-
getContent: () => string;
|
|
58
|
-
editor: import('./index.type').SenderContext["editor"];
|
|
59
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
60
|
-
clear: () => any;
|
|
61
|
-
input: (value: string) => any;
|
|
62
|
-
blur: (event: FocusEvent) => any;
|
|
63
|
-
cancel: () => any;
|
|
64
|
-
focus: (event: FocusEvent) => any;
|
|
65
|
-
submit: (textContent: string, structuredData?: import('./index.type').StructuredData | undefined) => any;
|
|
66
|
-
"update:modelValue": (value: string) => any;
|
|
67
|
-
}, string, import('vue').PublicProps, Readonly<SenderProps> & Readonly<{
|
|
68
|
-
onClear?: (() => any) | undefined;
|
|
69
|
-
onInput?: ((value: string) => any) | undefined;
|
|
70
|
-
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
71
|
-
onCancel?: (() => any) | undefined;
|
|
72
|
-
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
73
|
-
onSubmit?: ((textContent: string, structuredData?: import('./index.type').StructuredData | undefined) => any) | undefined;
|
|
74
|
-
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
75
|
-
}>, {
|
|
76
|
-
size: "normal" | "small";
|
|
77
|
-
placeholder: string;
|
|
78
|
-
mode: import('./index.type').InputMode;
|
|
79
|
-
enterkeyhint: import('./index.type').EnterKeyHint;
|
|
80
|
-
autoSize: import('./index.type').AutoSize;
|
|
81
|
-
extensions: import('@tiptap/core').Extension[] | any[];
|
|
82
|
-
submitType: import('./index.type').SubmitTrigger;
|
|
83
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
84
|
-
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
85
|
-
export default _default;
|
|
86
|
-
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
87
|
-
new (): {
|
|
88
|
-
$slots: S;
|
|
89
|
-
};
|
|
90
|
-
};
|
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
import { TooltipContent, TooltipPlacement } from '../../sender-actions/types/common';
|
|
2
|
-
import { MentionItem, MentionStructuredItem } from '../extensions/mention/types';
|
|
3
|
-
/**
|
|
4
|
-
* 输入模式
|
|
5
|
-
* - single: 单行模式,适用于简短输入
|
|
6
|
-
* - multiple: 多行模式,适用于长文本输入
|
|
7
|
-
*/
|
|
8
|
-
export type InputMode = 'single' | 'multiple';
|
|
9
|
-
/**
|
|
10
|
-
* 提交触发方式
|
|
11
|
-
* - enter: Enter 键提交
|
|
12
|
-
* - ctrlEnter: Ctrl+Enter 提交
|
|
13
|
-
* - shiftEnter: Shift+Enter 提交
|
|
14
|
-
*/
|
|
15
|
-
export type SubmitTrigger = 'enter' | 'ctrlEnter' | 'shiftEnter';
|
|
16
|
-
/**
|
|
17
|
-
* 移动端虚拟键盘回车键提示
|
|
18
|
-
*
|
|
19
|
-
* 用于自定义移动端虚拟键盘上回车键的显示文本或图标
|
|
20
|
-
*
|
|
21
|
-
* - `enter`: 插入换行
|
|
22
|
-
* - `done`: 完成
|
|
23
|
-
* - `go`: 前往
|
|
24
|
-
* - `next`: 下一项
|
|
25
|
-
* - `previous`: 上一项
|
|
26
|
-
* - `search`: 搜索
|
|
27
|
-
* - `send`: 发送(推荐用于聊天场景)
|
|
28
|
-
*
|
|
29
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint
|
|
30
|
-
*/
|
|
31
|
-
export type EnterKeyHint = 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
|
|
32
|
-
/**
|
|
33
|
-
* 选择器选项
|
|
34
|
-
*/
|
|
35
|
-
export interface SelectOption {
|
|
36
|
-
/**
|
|
37
|
-
* 显示文本
|
|
38
|
-
*/
|
|
39
|
-
label: string;
|
|
40
|
-
/**
|
|
41
|
-
* 选择后的值
|
|
42
|
-
*/
|
|
43
|
-
value: string;
|
|
44
|
-
/**
|
|
45
|
-
* 自定义数据(可选)
|
|
46
|
-
*/
|
|
47
|
-
data?: string;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* 模板项(用户侧)
|
|
51
|
-
*
|
|
52
|
-
* 用户传入的模板数据格式
|
|
53
|
-
* 组件内部会转换为 Tiptap 节点格式
|
|
54
|
-
*/
|
|
55
|
-
export type TemplateItem = {
|
|
56
|
-
/**
|
|
57
|
-
* 模板 ID,可选
|
|
58
|
-
* 如果不提供,组件会自动生成
|
|
59
|
-
*/
|
|
60
|
-
id?: string;
|
|
61
|
-
/**
|
|
62
|
-
* 类型:普通文本
|
|
63
|
-
*/
|
|
64
|
-
type: 'text';
|
|
65
|
-
/**
|
|
66
|
-
* 内容
|
|
67
|
-
*/
|
|
68
|
-
content: string;
|
|
69
|
-
} | {
|
|
70
|
-
/**
|
|
71
|
-
* 模板 ID,可选
|
|
72
|
-
* 如果不提供,组件会自动生成
|
|
73
|
-
*/
|
|
74
|
-
id?: string;
|
|
75
|
-
/**
|
|
76
|
-
* 类型:模板块(可编辑)
|
|
77
|
-
*/
|
|
78
|
-
type: 'block';
|
|
79
|
-
/**
|
|
80
|
-
* 内容
|
|
81
|
-
*/
|
|
82
|
-
content: string;
|
|
83
|
-
} | {
|
|
84
|
-
/**
|
|
85
|
-
* 模板 ID,可选
|
|
86
|
-
* 如果不提供,组件会自动生成
|
|
87
|
-
*/
|
|
88
|
-
id?: string;
|
|
89
|
-
/**
|
|
90
|
-
* 类型:选择器
|
|
91
|
-
*/
|
|
92
|
-
type: 'select';
|
|
93
|
-
/**
|
|
94
|
-
* 内容(选中的值)
|
|
95
|
-
*/
|
|
96
|
-
content: string;
|
|
97
|
-
/**
|
|
98
|
-
* 占位文字(未选择时显示)
|
|
99
|
-
*/
|
|
100
|
-
placeholder?: string;
|
|
101
|
-
/**
|
|
102
|
-
* 选项列表
|
|
103
|
-
*/
|
|
104
|
-
options?: SelectOption[];
|
|
105
|
-
/**
|
|
106
|
-
* 当前选中的值
|
|
107
|
-
*/
|
|
108
|
-
value?: string;
|
|
109
|
-
};
|
|
110
|
-
/**
|
|
111
|
-
* 提及项
|
|
112
|
-
*
|
|
113
|
-
* 用于 @ 提及功能的数据
|
|
114
|
-
*
|
|
115
|
-
* @deprecated 请从 extensions/mention 导入
|
|
116
|
-
* @see packages/components/src/sender/extensions/mention/types.ts
|
|
117
|
-
*/
|
|
118
|
-
export type { MentionItem };
|
|
119
|
-
/**
|
|
120
|
-
* 结构化数据(联合类型)
|
|
121
|
-
*
|
|
122
|
-
* Submit 事件的第二个参数,根据使用的扩展直接返回对应的数据数组
|
|
123
|
-
*
|
|
124
|
-
* **设计理念**:
|
|
125
|
-
* - 第一个参数 `text`:纯文本内容,适用于简单场景
|
|
126
|
-
* - 第二个参数 `data`:结构化数据数组,直接使用无需解包
|
|
127
|
-
*
|
|
128
|
-
* **类型说明**:
|
|
129
|
-
* - `TemplateItem[]`: 使用 Template 扩展时返回(混合结构)
|
|
130
|
-
* - `MentionStructuredItem[]`: 使用 Mention 扩展时返回(混合结构)
|
|
131
|
-
*
|
|
132
|
-
* @example Template 场景
|
|
133
|
-
* ```typescript
|
|
134
|
-
* function handleSubmit(text: string, data?: StructuredData) {
|
|
135
|
-
* // text: "帮我分析 的周报"
|
|
136
|
-
* // data: [
|
|
137
|
-
* // { type: 'text', content: '帮我分析 ' },
|
|
138
|
-
* // { type: 'block', content: '张三' },
|
|
139
|
-
* // { type: 'text', content: ' 的周报' }
|
|
140
|
-
* // ]
|
|
141
|
-
*
|
|
142
|
-
* // 提取模板块(可编辑部分)
|
|
143
|
-
* if (data && data.some(item => item.type === 'block')) {
|
|
144
|
-
* const blocks = data.filter(item => item.type === 'block')
|
|
145
|
-
* console.log('模板块:', blocks)
|
|
146
|
-
* }
|
|
147
|
-
*
|
|
148
|
-
* // 提取选择器
|
|
149
|
-
* if (data && data.some(item => item.type === 'select')) {
|
|
150
|
-
* const selects = data.filter(item => item.type === 'select')
|
|
151
|
-
* console.log('选择器:', selects)
|
|
152
|
-
* }
|
|
153
|
-
* }
|
|
154
|
-
* ```
|
|
155
|
-
*
|
|
156
|
-
* @example Mention 场景
|
|
157
|
-
* ```typescript
|
|
158
|
-
* function handleSubmit(text: string, data?: StructuredData) {
|
|
159
|
-
* // text: "帮我分析 @张三 的周报"
|
|
160
|
-
* // data: [
|
|
161
|
-
* // { type: 'text', content: '帮我分析 ' },
|
|
162
|
-
* // { type: 'mention', content: '张三', value: '...' },
|
|
163
|
-
* // { type: 'text', content: ' 的周报' }
|
|
164
|
-
* // ]
|
|
165
|
-
*
|
|
166
|
-
* // 统一使用 content 属性
|
|
167
|
-
* const allContent = data?.map(item => item.content).join('')
|
|
168
|
-
* console.log('完整内容:', allContent)
|
|
169
|
-
*
|
|
170
|
-
* // 提取 mention(正确的类型守卫)
|
|
171
|
-
* if (data && data.some(item => item.type === 'mention')) {
|
|
172
|
-
* const mentions = data.filter(item => item.type === 'mention')
|
|
173
|
-
* console.log('提及的人:', mentions.map(m => m.content))
|
|
174
|
-
* console.log('关联值:', mentions.map(m => m.value))
|
|
175
|
-
* }
|
|
176
|
-
* }
|
|
177
|
-
* ```
|
|
178
|
-
*/
|
|
179
|
-
export type StructuredData = TemplateItem[] | MentionStructuredItem[];
|
|
180
|
-
/**
|
|
181
|
-
* 默认操作按钮配置
|
|
182
|
-
*
|
|
183
|
-
* 用于统一配置 Sender 的默认按钮(Clear、Submit)
|
|
184
|
-
*
|
|
185
|
-
* @example
|
|
186
|
-
* ```typescript
|
|
187
|
-
* const defaultActions = {
|
|
188
|
-
* submit: { disabled: !isValid, tooltip: '请完善表单' },
|
|
189
|
-
* clear: { tooltip: '清空内容' }
|
|
190
|
-
* }
|
|
191
|
-
* ```
|
|
192
|
-
*/
|
|
193
|
-
export interface DefaultActions {
|
|
194
|
-
/**
|
|
195
|
-
* 提交按钮配置
|
|
196
|
-
*/
|
|
197
|
-
submit?: {
|
|
198
|
-
/**
|
|
199
|
-
* 是否禁用
|
|
200
|
-
*/
|
|
201
|
-
disabled?: boolean;
|
|
202
|
-
/**
|
|
203
|
-
* 工具提示
|
|
204
|
-
* - string: 简单文本
|
|
205
|
-
* - () => string | VNode: 渲染函数,支持复杂内容
|
|
206
|
-
*/
|
|
207
|
-
tooltip?: TooltipContent;
|
|
208
|
-
/**
|
|
209
|
-
* Tooltip 位置
|
|
210
|
-
*/
|
|
211
|
-
tooltipPlacement?: TooltipPlacement;
|
|
212
|
-
};
|
|
213
|
-
/**
|
|
214
|
-
* 清空按钮配置
|
|
215
|
-
*/
|
|
216
|
-
clear?: {
|
|
217
|
-
/**
|
|
218
|
-
* 是否禁用
|
|
219
|
-
*/
|
|
220
|
-
disabled?: boolean;
|
|
221
|
-
/**
|
|
222
|
-
* 工具提示
|
|
223
|
-
* - string: 简单文本
|
|
224
|
-
* - () => string | VNode: 渲染函数,支持复杂内容
|
|
225
|
-
*/
|
|
226
|
-
tooltip?: TooltipContent;
|
|
227
|
-
/**
|
|
228
|
-
* Tooltip 位置
|
|
229
|
-
*/
|
|
230
|
-
tooltipPlacement?: TooltipPlacement;
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* 自动高度配置
|
|
235
|
-
*/
|
|
236
|
-
export type AutoSize = boolean | {
|
|
237
|
-
minRows: number;
|
|
238
|
-
maxRows: number;
|
|
239
|
-
};
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { SenderSuggestionItem } from '../extensions/suggestion/types';
|
|
2
|
-
/**
|
|
3
|
-
* WordCounter Props
|
|
4
|
-
*/
|
|
5
|
-
export interface WordCounterProps {
|
|
6
|
-
/**
|
|
7
|
-
* 当前字符数
|
|
8
|
-
*/
|
|
9
|
-
current: number;
|
|
10
|
-
/**
|
|
11
|
-
* 最大字符数
|
|
12
|
-
*/
|
|
13
|
-
max: number;
|
|
14
|
-
/**
|
|
15
|
-
* 是否超出限制
|
|
16
|
-
*/
|
|
17
|
-
isOverLimit: boolean;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* SuggestionList Props
|
|
21
|
-
*/
|
|
22
|
-
export interface SuggestionListProps {
|
|
23
|
-
/**
|
|
24
|
-
* 是否显示
|
|
25
|
-
*/
|
|
26
|
-
show: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* 建议列表
|
|
29
|
-
*/
|
|
30
|
-
suggestions: SenderSuggestionItem[];
|
|
31
|
-
/**
|
|
32
|
-
* 键盘激活索引
|
|
33
|
-
*/
|
|
34
|
-
activeKeyboardIndex: number;
|
|
35
|
-
/**
|
|
36
|
-
* 鼠标激活索引
|
|
37
|
-
*/
|
|
38
|
-
activeMouseIndex: number;
|
|
39
|
-
/**
|
|
40
|
-
* 输入值
|
|
41
|
-
*/
|
|
42
|
-
inputValue: string;
|
|
43
|
-
/**
|
|
44
|
-
* 弹窗样式
|
|
45
|
-
*/
|
|
46
|
-
popupStyle?: Record<string, string | number>;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* SuggestionList Emits
|
|
50
|
-
*/
|
|
51
|
-
export interface SuggestionListEmits {
|
|
52
|
-
/**
|
|
53
|
-
* 选择建议
|
|
54
|
-
*
|
|
55
|
-
* @param suggestion - 建议内容
|
|
56
|
-
*/
|
|
57
|
-
(e: 'select', suggestion: string): void;
|
|
58
|
-
/**
|
|
59
|
-
* 鼠标进入
|
|
60
|
-
*
|
|
61
|
-
* @param index - 索引
|
|
62
|
-
*/
|
|
63
|
-
(e: 'mouse-enter', index: number): void;
|
|
64
|
-
/**
|
|
65
|
-
* 鼠标离开
|
|
66
|
-
*/
|
|
67
|
-
(e: 'mouse-leave'): void;
|
|
68
|
-
}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { Ref } from 'vue';
|
|
2
|
-
import { Editor } from '@tiptap/vue-3';
|
|
3
|
-
import { InputMode, SubmitTrigger } from './base';
|
|
4
|
-
/**
|
|
5
|
-
* 键盘处理器接口
|
|
6
|
-
*/
|
|
7
|
-
export interface KeyboardHandlers {
|
|
8
|
-
checkSubmitShortcut: (event: KeyboardEvent) => boolean;
|
|
9
|
-
checkNewlineShortcut: (event: KeyboardEvent) => boolean;
|
|
10
|
-
submit: () => void;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* useKeyboardShortcuts Hook 参数
|
|
14
|
-
*/
|
|
15
|
-
export interface UseKeyboardShortcutsParams {
|
|
16
|
-
submitType: Ref<SubmitTrigger>;
|
|
17
|
-
canSubmit: Ref<boolean>;
|
|
18
|
-
mode: Ref<InputMode>;
|
|
19
|
-
submit: () => void;
|
|
20
|
-
setMode: (mode: InputMode) => void;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* useKeyboardShortcuts Hook 返回值
|
|
24
|
-
*/
|
|
25
|
-
export interface UseKeyboardShortcutsReturn {
|
|
26
|
-
checkSubmitShortcut: (event: KeyboardEvent) => boolean;
|
|
27
|
-
checkNewlineShortcut: (event: KeyboardEvent) => boolean;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* useEditor 返回类型
|
|
31
|
-
*/
|
|
32
|
-
export interface UseEditorReturn {
|
|
33
|
-
/**
|
|
34
|
-
* 编辑器实例
|
|
35
|
-
* 注意:Tiptap 的 useEditor 返回 ShallowRef<Editor | undefined>
|
|
36
|
-
*/
|
|
37
|
-
editor: Ref<Editor | undefined>;
|
|
38
|
-
/**
|
|
39
|
-
* 编辑器 DOM 引用
|
|
40
|
-
*/
|
|
41
|
-
editorRef: Ref<HTMLElement | null>;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* useModeSwitch 返回类型
|
|
45
|
-
*/
|
|
46
|
-
export interface UseModeSwitchReturn {
|
|
47
|
-
/**
|
|
48
|
-
* 当前模式
|
|
49
|
-
*/
|
|
50
|
-
currentMode: Ref<InputMode>;
|
|
51
|
-
/**
|
|
52
|
-
* 是否正在自动切换
|
|
53
|
-
*/
|
|
54
|
-
isAutoSwitching: Ref<boolean>;
|
|
55
|
-
/**
|
|
56
|
-
* 设置模式
|
|
57
|
-
*
|
|
58
|
-
* @param mode - 输入模式
|
|
59
|
-
*/
|
|
60
|
-
setMode: (mode: InputMode) => void;
|
|
61
|
-
/**
|
|
62
|
-
* 检查内容溢出
|
|
63
|
-
*
|
|
64
|
-
* 用于自动切换模式
|
|
65
|
-
*/
|
|
66
|
-
checkOverflow: () => void;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* useSuggestion 返回类型
|
|
70
|
-
*/
|
|
71
|
-
export interface UseSuggestionReturn {
|
|
72
|
-
/**
|
|
73
|
-
* 弹窗是否可见
|
|
74
|
-
*/
|
|
75
|
-
isPopupVisible: Ref<boolean>;
|
|
76
|
-
/**
|
|
77
|
-
* 当前激活的建议
|
|
78
|
-
*/
|
|
79
|
-
activeSuggestion: Ref<string>;
|
|
80
|
-
/**
|
|
81
|
-
* 键盘导航的激活索引
|
|
82
|
-
*/
|
|
83
|
-
activeKeyboardIndex: Ref<number>;
|
|
84
|
-
/**
|
|
85
|
-
* 鼠标悬停的激活索引
|
|
86
|
-
*/
|
|
87
|
-
activeMouseIndex: Ref<number>;
|
|
88
|
-
/**
|
|
89
|
-
* 自动补全文本
|
|
90
|
-
*/
|
|
91
|
-
autoCompleteText: Ref<string>;
|
|
92
|
-
/**
|
|
93
|
-
* 是否显示 Tab 提示器
|
|
94
|
-
*/
|
|
95
|
-
showTabIndicator: Ref<boolean>;
|
|
96
|
-
/**
|
|
97
|
-
* 应用建议
|
|
98
|
-
*
|
|
99
|
-
* @param suggestion - 建议内容
|
|
100
|
-
*/
|
|
101
|
-
applySuggestion: (suggestion: string) => void;
|
|
102
|
-
/**
|
|
103
|
-
* 键盘导航
|
|
104
|
-
*
|
|
105
|
-
* @param direction - 方向(上/下)
|
|
106
|
-
*/
|
|
107
|
-
navigateWithKeyboard: (direction: 'up' | 'down') => void;
|
|
108
|
-
/**
|
|
109
|
-
* 鼠标进入
|
|
110
|
-
*
|
|
111
|
-
* @param index - 建议项索引
|
|
112
|
-
*/
|
|
113
|
-
handleMouseEnter: (index: number) => void;
|
|
114
|
-
/**
|
|
115
|
-
* 鼠标离开
|
|
116
|
-
*/
|
|
117
|
-
handleMouseLeave: () => void;
|
|
118
|
-
/**
|
|
119
|
-
* 关闭弹窗
|
|
120
|
-
*/
|
|
121
|
-
closePopup: () => void;
|
|
122
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { Ref } from 'vue';
|
|
2
|
-
import { Editor } from '@tiptap/vue-3';
|
|
3
|
-
import { InputMode, DefaultActions, SubmitTrigger } from './base';
|
|
4
|
-
/**
|
|
5
|
-
* Sender Context
|
|
6
|
-
*
|
|
7
|
-
* 通过 provide/inject 在组件树中共享的状态和方法
|
|
8
|
-
* 所有子组件都可以通过 inject 获取
|
|
9
|
-
*/
|
|
10
|
-
export interface SenderContext {
|
|
11
|
-
/**
|
|
12
|
-
* Tiptap 编辑器实例
|
|
13
|
-
* 注意:Tiptap 的 useEditor 返回 ShallowRef<Editor | undefined>
|
|
14
|
-
*/
|
|
15
|
-
editor: Ref<Editor | undefined>;
|
|
16
|
-
/**
|
|
17
|
-
* 编辑器 DOM 引用
|
|
18
|
-
*/
|
|
19
|
-
editorRef: Ref<HTMLElement | null>;
|
|
20
|
-
/**
|
|
21
|
-
* 当前输入模式
|
|
22
|
-
*/
|
|
23
|
-
mode: Ref<InputMode>;
|
|
24
|
-
/**
|
|
25
|
-
* 是否正在自动切换模式
|
|
26
|
-
* 用于控制切换时的过渡动画
|
|
27
|
-
*/
|
|
28
|
-
isAutoSwitching: Ref<boolean>;
|
|
29
|
-
/**
|
|
30
|
-
* 是否加载中
|
|
31
|
-
*/
|
|
32
|
-
loading: Ref<boolean>;
|
|
33
|
-
/**
|
|
34
|
-
* 是否禁用
|
|
35
|
-
*/
|
|
36
|
-
disabled: Ref<boolean>;
|
|
37
|
-
/**
|
|
38
|
-
* 是否有内容
|
|
39
|
-
*/
|
|
40
|
-
hasContent: Ref<boolean>;
|
|
41
|
-
/**
|
|
42
|
-
* 是否可以提交
|
|
43
|
-
*
|
|
44
|
-
* 综合判断:
|
|
45
|
-
* - !disabled
|
|
46
|
-
* - !loading
|
|
47
|
-
* - hasContent
|
|
48
|
-
* - !isOverLimit
|
|
49
|
-
* - !defaultActions.submit?.disabled
|
|
50
|
-
*/
|
|
51
|
-
canSubmit: Ref<boolean>;
|
|
52
|
-
/**
|
|
53
|
-
* 是否超出字数限制
|
|
54
|
-
*/
|
|
55
|
-
isOverLimit: Ref<boolean>;
|
|
56
|
-
/**
|
|
57
|
-
* 当前字符数
|
|
58
|
-
*/
|
|
59
|
-
characterCount: Ref<number>;
|
|
60
|
-
/**
|
|
61
|
-
* 最大字符数限制
|
|
62
|
-
*/
|
|
63
|
-
maxLength: Ref<number | undefined>;
|
|
64
|
-
/**
|
|
65
|
-
* 组件的尺寸
|
|
66
|
-
*/
|
|
67
|
-
size: Ref<'small' | 'normal'>;
|
|
68
|
-
/**
|
|
69
|
-
* 是否显示字数限制
|
|
70
|
-
*/
|
|
71
|
-
showWordLimit: Ref<boolean>;
|
|
72
|
-
/**
|
|
73
|
-
* 是否显示清空按钮
|
|
74
|
-
*/
|
|
75
|
-
clearable: Ref<boolean>;
|
|
76
|
-
/**
|
|
77
|
-
* 默认操作按钮配置
|
|
78
|
-
*/
|
|
79
|
-
defaultActions: Ref<DefaultActions | undefined>;
|
|
80
|
-
/**
|
|
81
|
-
* 提交触发方式
|
|
82
|
-
*/
|
|
83
|
-
submitType: Ref<SubmitTrigger>;
|
|
84
|
-
/**
|
|
85
|
-
* 停止按钮文字
|
|
86
|
-
*/
|
|
87
|
-
stopText: Ref<string | undefined>;
|
|
88
|
-
/**
|
|
89
|
-
* 提交内容
|
|
90
|
-
*/
|
|
91
|
-
submit: () => void;
|
|
92
|
-
/**
|
|
93
|
-
* 清空内容
|
|
94
|
-
*/
|
|
95
|
-
clear: () => void;
|
|
96
|
-
/**
|
|
97
|
-
* 取消操作
|
|
98
|
-
*
|
|
99
|
-
* 在 loading 状态下触发,用于取消正在进行的操作
|
|
100
|
-
*/
|
|
101
|
-
cancel: () => void;
|
|
102
|
-
/**
|
|
103
|
-
* 聚焦编辑器
|
|
104
|
-
*/
|
|
105
|
-
focus: () => void;
|
|
106
|
-
/**
|
|
107
|
-
* 失焦编辑器
|
|
108
|
-
*/
|
|
109
|
-
blur: () => void;
|
|
110
|
-
/**
|
|
111
|
-
* 设置编辑器内容
|
|
112
|
-
*
|
|
113
|
-
* @param content - 内容(HTML 或 JSON)
|
|
114
|
-
*/
|
|
115
|
-
setContent: (content: string) => void;
|
|
116
|
-
/**
|
|
117
|
-
* 获取编辑器内容
|
|
118
|
-
*
|
|
119
|
-
* @returns 内容(HTML)
|
|
120
|
-
*/
|
|
121
|
-
getContent: () => string;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Context Key
|
|
125
|
-
*
|
|
126
|
-
* 用于 provide/inject 的 key
|
|
127
|
-
*/
|
|
128
|
-
export declare const SENDER_CONTEXT_KEY: unique symbol;
|
|
129
|
-
/**
|
|
130
|
-
* useSenderContext 返回类型
|
|
131
|
-
*/
|
|
132
|
-
export type UseSenderContextReturn = SenderContext;
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Editor } from '@tiptap/core';
|
|
2
|
-
/**
|
|
3
|
-
* Sender 插槽作用域
|
|
4
|
-
*
|
|
5
|
-
* 通过插槽作用域暴露给外部组件的状态和方法
|
|
6
|
-
* 主要为增强按钮(Upload、Voice 等)提供便捷的操作方法
|
|
7
|
-
*/
|
|
8
|
-
export interface SenderSlotScope {
|
|
9
|
-
/**
|
|
10
|
-
* Tiptap 编辑器实例
|
|
11
|
-
* 用于高级操作
|
|
12
|
-
*/
|
|
13
|
-
editor: Editor | undefined;
|
|
14
|
-
/**
|
|
15
|
-
* 聚焦编辑器
|
|
16
|
-
*/
|
|
17
|
-
focus: () => void;
|
|
18
|
-
/**
|
|
19
|
-
* 失焦编辑器
|
|
20
|
-
*/
|
|
21
|
-
blur: () => void;
|
|
22
|
-
/**
|
|
23
|
-
* 插入内容到当前光标位置
|
|
24
|
-
*
|
|
25
|
-
* 适用场景:语音输入、快捷短语插入
|
|
26
|
-
*
|
|
27
|
-
* @param content - 要插入的内容
|
|
28
|
-
* @example
|
|
29
|
-
* ```vue
|
|
30
|
-
* <template #actions-inline="{ insert }">
|
|
31
|
-
* <VoiceButton @speech-final="insert" />
|
|
32
|
-
* </template>
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
insert: (content: string) => void;
|
|
36
|
-
/**
|
|
37
|
-
* 追加内容到编辑器末尾
|
|
38
|
-
*
|
|
39
|
-
* 适用场景:连续语音输入、批量添加内容
|
|
40
|
-
*
|
|
41
|
-
* @param content - 要追加的内容
|
|
42
|
-
*/
|
|
43
|
-
append: (content: string) => void;
|
|
44
|
-
/**
|
|
45
|
-
* 替换编辑器全部内容
|
|
46
|
-
*
|
|
47
|
-
* 适用场景:模板填充、内容重置
|
|
48
|
-
*
|
|
49
|
-
* @param content - 新内容
|
|
50
|
-
*/
|
|
51
|
-
replace: (content: string) => void;
|
|
52
|
-
/**
|
|
53
|
-
* 是否禁用
|
|
54
|
-
* 用于控制自定义按钮状态
|
|
55
|
-
*/
|
|
56
|
-
disabled: boolean;
|
|
57
|
-
/**
|
|
58
|
-
* 是否加载中
|
|
59
|
-
* 用于控制按钮加载状态和禁用
|
|
60
|
-
*/
|
|
61
|
-
loading: boolean;
|
|
62
|
-
/**
|
|
63
|
-
* 是否有内容
|
|
64
|
-
* 用于控制按钮显示/隐藏
|
|
65
|
-
*/
|
|
66
|
-
hasContent: boolean;
|
|
67
|
-
}
|