cnhis-design-vue 3.2.10-beta.0 → 3.2.10-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/ai-chat/index.d.ts +15 -0
- package/es/components/ai-chat/src/Index.vue.d.ts +15 -0
- package/es/components/ai-chat/src/Index.vue2.js +1 -1
- package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +2 -0
- package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
- package/es/components/ai-chat/src/components/ChatMain.js +1 -1
- package/es/components/ai-chat/style/index.css +1 -1
- package/es/components/index.css +1 -1
- package/es/shared/package.json.js +1 -1
- package/package.json +2 -2
@@ -23,6 +23,10 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
|
|
23
23
|
uiStyle: {
|
24
24
|
type: StringConstructor;
|
25
25
|
};
|
26
|
+
audioTimed: {
|
27
|
+
type: NumberConstructor;
|
28
|
+
default: number;
|
29
|
+
};
|
26
30
|
}, {
|
27
31
|
cssVars: import("vue").ComputedRef<import("../../shared/types").AnyObject>;
|
28
32
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
@@ -49,6 +53,10 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
|
|
49
53
|
uiStyle: {
|
50
54
|
type: StringConstructor;
|
51
55
|
};
|
56
|
+
audioTimed: {
|
57
|
+
type: NumberConstructor;
|
58
|
+
default: number;
|
59
|
+
};
|
52
60
|
}>> & {
|
53
61
|
"onButton-click"?: ((...args: any[]) => any) | undefined;
|
54
62
|
}>>;
|
@@ -67,10 +75,12 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
|
|
67
75
|
shortcutList: any;
|
68
76
|
state: any;
|
69
77
|
isSmall: any;
|
78
|
+
audioTimed: any;
|
70
79
|
content: import("vue").Ref<string>;
|
71
80
|
btnDisabled: import("vue").ComputedRef<boolean>;
|
72
81
|
recorderStart: () => Promise<void>;
|
73
82
|
recorderStop: () => Promise<void>;
|
83
|
+
isValidJSON: (str: string) => boolean;
|
74
84
|
getShortcutName: (item: string | import("../../shared/types").AnyObject) => any;
|
75
85
|
handleShortcut: (item: string | import("../../shared/types").AnyObject) => void;
|
76
86
|
handleKeyDown: (event: KeyboardEvent) => void;
|
@@ -105,9 +115,14 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
|
|
105
115
|
uiStyle: {
|
106
116
|
type: StringConstructor;
|
107
117
|
};
|
118
|
+
audioTimed: {
|
119
|
+
type: NumberConstructor;
|
120
|
+
default: number;
|
121
|
+
};
|
108
122
|
}>> & {
|
109
123
|
"onButton-click"?: ((...args: any[]) => any) | undefined;
|
110
124
|
}, {
|
111
125
|
hideInput: boolean;
|
126
|
+
audioTimed: number;
|
112
127
|
}>>;
|
113
128
|
export default AiChat;
|
@@ -25,6 +25,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
25
25
|
uiStyle: {
|
26
26
|
type: StringConstructor;
|
27
27
|
};
|
28
|
+
audioTimed: {
|
29
|
+
type: NumberConstructor;
|
30
|
+
default: number;
|
31
|
+
};
|
28
32
|
}, {
|
29
33
|
cssVars: import("vue").ComputedRef<AnyObject>;
|
30
34
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
@@ -51,6 +55,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
51
55
|
uiStyle: {
|
52
56
|
type: StringConstructor;
|
53
57
|
};
|
58
|
+
audioTimed: {
|
59
|
+
type: NumberConstructor;
|
60
|
+
default: number;
|
61
|
+
};
|
54
62
|
}>> & {
|
55
63
|
"onButton-click"?: ((...args: any[]) => any) | undefined;
|
56
64
|
}>>;
|
@@ -69,10 +77,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
69
77
|
shortcutList: any;
|
70
78
|
state: any;
|
71
79
|
isSmall: any;
|
80
|
+
audioTimed: any;
|
72
81
|
content: import("vue").Ref<string>;
|
73
82
|
btnDisabled: import("vue").ComputedRef<boolean>;
|
74
83
|
recorderStart: () => Promise<void>;
|
75
84
|
recorderStop: () => Promise<void>;
|
85
|
+
isValidJSON: (str: string) => boolean;
|
76
86
|
getShortcutName: (item: string | AnyObject) => any;
|
77
87
|
handleShortcut: (item: string | AnyObject) => void;
|
78
88
|
handleKeyDown: (event: KeyboardEvent) => void;
|
@@ -107,9 +117,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
107
117
|
uiStyle: {
|
108
118
|
type: StringConstructor;
|
109
119
|
};
|
120
|
+
audioTimed: {
|
121
|
+
type: NumberConstructor;
|
122
|
+
default: number;
|
123
|
+
};
|
110
124
|
}>> & {
|
111
125
|
"onButton-click"?: ((...args: any[]) => any) | undefined;
|
112
126
|
}, {
|
113
127
|
hideInput: boolean;
|
128
|
+
audioTimed: number;
|
114
129
|
}>;
|
115
130
|
export default _default;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,reactive as t,provide as o,toRefs as r,computed as s,openBlock as i,createElementBlock as a,normalizeClass as n,normalizeStyle as
|
1
|
+
import{defineComponent as e,reactive as t,provide as o,toRefs as r,computed as s,openBlock as i,createElementBlock as a,normalizeClass as n,normalizeStyle as u,unref as m,createVNode as p,createBlock as d,createCommentVNode as l}from"vue";import h from"./components/ChatMain.js";import c from"./components/ChatFooter.vue.js";import{useTheme as y}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import"naive-ui";import"../../../shared/hooks/useScrollLoading.js";import{InjectionAIChat as v,InjectionAIChatEmits as f}from"./types/index.js";var S=e({__name:"Index",props:{userAvatar:{type:String},defaultShortcutList:{type:Array},shortcutList:{type:Array},queryData:{type:Function,reuired:!0},queryRecord:{type:Function,reuired:!0},hideInput:{type:Boolean},uiStyle:{type:String},audioTimed:{type:Number,default:10}},emits:["button-click"],setup(e,{emit:S}){const j=e,k=y(),g=t({beingSent:!1,sendContent:""});return o(v,{...r(j),state:g,isSmall:s((()=>"small"===j.uiStyle))}),o(f,S),(t,o)=>(i(),a("div",{class:n(["ai-chat","small"===e.uiStyle?"ai-chat--small":""]),style:u(m(k))},[p(m(h)),e.hideInput?l("v-if",!0):(i(),d(c,{key:0}))],6))}});export{S as default};
|
@@ -6,10 +6,12 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
6
6
|
shortcutList: any;
|
7
7
|
state: any;
|
8
8
|
isSmall: any;
|
9
|
+
audioTimed: any;
|
9
10
|
content: import("vue").Ref<string>;
|
10
11
|
btnDisabled: import("vue").ComputedRef<boolean>;
|
11
12
|
recorderStart: () => Promise<void>;
|
12
13
|
recorderStop: () => Promise<void>;
|
14
|
+
isValidJSON: (str: string) => boolean;
|
13
15
|
getShortcutName: (item: string | AnyObject) => any;
|
14
16
|
handleShortcut: (item: string | AnyObject) => void;
|
15
17
|
handleKeyDown: (event: KeyboardEvent) => void;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,inject as n,ref as t,computed as o,watch as l,onBeforeUnmount as i,openBlock as a,createElementBlock as s,normalizeClass as r,unref as d,Fragment as c,renderList as u,createBlock as f,withCtx as
|
1
|
+
import{defineComponent as e,inject as n,ref as t,computed as o,watch as l,onBeforeUnmount as i,openBlock as a,createElementBlock as s,normalizeClass as r,unref as d,Fragment as c,renderList as u,createBlock as f,withCtx as p,createTextVNode as v,toDisplayString as k,createCommentVNode as m,createElementVNode as b,createVNode as h,getCurrentInstance as w}from"vue";import{NButton as y,NInput as g,NIcon as x}from"naive-ui";import{PaperPlane as S}from"@vicons/ionicons5";import{InjectionAIChatEmits as C,InjectionAIChat as K}from"../types/index.js";import _ from"../../../audio-sdk/src/audioSDK.js";import{isString as j}from"lodash-es";const z={key:0,class:"menu-box fillet-8"},M={class:"input-wrapper fillet-10"},E=b("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[b("path",{fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 448h128"}),b("path",{d:"M384 208v32c0 70.4-57.6 128-128 128h0c-70.4 0-128-57.6-128-128v-32",fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"}),b("path",{fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 368v80"}),b("path",{d:"M256 64a63.68 63.68 0 0 0-64 64v111c0 35.2 29 65 64 65s64-29 64-65V128c0-36-28-64-64-64z",fill:"none",stroke:"#4972EF","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"})],-1),N={class:"btn-box"},R=["disabled"];var D=e({__name:"ChatFooter",setup(e){const D=_.create(),F=n(C),{shortcutList:J,state:O,isSmall:T,audioTimed:U}=n(K),B=t(""),L=o((()=>!B.value.replace(/( |\s|<br>)+/g,"")));async function P(){await D.recorderStart(w(),{onStop:V,allowPunctuationMark:!1,timed:U.value||10,realTimeRecognition:!0})}async function V(){try{const e=await D.recorderStop();if("success"!==e.result)return;const{text:n}=e.data;B.value=n}catch(e){console.log(e)}}function q(e){var n,t;if(j(e))return e;const o=null==(t=null==(n=null==e?void 0:e.contents)?void 0:n[0])?void 0:t.content;return(function(e){try{return JSON.parse(e),!0}catch(e){return!1}}(o)?JSON.parse(o):{}).instructionName}function A(e){["Enter"].includes(e.key)&&(function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)||(e.preventDefault(),G()))}function G(){L.value||(O.beingSent=!0,O.sendContent=B.value,B.value="")}return l((()=>O.sendContent),(e=>{e&&!O.beingSent&&(B.value=e)})),i((()=>{D.destroy()})),(e,n)=>(a(),s("section",{class:r(["chat-footer",d(O).beingSent?"disabled":""])},[d(J)&&d(J).length>0?(a(),s("div",z,[(a(!0),s(c,null,u(d(J),(e=>(a(),f(d(y),{secondary:"",size:"small",round:d(T),key:q(e),onClick:()=>function(e){var n;if(j(e))B.value=e;else{const t=null==(n=null==e?void 0:e.contents)?void 0:n[0];F("button-click",t,e)}}(e)},{default:p((()=>[v(k(q(e)),1)])),_:2},1032,["round","onClick"])))),128))])):m("v-if",!0),b("div",M,[d(T)?(a(),f(d(g),{key:0,style:{"--n-height":"48px"},round:"",placeholder:"",disabled:d(O).beingSent,value:B.value,"onUpdate:value":n[0]||(n[0]=e=>B.value=e),onKeydown:A},{suffix:p((()=>[h(d(y),{text:"",disabled:d(O).beingSent,onClick:P},{icon:p((()=>[h(d(x),{size:"30"},{default:p((()=>[E])),_:1})])),_:1},8,["disabled"]),h(d(y),{circle:"",class:"gradient",style:{"margin-left":"10px"},disabled:d(L),onClick:G},{icon:p((()=>[h(d(x),{color:"#fff",size:"20",component:d(S)},null,8,["component"])])),_:1},8,["disabled"])])),_:1},8,["disabled","value"])):(a(),s(c,{key:1},[h(d(g),{type:"textarea",placeholder:"请向我提问,Shift+Enter换行",disabled:d(O).beingSent,autosize:{minRows:2,maxRows:7},value:B.value,"onUpdate:value":n[1]||(n[1]=e=>B.value=e),onKeydown:A},null,8,["disabled","value"]),b("div",N,[b("span",{class:r(["btn-send","gradient","fillet-8",d(L)?"disabled":""]),disabled:d(L),onClick:G},[h(d(x),{color:"#fff",size:"22",component:d(S)},null,8,["component"])],10,R)])],64))])],2))}});export{D as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,inject as
|
1
|
+
import{defineComponent as e,inject as t,ref as n,computed as l,watch as a,createVNode as s,createTextVNode as o,mergeProps as i,isVNode as r}from"vue";import{NAvatar as u,NSpin as c,NButton as d,NSpace as m,NIcon as p}from"naive-ui";import{InjectionAIChatEmits as v,InjectionAIChat as f}from"../types/index.js";import g from"../../../../shared/assets/img/ai__avatar.png.js";import h from"../../../../shared/assets/img/logo.png.js";import{isArray as b,isFunction as y}from"lodash-es";import"../../../../shared/utils/index.js";import"@vueuse/core";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{ChevronForward as x}from"@vicons/ionicons5";import{useScrollLoading as k}from"../../../../shared/hooks/useScrollLoading.js";function S(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!r(e)}var j=e({name:"ChatMain",inheritAttrs:!1,props:{},emits:[],setup(e,{attrs:r,slots:j,emit:C}){const I=t(v),{userAvatar:E,queryData:T,state:_,queryRecord:z,defaultShortcutList:w,hideInput:M=!1,isSmall:N}=t(f),O=n(null),A=n([]),q=n(!1),H=l((()=>N.value?h:g)),J={page:0,hasMore:!0};async function L(e=!1){if(!J.hasMore)return;J.page++,1==J.page&&(A.value=[]);const{records:t,rows:n}=await z.value({page:J.page});b(n)&&A.value.length<=+t&&(A.value=J.page>1?[...A.value,...n]:n,D(),A.value.length>=+t&&(e&&(q.value=!0),J.hasMore=!1,console.log("没有更多消息了")))}function D(){A.value.forEach((e=>{e.buttonType&&(e.disabled=!0),e.contents.forEach((e=>e.disabled=!0))}))}function R(e){const{item:t,msgItem:n,fieldItem:l}=e;if(n)return I("button-click",{item:t,msgItem:n,fieldItem:l}),void A.value.forEach((e=>e.contents.forEach((e=>e.disabled=!0))));A.value.forEach((e=>e.buttonType&&(e.disabled=!0))),t.link||(_.beingSent=!0,_.sendContent="确定")}function B(e,t){const{contentType:n,content:l=""}=t;if("json"!==n||!function(e){try{return JSON.parse(e),!0}catch(e){return!1}}(l))return null;const a=JSON.parse(l),i=["journaling","dashboard"].includes(a.buttonType);return s("div",{class:"card"},[[s("p",null,[a.title]),i?a.fields.map((n=>s(d,{class:"link-btn",style:"--n-height: 36px",secondary:!0,"icon-placement":"right",onClick:()=>R({item:e,msgItem:t,fieldItem:n})},{default:()=>n.name,icon:()=>s(p,{component:x},null)}))):[s("div",{class:"card-body"},[s("p",{class:"card-body__head"},[a.instructionName]),s("div",{class:"card-body__content"},[a.fields.map((e=>s("div",null,[s("span",{class:"label"},[e.name]),o(":"),s("span",null,[e.value])])))])]),s(d,{style:"margin-top: 10px;width: 100%;--n-height: 36px;font-size: 15px",secondary:!0,class:"gradient",disabled:t.disabled,onClick:()=>R({item:e,msgItem:t})},{default:()=>[a.buttonName]})]]])}function F(e,t){const{contents:n=[],buttonType:l=""}=e,a=B(e,n[t]);if(a)return a;return[n[t].content.replace(/\\n|\n|\r\n/g,"<br>").split("<br>").filter((e=>!!e)).map(((e,t,n)=>[e,t===n.length-1?null:s("br",null,null)])),l&&0===t?[s("br",null,null),s(d,i({style:"margin-top: 5px",secondary:!0,class:"gradient",disabled:e.disabled},e.link?{tag:"a",href:e.link,target:"_blank"}:{},{onClick:()=>R({item:e})}),{default:()=>[o("确定")]})]:null]}function G({role:e=""}){return"user"===e}function K(){let e;return s("div",{class:"message-item"},[s(u,{round:!0,size:N.value?64:40,src:H.value},null),s("div",{class:"content-box"},[s("div",{class:"content fillet-10 default"},[s("h2",null,[o("Hi,我是你的AI助理")]),s("p",null,[o("我汇集了医生站/护士站各项智能服务,可以向我进行提问哦 ~ "),s("br",null,null),o("你的反馈助我成长,期待我们一起探索未来!下次可以在首页和应用页找到我~")]),b(w.value)&&w.value.length>0?[s("p",{style:"margin: 5px 0 5px"},[o("你可以试着问我:")]),s(m,{"wrap-item":!1},S(e=w.value.map((e=>s(d,{size:"large",secondary:!0,onClick:()=>_.sendContent=e,disabled:_.beingSent},S(e)?e:{default:()=>[e]}))))?e:{default:()=>[e]})]:null])])])}return k(O,(()=>{L()}),M.value?"bottom":"top"),L(!0),a((()=>_.beingSent),(async e=>{var t;if(e){null==(t=O.value)||t.scrollTo({top:0,behavior:"auto"}),A.value.unshift({contents:[{role:"user",content:_.sendContent}]}),D();const e=await T.value({content:_.sendContent,contentType:"text"});b(null==e?void 0:e.contents)&&A.value.unshift(e),_.beingSent=!1,_.sendContent=""}})),()=>s("section",{class:"chat-main",ref:O,style:{"flex-direction":M.value?"column":"column-reverse"}},[[_.beingSent?s("div",{class:"message-item"},[[N.value?null:s(u,{round:!0,size:40,src:H.value},null),s("div",{class:"content-box"},[s("div",{class:"content loading"},[s(c,{size:22,stroke:"#4170EE"},null),s("span",null,[o("正在加载中,请稍等...")])])])]]):null,A.value.map((e=>e.contents.map(((t,n)=>s("div",{class:"message-item"},[[N.value?null:s(u,{round:!0,size:40,src:G(t)?E.value:H.value},null),s("div",{class:["content-box",G(t)?"mine":""]},[s("div",{class:"content"},[y(t.render)?t.render():F(e,n)])])]]))))),q.value?K():null]])}});export{j as default};
|
@@ -1 +1 @@
|
|
1
|
-
.c-recording-wrapper{align-items:center;background-color:#fff;border-radius:10px;bottom:100px;display:flex;height:350px;justify-content:center;left:calc(50% - 250px);position:fixed;width:500px}@keyframes toScale{0%{transform:translateX(-50%) translateY(-50%) scale(1)}to{transform:translateX(-50%) translateY(-50%) scale(1.5)}}.c-recording-wrapper .content{font-size:18px;position:absolute;text-align:center;top:20px}.c-recording-wrapper .animation{animation:toScale 1s infinite;background-color:#5585f54d;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(1);z-index:-1}.c-recording-wrapper .animation,.c-recording-wrapper .icon-box{align-items:center;border-radius:50%;display:flex;height:90px;justify-content:center;width:90px}.c-recording-wrapper .icon-box{background-color:#5585f5;cursor:pointer}.c-recording-wrapper .tip{bottom:20px;position:absolute}.ai-chat{background:linear-gradient(135deg,#c9dbfb,#c9dbfb 20%,rgba(237,237,253,.5) 70%,rgba(151,97,251,.2));display:flex;flex-flow:column nowrap;height:100%;padding:45px 0 60px;width:100%}.ai-chat,.ai-chat *{box-sizing:border-box}.ai-chat .fillet-10{border-radius:10px}.ai-chat .fillet-8{border-radius:8px}.ai-chat .n-avatar{background-color:var(--c-primary-color)}.ai-chat .gradient{background:linear-gradient(178deg,#8f66f7,#4170ee);color:#fff}.ai-chat .gradient:active,.ai-chat .gradient:focus,.ai-chat .gradient:hover{color:#fff}.ai-chat .chat-main{display:flex;flex:1;flex-flow:column-reverse nowrap;overflow-y:auto;padding:0 130px 0 82px;row-gap:16px}.ai-chat .chat-main::-webkit-scrollbar{width:5px}.ai-chat .chat-main::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-main .message-item{column-gap:8px;display:flex;flex-flow:row nowrap}.ai-chat .chat-main .message-item:first-child{margin-bottom:auto}.ai-chat .chat-main .message-item .n-avatar{flex-shrink:0}.ai-chat .chat-main .message-item .content-box .content{background:#fff;border-radius:10px;padding:10px 12px}.ai-chat .chat-main .message-item .content-box .content .card{width:236px}.ai-chat .chat-main .message-item .content-box .content .card>p{font-size:14px;line-height:19px}.ai-chat .chat-main .message-item .content-box .content .card .link-btn{display:flex;flex-flow:row wrap;font-size:14px;justify-content:space-between;margin-top:10px;width:100%}.ai-chat .chat-main .message-item .content-box .content .card .link-btn .n-button__content{display:unset;flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ai-chat .chat-main .message-item .content-box .content .card .card-body{border:1px solid #d5d5d5;border-radius:8px;margin-top:5px;overflow:hidden}.ai-chat .chat-main .message-item .content-box .content .card .card-body__head{background:rgba(65,112,238,.14);line-height:36px;padding:0 15px}.ai-chat .chat-main .message-item .content-box .content .card .card-body__content{padding:10px 6px}.ai-chat .chat-main .message-item .content-box .content .card .card-body__content>div{display:flex;font-size:12px}.ai-chat .chat-main .message-item .content-box .content .card .card-body__content>div .label{flex:0 0
|
1
|
+
.c-recording-wrapper{align-items:center;background-color:#fff;border-radius:10px;bottom:100px;display:flex;height:350px;justify-content:center;left:calc(50% - 250px);position:fixed;width:500px}@keyframes toScale{0%{transform:translateX(-50%) translateY(-50%) scale(1)}to{transform:translateX(-50%) translateY(-50%) scale(1.5)}}.c-recording-wrapper .content{font-size:18px;position:absolute;text-align:center;top:20px}.c-recording-wrapper .animation{animation:toScale 1s infinite;background-color:#5585f54d;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(1);z-index:-1}.c-recording-wrapper .animation,.c-recording-wrapper .icon-box{align-items:center;border-radius:50%;display:flex;height:90px;justify-content:center;width:90px}.c-recording-wrapper .icon-box{background-color:#5585f5;cursor:pointer}.c-recording-wrapper .tip{bottom:20px;position:absolute}.ai-chat{background:linear-gradient(135deg,#c9dbfb,#c9dbfb 20%,rgba(237,237,253,.5) 70%,rgba(151,97,251,.2));display:flex;flex-flow:column nowrap;font-size:14px;height:100%;padding:45px 0 60px;width:100%}.ai-chat,.ai-chat *{box-sizing:border-box}.ai-chat .fillet-10{border-radius:10px}.ai-chat .fillet-8{border-radius:8px}.ai-chat .n-avatar{background-color:var(--c-primary-color)}.ai-chat .gradient{background:linear-gradient(178deg,#8f66f7,#4170ee);color:#fff}.ai-chat .gradient:active,.ai-chat .gradient:focus,.ai-chat .gradient:hover{color:#fff}.ai-chat .chat-main{display:flex;flex:1;flex-flow:column-reverse nowrap;overflow-y:auto;padding:0 130px 0 82px;row-gap:16px}.ai-chat .chat-main::-webkit-scrollbar{width:5px}.ai-chat .chat-main::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-main .message-item{column-gap:8px;display:flex;flex-flow:row nowrap}.ai-chat .chat-main .message-item:first-child{margin-bottom:auto}.ai-chat .chat-main .message-item .n-avatar{flex-shrink:0}.ai-chat .chat-main .message-item .content-box .content{background:#fff;border-radius:10px;padding:10px 12px}.ai-chat .chat-main .message-item .content-box .content .card{width:236px}.ai-chat .chat-main .message-item .content-box .content .card>p{font-size:14px;line-height:19px}.ai-chat .chat-main .message-item .content-box .content .card .link-btn{display:flex;flex-flow:row wrap;font-size:14px;justify-content:space-between;margin-top:10px;width:100%}.ai-chat .chat-main .message-item .content-box .content .card .link-btn .n-button__content{display:unset;flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ai-chat .chat-main .message-item .content-box .content .card .card-body{border:1px solid #d5d5d5;border-radius:8px;margin-top:5px;overflow:hidden}.ai-chat .chat-main .message-item .content-box .content .card .card-body__head{background:rgba(65,112,238,.14);line-height:36px;padding:0 15px}.ai-chat .chat-main .message-item .content-box .content .card .card-body__content{padding:10px 6px}.ai-chat .chat-main .message-item .content-box .content .card .card-body__content>div{display:flex;font-size:12px}.ai-chat .chat-main .message-item .content-box .content .card .card-body__content>div .label{flex:0 0 60px;text-align:right}.ai-chat .chat-main .message-item .content-box .content.default h2{font-size:22px;font-weight:500;margin:10px 0}.ai-chat .chat-main .message-item .content-box .content.loading{align-items:center;color:#999;column-gap:10px;display:flex}.ai-chat .chat-main .message-item .content-box.mine .content{background:hsla(0,0%,100%,.48);border-radius:8px}.ai-chat .chat-footer{padding:30px 130px 0}.ai-chat .chat-footer.disabled{cursor:not-allowed}.ai-chat .chat-footer .menu-box{background:#fff;column-gap:8px;display:flex;margin-bottom:8px;overflow-x:auto;padding:10px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar{width:5px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar{height:5px}.ai-chat .chat-footer .input-wrapper{background:#fff;box-shadow:0 3px 4px 0 rgba(0,0,0,.1);padding:15px 20px}.ai-chat .chat-footer .input-wrapper .n-input__border,.ai-chat .chat-footer .input-wrapper .n-input__state-border{border:none}.ai-chat .chat-footer .input-wrapper .n-input:not(.n-input--disabled).n-input--focus .n-input__state-border{box-shadow:unset}.ai-chat .chat-footer .input-wrapper .btn-box{display:flex;justify-content:flex-end}.ai-chat .chat-footer .input-wrapper .btn-box .btn-send{align-items:center;cursor:pointer;display:flex;height:46px;justify-content:center;width:58px}.ai-chat .chat-footer .input-wrapper .btn-box .btn-send.disabled{cursor:not-allowed;opacity:.5}.ai-chat--small{padding:20px 20px 44px}.ai-chat--small .chat-main{padding:0 0 10px}.ai-chat--small .chat-main .message-item{display:unset}.ai-chat--small .chat-main .message-item .n-avatar{background:transparent}.ai-chat--small .chat-main .message-item .content-box{display:flex;flex-flow:row nowrap}.ai-chat--small .chat-main .message-item .content-box .content{border-radius:3px 14px 14px;max-width:calc(100% - 55px)}.ai-chat--small .chat-main .message-item .content-box .content.default{border-radius:4px 16px 16px}.ai-chat--small .chat-main .message-item .content-box.mine{flex-flow:row-reverse nowrap}.ai-chat--small .chat-main .message-item .content-box.mine .content{background:#5874dc;border-radius:14px 0 14px 14px;color:#fff}.ai-chat--small .chat-footer{padding:10px 0 0}.ai-chat--small .chat-footer .menu-box{background:none;padding:0}.ai-chat--small .chat-footer .menu-box .n-button{background:#fff}.ai-chat--small .chat-footer .input-wrapper{border-radius:24px;box-shadow:0 0 6px 0 hsla(240,9%,85%,.74);padding:0}
|