@aplus-frontend/ui
Version:
5 lines (4 loc) • 2.82 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("@aplus-frontend/antdv"),R=require("@aplus-frontend/icon"),B=require("lodash-unified");require("../../../config-provider/index.js");require("../../../hooks/index.js");const w=require("../utils.js"),A=require("../../../hooks/useControllableValue.js"),O=require("../../../config-provider/hooks/use-locale.js"),f=require("../../../config-provider/hooks/use-namespace.js"),k=e.defineComponent({name:"BatchInputGroupPopoverInput",inheritAttrs:!1,__name:"index",props:{_parent:{},onClose:{type:Function},disabled:{type:Boolean},maxNum:{},getPopupContainer:{type:Function},placement:{},value:{},"onUpdate:value":{type:Function}},emits:["update:value"],setup(d,{emit:v}){const a=d,m=v,{value:g,updateValue:h}=A.useControllableValue(a,m),u=e.ref(!1),s=e.ref(),c=e.ref(),l=e.ref({left:0,right:0}),C=t=>a._parent||t,{t:b}=O.useLocale();function y(t){const o=t.target.value||"";let n=w.splitValue(o,`
,`,`
`,a.maxNum);if(n=n.replace(/\\n/g,`
`),n!==o){const r=s.value?.$el||s.value;r&&(r.value=n)}h(n)}const x=()=>{if(a.getPopupContainer){const t=a._parent,o=a.getPopupContainer(),n=t?.getBoundingClientRect(),r=o?.getBoundingClientRect();c.value=t?.offsetWidth,l.value.left=(n?.left||0)-(r.left||0),l.value.right=(n?.right||0)-(r.right||0)}};function N(t){x(),a.disabled?u.value=!1:u.value=t,!t&&a.onClose?.()}const{b:p,e:V,em:q,bm:P}=f.useNamespace("batch-input-group-popover-input"),{cssVar:_}=f.useNamespace("batch-input-group-popover"),I=e.computed(()=>{const t=a.placement,o=B.isNumber(t)?`${t}px`:t==="left"?`${l.value.left}px`:"unset",n=t==="right"?`${-l.value.right}px`:"unset";return{left:o,right:n}}),$=e.computed(()=>_({...I.value,width:c.value?`${c.value}px`:"100%"}));return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)())},[e.createVNode(e.unref(i.Popover),{"overlay-class-name":`${e.unref(V)("popover")} ${t.$attrs.class}`,"get-popup-container":t.getPopupContainer??C,trigger:"click",placement:"bottomLeft",open:u.value,"overlay-style":$.value,onOpenChange:N},{content:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(q)("popover","content"))},[e.createVNode(e.unref(i.Textarea),{ref_key:"textAreaRef",ref:s,placeholder:e.unref(b)("ap.batchInputGroup.popoverInputPlaceholder",{maxNum:t.maxNum+""}),bordered:!1,rows:10,value:e.unref(g),"allow-clear":!1,"auto-size":!1,onInput:y},null,8,["placeholder","value"])],2)]),default:e.withCtx(()=>[e.createVNode(e.unref(R.IconApAdLineScreen),{class:e.normalizeClass([e.unref(p)("trigger-icon"),t.disabled?e.unref(P)("trigger-icon","disabled"):null])},null,8,["class"])]),_:1},8,["overlay-class-name","get-popup-container","open","overlay-style"])],2))}});exports.default=k;