ll-package
Version:
2 lines (1 loc) • 2.27 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("vue"),y=require("../_util/classNames.js"),w=require("../../../@ant-design/icons-vue/es/icons/CloseCircleFilled.js"),B=require("../_util/vue-types/index.js"),b=require("../_util/vnode.js"),t=require("../_util/type.js"),$=require("./util.js"),F=require("../form/FormItemContext.js"),x=require("../_util/statusUtils.js"),A=["text","input"],M=p.defineComponent({compatConfig:{MODE:3},name:"ClearableLabeledInput",inheritAttrs:!1,props:{prefixCls:String,inputType:B.default.oneOf(t.tuple("text","input")),value:t.anyType(),defaultValue:t.anyType(),allowClear:{type:Boolean,default:void 0},element:t.anyType(),handleReset:Function,disabled:{type:Boolean,default:void 0},direction:{type:String},size:{type:String},suffix:t.anyType(),prefix:t.anyType(),addonBefore:t.anyType(),addonAfter:t.anyType(),readonly:{type:Boolean,default:void 0},focused:{type:Boolean,default:void 0},bordered:{type:Boolean,default:!0},triggerFocus:{type:Function},hidden:Boolean,status:String,hashId:String},setup(r,h){let{slots:l,attrs:d}=h;const m=F.FormItemInputContext.useInject(),C=e=>{const{value:n,disabled:a,readonly:o,handleReset:u,suffix:i=l.suffix}=r,c=!a&&!o&&n,s=`${e}-clear-icon`;return p.createVNode(w.default,{onClick:u,onMousedown:f=>f.preventDefault(),class:y.default({[`${s}-hidden`]:!c,[`${s}-has-suffix`]:!!i},s),role:"button"},null)},g=(e,n)=>{const{value:a,allowClear:o,direction:u,bordered:i,hidden:c,status:s,addonAfter:f=l.addonAfter,addonBefore:T=l.addonBefore,hashId:v}=r,{status:I,hasFeedback:S}=m;if(!o)return b.cloneElement(n,{value:a,disabled:r.disabled});const q=y.default(`${e}-affix-wrapper`,`${e}-affix-wrapper-textarea-with-clear-btn`,x.getStatusClassNames(`${e}-affix-wrapper`,x.getMergedStatus(I,s),S),{[`${e}-affix-wrapper-rtl`]:u==="rtl",[`${e}-affix-wrapper-borderless`]:!i,[`${d.class}`]:!$.hasAddon({addonAfter:f,addonBefore:T})&&d.class},v);return p.createVNode("span",{class:q,style:d.style,hidden:c},[b.cloneElement(n,{style:null,value:a,disabled:r.disabled}),C(e)])};return()=>{var e;const{prefixCls:n,inputType:a,element:o=(e=l.element)===null||e===void 0?void 0:e.call(l)}=r;return a===A[0]?g(n,o):null}}});exports.default=M;