{"version":3,"file":"chat-mofa.mjs","sources":["../../src/chat/chat-mofa.tsx"],"sourcesContent":["import { defineComponent, PropType } from 'vue';\nimport props from './props';\nimport { MetaData, TdChatItemProps } from './type';\nimport Chat from './chat';\nimport ChatItem from './chat-item';\nimport ChatInput from './chat-input';\nimport ChatAction from './chat-action';\nimport { useChat } from './useChat';\n\nexport default defineComponent({\n  name: 'TChatMofa',\n  components: {\n    Chat,\n    ChatItem,\n    ChatInput,\n    ChatAction,\n  },\n  props: {\n    apiKey: {\n      type: String,\n    },\n    mofaId: {\n      type: String,\n      required: true,\n    },\n    welcome: {\n      type: Array,\n      default: (): String[] => [],\n    },\n    userMeta: {\n      type: Object as PropType<MetaData>,\n      default() {\n        return {};\n      },\n    },\n    assistantMeta: {\n      type: Object as PropType<MetaData>,\n      default() {\n        return {};\n      },\n    },\n    footer: {\n      type: Boolean,\n      default: true,\n    },\n    showUserMsg: {\n      type: Boolean,\n      default: true,\n    },\n    operationBtn: props.operationBtn,\n    chatRequest: {\n      type: Function,\n    },\n    layout: props.layout,\n    onOperation: props.onOperation,\n  },\n  emits: ['operation', 'clear'],\n  setup(props, { emit }) {\n    const { chatList, loading, onStop, operation, clearConfirm, isStreamLoad, sendRequest } = useChat(props, emit);\n    const handleSend = (inputValue: string) => {\n      sendRequest('mofa', inputValue, props.mofaId);\n    };\n    return () => (\n      <Chat\n        layout={props.layout}\n        clearHistory={chatList.value.length > 0 && !isStreamLoad.value}\n        onClear={clearConfirm}\n        v-slots={{\n          footer: () => <ChatInput stopDisabled={isStreamLoad.value} onSend={handleSend} onStop={onStop} />,\n        }}\n      >\n        {chatList.value.map((item: TdChatItemProps, index: number) => (\n          <ChatItem\n            key={index}\n            avatar={item.avatar}\n            role={item.role}\n            datetime={item.datetime}\n            content={item.content}\n            text-loading={index === 0 && loading.value}\n            v-slots={{\n              actions: () => (\n                <ChatAction\n                  operationBtn={props.operationBtn}\n                  content={item.content}\n                  onOperation={(type, { e }) => operation(type, { e, index })}\n                />\n              ),\n            }}\n          ></ChatItem>\n        ))}\n      </Chat>\n    );\n  },\n});\n"],"names":["defineComponent","name","components","Chat","ChatItem","ChatInput","ChatAction","props","apiKey","type","String","mofaId","required","welcome","Array","default","userMeta","Object","assistantMeta","footer","Boolean","showUserMsg","operationBtn","chatRequest","Function","layout","onOperation","emits","setup","emit","_ref","_useChat","useChat","chatList","loading","onStop","operation","clearConfirm","isStreamLoad","sendRequest","handleSend","inputValue","_createVNode","value","length","map","item","index","avatar","role","datetime","content","actions","_ref2","e"],"mappings":"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"}