@toimc/vue 0.0.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 (222) hide show
  1. package/dist/ChatWindow.test.d.ts +2 -0
  2. package/dist/ChatWindow.test.d.ts.map +1 -0
  3. package/dist/ChatWindow.vue.d.ts +19 -0
  4. package/dist/ChatWindow.vue.d.ts.map +1 -0
  5. package/dist/InputArea.i18n.test.d.ts +2 -0
  6. package/dist/InputArea.i18n.test.d.ts.map +1 -0
  7. package/dist/InputArea.test.d.ts +2 -0
  8. package/dist/InputArea.test.d.ts.map +1 -0
  9. package/dist/InputArea.vue.d.ts +24 -0
  10. package/dist/InputArea.vue.d.ts.map +1 -0
  11. package/dist/MessageBubble.test.d.ts +2 -0
  12. package/dist/MessageBubble.test.d.ts.map +1 -0
  13. package/dist/MessageBubble.vue.d.ts +22 -0
  14. package/dist/MessageBubble.vue.d.ts.map +1 -0
  15. package/dist/MessageList.test.d.ts +2 -0
  16. package/dist/MessageList.test.d.ts.map +1 -0
  17. package/dist/MessageList.vue.d.ts +20 -0
  18. package/dist/MessageList.vue.d.ts.map +1 -0
  19. package/dist/attachment/Attachment.test.d.ts +2 -0
  20. package/dist/attachment/Attachment.test.d.ts.map +1 -0
  21. package/dist/attachment/Attachment.vue.d.ts +18 -0
  22. package/dist/attachment/Attachment.vue.d.ts.map +1 -0
  23. package/dist/attachment/AttachmentEmpty.vue.d.ts +14 -0
  24. package/dist/attachment/AttachmentEmpty.vue.d.ts.map +1 -0
  25. package/dist/attachment/AttachmentInfo.vue.d.ts +4 -0
  26. package/dist/attachment/AttachmentInfo.vue.d.ts.map +1 -0
  27. package/dist/attachment/AttachmentPreview.test.d.ts +2 -0
  28. package/dist/attachment/AttachmentPreview.test.d.ts.map +1 -0
  29. package/dist/attachment/AttachmentPreview.vue.d.ts +8 -0
  30. package/dist/attachment/AttachmentPreview.vue.d.ts.map +1 -0
  31. package/dist/attachment/AttachmentRemove.vue.d.ts +8 -0
  32. package/dist/attachment/AttachmentRemove.vue.d.ts.map +1 -0
  33. package/dist/attachment/Attachments.test.d.ts +2 -0
  34. package/dist/attachment/Attachments.test.d.ts.map +1 -0
  35. package/dist/attachment/Attachments.vue.d.ts +19 -0
  36. package/dist/attachment/Attachments.vue.d.ts.map +1 -0
  37. package/dist/attachment/index.d.ts +7 -0
  38. package/dist/attachment/index.d.ts.map +1 -0
  39. package/dist/comparison/ComparisonMessage.i18n.test.d.ts +2 -0
  40. package/dist/comparison/ComparisonMessage.i18n.test.d.ts.map +1 -0
  41. package/dist/comparison/ComparisonMessage.test.d.ts +2 -0
  42. package/dist/comparison/ComparisonMessage.test.d.ts.map +1 -0
  43. package/dist/comparison/ComparisonMessage.vue.d.ts +51 -0
  44. package/dist/comparison/ComparisonMessage.vue.d.ts.map +1 -0
  45. package/dist/comparison/index.d.ts +2 -0
  46. package/dist/comparison/index.d.ts.map +1 -0
  47. package/dist/composables/layout-types.d.ts +11 -0
  48. package/dist/composables/layout-types.d.ts.map +1 -0
  49. package/dist/composables/useLayoutConfig.d.ts +33 -0
  50. package/dist/composables/useLayoutConfig.d.ts.map +1 -0
  51. package/dist/composables/useLayoutConfig.test.d.ts +2 -0
  52. package/dist/composables/useLayoutConfig.test.d.ts.map +1 -0
  53. package/dist/composables/useMarkdownRenderer.d.ts +6 -0
  54. package/dist/composables/useMarkdownRenderer.d.ts.map +1 -0
  55. package/dist/composables/useMarkdownRenderer.test.d.ts +2 -0
  56. package/dist/composables/useMarkdownRenderer.test.d.ts.map +1 -0
  57. package/dist/composables/usePendingFiles.d.ts +63 -0
  58. package/dist/composables/usePendingFiles.d.ts.map +1 -0
  59. package/dist/composables/usePendingFiles.test.d.ts +2 -0
  60. package/dist/composables/usePendingFiles.test.d.ts.map +1 -0
  61. package/dist/composables/useScrollAnchor.d.ts +8 -0
  62. package/dist/composables/useScrollAnchor.d.ts.map +1 -0
  63. package/dist/composables/useScrollAnchor.test.d.ts +2 -0
  64. package/dist/composables/useScrollAnchor.test.d.ts.map +1 -0
  65. package/dist/composables/useTheme.d.ts +18 -0
  66. package/dist/composables/useTheme.d.ts.map +1 -0
  67. package/dist/composables/useTheme.test.d.ts +2 -0
  68. package/dist/composables/useTheme.test.d.ts.map +1 -0
  69. package/dist/composables/useThemePreset.d.ts +4 -0
  70. package/dist/composables/useThemePreset.d.ts.map +1 -0
  71. package/dist/composables/useThemePreset.test.d.ts +2 -0
  72. package/dist/composables/useThemePreset.test.d.ts.map +1 -0
  73. package/dist/conversation/Conversation.test.d.ts +2 -0
  74. package/dist/conversation/Conversation.test.d.ts.map +1 -0
  75. package/dist/conversation/Conversation.vue.d.ts +29 -0
  76. package/dist/conversation/Conversation.vue.d.ts.map +1 -0
  77. package/dist/conversation/ConversationContent.test.d.ts +2 -0
  78. package/dist/conversation/ConversationContent.test.d.ts.map +1 -0
  79. package/dist/conversation/ConversationContent.vue.d.ts +14 -0
  80. package/dist/conversation/ConversationContent.vue.d.ts.map +1 -0
  81. package/dist/conversation/ConversationEmpty.test.d.ts +2 -0
  82. package/dist/conversation/ConversationEmpty.test.d.ts.map +1 -0
  83. package/dist/conversation/ConversationEmpty.vue.d.ts +24 -0
  84. package/dist/conversation/ConversationEmpty.vue.d.ts.map +1 -0
  85. package/dist/conversation/ConversationScrollBtn.test.d.ts +2 -0
  86. package/dist/conversation/ConversationScrollBtn.test.d.ts.map +1 -0
  87. package/dist/conversation/ConversationScrollBtn.vue.d.ts +4 -0
  88. package/dist/conversation/ConversationScrollBtn.vue.d.ts.map +1 -0
  89. package/dist/conversation/index.d.ts +5 -0
  90. package/dist/conversation/index.d.ts.map +1 -0
  91. package/dist/index.cjs +5 -0
  92. package/dist/index.d.ts +35 -0
  93. package/dist/index.d.ts.map +1 -0
  94. package/dist/index.mjs +5324 -0
  95. package/dist/integration/chat-flow.test.d.ts +1 -0
  96. package/dist/integration/chat-flow.test.d.ts.map +1 -0
  97. package/dist/locales/en-US.d.ts +59 -0
  98. package/dist/locales/en-US.d.ts.map +1 -0
  99. package/dist/locales/index.d.ts +253 -0
  100. package/dist/locales/index.d.ts.map +1 -0
  101. package/dist/locales/locales.test.d.ts +2 -0
  102. package/dist/locales/locales.test.d.ts.map +1 -0
  103. package/dist/locales/zh-CN.d.ts +60 -0
  104. package/dist/locales/zh-CN.d.ts.map +1 -0
  105. package/dist/message/Message.test.d.ts +2 -0
  106. package/dist/message/Message.test.d.ts.map +1 -0
  107. package/dist/message/Message.vue.d.ts +25 -0
  108. package/dist/message/Message.vue.d.ts.map +1 -0
  109. package/dist/message/MessageAction.test.d.ts +2 -0
  110. package/dist/message/MessageAction.test.d.ts.map +1 -0
  111. package/dist/message/MessageAction.vue.d.ts +23 -0
  112. package/dist/message/MessageAction.vue.d.ts.map +1 -0
  113. package/dist/message/MessageActions.vue.d.ts +14 -0
  114. package/dist/message/MessageActions.vue.d.ts.map +1 -0
  115. package/dist/message/MessageAttachments.vue.d.ts +14 -0
  116. package/dist/message/MessageAttachments.vue.d.ts.map +1 -0
  117. package/dist/message/MessageContent.test.d.ts +2 -0
  118. package/dist/message/MessageContent.test.d.ts.map +1 -0
  119. package/dist/message/MessageContent.vue.d.ts +20 -0
  120. package/dist/message/MessageContent.vue.d.ts.map +1 -0
  121. package/dist/message/index.d.ts +7 -0
  122. package/dist/message/index.d.ts.map +1 -0
  123. package/dist/preview/ImageLightbox.test.d.ts +2 -0
  124. package/dist/preview/ImageLightbox.test.d.ts.map +1 -0
  125. package/dist/preview/ImageLightbox.vue.d.ts +15 -0
  126. package/dist/preview/ImageLightbox.vue.d.ts.map +1 -0
  127. package/dist/preview/index.d.ts +2 -0
  128. package/dist/preview/index.d.ts.map +1 -0
  129. package/dist/prompt-input/PromptInput.i18n.test.d.ts +2 -0
  130. package/dist/prompt-input/PromptInput.i18n.test.d.ts.map +1 -0
  131. package/dist/prompt-input/PromptInput.test.d.ts +2 -0
  132. package/dist/prompt-input/PromptInput.test.d.ts.map +1 -0
  133. package/dist/prompt-input/PromptInput.vue.d.ts +61 -0
  134. package/dist/prompt-input/PromptInput.vue.d.ts.map +1 -0
  135. package/dist/prompt-input/PromptInputAttachments.test.d.ts +2 -0
  136. package/dist/prompt-input/PromptInputAttachments.test.d.ts.map +1 -0
  137. package/dist/prompt-input/PromptInputAttachments.vue.d.ts +15 -0
  138. package/dist/prompt-input/PromptInputAttachments.vue.d.ts.map +1 -0
  139. package/dist/prompt-input/PromptInputBody.vue.d.ts +14 -0
  140. package/dist/prompt-input/PromptInputBody.vue.d.ts.map +1 -0
  141. package/dist/prompt-input/PromptInputButton.test.d.ts +2 -0
  142. package/dist/prompt-input/PromptInputButton.test.d.ts.map +1 -0
  143. package/dist/prompt-input/PromptInputButton.vue.d.ts +27 -0
  144. package/dist/prompt-input/PromptInputButton.vue.d.ts.map +1 -0
  145. package/dist/prompt-input/PromptInputFooter.test.d.ts +2 -0
  146. package/dist/prompt-input/PromptInputFooter.test.d.ts.map +1 -0
  147. package/dist/prompt-input/PromptInputFooter.vue.d.ts +16 -0
  148. package/dist/prompt-input/PromptInputFooter.vue.d.ts.map +1 -0
  149. package/dist/prompt-input/PromptInputHeader.vue.d.ts +14 -0
  150. package/dist/prompt-input/PromptInputHeader.vue.d.ts.map +1 -0
  151. package/dist/prompt-input/PromptInputSubmit.test.d.ts +2 -0
  152. package/dist/prompt-input/PromptInputSubmit.test.d.ts.map +1 -0
  153. package/dist/prompt-input/PromptInputSubmit.vue.d.ts +14 -0
  154. package/dist/prompt-input/PromptInputSubmit.vue.d.ts.map +1 -0
  155. package/dist/prompt-input/PromptInputTextarea.test.d.ts +2 -0
  156. package/dist/prompt-input/PromptInputTextarea.test.d.ts.map +1 -0
  157. package/dist/prompt-input/PromptInputTextarea.vue.d.ts +4 -0
  158. package/dist/prompt-input/PromptInputTextarea.vue.d.ts.map +1 -0
  159. package/dist/prompt-input/PromptInputTools.vue.d.ts +14 -0
  160. package/dist/prompt-input/PromptInputTools.vue.d.ts.map +1 -0
  161. package/dist/prompt-input/PromptInputUploadButton.test.d.ts +2 -0
  162. package/dist/prompt-input/PromptInputUploadButton.test.d.ts.map +1 -0
  163. package/dist/prompt-input/PromptInputUploadButton.vue.d.ts +19 -0
  164. package/dist/prompt-input/PromptInputUploadButton.vue.d.ts.map +1 -0
  165. package/dist/prompt-input/context.d.ts +19 -0
  166. package/dist/prompt-input/context.d.ts.map +1 -0
  167. package/dist/prompt-input/index.d.ts +11 -0
  168. package/dist/prompt-input/index.d.ts.map +1 -0
  169. package/dist/shared/Button.test.d.ts +2 -0
  170. package/dist/shared/Button.test.d.ts.map +1 -0
  171. package/dist/shared/Button.vue.d.ts +23 -0
  172. package/dist/shared/Button.vue.d.ts.map +1 -0
  173. package/dist/shared/LanguageToggle.test.d.ts +2 -0
  174. package/dist/shared/LanguageToggle.test.d.ts.map +1 -0
  175. package/dist/shared/LanguageToggle.vue.d.ts +20 -0
  176. package/dist/shared/LanguageToggle.vue.d.ts.map +1 -0
  177. package/dist/shared/Shimmer.test.d.ts +2 -0
  178. package/dist/shared/Shimmer.test.d.ts.map +1 -0
  179. package/dist/shared/Shimmer.vue.d.ts +21 -0
  180. package/dist/shared/Shimmer.vue.d.ts.map +1 -0
  181. package/dist/shared/StreamText.test.d.ts +2 -0
  182. package/dist/shared/StreamText.test.d.ts.map +1 -0
  183. package/dist/shared/StreamText.vue.d.ts +7 -0
  184. package/dist/shared/StreamText.vue.d.ts.map +1 -0
  185. package/dist/shared/Toast.test.d.ts +2 -0
  186. package/dist/shared/Toast.test.d.ts.map +1 -0
  187. package/dist/shared/Toast.vue.d.ts +20 -0
  188. package/dist/shared/Toast.vue.d.ts.map +1 -0
  189. package/dist/theme/presets.d.ts +8 -0
  190. package/dist/theme/presets.d.ts.map +1 -0
  191. package/dist/theme/tokens-meta.d.ts +27 -0
  192. package/dist/theme/tokens-meta.d.ts.map +1 -0
  193. package/dist/theme/tokens-meta.test.d.ts +2 -0
  194. package/dist/theme/tokens-meta.test.d.ts.map +1 -0
  195. package/dist/thinking/ThinkingBlock.test.d.ts +2 -0
  196. package/dist/thinking/ThinkingBlock.test.d.ts.map +1 -0
  197. package/dist/thinking/ThinkingBlock.vue.d.ts +23 -0
  198. package/dist/thinking/ThinkingBlock.vue.d.ts.map +1 -0
  199. package/dist/tool-call/ToolCall.test.d.ts +2 -0
  200. package/dist/tool-call/ToolCall.test.d.ts.map +1 -0
  201. package/dist/tool-call/ToolCall.vue.d.ts +25 -0
  202. package/dist/tool-call/ToolCall.vue.d.ts.map +1 -0
  203. package/dist/tool-call/ToolCallContent.vue.d.ts +4 -0
  204. package/dist/tool-call/ToolCallContent.vue.d.ts.map +1 -0
  205. package/dist/tool-call/ToolCallHeader.vue.d.ts +4 -0
  206. package/dist/tool-call/ToolCallHeader.vue.d.ts.map +1 -0
  207. package/dist/tool-call/ToolCallInput.vue.d.ts +4 -0
  208. package/dist/tool-call/ToolCallInput.vue.d.ts.map +1 -0
  209. package/dist/tool-call/ToolCallOutput.vue.d.ts +4 -0
  210. package/dist/tool-call/ToolCallOutput.vue.d.ts.map +1 -0
  211. package/dist/tool-call/index.d.ts +6 -0
  212. package/dist/tool-call/index.d.ts.map +1 -0
  213. package/dist/utils/format.d.ts +3 -0
  214. package/dist/utils/format.d.ts.map +1 -0
  215. package/dist/utils/format.test.d.ts +2 -0
  216. package/dist/utils/format.test.d.ts.map +1 -0
  217. package/dist/utils/media.d.ts +4 -0
  218. package/dist/utils/media.d.ts.map +1 -0
  219. package/dist/utils/media.test.d.ts +2 -0
  220. package/dist/utils/media.test.d.ts.map +1 -0
  221. package/dist/vue.css +2 -0
  222. package/package.json +44 -0
@@ -0,0 +1,25 @@
1
+ import { ToolCallInfo } from '@toimc/core';
2
+ type __VLS_Props = {
3
+ data: ToolCallInfo;
4
+ };
5
+ declare var __VLS_1: {
6
+ data: ToolCallInfo;
7
+ open: boolean;
8
+ }, __VLS_8: {
9
+ data: ToolCallInfo;
10
+ };
11
+ type __VLS_Slots = {} & {
12
+ header?: (props: typeof __VLS_1) => any;
13
+ } & {
14
+ default?: (props: typeof __VLS_8) => any;
15
+ };
16
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_WithSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
25
+ //# sourceMappingURL=ToolCall.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolCall.vue.d.ts","sourceRoot":"","sources":["../../src/tool-call/ToolCall.vue"],"names":[],"mappings":"AAgFA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,YAAY,CAAA;CACnB,CAAC;AA0DF,QAAA,IAAI,OAAO;;;CAAU,EAAE,OAAO;;CAAW,CAAE;AAC3C,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAK/C,QAAA,MAAM,UAAU,kSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -0,0 +1,4 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
4
+ //# sourceMappingURL=ToolCallContent.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolCallContent.vue.d.ts","sourceRoot":"","sources":["../../src/tool-call/ToolCallContent.vue"],"names":[],"mappings":"AAuEA,QAAA,MAAM,YAAY,+QAChB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,4 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
4
+ //# sourceMappingURL=ToolCallHeader.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolCallHeader.vue.d.ts","sourceRoot":"","sources":["../../src/tool-call/ToolCallHeader.vue"],"names":[],"mappings":"AAyIA,QAAA,MAAM,YAAY,+QAChB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,4 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
4
+ //# sourceMappingURL=ToolCallInput.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolCallInput.vue.d.ts","sourceRoot":"","sources":["../../src/tool-call/ToolCallInput.vue"],"names":[],"mappings":"AAyFA,QAAA,MAAM,YAAY,+QAChB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,4 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
4
+ //# sourceMappingURL=ToolCallOutput.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolCallOutput.vue.d.ts","sourceRoot":"","sources":["../../src/tool-call/ToolCallOutput.vue"],"names":[],"mappings":"AA8HA,QAAA,MAAM,YAAY,+QAChB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,6 @@
1
+ export { default as ToolCall } from './ToolCall.vue';
2
+ export { default as ToolCallHeader } from './ToolCallHeader.vue';
3
+ export { default as ToolCallContent } from './ToolCallContent.vue';
4
+ export { default as ToolCallInput } from './ToolCallInput.vue';
5
+ export { default as ToolCallOutput } from './ToolCallOutput.vue';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tool-call/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare function formatFileSize(bytes: number): string;
2
+ export declare function formatDuration(ms: number): string;
3
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGjD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=format.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.test.d.ts","sourceRoot":"","sources":["../../src/utils/format.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare function getMediaCategory(mediaType: string): 'image' | 'video' | 'audio' | 'document';
2
+ export declare function getFileIcon(mediaType: string): string;
3
+ export declare function getAttachmentLabel(mediaType: string): string;
4
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/utils/media.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,GAChB,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAK1C;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAY5D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=media.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.test.d.ts","sourceRoot":"","sources":["../../src/utils/media.test.ts"],"names":[],"mappings":""}
package/dist/vue.css ADDED
@@ -0,0 +1,2 @@
1
+ @layer ai-chat-base{.ai-chat-window,.ai-chat-window *,.ai-chat-window :before,.ai-chat-window :after{box-sizing:border-box}}@layer ai-chat-tokens{:root{--ai-chat-color-accent-500:#6366f1;--ai-chat-color-accent-600:#4f46e5;--ai-chat-color-accent-400:#818cf8;--ai-chat-neutral-0:#fff;--ai-chat-neutral-50:#f9fafb;--ai-chat-neutral-100:#f3f4f6;--ai-chat-neutral-200:#e5e7eb;--ai-chat-neutral-300:#d1d5db;--ai-chat-neutral-500:#6b7280;--ai-chat-neutral-600:#4b5563;--ai-chat-neutral-700:#404040;--ai-chat-neutral-800:#262626;--ai-chat-neutral-900:#171717;--ai-chat-neutral-950:#0a0a0a;--ai-chat-color-danger-500:#ef4444;--ai-chat-radius-sm:6px;--ai-chat-radius-md:8px;--ai-chat-radius-lg:12px;--ai-chat-radius-xl:16px;--ai-chat-font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ai-chat-font-mono:"SF Mono", "Fira Code", "Consolas", monospace;--ai-chat-duration-fast:.12s;--ai-chat-duration-normal:.2s;--ai-chat-easing:ease;--ai-chat-sidebar-width:260px;--ai-chat-z-toast:1000;--ai-chat-z-popup:1000;--ai-chat-shadow-popup:0 4px 16px #0000001f;--ai-chat-content-max-width:768px;--ai-chat-input-max-height:200px;--ai-chat-avatar-size:30px;--ai-chat-btn-icon-size:36px;--ai-chat-btn-tool-size:32px;--ai-chat-msg-gap:16px;--ai-chat-msg-padding-y:20px;--ai-chat-content-max-width-wide:1024px;--ai-chat-message-max-width:480px;--ai-chat-input-max-height-mobile:120px;--ai-chat-breakpoint-sm:480px;--ai-chat-breakpoint-md:640px;--ai-chat-breakpoint-lg:1024px;--ai-chat-breakpoint-xl:1280px;--ai-chat-color-accent:var(--ai-chat-color-accent-500);--ai-chat-color-accent-hover:var(--ai-chat-color-accent-400);--ai-chat-color-text-on-accent:#fff;--ai-chat-color-accent-dim:#6366f126;--ai-chat-color-bg-primary:var(--ai-chat-neutral-0);--ai-chat-color-bg-secondary:var(--ai-chat-neutral-50);--ai-chat-color-bg-chat:var(--ai-chat-neutral-0);--ai-chat-color-bg-sidebar:var(--ai-chat-neutral-50);--ai-chat-color-bg-sidebar-hover:var(--ai-chat-neutral-100);--ai-chat-color-bg-sidebar-active:var(--ai-chat-neutral-200);--ai-chat-color-text-primary:var(--ai-chat-neutral-900);--ai-chat-color-text-secondary:var(--ai-chat-neutral-600);--ai-chat-color-text-muted:#9ca3af;--ai-chat-color-sidebar-text:var(--ai-chat-neutral-500);--ai-chat-color-sidebar-text-active:var(--ai-chat-neutral-900);--ai-chat-color-border:var(--ai-chat-neutral-200);--ai-chat-color-sidebar-border:var(--ai-chat-neutral-200);--ai-chat-scrollbar-thumb:var(--ai-chat-neutral-300);--ai-chat-scrollbar-track:transparent;--ai-chat-color-input-bg:var(--ai-chat-neutral-100);--ai-chat-color-input-border:var(--ai-chat-neutral-300);--ai-chat-color-input-focus-border:var(--ai-chat-color-accent-500);--ai-chat-color-msg-user-bg:var(--ai-chat-neutral-100);--ai-chat-color-msg-assistant-bg:transparent;--ai-chat-color-code-bg:var(--ai-chat-neutral-100);--ai-chat-color-code-header-bg:var(--ai-chat-neutral-100);--ai-chat-color-code-inline-bg:#0000000f;--ai-chat-color-status-error:#ef4444;--ai-chat-color-status-warning:#f59e0b;--ai-chat-color-status-success:#10b981;--ai-chat-hover-neutral:#80808026}[data-theme=dark]{--ai-chat-color-accent:var(--ai-chat-color-accent-500);--ai-chat-color-accent-hover:var(--ai-chat-color-accent-400);--ai-chat-color-text-on-accent:#fff;--ai-chat-color-accent-dim:#6366f133;--ai-chat-color-bg-primary:var(--ai-chat-neutral-900);--ai-chat-color-bg-secondary:var(--ai-chat-neutral-800);--ai-chat-color-bg-chat:var(--ai-chat-neutral-900);--ai-chat-color-bg-sidebar:var(--ai-chat-neutral-900);--ai-chat-color-bg-sidebar-hover:var(--ai-chat-neutral-800);--ai-chat-color-bg-sidebar-active:#2a2a2a;--ai-chat-color-text-primary:var(--ai-chat-neutral-50);--ai-chat-color-text-secondary:#a1a1aa;--ai-chat-color-text-muted:#71717a;--ai-chat-color-sidebar-text:#a1a1aa;--ai-chat-color-sidebar-text-active:var(--ai-chat-neutral-50);--ai-chat-color-border:#2e2e2e;--ai-chat-color-sidebar-border:#2e2e2e;--ai-chat-scrollbar-thumb:var(--ai-chat-neutral-700);--ai-chat-color-input-bg:#2f2f2f;--ai-chat-color-input-border:var(--ai-chat-neutral-700);--ai-chat-color-input-focus-border:var(--ai-chat-color-accent-500);--ai-chat-color-msg-user-bg:#2f2f2f;--ai-chat-color-code-bg:var(--ai-chat-neutral-800);--ai-chat-color-code-header-bg:#242427;--ai-chat-color-code-inline-bg:#ffffff0f;--ai-chat-color-status-error:#f87171;--ai-chat-color-status-warning:#fbbf24;--ai-chat-color-status-success:#34d399}:root{--ai-chat-bubble-radius:var(--ai-chat-radius-lg)}}@layer ai-chat-components{.ai-chat-scrollbar::-webkit-scrollbar{width:6px}.ai-chat-scrollbar::-webkit-scrollbar-track{background:var(--ai-chat-scrollbar-track)}.ai-chat-scrollbar::-webkit-scrollbar-thumb{background:var(--ai-chat-scrollbar-thumb);border-radius:3px}.ai-chat-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ai-chat-stream-text__cursor{animation:1s step-end infinite ai-chat-blink}@keyframes ai-chat-blink{50%{opacity:0}}.ai-chat-btn{border-radius:var(--ai-chat-btn-radius,6px);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;font-weight:500;transition:background .2s,opacity .2s;display:inline-flex}.ai-chat-btn:disabled{opacity:.5;cursor:not-allowed}.ai-chat-btn--small{padding:4px 10px;font-size:12px}.ai-chat-btn--medium{padding:6px 16px;font-size:14px}.ai-chat-btn--large{padding:10px 22px;font-size:16px}.ai-chat-btn--primary{background:var(--ai-chat-btn-primary-bg,#2563eb);color:var(--ai-chat-btn-primary-color,#fff)}.ai-chat-btn--primary:hover:not(:disabled){background:var(--ai-chat-btn-primary-hover-bg,#1d4ed8)}.ai-chat-btn--secondary{background:var(--ai-chat-btn-secondary-bg,#f3f4f6);color:var(--ai-chat-btn-secondary-color,#1f2937)}.ai-chat-btn--secondary:hover:not(:disabled){background:var(--ai-chat-btn-secondary-hover-bg,#e5e7eb)}.ai-chat-btn--danger{background:var(--ai-chat-btn-danger-bg,#dc2626);color:var(--ai-chat-btn-danger-color,#fff)}.ai-chat-btn--danger:hover:not(:disabled){background:var(--ai-chat-btn-danger-hover-bg,#b91c1c)}.ai-chat-toast{z-index:var(--ai-chat-z-toast,1000);border:1px solid var(--ai-chat-color-border);border-radius:var(--ai-chat-radius-lg);background:var(--ai-chat-color-bg-primary);max-width:calc(100vw - 32px);color:var(--ai-chat-color-text-primary);font-family:var(--ai-chat-font-sans);animation:ai-chat-toast-in var(--ai-chat-duration-normal) ease-out both;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex;position:fixed;box-shadow:0 4px 12px #00000014}.ai-chat-toast__icon{flex-shrink:0;width:18px;height:18px}.ai-chat-toast__message{flex:1;min-width:0}.ai-chat-toast__close{border-radius:var(--ai-chat-radius-sm);width:24px;height:24px;color:var(--ai-chat-color-text-primary);cursor:pointer;transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.ai-chat-toast__close:hover{background:var(--ai-chat-hover-neutral)}.ai-chat-toast__close svg{width:14px;height:14px}.ai-chat-toast--info .ai-chat-toast__icon{color:var(--ai-chat-color-accent)}.ai-chat-toast--success .ai-chat-toast__icon{color:var(--ai-chat-color-status-success)}.ai-chat-toast--error .ai-chat-toast__icon{color:var(--ai-chat-color-status-error)}.ai-chat-toast--warning .ai-chat-toast__icon{color:var(--ai-chat-color-status-warning)}.ai-chat-toast--top,.ai-chat-toast--bottom{left:50%;transform:translate(-50%)}.ai-chat-toast--top,.ai-chat-toast--top-left,.ai-chat-toast--top-right{top:16px}.ai-chat-toast--bottom,.ai-chat-toast--bottom-left,.ai-chat-toast--bottom-right{animation-name:ai-chat-toast-in-up;bottom:16px}.ai-chat-toast--top-left,.ai-chat-toast--bottom-left{left:16px}.ai-chat-toast--top-right,.ai-chat-toast--bottom-right{right:16px}@media (prefers-reduced-motion:reduce){.ai-chat-toast{animation-name:ai-chat-toast-in-reduced}}.ai-chat-lang-toggle{display:inline-flex;position:relative}.ai-chat-lang-toggle__trigger{border:1px solid var(--ai-chat-color-border);border-radius:var(--ai-chat-radius-md);background:var(--ai-chat-color-input-bg);height:32px;color:var(--ai-chat-color-text-primary);cursor:pointer;transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing);align-items:center;gap:6px;padding:0 10px;font-size:13px;line-height:1;display:inline-flex}.ai-chat-lang-toggle__trigger:hover{background:var(--ai-chat-hover-neutral)}.ai-chat-lang-toggle__caret{transition:transform var(--ai-chat-duration-fast) var(--ai-chat-easing)}.ai-chat-lang-toggle__caret.is-open{transform:rotate(180deg)}.ai-chat-lang-toggle__menu{z-index:var(--ai-chat-z-popup);background:var(--ai-chat-color-bg-primary);border:1px solid var(--ai-chat-color-border);border-radius:var(--ai-chat-radius-md);min-width:148px;box-shadow:var(--ai-chat-shadow-popup);margin:0;padding:4px;list-style:none;position:fixed}.ai-chat-lang-toggle__option{border-radius:calc(var(--ai-chat-radius-md) - 2px);color:var(--ai-chat-color-text-primary);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;font-size:13px;display:flex}.ai-chat-lang-toggle__option:hover{background:var(--ai-chat-hover-neutral)}.ai-chat-lang-toggle__option.is-selected{color:var(--ai-chat-color-accent);font-weight:600}.ai-chat-conversation{background:var(--ai-chat-color-bg-chat);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.ai-chat-conversation-content{flex-direction:column;flex:1;display:flex;overflow-y:auto;container-type:inline-size}.ai-chat-conversation-messages{max-width:var(--ai-chat-content-max-width);flex:1;width:100%;margin:0 auto;padding:24px}@container (width>=1280px){.ai-chat-conversation-messages{max-width:var(--ai-chat-content-max-width-wide)}}.ai-chat-conversation-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px 20px;display:flex}.ai-chat-conversation-empty__logo{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a78bfa 50%,#c084fc 100%);border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:20px;display:flex}.ai-chat-conversation-empty__logo svg{width:28px;height:28px}.ai-chat-conversation-empty__title{color:var(--ai-chat-color-text-primary);margin-bottom:8px;font-size:22px;font-weight:600}.ai-chat-conversation-empty__desc{color:var(--ai-chat-color-text-muted);margin-bottom:28px;font-size:14px}.ai-chat-conversation-empty__suggestions{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:560px;display:grid}@media (width<=768px){.ai-chat-conversation-empty__suggestions{grid-template-columns:1fr}}.ai-chat-scroll-btn{border:1px solid var(--ai-chat-color-border);background:var(--ai-chat-color-bg-primary);width:36px;height:36px;color:var(--ai-chat-color-text-secondary);cursor:pointer;transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing), color var(--ai-chat-duration-fast) var(--ai-chat-easing);z-index:5;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:16px;right:24px;box-shadow:0 2px 8px #00000026}.ai-chat-scroll-btn:hover{background:var(--ai-chat-hover-neutral);color:var(--ai-chat-color-text-primary)}.ai-chat-message{gap:var(--ai-chat-msg-gap);padding:var(--ai-chat-msg-padding-y) 0;display:flex}.ai-chat-message__avatar{width:var(--ai-chat-avatar-size);height:var(--ai-chat-avatar-size);flex-shrink:0;margin-top:2px}.ai-chat-avatar{border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:13px;font-weight:600;display:flex}.ai-chat-avatar--user{color:#fff;background:linear-gradient(135deg,#6366f1,#a78bfa)}.ai-chat-avatar--assistant{color:var(--ai-chat-color-accent);background:0 0}.ai-chat-avatar--assistant svg{width:26px;height:26px}.ai-chat-message__body{flex:1;min-width:0}.ai-chat-message__role{color:var(--ai-chat-color-text-primary);margin-bottom:6px;font-size:13px;font-weight:600}.ai-chat-message--user .ai-chat-message-content{background:var(--ai-chat-color-msg-user-bg);border-radius:var(--ai-chat-bubble-radius);max-width:100%;padding:10px 14px;display:inline-block}.ai-chat-message--layout-im .ai-chat-message__body{max-width:var(--ai-chat-message-max-width,480px);flex-direction:column;flex:0 auto;display:flex}.ai-chat-message--layout-im.ai-chat-message--user-side-right.ai-chat-message--user{flex-direction:row-reverse}.ai-chat-message--layout-im.ai-chat-message--user-side-right.ai-chat-message--user .ai-chat-message__body{align-items:flex-end}.ai-chat-message--layout-im.ai-chat-message--user-side-left.ai-chat-message--assistant{flex-direction:row-reverse}.ai-chat-message--layout-im.ai-chat-message--user-side-left.ai-chat-message--assistant .ai-chat-message__body{align-items:flex-end}.ai-chat-message-content{color:var(--ai-chat-color-text-primary);word-wrap:break-word;font-size:15px;line-height:1.7}.ai-chat-message-content p{margin-bottom:12px}.ai-chat-message-content p:last-child{margin-bottom:0}.ai-chat-message-content code{background:var(--ai-chat-color-code-inline-bg);font-size:13.5px;font-family:var(--ai-chat-font-mono);border-radius:4px;padding:2px 6px}.ai-chat-message-content pre{background:var(--ai-chat-color-code-bg);border:1px solid var(--ai-chat-color-border);border-radius:10px;margin:12px 0;padding:16px 20px;overflow-x:auto}.ai-chat-message-content pre code{background:0 0;padding:0;font-size:13px;line-height:1.6}.ai-chat-message-content ul,.ai-chat-message-content ol{margin:8px 0;padding-left:20px}.ai-chat-message-content li{margin:4px 0}.ai-chat-message-content strong{font-weight:600}.ai-chat-message-actions{opacity:0;transition:opacity var(--ai-chat-duration-fast) var(--ai-chat-easing);gap:2px;margin-top:8px;display:flex}.ai-chat-message:hover .ai-chat-message-actions{opacity:1}.ai-chat-message-attachments{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.ai-chat-prompt-input{max-width:var(--ai-chat-content-max-width);width:100%;margin:0 auto;padding:0 24px 20px;container-type:inline-size}.ai-chat-prompt-input__wrapper{background:var(--ai-chat-color-input-bg);border-radius:var(--ai-chat-radius-xl);border:1px solid var(--ai-chat-color-input-border);transition:border-color var(--ai-chat-duration-normal) var(--ai-chat-easing), box-shadow var(--ai-chat-duration-normal) var(--ai-chat-easing);flex-direction:column;display:flex;position:relative}.ai-chat-prompt-input__wrapper:focus-within,.ai-chat-prompt-input__wrapper--dragover{border-color:var(--ai-chat-color-input-focus-border);box-shadow:0 0 0 2px var(--ai-chat-color-accent-dim)}.ai-chat-prompt-input__disclaimer{text-align:center;color:var(--ai-chat-color-text-muted);padding:8px 24px 0;font-size:12px}@container (width<=640px){.ai-chat-prompt-input{padding:0 12px 12px}.ai-chat-prompt-input__disclaimer{display:none}}.ai-chat-prompt-input-body{align-items:flex-end;padding:0 8px 0 14px;display:flex;position:relative}.ai-chat-prompt-input-footer{justify-content:space-between;align-items:center;gap:8px;padding:0 8px 8px 14px;display:flex}.ai-chat-prompt-input-footer__tools{align-items:center;gap:2px;min-width:0;display:flex}.ai-chat-prompt-input-footer__hint{color:var(--ai-chat-color-text-muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.ai-chat-prompt-input-tools{gap:2px;display:flex}.ai-chat-prompt-input-btn{white-space:nowrap;min-width:32px;height:32px;color:var(--ai-chat-color-text-muted);cursor:pointer;border-radius:var(--ai-chat-radius-md);transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing), color var(--ai-chat-duration-fast) var(--ai-chat-easing);background:0 0;border:none;justify-content:center;align-items:center;padding:0 8px;display:flex}.ai-chat-prompt-input-btn:hover:not(:disabled){background:var(--ai-chat-hover-neutral);color:var(--ai-chat-color-text-primary)}.ai-chat-prompt-input-btn--active{color:var(--ai-chat-color-accent)}.ai-chat-prompt-input-btn:disabled{opacity:.3;cursor:not-allowed}.ai-chat-prompt-input-btn svg{width:18px;height:18px;overflow:visible}.ai-chat-lightbox__overlay{z-index:var(--ai-chat-z-popup,1000);background:var(--ai-chat-lightbox-mask,#000000bf);animation:ai-chat-lightbox-fade var(--ai-chat-duration-normal) var(--ai-chat-easing) both;outline:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ai-chat-lightbox__image{object-fit:contain;border-radius:var(--ai-chat-radius-lg);max-width:calc(100vw - 160px);max-height:calc(100vh - 120px)}.ai-chat-lightbox__nav,.ai-chat-lightbox__close{width:40px;height:40px;color:var(--ai-chat-neutral-0);cursor:pointer;transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.ai-chat-lightbox__nav:hover,.ai-chat-lightbox__close:hover{background:var(--ai-chat-hover-neutral)}.ai-chat-lightbox__nav svg,.ai-chat-lightbox__close svg{width:20px;height:20px}.ai-chat-lightbox__prev{position:absolute;top:50%;left:24px;transform:translateY(-50%)}.ai-chat-lightbox__next{position:absolute;top:50%;right:24px;transform:translateY(-50%)}.ai-chat-lightbox__close{position:absolute;top:16px;right:16px}.ai-chat-lightbox__count{color:var(--ai-chat-neutral-0);font-family:var(--ai-chat-font-sans);font-size:14px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.ai-chat-lightbox__overlay{animation:none}}.ai-chat-prompt-attachments{flex-wrap:wrap;gap:8px;padding:12px 12px 0;display:flex}.ai-chat-prompt-attachments__item{border:1px solid var(--ai-chat-color-border);border-radius:var(--ai-chat-radius-lg);background:var(--ai-chat-color-bg-secondary);transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing);align-items:center;gap:8px;padding:6px 8px;display:flex}.ai-chat-prompt-attachments__item:hover{background:var(--ai-chat-hover-neutral)}.ai-chat-prompt-attachments__item--error{border-color:var(--ai-chat-color-status-error)}.ai-chat-prompt-attachments__thumb{border-radius:var(--ai-chat-radius-md);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex;position:relative;overflow:hidden}.ai-chat-prompt-attachments__thumb img{object-fit:cover;width:100%;height:100%}.ai-chat-prompt-attachments__thumb--static{cursor:default}.ai-chat-prompt-attachments__icon{font-size:18px;line-height:1}.ai-chat-prompt-attachments__loading{background:var(--ai-chat-hover-neutral);animation:ai-chat-pending-pulse var(--ai-chat-duration-normal) ease-in-out infinite alternate;position:absolute;inset:0}.ai-chat-prompt-attachments__meta{flex-direction:column;gap:2px;min-width:0;max-width:160px;display:flex}.ai-chat-prompt-attachments__name{text-overflow:ellipsis;white-space:nowrap;color:var(--ai-chat-color-text-primary);font-size:13px;line-height:1.3;overflow:hidden}.ai-chat-prompt-attachments__size{color:var(--ai-chat-color-text-muted);font-size:12px;line-height:1.2}.ai-chat-prompt-attachments__remove{width:22px;height:22px;color:var(--ai-chat-color-text-muted);cursor:pointer;transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing), color var(--ai-chat-duration-fast) var(--ai-chat-easing);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.ai-chat-prompt-attachments__remove:hover{background:var(--ai-chat-hover-neutral);color:var(--ai-chat-color-text-primary)}.ai-chat-prompt-attachments__remove svg{width:14px;height:14px}@media (prefers-reduced-motion:reduce){.ai-chat-prompt-attachments__loading{animation:none}}.ai-chat-prompt-input-header{flex-wrap:wrap;gap:6px;padding:8px 12px 0;display:flex}.ai-chat-attachments--grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.ai-chat-attachments--inline{flex-wrap:wrap;gap:6px;display:flex}.ai-chat-attachments--list{flex-direction:column;gap:6px;display:flex}.ai-chat-attachment{position:relative}.ai-chat-attachment-preview{border-radius:var(--ai-chat-radius-lg);background:var(--ai-chat-color-bg-secondary);border:1px solid var(--ai-chat-color-border);justify-content:center;align-items:center;width:96px;height:96px;display:flex;overflow:hidden}.ai-chat-attachment-preview__img{object-fit:cover;cursor:pointer;width:100%;height:100%}.ai-chat-attachment-preview__icon{font-size:28px}.ai-chat-attachment-info{flex-direction:column;min-width:0;display:flex}.ai-chat-attachment-info__name{color:var(--ai-chat-color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ai-chat-attachment-info__meta{color:var(--ai-chat-color-text-muted);font-size:12px}.ai-chat-attachment-remove{color:#fff;cursor:pointer;visibility:hidden;width:20px;height:20px;transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing);background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.ai-chat-attachment:hover .ai-chat-attachment-remove{visibility:visible}.ai-chat-attachment-remove:hover{background:#000c}.ai-chat-attachment-empty{color:var(--ai-chat-color-text-muted);padding:8px 0;font-size:13px}.ai-chat-tool-call-header{align-items:center;gap:6px;display:flex}.ai-chat-tool-call-header__icon{font-size:12px;font-style:normal}.ai-chat-tool-call-header--calling .ai-chat-tool-call-header__icon{color:var(--ai-chat-color-status-warning,#f59e0b)}.ai-chat-tool-call-header--completed .ai-chat-tool-call-header__icon{color:var(--ai-chat-color-status-success,#22c55e)}.ai-chat-tool-call-header--error .ai-chat-tool-call-header__icon{color:var(--ai-chat-color-status-error,#ef4444)}.ai-chat-tool-call-header__name{color:var(--ai-chat-color-text-primary);font-weight:500}.ai-chat-tool-call-header__duration{color:var(--ai-chat-color-text-muted);margin-left:auto;font-size:12px}.ai-chat-tool-call-input__label{color:var(--ai-chat-color-text-muted);margin-bottom:4px;font-size:12px}.ai-chat-tool-call-input__code{background:var(--ai-chat-color-bg-secondary);border-radius:var(--ai-chat-radius-md,6px);border:1px solid var(--ai-chat-color-border);color:var(--ai-chat-color-text-primary);font-size:12px;line-height:1.5;font-family:var(--ai-chat-font-mono);margin:0;padding:8px;overflow-x:auto}.ai-chat-tool-call-output__label{color:var(--ai-chat-color-text-muted);margin-bottom:4px;font-size:12px}.ai-chat-tool-call-output__label--error{color:var(--ai-chat-color-status-error,#ef4444)}.ai-chat-tool-call-output__code{background:var(--ai-chat-color-bg-secondary);border-radius:var(--ai-chat-radius-md,6px);border:1px solid var(--ai-chat-color-border);color:var(--ai-chat-color-text-primary);font-size:12px;line-height:1.5;font-family:var(--ai-chat-font-mono);margin:0;padding:8px;overflow-x:auto}.ai-chat-tool-call-output__code--error{border-color:var(--ai-chat-color-status-error,#ef4444);background:#ef444414}.ai-chat-tool-call-content{flex-direction:column;gap:12px;display:flex}.ai-chat-tool-call{border:1px solid var(--ai-chat-color-border);border-radius:var(--ai-chat-radius-lg);margin:8px 0;font-size:13px;overflow:hidden}.ai-chat-tool-call__summary{cursor:pointer;background:var(--ai-chat-color-bg-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 12px;list-style:none;display:flex}.ai-chat-tool-call__summary::-webkit-details-marker{display:none}.ai-chat-tool-call__summary:before{content:"▶";transition:transform var(--ai-chat-duration-fast) var(--ai-chat-easing);font-size:10px}.ai-chat-tool-call[open] .ai-chat-tool-call__summary:before{transform:rotate(90deg)}.ai-chat-tool-call__body{border-top:1px solid var(--ai-chat-color-border);background:var(--ai-chat-color-bg-primary);padding:12px}.ai-chat-window{border:1px solid var(--ai-chat-color-border,#e5e7eb);border-radius:var(--ai-chat-radius,8px);background:var(--ai-chat-color-bg-primary,#fff);flex-direction:column;display:flex;overflow:hidden}.ai-chat-window__body{padding:var(--ai-chat-padding,16px);flex:1;overflow-y:auto}.ai-chat-window__footer{border-top:1px solid var(--ai-chat-color-border,#e5e7eb);padding:var(--ai-chat-padding,16px)}.ai-chat-message-list{gap:var(--ai-chat-message-gap,12px);flex-direction:column;display:flex}.ai-chat-bubble{align-items:flex-start;gap:8px;display:flex}.ai-chat-bubble--user{flex-direction:row-reverse}.ai-chat-bubble__avatar{border-radius:50%;flex-shrink:0;width:32px;height:32px;overflow:hidden}.ai-chat-bubble__content{border-radius:var(--ai-chat-bubble-radius,12px);flex:1;padding:10px 14px;font-size:14px;line-height:1.6}.ai-chat-bubble--user .ai-chat-bubble__content{background:var(--ai-chat-user-bg,#2563eb);color:var(--ai-chat-user-color,#fff)}.ai-chat-bubble--assistant .ai-chat-bubble__content{background:var(--ai-chat-assistant-bg,#f3f4f6);color:var(--ai-chat-assistant-color,#1f2937)}.ai-chat-bubble__actions{opacity:0;flex-shrink:0;gap:4px;transition:opacity .2s;display:flex}.ai-chat-bubble:hover .ai-chat-bubble__actions{opacity:1}.ai-chat-input__row{align-items:flex-end;gap:8px;display:flex}.ai-chat-input__textarea{resize:none;border:1px solid var(--ai-chat-color-border,#e5e7eb);border-radius:var(--ai-chat-radius,8px);background:var(--ai-chat-color-input-bg,#fff);color:var(--ai-chat-input-color,#1f2937);outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.5}.ai-chat-input__textarea:focus{border-color:var(--ai-chat-primary,#2563eb)}.ai-chat-input__btn{border-radius:var(--ai-chat-radius,8px);background:var(--ai-chat-primary,#2563eb);color:#fff;cursor:pointer;white-space:nowrap;border:none;padding:8px 16px;font-size:14px}.ai-chat-input__btn:disabled{opacity:.5;cursor:not-allowed}.ai-chat-input__btn--abort{background:var(--ai-chat-danger,#ef4444)}}@layer ai-chat-animations{@keyframes ai-chat-fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-chat-animate-fade-in-up{animation:.3s ease-out ai-chat-fade-in-up}@keyframes ai-chat-typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.ai-chat-typing-dot{background:var(--ai-chat-color-text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s infinite ai-chat-typing;display:inline-block}.ai-chat-typing-dot:nth-child(2){animation-delay:.2s}.ai-chat-typing-dot:nth-child(3){animation-delay:.4s}@keyframes ai-chat-blink{50%{opacity:0}}@keyframes ai-chat-shimmer{0%{background-position:200%}to{background-position:-200%}}.ai-chat-shimmer{background:linear-gradient(90deg, var(--ai-chat-color-text-secondary) 0%, var(--ai-chat-color-text-primary) 50%, var(--ai-chat-color-text-secondary) 100%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite ai-chat-shimmer}@keyframes ai-chat-toast-in{0%{opacity:0;translate:0 -8px}to{opacity:1;translate:0}}@keyframes ai-chat-toast-in-up{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes ai-chat-toast-in-reduced{0%{opacity:0}to{opacity:1}}@keyframes ai-chat-lightbox-fade{0%{opacity:0}to{opacity:1}}@keyframes ai-chat-pending-pulse{0%{opacity:.4}to{opacity:.9}}}.ai-chat-thinking[data-v-26ad5907]{margin-bottom:10px}.ai-chat-thinking__trigger[data-v-26ad5907]{font:inherit;color:var(--ai-chat-color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--ai-chat-duration-fast) var(--ai-chat-easing), color var(--ai-chat-duration-fast) var(--ai-chat-easing);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;margin-left:-6px;padding:3px 8px 3px 6px;font-size:12.5px;line-height:1;display:inline-flex}.ai-chat-thinking__trigger[data-v-26ad5907]:hover{color:var(--ai-chat-color-text-secondary);background:#80808026}.ai-chat-thinking__trigger[data-v-26ad5907]:focus-visible{outline:2px solid var(--ai-chat-color-accent);outline-offset:1px}.ai-chat-thinking__icon[data-v-26ad5907]{flex-shrink:0;width:14px;height:14px}.ai-chat-thinking--streaming .ai-chat-thinking__icon[data-v-26ad5907]{color:var(--ai-chat-color-accent);animation:2s ease-in-out infinite ai-chat-thinking-breathe-26ad5907}@keyframes ai-chat-thinking-breathe-26ad5907{0%,to{opacity:1}50%{opacity:.45}}.ai-chat-thinking__label[data-v-26ad5907]{white-space:nowrap}.ai-chat-thinking__chevron[data-v-26ad5907]{width:12px;height:12px;transition:transform .2s var(--ai-chat-easing);flex-shrink:0}.ai-chat-thinking--expanded .ai-chat-thinking__chevron[data-v-26ad5907]{transform:rotate(180deg)}.ai-chat-thinking__body[data-v-26ad5907]{border-left:2px solid var(--ai-chat-color-border);color:var(--ai-chat-color-text-secondary);white-space:pre-wrap;word-break:break-word;margin:6px 0 2px;padding-left:12px;font-size:13px;line-height:1.65}.ai-chat-thinking__cursor[data-v-26ad5907]{vertical-align:-2px;background:var(--ai-chat-color-accent);width:2px;height:13px;margin-left:2px;animation:1s step-end infinite ai-chat-thinking-blink-26ad5907;display:inline-block}@keyframes ai-chat-thinking-blink-26ad5907{0%,to{opacity:1}50%{opacity:0}}.ai-chat-thinking-enter-active[data-v-26ad5907]{transition:opacity .25s var(--ai-chat-easing), transform .25s var(--ai-chat-easing)}.ai-chat-thinking-leave-active[data-v-26ad5907]{transition:opacity .18s var(--ai-chat-easing), transform .18s var(--ai-chat-easing)}.ai-chat-thinking-enter-from[data-v-26ad5907],.ai-chat-thinking-leave-to[data-v-26ad5907]{opacity:0;transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){.ai-chat-thinking__icon[data-v-26ad5907],.ai-chat-thinking__cursor[data-v-26ad5907]{animation:none}.ai-chat-thinking__chevron[data-v-26ad5907],.ai-chat-thinking__trigger[data-v-26ad5907]{transition:none}}.ai-chat-message-action[data-v-aac9798b]{width:30px;height:30px;color:var(--ai-chat-color-text-muted);cursor:pointer;border-radius:var(--ai-chat-radius-sm);transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing), color var(--ai-chat-duration-fast) var(--ai-chat-easing);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.ai-chat-message-action[data-v-aac9798b]:hover:not(:disabled){background:var(--ai-chat-hover-neutral);color:var(--ai-chat-color-text-primary)}.ai-chat-message-action[data-v-aac9798b]:disabled{opacity:.3;cursor:not-allowed}.ai-chat-message-action[data-v-aac9798b] svg{width:15px;height:15px}.ai-chat-message-action__label[data-v-aac9798b]{display:none}.ai-chat-prompt-textarea[data-v-0c31f17c]{width:100%;min-width:0;color:var(--ai-chat-color-text-primary);font-size:15px;font-family:var(--ai-chat-font-sans);resize:none;max-height:var(--ai-chat-input-max-height,200px);border-radius:var(--ai-chat-radius-xl) var(--ai-chat-radius-xl) 0 0;scrollbar-width:thin;scrollbar-color:var(--ai-chat-scrollbar-thumb) transparent;background:0 0;border:none;outline:none;flex:1;min-height:24px;padding:12px 0;line-height:1.5;overflow-y:auto}.ai-chat-prompt-textarea[data-v-0c31f17c]::placeholder{color:var(--ai-chat-color-text-muted)}.ai-chat-prompt-textarea[data-v-0c31f17c]::-webkit-scrollbar{width:6px}.ai-chat-prompt-textarea[data-v-0c31f17c]::-webkit-scrollbar-track{background:0 0}.ai-chat-prompt-textarea[data-v-0c31f17c]::-webkit-scrollbar-thumb{background:var(--ai-chat-scrollbar-thumb);background-clip:padding-box;border:1px solid #0000;border-top-width:10px;border-radius:999px}.ai-chat-prompt-submit[data-v-0cec5624]{background:var(--ai-chat-color-accent);width:36px;height:36px;color:var(--ai-chat-color-text-on-accent,#fff);cursor:pointer;transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing), opacity var(--ai-chat-duration-fast) var(--ai-chat-easing);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;bottom:8px;right:8px}.ai-chat-prompt-submit[data-v-0cec5624]:hover:not(:disabled){background:var(--ai-chat-color-accent-hover)}.ai-chat-prompt-submit[data-v-0cec5624]:disabled{opacity:.35;cursor:not-allowed}.ai-chat-prompt-submit svg[data-v-0cec5624]{width:18px;height:18px}.ai-chat-comparison[data-v-6c9000c8]{gap:var(--ai-chat-msg-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:6px;display:grid}.ai-chat-comparison__col[data-v-6c9000c8]{border:1px solid var(--ai-chat-color-border);border-radius:var(--ai-chat-radius-lg);background:var(--ai-chat-color-msg-assistant-bg);transition:border-color var(--ai-chat-duration-normal) var(--ai-chat-easing), box-shadow var(--ai-chat-duration-normal) var(--ai-chat-easing);flex-direction:column;gap:8px;padding:12px 12px 26px;display:flex;position:relative}.ai-chat-comparison__col.is-selected[data-v-6c9000c8]{border-color:var(--ai-chat-color-accent);box-shadow:0 0 0 2px var(--ai-chat-color-accent-dim)}.ai-chat-comparison__label[data-v-6c9000c8]{color:var(--ai-chat-color-text-secondary);font-size:13px;font-weight:600}.ai-chat-comparison__content[data-v-6c9000c8]{flex:1;min-width:0}.ai-chat-comparison__action[data-v-6c9000c8]{pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.ai-chat-comparison__btn[data-v-6c9000c8]{pointer-events:auto;border-radius:var(--ai-chat-radius-md);background:var(--ai-chat-color-accent);color:var(--ai-chat-neutral-0,#fff);cursor:pointer;white-space:nowrap;transition:background var(--ai-chat-duration-fast) var(--ai-chat-easing);border:none;padding:6px 16px;font-family:inherit;font-size:13px;transform:translateY(50%);box-shadow:0 1px 4px #0000001f}.ai-chat-comparison__btn[data-v-6c9000c8]:hover:not(:disabled){background:var(--ai-chat-color-accent-hover)}.ai-chat-comparison__btn[data-v-6c9000c8]:disabled{opacity:.5;cursor:not-allowed}@container (width<=640px){.ai-chat-comparison.is-stack-mobile[data-v-6c9000c8]{grid-template-columns:1fr}}
2
+ /*$vite$:1*/
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@toimc/vue",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "main": "./dist/index.cjs",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.cjs"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "dependencies": {
19
+ "vue-i18n": "^11.4.8",
20
+ "@toimc/core": "0.0.1"
21
+ },
22
+ "optionalDependencies": {
23
+ "@toimc/markdown": "0.0.1"
24
+ },
25
+ "peerDependencies": {
26
+ "vue": "^3.5.0"
27
+ },
28
+ "devDependencies": {
29
+ "@types/node": "^22.10.0",
30
+ "@vitejs/plugin-vue": "^6.0.8",
31
+ "@vue/test-utils": "^2.4.11",
32
+ "jsdom": "^30.0.1",
33
+ "typescript": "^6.0.3",
34
+ "vite": "^8.2.1",
35
+ "vite-plugin-dts": "^5.0.3",
36
+ "vitest": "^4.1.10",
37
+ "vue": "^3.5.41",
38
+ "vue-tsc": "^3.3.9"
39
+ },
40
+ "scripts": {
41
+ "build": "vite build",
42
+ "test": "vitest run"
43
+ }
44
+ }