@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,40 @@
1
+ /**
2
+ * 语音识别相关类型定义
3
+ */
4
+ export interface SpeechCallbacks {
5
+ onStart: () => void;
6
+ onInterim: (transcript: string) => void;
7
+ onFinal: (transcript: string) => void;
8
+ onEnd: (transcript?: string) => void;
9
+ onError: (error: Error) => void;
10
+ }
11
+ export interface SpeechHandler {
12
+ start: (callbacks: SpeechCallbacks) => Promise<void> | void;
13
+ stop: () => Promise<void> | void;
14
+ isSupported: () => boolean;
15
+ }
16
+ export interface SpeechConfig {
17
+ customHandler?: SpeechHandler;
18
+ lang?: string;
19
+ continuous?: boolean;
20
+ interimResults?: boolean;
21
+ autoReplace?: boolean;
22
+ onVoiceButtonClick?: (isRecording: boolean, preventDefault: () => void) => void | Promise<void>;
23
+ }
24
+ export interface SpeechState {
25
+ isRecording: boolean;
26
+ isSupported: boolean;
27
+ error?: Error;
28
+ }
29
+ export interface SpeechHookOptions extends SpeechConfig {
30
+ onStart?: () => void;
31
+ onEnd?: (transcript?: string) => void;
32
+ onInterim?: (transcript: string) => void;
33
+ onFinal?: (transcript: string) => void;
34
+ onError?: (error: Error) => void;
35
+ }
36
+ export interface SpeechHandlerResult {
37
+ speechState: SpeechState;
38
+ start: () => void;
39
+ stop: () => void;
40
+ }
@@ -0,0 +1,10 @@
1
+ import { SpeechHookOptions, SpeechHandlerResult } from './speech.types';
2
+ /**
3
+ * 语音识别处理 Hook
4
+ * 支持内置 Web Speech API 和自定义语音处理器
5
+ * 通过 customHandler 参数切换实现,默认使用内置的 Web Speech API
6
+ *
7
+ * @param options 语音识别配置
8
+ * @returns 语音识别控制器
9
+ */
10
+ export declare function useSpeechHandler(options: SpeechHookOptions): SpeechHandlerResult;
@@ -0,0 +1,40 @@
1
+ import { SpeechCallbacks, SpeechHandler, SpeechConfig } from './speech.types';
2
+ /**
3
+ * 内置 Web Speech API 处理器
4
+ * 基于浏览器原生 Web Speech API 实现的语音识别
5
+ */
6
+ export declare class WebSpeechHandler implements SpeechHandler {
7
+ private recognition?;
8
+ private options;
9
+ /**
10
+ * 初始化语音识别实例
11
+ */
12
+ private initialize;
13
+ constructor(options: SpeechConfig);
14
+ /**
15
+ * 检查浏览器是否支持 Web Speech API
16
+ */
17
+ static isSupported(): boolean;
18
+ /**
19
+ * 检查浏览器是否支持 Web Speech API(实例方法)
20
+ */
21
+ isSupported(): boolean;
22
+ /**
23
+ * 设置语音识别事件处理器
24
+ * @param callbacks 语音识别回调函数集合
25
+ */
26
+ private setupEventHandlers;
27
+ /**
28
+ * 清理事件监听器
29
+ */
30
+ private cleanup;
31
+ /**
32
+ * 开始语音识别
33
+ * @param callbacks 语音识别回调函数集合
34
+ */
35
+ start(callbacks: SpeechCallbacks): void;
36
+ /**
37
+ * 停止语音识别并清理资源
38
+ */
39
+ stop(): void;
40
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { App } from 'vue';
2
+ import { default as SenderCompat } from './index.vue';
3
+ declare const install: <T>(app: App<T>) => void;
4
+ declare const _default: typeof SenderCompat & {
5
+ install: typeof install;
6
+ };
7
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { defineComponent as H, computed as p, ref as R, openBlock as g, createBlock as b, unref as S, createSlots as J, withCtx as r, renderSlot as i, normalizeProps as y, mergeProps as k, createCommentVNode as d, guardReactiveProps as B } from "vue";
2
- import V from "../sender/index.js";
1
+ import { defineComponent as H, computed as p, ref as F, openBlock as g, createBlock as b, unref as S, createSlots as J, withCtx as r, renderSlot as i, normalizeProps as v, guardReactiveProps as y, createCommentVNode as d, mergeProps as R } from "vue";
2
+ import B from "../sender/index.js";
3
3
  import { _ as z, V as W } from "../index3.js";
4
4
  const w = /* @__PURE__ */ H({
5
5
  __name: "index",
@@ -29,16 +29,16 @@ const w = /* @__PURE__ */ H({
29
29
  },
30
30
  emits: ["update:modelValue", "update:templateData", "submit", "clear", "speech-start", "speech-end", "speech-interim", "speech-error", "suggestion-select", "focus", "blur", "escape-press", "cancel", "reset-template", "files-selected"],
31
31
  setup(t, { expose: L, emit: P }) {
32
- const c = t, l = P, $ = p({
32
+ const c = t, l = P, V = p({
33
33
  get: () => c.modelValue ?? "",
34
34
  set: (e) => {
35
35
  l("update:modelValue", e);
36
36
  }
37
- }), j = p(() => c.defaultValue), u = R(), v = R(), D = p(() => {
37
+ }), j = p(() => c.defaultValue), u = F(), k = F(), D = p(() => {
38
38
  var n;
39
39
  const e = [];
40
40
  if ((n = c.suggestions) != null && n.length) {
41
- const s = V.Suggestion;
41
+ const s = B.Suggestion;
42
42
  s && e.push(
43
43
  s.configure({
44
44
  items: c.suggestions,
@@ -51,13 +51,13 @@ const w = /* @__PURE__ */ H({
51
51
  })
52
52
  );
53
53
  }
54
- const o = V.Template;
54
+ const o = B.Template;
55
55
  return o && e.push(o.configure({})), e;
56
56
  }), I = p(() => {
57
57
  var o;
58
58
  const e = {};
59
59
  return (o = c.buttonGroup) != null && o.submit && (e.submit = c.buttonGroup.submit), Object.keys(e).length > 0 ? e : void 0;
60
- }), C = p(() => {
60
+ }), $ = p(() => {
61
61
  if (typeof c.speech != "boolean")
62
62
  return c.speech;
63
63
  }), K = (e) => {
@@ -85,15 +85,15 @@ const w = /* @__PURE__ */ H({
85
85
  l("focus", e);
86
86
  }, q = (e) => {
87
87
  l("blur", e);
88
- }, T = (e) => {
88
+ }, C = (e) => {
89
89
  l("files-selected", e);
90
- }, G = () => {
90
+ }, T = () => {
91
91
  l("speech-start");
92
- }, x = (e) => {
92
+ }, G = (e) => {
93
93
  l("speech-end", e);
94
- }, E = (e) => {
94
+ }, x = (e) => {
95
95
  l("speech-interim", e);
96
- }, F = (e) => {
96
+ }, E = (e) => {
97
97
  l("speech-error", e);
98
98
  };
99
99
  return L({
@@ -116,17 +116,17 @@ const w = /* @__PURE__ */ H({
116
116
  setTemplateData: K,
117
117
  startSpeech: () => {
118
118
  var e;
119
- (e = v.value) == null || e.start();
119
+ (e = k.value) == null || e.start();
120
120
  },
121
121
  stopSpeech: () => {
122
122
  var e;
123
- (e = v.value) == null || e.stop();
123
+ (e = k.value) == null || e.stop();
124
124
  }
125
- }), (e, o) => (g(), b(S(V), {
125
+ }), (e, o) => (g(), b(S(B), {
126
126
  ref_key: "senderRef",
127
127
  ref: u,
128
- modelValue: $.value,
129
- "onUpdate:modelValue": o[0] || (o[0] = (n) => $.value = n),
128
+ modelValue: V.value,
129
+ "onUpdate:modelValue": o[0] || (o[0] = (n) => V.value = n),
130
130
  "default-value": j.value,
131
131
  mode: t.mode,
132
132
  placeholder: t.placeholder,
@@ -150,46 +150,46 @@ const w = /* @__PURE__ */ H({
150
150
  "actions-inline": r((n) => {
151
151
  var s, a, m, f, h;
152
152
  return [
153
- t.allowFiles && t.mode === "single" ? (g(), b(S(z), k({ key: 0 }, {
153
+ t.allowFiles && t.mode === "single" ? (g(), b(S(z), R({ key: 0 }, {
154
154
  ...(s = t.buttonGroup) == null ? void 0 : s.file,
155
155
  tooltip: (m = (a = t.buttonGroup) == null ? void 0 : a.file) == null ? void 0 : m.tooltips
156
- }, { onSelect: T }), null, 16)) : d("", !0),
156
+ }, { onSelect: C }), null, 16)) : d("", !0),
157
157
  t.allowSpeech && t.mode === "single" ? (g(), b(S(W), {
158
158
  key: 1,
159
159
  ref_key: "voiceRef",
160
- ref: v,
161
- "speech-config": C.value,
160
+ ref: k,
161
+ "speech-config": $.value,
162
162
  icon: (h = (f = t.buttonGroup) == null ? void 0 : f.voice) == null ? void 0 : h.icon,
163
- onSpeechStart: G,
164
- onSpeechEnd: x,
165
- onSpeechInterim: E,
166
- onSpeechError: F
163
+ onSpeechStart: T,
164
+ onSpeechEnd: G,
165
+ onSpeechInterim: x,
166
+ onSpeechError: E
167
167
  }, null, 8, ["speech-config", "icon"])) : d("", !0),
168
- e.$slots.actions ? i(e.$slots, "actions", y(k({ key: 2 }, n))) : d("", !0)
168
+ e.$slots.actions ? i(e.$slots, "actions", v(y(n)), void 0, void 0, 2) : d("", !0)
169
169
  ];
170
170
  }),
171
171
  footer: r((n) => [
172
- i(e.$slots, "footer-left", y(B(n))),
173
- i(e.$slots, "footer", y(B(n)))
172
+ i(e.$slots, "footer-left", v(y(n))),
173
+ i(e.$slots, "footer", v(y(n)))
174
174
  ]),
175
175
  "footer-right": r((n) => {
176
176
  var s, a, m, f, h;
177
177
  return [
178
- e.$slots["footer-right"] ? i(e.$slots, "footer-right", y(k({ key: 0 }, n))) : d("", !0),
179
- t.allowFiles && t.mode === "multiple" ? (g(), b(S(z), k({ key: 1 }, {
178
+ e.$slots["footer-right"] ? i(e.$slots, "footer-right", v(y(n)), void 0, void 0, 0) : d("", !0),
179
+ t.allowFiles && t.mode === "multiple" ? (g(), b(S(z), R({ key: 1 }, {
180
180
  ...(s = t.buttonGroup) == null ? void 0 : s.file,
181
181
  tooltip: (m = (a = t.buttonGroup) == null ? void 0 : a.file) == null ? void 0 : m.tooltips
182
- }, { onSelect: T }), null, 16)) : d("", !0),
182
+ }, { onSelect: C }), null, 16)) : d("", !0),
183
183
  t.allowSpeech && t.mode === "multiple" ? (g(), b(S(W), {
184
184
  key: 2,
185
185
  ref_key: "voiceRef",
186
- ref: v,
187
- "speech-config": C.value,
186
+ ref: k,
187
+ "speech-config": $.value,
188
188
  icon: (h = (f = t.buttonGroup) == null ? void 0 : f.voice) == null ? void 0 : h.icon,
189
- onSpeechStart: G,
190
- onSpeechEnd: x,
191
- onSpeechInterim: E,
192
- onSpeechError: F
189
+ onSpeechStart: T,
190
+ onSpeechEnd: G,
191
+ onSpeechInterim: x,
192
+ onSpeechError: E
193
193
  }, null, 8, ["speech-config", "icon"])) : d("", !0)
194
194
  ];
195
195
  }),
@@ -212,7 +212,7 @@ const w = /* @__PURE__ */ H({
212
212
  e.$slots.content ? {
213
213
  name: "content",
214
214
  fn: r((n) => [
215
- i(e.$slots, "content", y(B(n)))
215
+ i(e.$slots, "content", v(y(n)))
216
216
  ]),
217
217
  key: "2"
218
218
  } : void 0
@@ -0,0 +1,91 @@
1
+ import { VNode, Component } from 'vue';
2
+ import { InputMode, SubmitTrigger, AutoSize } from '../sender/types/base';
3
+ import { SpeechConfig } from '../sender-actions/voice-button/speech.types';
4
+ export type ThemeType = 'light' | 'dark';
5
+ export type TooltipRender = () => VNode | string;
6
+ export interface ControlState {
7
+ tooltips?: string | TooltipRender;
8
+ disabled?: boolean;
9
+ tooltipPlacement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
10
+ }
11
+ interface fileUploadConfig {
12
+ accept?: string;
13
+ multiple?: boolean;
14
+ reset?: boolean;
15
+ }
16
+ interface VoiceButtonConfig {
17
+ icon?: VNode | Component;
18
+ }
19
+ export interface ButtonGroupConfig {
20
+ file?: ControlState & fileUploadConfig;
21
+ submit?: ControlState;
22
+ voice?: VoiceButtonConfig;
23
+ }
24
+ export interface SuggestionTextPart {
25
+ text: string;
26
+ isMatch: boolean;
27
+ }
28
+ type HighlightFunction = (suggestionText: string, inputText: string) => SuggestionTextPart[];
29
+ export interface ISuggestionItem {
30
+ content: string;
31
+ highlights?: string[] | HighlightFunction;
32
+ }
33
+ export interface SenderProps {
34
+ autofocus?: boolean;
35
+ autoSize?: AutoSize;
36
+ allowSpeech?: boolean;
37
+ allowFiles?: boolean;
38
+ clearable?: boolean;
39
+ disabled?: boolean;
40
+ defaultValue?: string | null;
41
+ loading?: boolean;
42
+ modelValue?: string;
43
+ mode?: InputMode;
44
+ maxLength?: number;
45
+ buttonGroup?: ButtonGroupConfig;
46
+ submitType?: SubmitTrigger;
47
+ speech?: boolean | SpeechConfig;
48
+ placeholder?: string;
49
+ showWordLimit?: boolean;
50
+ suggestions?: ISuggestionItem[];
51
+ suggestionPopupWidth?: string | number;
52
+ activeSuggestionKeys?: string[];
53
+ theme?: ThemeType;
54
+ templateData?: UserItem[];
55
+ stopText?: string;
56
+ }
57
+ export type SenderEmits = {
58
+ (e: 'update:modelValue', value: string): void;
59
+ (e: 'update:templateData', value: UserItem[]): void;
60
+ (e: 'submit', value: string): void;
61
+ (e: 'clear'): void;
62
+ (e: 'speech-start'): void;
63
+ (e: 'speech-end', transcript?: string): void;
64
+ (e: 'speech-interim', transcript: string): void;
65
+ (e: 'speech-error', error: Error): void;
66
+ (e: 'suggestion-select', value: string): void;
67
+ (e: 'focus', event: FocusEvent): void;
68
+ (e: 'blur', event: FocusEvent): void;
69
+ (e: 'escape-press'): void;
70
+ (e: 'cancel'): void;
71
+ (e: 'reset-template'): void;
72
+ (e: 'files-selected', files: File[]): void;
73
+ };
74
+ export interface CompatTextItem {
75
+ id: string;
76
+ type: 'text';
77
+ content: string;
78
+ }
79
+ export interface CompatTemplateItem {
80
+ id: string;
81
+ type: 'template' | 'block';
82
+ content: string;
83
+ }
84
+ export type UserTextItem = Omit<CompatTextItem, 'id'> & {
85
+ id?: CompatTextItem['id'];
86
+ };
87
+ export type UserTemplateItem = Omit<Pick<CompatTemplateItem, 'type' | 'content'>, 'id'> & {
88
+ id?: CompatTemplateItem['id'];
89
+ };
90
+ export type UserItem = UserTextItem | UserTemplateItem;
91
+ export {};