@opentiny/tiny-robot 0.4.2-alpha.9 → 0.5.1-alpha.1

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.
Files changed (275) hide show
  1. package/dist/action-group/ActionGroup.vue.d.ts +26 -0
  2. package/dist/action-group/ActionGroupItem.vue.d.ts +18 -0
  3. package/dist/action-group/index.d.ts +12 -0
  4. package/dist/action-group/index.type.d.ts +17 -0
  5. package/dist/anchor/components/AnchorItem.vue.d.ts +24 -0
  6. package/dist/anchor/components/AnchorList.vue.d.ts +20 -0
  7. package/dist/anchor/components/AnchorOverlay.vue.d.ts +33 -0
  8. package/dist/anchor/components/AnchorSearch.vue.d.ts +7 -0
  9. package/dist/anchor/composables/index.d.ts +5 -0
  10. package/dist/anchor/composables/useActiveSync.d.ts +10 -0
  11. package/dist/anchor/composables/useFloatingOffset.d.ts +6 -0
  12. package/dist/anchor/composables/useNavController.d.ts +12 -0
  13. package/dist/anchor/composables/useOverlayInteractions.d.ts +6 -0
  14. package/dist/anchor/composables/useTargetFeedback.d.ts +5 -0
  15. package/dist/anchor/defaults.d.ts +16 -0
  16. package/dist/anchor/index.d.ts +7 -0
  17. package/dist/anchor/index.type.d.ts +60 -0
  18. package/dist/anchor/index.vue.d.ts +159 -0
  19. package/dist/anchor/internal.type.d.ts +103 -0
  20. package/dist/anchor/utils/scroll.d.ts +7 -0
  21. package/dist/anchor/utils/target.d.ts +6 -0
  22. package/dist/attachments/components/FileCard.vue.d.ts +18 -0
  23. package/dist/attachments/components/ImagePreview.vue.d.ts +17 -0
  24. package/dist/attachments/components/index.d.ts +2 -0
  25. package/dist/attachments/composables/index.d.ts +5 -0
  26. package/dist/attachments/composables/useFileCard.d.ts +15 -0
  27. package/dist/attachments/composables/useFileType.d.ts +20 -0
  28. package/dist/attachments/composables/useImagePreview.d.ts +18 -0
  29. package/dist/attachments/composables/useListType.d.ts +11 -0
  30. package/dist/attachments/index.d.ts +7 -0
  31. package/dist/attachments/index.type.d.ts +70 -0
  32. package/dist/attachments/index.vue.d.ts +27 -0
  33. package/dist/attachments/utils.d.ts +3 -0
  34. package/dist/base-popper/components/Popper.vue.d.ts +28 -0
  35. package/dist/base-popper/index.d.ts +2 -0
  36. package/dist/base-popper/index.vue.d.ts +41 -0
  37. package/dist/bubble/Bubble.vue.d.ts +47 -0
  38. package/dist/bubble/BubbleBoxWrapper.vue.d.ts +22 -0
  39. package/dist/bubble/BubbleContentWrapper.vue.d.ts +22 -0
  40. package/dist/bubble/BubbleItem.vue.d.ts +44 -0
  41. package/dist/bubble/BubbleList.vue.d.ts +43 -0
  42. package/dist/bubble/BubbleProvider.vue.d.ts +18 -0
  43. package/dist/bubble/composables/index.d.ts +11 -0
  44. package/dist/bubble/composables/useBubbleBoxRenderer.d.ts +18 -0
  45. package/dist/bubble/composables/useBubbleContentRenderer.d.ts +18 -0
  46. package/dist/bubble/composables/useBubbleEvent.d.ts +3 -0
  47. package/dist/bubble/composables/useBubbleStateChange.d.ts +1 -0
  48. package/dist/bubble/composables/useBubbleStore.d.ts +16 -0
  49. package/dist/bubble/composables/useContentResolver.d.ts +5 -0
  50. package/dist/bubble/composables/useCopyCleanup.d.ts +6 -0
  51. package/dist/bubble/composables/useMessageContent.d.ts +5 -0
  52. package/dist/bubble/composables/useMessageGroup.d.ts +4 -0
  53. package/dist/bubble/composables/useOmitMessageFields.d.ts +12 -0
  54. package/dist/bubble/composables/useToolCall.d.ts +25 -0
  55. package/dist/bubble/constants.d.ts +42 -0
  56. package/dist/bubble/index.d.ts +19 -0
  57. package/dist/bubble/index.type.d.ts +185 -0
  58. package/dist/bubble/renderers/Box.vue.d.ts +18 -0
  59. package/dist/bubble/renderers/Image.vue.d.ts +4 -0
  60. package/dist/bubble/renderers/Loading.vue.d.ts +4 -0
  61. package/dist/bubble/renderers/Markdown.vue.d.ts +4 -0
  62. package/dist/bubble/renderers/Reasoning.vue.d.ts +9 -0
  63. package/dist/bubble/renderers/Text.vue.d.ts +4 -0
  64. package/dist/bubble/renderers/Tool.vue.d.ts +14 -0
  65. package/dist/bubble/renderers/ToolRole.vue.d.ts +4 -0
  66. package/dist/bubble/renderers/Tools.vue.d.ts +4 -0
  67. package/dist/bubble/renderers/allRenderers.d.ts +93 -0
  68. package/dist/bubble/renderers/defaultRenderers.d.ts +27 -0
  69. package/dist/bubble/utils.d.ts +7 -0
  70. package/dist/chat/components/ChatConversation.vue.d.ts +305 -0
  71. package/dist/chat/components/ChatLauncherButton.vue.d.ts +12 -0
  72. package/dist/chat/components/ChatMcpTrigger.vue.d.ts +30 -0
  73. package/dist/chat/components/ChatThemeToggleButton.vue.d.ts +6 -0
  74. package/dist/chat/components/ChatWelcome.vue.d.ts +14 -0
  75. package/dist/chat/components/icons/IconModelAliyunBailian.vue.d.ts +7 -0
  76. package/dist/chat/components/icons/IconModelDeepseek.vue.d.ts +7 -0
  77. package/dist/chat/components/icons/index.d.ts +5 -0
  78. package/dist/chat/composables/useChatConversation.d.ts +37 -0
  79. package/dist/chat/composables/useChatMcp.d.ts +29 -0
  80. package/dist/chat/composables/useChatModel.d.ts +27 -0
  81. package/dist/chat/index.d.ts +9 -0
  82. package/dist/chat/index.js +13904 -0
  83. package/dist/chat/index.type.d.ts +92 -0
  84. package/dist/chat/index.vue.d.ts +51 -0
  85. package/dist/chat/locale.d.ts +12 -0
  86. package/dist/chat/mcpServers.d.ts +3 -0
  87. package/dist/container/index.d.ts +7 -0
  88. package/dist/container/index.type.d.ts +20 -0
  89. package/dist/container/index.vue.d.ts +32 -0
  90. package/dist/conversations/index.d.ts +7 -0
  91. package/dist/conversations/index.vue.d.ts +2 -0
  92. package/dist/drag-overlay/constants.d.ts +17 -0
  93. package/dist/drag-overlay/directives/vDropzone.d.ts +14 -0
  94. package/dist/drag-overlay/index.d.ts +7 -0
  95. package/dist/drag-overlay/index.type.d.ts +105 -0
  96. package/dist/drag-overlay/index.vue.d.ts +20 -0
  97. package/dist/dropdown-menu/composables/usePopperHover.d.ts +6 -0
  98. package/dist/dropdown-menu/index.d.ts +7 -0
  99. package/dist/dropdown-menu/index.type.d.ts +42 -0
  100. package/dist/dropdown-menu/index.vue.d.ts +217 -0
  101. package/dist/feedback/components/SourceList.vue.d.ts +11 -0
  102. package/dist/feedback/components/index.d.ts +1 -0
  103. package/dist/feedback/index.d.ts +7 -0
  104. package/dist/feedback/index.type.d.ts +25 -0
  105. package/dist/feedback/index.vue.d.ts +13 -0
  106. package/dist/flow-layout-buttons/index.d.ts +7 -0
  107. package/dist/flow-layout-buttons/index.type.d.ts +35 -0
  108. package/dist/flow-layout-buttons/index.vue.d.ts +22 -0
  109. package/dist/history/components/Empty.vue.d.ts +7 -0
  110. package/dist/history/components/MenuList.vue.d.ts +24 -0
  111. package/dist/history/composables/useRenameEditor.d.ts +22 -0
  112. package/dist/history/constants.d.ts +1 -0
  113. package/dist/history/index.d.ts +7 -0
  114. package/dist/history/index.type.d.ts +33 -0
  115. package/dist/history/index.vue.d.ts +18 -0
  116. package/dist/icon-button/index.d.ts +7 -0
  117. package/dist/icon-button/index.type.d.ts +7 -0
  118. package/dist/icon-button/index.vue.d.ts +6 -0
  119. package/dist/index.d.ts +51 -5239
  120. package/dist/index.js +1 -1
  121. package/dist/index2.js +12 -12
  122. package/dist/index7.js +21 -24
  123. package/dist/layout/Layout.vue.d.ts +246 -0
  124. package/dist/layout/LayoutAsideToggle.vue.d.ts +20 -0
  125. package/dist/layout/LayoutProxyScrollbar.vue.d.ts +6 -0
  126. package/dist/layout/components/AsideContent.vue.d.ts +35 -0
  127. package/dist/layout/components/AsideResizeTrigger.vue.d.ts +20 -0
  128. package/dist/layout/components/FloatingDragBar.vue.d.ts +18 -0
  129. package/dist/layout/components/FloatingResizeTrigger.vue.d.ts +17 -0
  130. package/dist/layout/components/FloatingResizeTriggers.vue.d.ts +14 -0
  131. package/dist/layout/components/LayoutSurface.vue.d.ts +41 -0
  132. package/dist/layout/composables/useLayoutAsideStates.d.ts +21 -0
  133. package/dist/layout/composables/useLayoutContext.d.ts +4 -0
  134. package/dist/layout/composables/usePointerDrag.d.ts +19 -0
  135. package/dist/layout/index.d.ts +22 -0
  136. package/dist/layout/index.js +495 -504
  137. package/dist/layout/index.type.d.ts +111 -0
  138. package/dist/layout/internal.type.d.ts +43 -0
  139. package/dist/layout/utils/asideEventEmitters.d.ts +6 -0
  140. package/dist/layout/utils/asidePresets.d.ts +5 -0
  141. package/dist/layout/utils/cssLength.d.ts +2 -0
  142. package/dist/layout/utils/domInteraction.d.ts +1 -0
  143. package/dist/layout/utils/number.d.ts +1 -0
  144. package/dist/layout/utils/surfaceGeometry.d.ts +87 -0
  145. package/dist/layout/utils/surfaceResize.d.ts +10 -0
  146. package/dist/mcp-add-form/components/CodeEditor.vue.d.ts +9 -0
  147. package/dist/mcp-add-form/components/FormEditor.vue.d.ts +10 -0
  148. package/dist/mcp-add-form/components/index.d.ts +2 -0
  149. package/dist/mcp-add-form/index.d.ts +7 -0
  150. package/dist/mcp-add-form/index.type.d.ts +19 -0
  151. package/dist/mcp-add-form/index.vue.d.ts +13 -0
  152. package/dist/mcp-server-picker/components/NoData.vue.d.ts +7 -0
  153. package/dist/mcp-server-picker/components/PluginCard.vue.d.ts +40 -0
  154. package/dist/mcp-server-picker/components/PluginModal.vue.d.ts +15 -0
  155. package/dist/mcp-server-picker/components/index.d.ts +3 -0
  156. package/dist/mcp-server-picker/index.d.ts +7 -0
  157. package/dist/mcp-server-picker/index.type.d.ts +99 -0
  158. package/dist/mcp-server-picker/index.vue.d.ts +71 -0
  159. package/dist/prompts/index.d.ts +12 -0
  160. package/dist/prompts/index.type.d.ts +59 -0
  161. package/dist/prompts/prompt.vue.d.ts +5 -0
  162. package/dist/prompts/prompts.vue.d.ts +20 -0
  163. package/dist/sender/components/editor-content/index.vue.d.ts +4 -0
  164. package/dist/sender/components/footer/index.vue.d.ts +38 -0
  165. package/dist/sender/components/layouts/MultiLineLayout.vue.d.ts +43 -0
  166. package/dist/sender/components/layouts/SingleLineLayout.vue.d.ts +32 -0
  167. package/dist/sender/composables/index.d.ts +7 -0
  168. package/dist/sender/composables/useAutoSize.d.ts +5 -0
  169. package/dist/sender/composables/useEditor.d.ts +13 -0
  170. package/dist/sender/composables/useKeyboardShortcuts.d.ts +7 -0
  171. package/dist/sender/composables/useModeSwitch.d.ts +4 -0
  172. package/dist/sender/composables/useSenderCore.d.ts +31 -0
  173. package/dist/sender/composables/useSlotScope.d.ts +10 -0
  174. package/dist/sender/context/index.d.ts +6 -0
  175. package/dist/sender/context/types.d.ts +7 -0
  176. package/dist/sender/extensions/constants.d.ts +94 -0
  177. package/dist/sender/extensions/index.d.ts +12 -0
  178. package/dist/sender/extensions/mention/commands.d.ts +20 -0
  179. package/dist/sender/extensions/mention/components/mention-list.vue.d.ts +18 -0
  180. package/dist/sender/extensions/mention/components/mention-view.vue.d.ts +19 -0
  181. package/dist/sender/extensions/mention/extension.d.ts +6 -0
  182. package/dist/sender/extensions/mention/index.d.ts +22 -0
  183. package/dist/sender/extensions/mention/plugin.d.ts +16 -0
  184. package/dist/sender/extensions/mention/types.d.ts +126 -0
  185. package/dist/sender/extensions/mention/utils.d.ts +34 -0
  186. package/dist/sender/extensions/suggestion/extension.d.ts +8 -0
  187. package/dist/sender/extensions/suggestion/index.d.ts +20 -0
  188. package/dist/sender/extensions/suggestion/plugin.d.ts +21 -0
  189. package/dist/sender/extensions/suggestion/suggestion-list.vue.d.ts +46 -0
  190. package/dist/sender/extensions/suggestion/types.d.ts +254 -0
  191. package/dist/sender/extensions/suggestion/utils/filter.d.ts +29 -0
  192. package/dist/sender/extensions/suggestion/utils/highlight.d.ts +73 -0
  193. package/dist/sender/extensions/template/block/extension.d.ts +6 -0
  194. package/dist/sender/extensions/template/block/plugins.d.ts +13 -0
  195. package/dist/sender/extensions/template/block/template-block-view.vue.d.ts +14 -0
  196. package/dist/sender/extensions/template/commands.d.ts +31 -0
  197. package/dist/sender/extensions/template/extension.d.ts +6 -0
  198. package/dist/sender/extensions/template/index.d.ts +21 -0
  199. package/dist/sender/extensions/template/select/dropdown-manager.d.ts +23 -0
  200. package/dist/sender/extensions/template/select/extension.d.ts +5 -0
  201. package/dist/sender/extensions/template/select/plugins.d.ts +34 -0
  202. package/dist/sender/extensions/template/select/template-select-view.vue.d.ts +20 -0
  203. package/dist/sender/extensions/template/types.d.ts +100 -0
  204. package/dist/sender/extensions/template/utils.d.ts +20 -0
  205. package/dist/sender/extensions/utils/id-generator.d.ts +16 -0
  206. package/dist/sender/extensions/utils/index.d.ts +7 -0
  207. package/dist/sender/extensions/utils/keyboard.d.ts +49 -0
  208. package/dist/sender/extensions/utils/position.d.ts +25 -0
  209. package/dist/sender/index.d.ts +139 -0
  210. package/dist/sender/index.js +1031 -1053
  211. package/dist/sender/index.type.d.ts +311 -0
  212. package/dist/sender/index.vue.d.ts +93 -0
  213. package/dist/sender/types/base.d.ts +239 -0
  214. package/dist/sender/types/components.d.ts +68 -0
  215. package/dist/sender/types/composables.d.ts +122 -0
  216. package/dist/sender/types/context.d.ts +138 -0
  217. package/dist/sender/types/slots.d.ts +67 -0
  218. package/dist/sender/utils/countGraphemes.d.ts +1 -0
  219. package/dist/sender-actions/action-button/index.vue.d.ts +23 -0
  220. package/dist/sender-actions/clear-button/index.vue.d.ts +2 -0
  221. package/dist/sender-actions/clear-button/useClearButtonState.d.ts +6 -0
  222. package/dist/sender-actions/default-actions/index.vue.d.ts +17 -0
  223. package/dist/sender-actions/index.d.ts +21 -0
  224. package/dist/sender-actions/index.type.d.ts +7 -0
  225. package/dist/sender-actions/submit-button/index.vue.d.ts +2 -0
  226. package/dist/sender-actions/types/common.d.ts +40 -0
  227. package/dist/sender-actions/types/index.d.ts +5 -0
  228. package/dist/sender-actions/types/tooltip.d.ts +7 -0
  229. package/dist/sender-actions/upload-button/index.type.d.ts +57 -0
  230. package/dist/sender-actions/upload-button/index.vue.d.ts +16 -0
  231. package/dist/sender-actions/utils/tooltip.d.ts +8 -0
  232. package/dist/sender-actions/voice-button/index.type.d.ts +78 -0
  233. package/dist/sender-actions/voice-button/index.vue.d.ts +43 -0
  234. package/dist/sender-actions/voice-button/speech.types.d.ts +40 -0
  235. package/dist/sender-actions/voice-button/useSpeechHandler.d.ts +10 -0
  236. package/dist/sender-actions/voice-button/webSpeechHandler.d.ts +40 -0
  237. package/dist/sender-actions/word-counter/index.vue.d.ts +2 -0
  238. package/dist/sender-compat/index.d.ts +7 -0
  239. package/dist/sender-compat/index.js +38 -38
  240. package/dist/sender-compat/index.type.d.ts +91 -0
  241. package/dist/sender-compat/index.vue.d.ts +538 -0
  242. package/dist/shared/composables/createTeleport.d.ts +2 -0
  243. package/dist/shared/composables/index.d.ts +6 -0
  244. package/dist/shared/composables/useAutoScroll.d.ts +25 -0
  245. package/dist/shared/composables/useControllableState.d.ts +20 -0
  246. package/dist/shared/composables/useSlotRefs.d.ts +12 -0
  247. package/dist/shared/composables/useTeleportTarget.d.ts +11 -0
  248. package/dist/shared/composables/useTouchDevice.d.ts +3 -0
  249. package/dist/shared/utils.d.ts +7 -0
  250. package/dist/style.css +1 -1
  251. package/dist/suggestion-pills/components/PillButton.vue.d.ts +16 -0
  252. package/dist/suggestion-pills/components/index.d.ts +1 -0
  253. package/dist/suggestion-pills/index.d.ts +13 -0
  254. package/dist/suggestion-pills/index.type.d.ts +45 -0
  255. package/dist/suggestion-pills/index.vue.d.ts +44 -0
  256. package/dist/suggestion-popover/components/Backdrop.vue.d.ts +5 -0
  257. package/dist/suggestion-popover/components/Header.vue.d.ts +4 -0
  258. package/dist/suggestion-popover/components/Loading.vue.d.ts +17 -0
  259. package/dist/suggestion-popover/components/NoData.vue.d.ts +17 -0
  260. package/dist/suggestion-popover/components/Tooltip.vue.d.ts +19 -0
  261. package/dist/suggestion-popover/index.d.ts +7 -0
  262. package/dist/suggestion-popover/index.js +2 -4
  263. package/dist/suggestion-popover/index.type.d.ts +80 -0
  264. package/dist/suggestion-popover/index.vue.d.ts +262 -0
  265. package/dist/theme-provider/constants.d.ts +6 -0
  266. package/dist/theme-provider/index.d.ts +9 -0
  267. package/dist/theme-provider/index.js +32 -41
  268. package/dist/theme-provider/index.type.d.ts +18 -0
  269. package/dist/theme-provider/index.vue.d.ts +32 -0
  270. package/dist/theme-provider/useTheme.d.ts +11 -0
  271. package/dist/useTheme.js +22 -0
  272. package/dist/welcome/index.d.ts +7 -0
  273. package/dist/welcome/index.type.d.ts +10 -0
  274. package/dist/welcome/index.vue.d.ts +18 -0
  275. package/package.json +22 -3
@@ -0,0 +1,100 @@
1
+ import { Ref } from 'vue';
2
+ import { TemplateItem, SelectOption } from '../../index.type';
3
+ export type { TemplateItem, SelectOption };
4
+ /**
5
+ * TemplateSelect 节点属性
6
+ */
7
+ export interface TemplateSelectAttrs {
8
+ /**
9
+ * 唯一标识
10
+ */
11
+ id: string;
12
+ /**
13
+ * 占位文字(未选择时显示)
14
+ */
15
+ placeholder: string;
16
+ /**
17
+ * 选项列表
18
+ */
19
+ options: SelectOption[];
20
+ /**
21
+ * 当前选中的值(可选)
22
+ */
23
+ value?: string;
24
+ }
25
+ /**
26
+ * Template 节点属性
27
+ */
28
+ export interface TemplateAttrs {
29
+ /**
30
+ * 模板块 ID
31
+ */
32
+ id: string;
33
+ /**
34
+ * 模板块内容
35
+ */
36
+ content: string;
37
+ }
38
+ /**
39
+ * Template 配置选项
40
+ */
41
+ export interface TemplateOptions {
42
+ /**
43
+ * 模板数据列表(推荐使用 ref 实现响应式)
44
+ *
45
+ * 支持两种配置方式:
46
+ * 1. 传入 ref(推荐):自动双向绑定,解决时序问题
47
+ * 2. 传入数组:仅用于静态初始化
48
+ *
49
+ * @example 响应式配置(推荐)
50
+ * ```typescript
51
+ * const items = ref<TemplateItem[]>([
52
+ * { type: 'text', content: '帮我分析' },
53
+ * { type: 'template', content: '' }
54
+ * ])
55
+ * Template.configure({ items }) // 传入 ref,自动双向绑定
56
+ * ```
57
+ *
58
+ * @example 静态配置
59
+ * ```typescript
60
+ * Template.configure({
61
+ * items: [
62
+ * { type: 'text', content: '帮我分析' },
63
+ * { type: 'template', content: '' }
64
+ * ]
65
+ * })
66
+ * ```
67
+ */
68
+ items?: TemplateItem[] | Ref<TemplateItem[]>;
69
+ /**
70
+ * HTML 属性
71
+ */
72
+ HTMLAttributes?: Record<string, unknown>;
73
+ }
74
+ /**
75
+ * 扩展 Tiptap Commands 接口
76
+ *
77
+ * 使 TypeScript 能够识别自定义命令
78
+ */
79
+ declare module '@tiptap/core' {
80
+ interface Commands<ReturnType> {
81
+ template: {
82
+ /**
83
+ * 设置模板数据(批量)
84
+ */
85
+ setTemplateData: (items: TemplateItem[]) => ReturnType;
86
+ /**
87
+ * 插入模板块
88
+ */
89
+ insertTemplate: (attrs: Partial<TemplateAttrs>) => ReturnType;
90
+ /**
91
+ * 聚焦到第一个模板块
92
+ */
93
+ focusFirstTemplate: () => ReturnType;
94
+ /**
95
+ * 插入选择器
96
+ */
97
+ insertTemplateSelect: (attrs: Partial<TemplateSelectAttrs>) => ReturnType;
98
+ };
99
+ }
100
+ }
@@ -0,0 +1,20 @@
1
+ import { Editor } from '@tiptap/core';
2
+ import { TemplateItem } from '../../index.type';
3
+ /**
4
+ * 零宽字符常量
5
+ * Unicode: U+200B (Zero Width Space)
6
+ * HTML Entity: &#8203;
7
+ */
8
+ export declare const ZERO_WIDTH_CHAR = "\u200B";
9
+ /**
10
+ * 获取包含 template 的完整文本
11
+ *
12
+ * 例如:请帮我分析 [模板内容1] 和 [模板内容2]
13
+ */
14
+ export declare function getTextWithTemplates(editor: Editor): string;
15
+ /**
16
+ * 获取结构化数据(辅助函数)
17
+ *
18
+ * 返回包含文本和模板块的结构化数组
19
+ */
20
+ export declare function getTemplateStructuredData(editor: Editor): TemplateItem[];
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 生成唯一 ID
3
+ *
4
+ * 用于所有扩展生成唯一标识符
5
+ */
6
+ /**
7
+ * 生成唯一 ID
8
+ *
9
+ * @param prefix - ID 前缀
10
+ * @returns 唯一 ID 字符串
11
+ *
12
+ * @example
13
+ * generateId('mention') // mention_1701234567890_abc123def
14
+ * generateId('template') // template_1701234567890_xyz789uvw
15
+ */
16
+ export declare function generateId(prefix: string): string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 共享工具函数统一导出
3
+ */
4
+ export { generateId } from './id-generator';
5
+ export { findTextRange } from './position';
6
+ export { isKey, isAnyKey, isArrowKey, isDeleteKey } from './keyboard';
7
+ export type { KeyboardKey } from './keyboard';
@@ -0,0 +1,49 @@
1
+ import { KEYBOARD_KEYS } from '../constants';
2
+ /**
3
+ * 键盘按键类型
4
+ */
5
+ export type KeyboardKey = keyof typeof KEYBOARD_KEYS;
6
+ /**
7
+ * 检查是否按下指定按键
8
+ *
9
+ * @param event - 键盘事件
10
+ * @param key - 按键名称
11
+ * @returns 是否按下指定按键
12
+ *
13
+ * @example
14
+ * if (isKey(event, 'ENTER')) { ... }
15
+ * if (isKey(event, 'ARROW_UP')) { ... }
16
+ */
17
+ export declare const isKey: (event: KeyboardEvent, key: KeyboardKey) => boolean;
18
+ /**
19
+ * 检查是否按下多个按键中的任意一个
20
+ *
21
+ * @param event - 键盘事件
22
+ * @param keys - 按键名称数组
23
+ * @returns 是否按下指定按键之一
24
+ *
25
+ * @example
26
+ * if (isAnyKey(event, ['ARROW_UP', 'ARROW_DOWN'])) { ... }
27
+ * if (isAnyKey(event, ['ENTER', 'TAB'])) { ... }
28
+ */
29
+ export declare const isAnyKey: (event: KeyboardEvent, keys: KeyboardKey[]) => boolean;
30
+ /**
31
+ * 检查是否按下方向键
32
+ *
33
+ * @param event - 键盘事件
34
+ * @returns 是否按下方向键
35
+ *
36
+ * @example
37
+ * if (isArrowKey(event)) { ... }
38
+ */
39
+ export declare const isArrowKey: (event: KeyboardEvent) => boolean;
40
+ /**
41
+ * 检查是否按下删除键(Backspace 或 Delete)
42
+ *
43
+ * @param event - 键盘事件
44
+ * @returns 是否按下删除键
45
+ *
46
+ * @example
47
+ * if (isDeleteKey(event)) { ... }
48
+ */
49
+ export declare const isDeleteKey: (event: KeyboardEvent) => boolean;
@@ -0,0 +1,25 @@
1
+ import { Selection } from '@tiptap/pm/state';
2
+ /**
3
+ * 查找触发字符的位置和查询文本
4
+ *
5
+ * 用于 mention 和 suggestion 扩展
6
+ *
7
+ * @param selection - 当前光标位置
8
+ * @param char - 触发字符
9
+ * @param allowSpaces - 是否允许空格
10
+ * @returns 触发范围和查询文本,未找到返回 null
11
+ *
12
+ * @example
13
+ * const result = findTextRange(selection, '@', false)
14
+ * if (result) {
15
+ * console.log(result.range) // { from: 10, to: 20 }
16
+ * console.log(result.query) // 'user'
17
+ * }
18
+ */
19
+ export declare function findTextRange(selection: Selection, char: string, allowSpaces?: boolean): {
20
+ range: {
21
+ from: number;
22
+ to: number;
23
+ };
24
+ query: string;
25
+ } | null;
@@ -0,0 +1,139 @@
1
+ import { App } from 'vue';
2
+ import { mention, suggestion, template } from './extensions';
3
+ declare const Sender: {
4
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./index.type').SenderProps> & Readonly<{
5
+ onClear?: (() => any) | undefined;
6
+ onInput?: ((value: string) => any) | undefined;
7
+ onBlur?: ((event: FocusEvent) => any) | undefined;
8
+ onCancel?: (() => any) | undefined;
9
+ onFocus?: ((event: FocusEvent) => any) | undefined;
10
+ onSubmit?: ((textContent: string, structuredData?: import('./index.type').StructuredData | undefined) => any) | undefined;
11
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
12
+ }>, {
13
+ submit: () => void;
14
+ clear: () => void;
15
+ cancel: () => void;
16
+ focus: () => void;
17
+ blur: () => void;
18
+ setContent: (content: string) => void;
19
+ getContent: () => string;
20
+ editor: import('./index.type').SenderContext["editor"];
21
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
22
+ clear: () => any;
23
+ input: (value: string) => any;
24
+ blur: (event: FocusEvent) => any;
25
+ cancel: () => any;
26
+ focus: (event: FocusEvent) => any;
27
+ submit: (textContent: string, structuredData?: import('./index.type').StructuredData | undefined) => any;
28
+ "update:modelValue": (value: string) => any;
29
+ }, import('vue').PublicProps, {
30
+ size: "normal" | "small";
31
+ placeholder: string;
32
+ mode: import('./index.type').InputMode;
33
+ enterkeyhint: import('./index.type').EnterKeyHint;
34
+ autoSize: import('./index.type').AutoSize;
35
+ hasExternalContent: boolean;
36
+ extensions: import('@tiptap/core').Extension[] | any[];
37
+ submitType: import('./index.type').SubmitTrigger;
38
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
39
+ P: {};
40
+ B: {};
41
+ D: {};
42
+ C: {};
43
+ M: {};
44
+ Defaults: {};
45
+ }, Readonly<import('./index.type').SenderProps> & Readonly<{
46
+ onClear?: (() => any) | undefined;
47
+ onInput?: ((value: string) => any) | undefined;
48
+ onBlur?: ((event: FocusEvent) => any) | undefined;
49
+ onCancel?: (() => any) | undefined;
50
+ onFocus?: ((event: FocusEvent) => any) | undefined;
51
+ onSubmit?: ((textContent: string, structuredData?: import('./index.type').StructuredData | undefined) => any) | undefined;
52
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
53
+ }>, {
54
+ submit: () => void;
55
+ clear: () => void;
56
+ cancel: () => void;
57
+ focus: () => void;
58
+ blur: () => void;
59
+ setContent: (content: string) => void;
60
+ getContent: () => string;
61
+ editor: import('./index.type').SenderContext["editor"];
62
+ }, {}, {}, {}, {
63
+ size: "normal" | "small";
64
+ placeholder: string;
65
+ mode: import('./index.type').InputMode;
66
+ enterkeyhint: import('./index.type').EnterKeyHint;
67
+ autoSize: import('./index.type').AutoSize;
68
+ hasExternalContent: boolean;
69
+ extensions: import('@tiptap/core').Extension[] | any[];
70
+ submitType: import('./index.type').SubmitTrigger;
71
+ }>;
72
+ __isFragment?: never;
73
+ __isTeleport?: never;
74
+ __isSuspense?: never;
75
+ } & import('vue').ComponentOptionsBase<Readonly<import('./index.type').SenderProps> & Readonly<{
76
+ onClear?: (() => any) | undefined;
77
+ onInput?: ((value: string) => any) | undefined;
78
+ onBlur?: ((event: FocusEvent) => any) | undefined;
79
+ onCancel?: (() => any) | undefined;
80
+ onFocus?: ((event: FocusEvent) => any) | undefined;
81
+ onSubmit?: ((textContent: string, structuredData?: import('./index.type').StructuredData | undefined) => any) | undefined;
82
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
83
+ }>, {
84
+ submit: () => void;
85
+ clear: () => void;
86
+ cancel: () => void;
87
+ focus: () => void;
88
+ blur: () => void;
89
+ setContent: (content: string) => void;
90
+ getContent: () => string;
91
+ editor: import('./index.type').SenderContext["editor"];
92
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
93
+ clear: () => any;
94
+ input: (value: string) => any;
95
+ blur: (event: FocusEvent) => any;
96
+ cancel: () => any;
97
+ focus: (event: FocusEvent) => any;
98
+ submit: (textContent: string, structuredData?: import('./index.type').StructuredData | undefined) => any;
99
+ "update:modelValue": (value: string) => any;
100
+ }, string, {
101
+ size: "normal" | "small";
102
+ placeholder: string;
103
+ mode: import('./index.type').InputMode;
104
+ enterkeyhint: import('./index.type').EnterKeyHint;
105
+ autoSize: import('./index.type').AutoSize;
106
+ hasExternalContent: boolean;
107
+ extensions: import('@tiptap/core').Extension[] | any[];
108
+ submitType: import('./index.type').SubmitTrigger;
109
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
110
+ $slots: {
111
+ header?(_: {}): any;
112
+ header?(_: {}): any;
113
+ prefix?(_: {}): any;
114
+ prefix?(_: {}): any;
115
+ content?(_: {
116
+ editor: import('@tiptap/vue-3').Editor | undefined;
117
+ }): any;
118
+ content?(_: {
119
+ editor: import('vue').Ref<import('@tiptap/vue-3').Editor | undefined, import('@tiptap/vue-3').Editor | undefined>;
120
+ }): any;
121
+ 'actions-inline'?(_: {}): any;
122
+ footer?(_: {}): any;
123
+ 'footer-right'?(_: {}): any;
124
+ };
125
+ }) & {
126
+ install: <T>(app: App<T>) => void;
127
+ Mention: import('@tiptap/core').Node<import('./extensions').MentionOptions, any>;
128
+ Suggestion: import('@tiptap/core').Extension<import('./index.type').SuggestionOptions, any>;
129
+ Template: import('@tiptap/core').Extension<import('./extensions').TemplateOptions, any>;
130
+ mention: typeof mention;
131
+ suggestion: typeof suggestion;
132
+ template: typeof template;
133
+ };
134
+ export default Sender;
135
+ export type { SenderProps, SenderEmits, SenderSlots, SenderContext, UseEditorReturn, UseModeSwitchReturn, UseSuggestionReturn, UseKeyboardShortcutsReturn, TemplateItem, MentionItem, DefaultActions, } from './index.type';
136
+ export { useSenderContext } from './context';
137
+ export type { TemplateAttrs, TemplateOptions } from './extensions/template';
138
+ export type { MentionAttrs, MentionOptions } from './extensions/mention';
139
+ export type { SenderSuggestionItem, SuggestionOptions, SuggestionState, SuggestionTextPart, HighlightFunction, } from './extensions/suggestion';