@artmate/chat
Version:
借鉴字节开源react库AntX,通过vue实现的版本
2 lines (1 loc) • 2.22 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),b=require("element-plus"),g=require("../collapseTransition/index.vue.js");;/* empty css */const C=require("../hooks/useNamespace.js"),v=e.defineComponent({__name:"index",props:{modelValue:{},classNames:{default:void 0},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},readOnly:{type:Boolean},rootClassName:{default:""},submitType:{type:[String,Boolean],default:"enter"},onChange:{type:Function,default:()=>{}},onKeyPress:{type:Function,default:()=>{}}},emits:["update:modelValue","onSubmit"],setup(m,{emit:f}){const s=m,o=f,t=C.useNamespace("sender"),p=n=>{s!=null&&s.onChange&&s.onChange(n)},c=n=>{p(n)},r=()=>{s.modelValue&&!s.loading&&o("onSubmit")},y=n=>{const a=n.key==="Enter";switch(s.submitType){case"enter":{a&&!n.shiftKey&&(n.preventDefault(),r());break}case"shiftEnter":{a&&n.shiftKey&&(n.preventDefault(),r());break}}s.onKeyPress&&s.onKeyPress(n)};return(n,a)=>{var i,u;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(t).b(),n.disabled&&e.unref(t).b("disabled"),n.rootClassName])},[e.createVNode(g.default,null,{default:e.withCtx(()=>[e.renderSlot(n.$slots,"header")]),_:3}),e.createElementVNode("div",{class:e.normalizeClass(e.unref(t).b("content"))},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(t).b("prefix"),(i=n.classNames)==null?void 0:i.prefix])},[e.renderSlot(n.$slots,"prefix")],2),e.renderSlot(n.$slots,"components",{},()=>{var d;return[e.createVNode(e.unref(b.ElInput),e.mergeProps({autosize:{maxRows:8},class:[e.unref(t).b("input"),(d=n.classNames)==null?void 0:d.input],disabled:n.disabled,"model-value":n.modelValue,readonly:n.readOnly,placeholder:"请输入内容",resize:"none",type:"textarea"},n.$attrs,{onChange:c,onKeydown:a[0]||(a[0]=l=>y(l)),"onUpdate:modelValue":a[1]||(a[1]=l=>o("update:modelValue",l))}),null,16,["class","disabled","model-value","readonly"])]}),e.createElementVNode("div",{class:e.normalizeClass([e.unref(t).b("actions-list"),(u=n.classNames)==null?void 0:u.actions])},[e.renderSlot(n.$slots,"actions")],2)],2)],2)}}});exports.default=v;