You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
7.7 KiB
2 lines
7.7 KiB
import{aX as Be,aP as Ae,aY as Pe,an as Ee,aj as Te,j,a0 as $e,H as I,V as x,a9 as ze,k as D,l as Le,a as M,P as We,aZ as qe,q as v,S as Fe,s as He,v as Oe,K as k,o as Re,E as je,b as i,I as De,T as B,ai as K,a_ as Ke,M as Y,Z as A,aR as Ye,Y as Z,ax as Ze,a$ as Ge,b0 as Xe,O as G,F as Je,G as Ne,aO as Qe,__tla as Ue}from"./index.2ddf0537.js";import{c as et,C as tt,__tla as at}from"./index.001d4afe.js";import{u as rt,__tla as lt}from"./use-id.80203e48.js";let X,J,st=Promise.all([(()=>{try{return Ue}catch{}})(),(()=>{try{return at}catch{}})(),(()=>{try{return lt}catch{}})()]).then(async()=>{function P(e){return Array.isArray(e)?!e.length:e===0?!1:!e}function N(e,a){if(P(e)){if(a.required)return!1;if(a.validateEmpty===!1)return!0}return!(a.pattern&&!a.pattern.test(String(e)))}function Q(e,a){return new Promise(n=>{const o=a.validator(e,a);if(Ee(o)){o.then(n);return}n(o)})}function E(e,a){const{message:n}=a;return Te(n)?n(e,a):n||""}function U({target:e}){e.composing=!0}function T({target:e}){e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}function ee(e,a){const n=Be();e.style.height="auto";let o=e.scrollHeight;if(Pe(a)){const{maxHeight:l,minHeight:u}=a;l!==void 0&&(o=Math.min(o,l)),u!==void 0&&(o=Math.max(o,u))}o&&(e.style.height=`${o}px`,Ae(n))}function te(e){return e==="number"?{type:"text",inputmode:"decimal"}:e==="digit"?{type:"tel",inputmode:"numeric"}:{type:e}}function S(e){return[...e].length}function ae(e,a){return[...e].slice(0,a).join("")}const[re,g]=j("field"),le={id:String,name:String,leftIcon:String,rightIcon:String,autofocus:Boolean,clearable:Boolean,maxlength:I,formatter:Function,clearIcon:x("clear"),modelValue:De(""),inputAlign:String,placeholder:String,autocomplete:String,errorMessage:String,enterkeyhint:String,clearTrigger:x("focus"),formatTrigger:x("onChange"),error:{type:Boolean,default:null},disabled:{type:Boolean,default:null},readonly:{type:Boolean,default:null}},se=$e({},et,le,{rows:I,type:x("text"),rules:Array,autosize:[Boolean,Object],labelWidth:I,labelClass:ze,labelAlign:String,showWordLimit:Boolean,errorMessageAlign:String,colon:{type:Boolean,default:null}});var ne=D({name:re,props:se,emits:["blur","focus","clear","keypress","clickInput","endValidate","startValidate","clickLeftIcon","clickRightIcon","update:modelValue"],setup(e,{emit:a,slots:n}){const o=rt(),l=Le({status:"unvalidated",focused:!1,validateMessage:""}),u=M(),L=M(),_=M(),{parent:f}=We(qe),m=()=>{var t;return String((t=e.modelValue)!=null?t:"")},p=t=>{if(B(e[t]))return e[t];if(f&&B(f.props[t]))return f.props[t]},oe=v(()=>{const t=p("readonly");if(e.clearable&&!t){const r=m()!=="",s=e.clearTrigger==="always"||e.clearTrigger==="focus"&&l.focused;return r&&s}return!1}),W=v(()=>_.value&&n.input?_.value():e.modelValue),ue=t=>t.reduce((r,s)=>r.then(()=>{if(l.status==="failed")return;let{value:c}=W;if(s.formatter&&(c=s.formatter(c,s)),!N(c,s)){l.status="failed",l.validateMessage=E(c,s);return}if(s.validator)return P(c)&&s.validateEmpty===!1?void 0:Q(c,s).then(d=>{d&&typeof d=="string"?(l.status="failed",l.validateMessage=d):d===!1&&(l.status="failed",l.validateMessage=E(c,s))})}),Promise.resolve()),h=()=>{l.status="unvalidated",l.validateMessage=""},q=()=>a("endValidate",{status:l.status,message:l.validateMessage}),F=(t=e.rules)=>new Promise(r=>{h(),t?(a("startValidate"),ue(t).then(()=>{l.status==="failed"?(r({name:e.name,message:l.validateMessage}),q()):(l.status="passed",r(),q())})):r()}),w=t=>{if(f&&e.rules){const{validateTrigger:r}=f.props,s=K(r).includes(t),c=e.rules.filter(d=>d.trigger?K(d.trigger).includes(t):s);c.length&&F(c)}},ce=t=>{const{maxlength:r}=e;if(B(r)&&S(t)>r){const s=m();return s&&S(s)===+r?s:ae(t,+r)}return t},b=(t,r="onChange")=>{const s=t;t=ce(t);const c=t!==s;if(e.type==="number"||e.type==="digit"){const d=e.type==="number";t=Ke(t,d,d)}if(e.formatter&&r===e.formatTrigger&&(t=e.formatter(t)),u.value&&u.value.value!==t)if(l.focused&&c){const{selectionStart:d,selectionEnd:Me}=u.value;u.value.value=t,u.value.setSelectionRange(d-1,Me-1)}else u.value.value=t;t!==e.modelValue&&a("update:modelValue",t)},de=t=>{t.target.composing||b(t.target.value)},C=()=>{var t;return(t=u.value)==null?void 0:t.blur()},ge=()=>{var t;return(t=u.value)==null?void 0:t.focus()},y=()=>{const t=u.value;e.type==="textarea"&&e.autosize&&t&&ee(t,e.autosize)},fe=t=>{l.focused=!0,a("focus",t),k(y),p("readonly")&&C()},pe=t=>{p("readonly")||(l.focused=!1,b(m(),"onBlur"),a("blur",t),w("onBlur"),k(y),Xe())},H=t=>a("clickInput",t),me=t=>a("clickLeftIcon",t),ve=t=>a("clickRightIcon",t),he=t=>{Y(t),a("update:modelValue",""),a("clear",t)},O=v(()=>{if(typeof e.error=="boolean")return e.error;if(f&&f.props.showError&&l.status==="failed")return!0}),be=v(()=>{const t=p("labelWidth");if(t)return{width:Fe(t)}}),ye=t=>{t.keyCode===13&&(!(f&&f.props.submitOnEnter)&&e.type!=="textarea"&&Y(t),e.type==="search"&&C()),a("keypress",t)},R=()=>e.id||`${o}-input`,xe=()=>l.status,ke=()=>{const t=g("control",[p("inputAlign"),{error:O.value,custom:!!n.input,"min-height":e.type==="textarea"&&!e.autosize}]);if(n.input)return i("div",{class:t,onClick:H},[n.input()]);const r={id:R(),ref:u,name:e.name,rows:e.rows!==void 0?+e.rows:void 0,class:t,disabled:p("disabled"),readonly:p("readonly"),autofocus:e.autofocus,placeholder:e.placeholder,autocomplete:e.autocomplete,enterkeyhint:e.enterkeyhint,"aria-labelledby":e.label?`${o}-label`:void 0,onBlur:pe,onFocus:fe,onInput:de,onClick:H,onChange:T,onKeypress:ye,onCompositionend:T,onCompositionstart:U};return e.type==="textarea"?i("textarea",r,null):i("input",Z(te(e.type),r),null)},Se=()=>{const t=n["left-icon"];if(e.leftIcon||t)return i("div",{class:g("left-icon"),onClick:me},[t?t():i(A,{name:e.leftIcon,classPrefix:e.iconPrefix},null)])},Ve=()=>{const t=n["right-icon"];if(e.rightIcon||t)return i("div",{class:g("right-icon"),onClick:ve},[t?t():i(A,{name:e.rightIcon,classPrefix:e.iconPrefix},null)])},_e=()=>{if(e.showWordLimit&&e.maxlength){const t=S(m());return i("div",{class:g("word-limit")},[i("span",{class:g("word-num")},[t]),Ze("/"),e.maxlength])}},we=()=>{if(f&&f.props.showErrorMessage===!1)return;const t=e.errorMessage||l.validateMessage;if(t){const r=n["error-message"],s=p("errorMessageAlign");return i("div",{class:g("error-message",s)},[r?r({message:t}):t])}},Ce=()=>{const t=p("colon")?":":"";if(n.label)return[n.label(),t];if(e.label)return i("label",{id:`${o}-label`,for:R()},[e.label+t])},Ie=()=>[i("div",{class:g("body")},[ke(),oe.value&&i(A,{ref:L,name:e.clearIcon,class:g("clear")},null),Ve(),n.button&&i("div",{class:g("button")},[n.button()])]),_e(),we()];return He({blur:C,focus:ge,validate:F,formValue:W,resetValidation:h,getValidationStatus:xe}),Ye(Ge,{customValue:_,resetValidation:h,validateWithTrigger:w}),Oe(()=>e.modelValue,()=>{b(m()),h(),w("onChange"),k(y)}),Re(()=>{b(m(),e.formatTrigger),k(y)}),je("touchstart",he,{target:v(()=>{var t;return(t=L.value)==null?void 0:t.$el})}),()=>{const t=p("disabled"),r=p("labelAlign"),s=Ce(),c=Se(),d=()=>r==="top"?[c,s]:s;return i(tt,{size:e.size,class:g({error:O.value,disabled:t,[`label-${r}`]:r}),center:e.center,border:e.border,isLink:e.isLink,clickable:e.clickable,titleStyle:be.value,valueClass:g("value"),titleClass:[g("label",[r,{required:e.required}]),e.labelClass],arrowDirection:e.arrowDirection},{icon:c&&r!=="top"?()=>c:null,title:s||r==="top"?d:null,value:Ie,extra:n.extra})}}});let $,V,z;J=G(ne),[$,V]=j("cell-group"),z={title:String,inset:Boolean,border:Ne};var ie=D({name:$,inheritAttrs:!1,props:z,setup(e,{slots:a,attrs:n}){const o=()=>{var u;return i("div",Z({class:[V({inset:e.inset}),{[Qe]:e.border&&!e.inset}]},n),[(u=a.default)==null?void 0:u.call(a)])},l=()=>i("div",{class:V("title",{inset:e.inset})},[a.title?a.title():e.title]);return()=>e.title||a.title?i(Je,null,[l(),o()]):o()}});X=G(ie)});export{X as C,J as F,st as __tla};
|