1import S from"./Dwx_ir2a.js";import{B as M,C as w,d as C,L as j,u as U,c as d,e as k,r as q,a4 as A,Z as V,a5 as L,U as D,H as E,g as f,t as g,q as y,l as K,f as P,M as I,b as c,S as T,P as Z}from"./DHiWUW6j.js";const _=(e,r)=>{const t=M(null);return{error:t,validate:(h,a)=>{if(e){for(const o of e)if(o==="native"&&a&&!a.checkValidity()){const{validity:n}=a;if(n.valid)return;if(n.badInput)return void(t.value="Invalid input.");if(n.patternMismatch)return void(t.value=r||"Input does not match the required pattern.");if(n.rangeOverflow)return void(t.value=`Input is larger than ${a.max}`);if(n.rangeUnderflow)return void(t.value=`Input is smaller than ${a.min}.`);if(n.stepMismatch)return void(t.value=`Input must be in increments of ${a.step}.`);if(n.tooLong)return void(t.value=`Input is longer than ${a.maxlength||a.maxLength} characters.`);if(n.tooShort)return void(t.value=`Input is shorter than ${a.minlength||a.minLength} characters.`);if(n.typeMismatch)return void(t.value=`Invalid ${a.type}.`);if(n.valueMissing)return void(t.value="This field is required.")}else if(o==="native"&&!a)console.warn("[useValidable]: got `native` validator but no element to validate.");else if(typeof o!="string"&&o.validate&&!o.validate(h)){const n=typeof o.message=="string"?o.message:o.message();t.value=n,a&&a.setCustomValidity(n);return}a&&a.setCustomValidity(""),t.value=null}}}};function O(e,r){return{placeholderMessage:w(()=>{const v=r?"*":"";return e.endsWith(v)?e:`${e} ${v}`.trim()})}}const z=e=>{if(e.code==="custom"&&e.type==="url"){const{reason:r}=e;return{code:`error.invalid_url${["https","loopback","private","server_invite"].includes(r)?`_${r}`:""}`}}else if(e.code==="too_small"||e.code==="too_big"){const r=e.code==="too_small"?e.minimum:e.maximum;return e.type==="number"?{code:`${e.code}_number${e.inclusive?"_inclusive":""}`,count:r}:{code:`error.${e.code}_${e.type}`,count:r}}return{code:`error.${e.code}`}},F={class:"at-input__wrapper"},H={class:"at-input__input-wrapper"},R=["id","required","type","name"],W=["required"],G=["for"],J={key:2,class:"at-input__counter"},Q={key:1,class:"message is-error small at-input__error"},X=C({__name:"AtInput",props:I({type:{default:"text"},removable:{type:Boolean},errors:{default:()=>({})},name:{},formName:{},validators:{},nativePatternMessage:{},placeholder:{default:""},required:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:I(["killed","change","submit"],["update:modelValue"]),setup(e,{emit:r}){const t=j(e,"modelValue"),v=r,{t:h}=U(),{error:a,validate:o}=_(e.validators,e.nativePatternMessage),{placeholderMessage:n}=O(e.placeholder,e.required),u=M(!1),l=M(),p=w(()=>{if(e.name&&Object.keys(e.errors).includes(e.name)){const i=e.errors[e.name].map(s=>{const{code:b,count:m}=z(s);return typeof m=="number"?h(b,m,{named:s}):h(b,s)});return i.length>1?`Errors: 2- ${i.join(` 3- `)}`:i[0]}return a.value}),$=()=>v("change"),x=()=>{o(t,l.value)},N=()=>{u.value=!0,o(t,l.value)},B=()=>{u.value=!1,o(t,l.value)};return(i,s)=>{const b=S;return c(),d("div",F,[k("div",H,[e.type!=="textarea"?q((c(),d("input",V({key:0,id:e.name,ref_key:"input",ref:l},i.$attrs,{"onUpdate:modelValue":s[0]||(s[0]=m=>t.value=m),placeholder:" ",required:!!e.required,type:e.type,name:e.formName,class:"input",onKeydown:s[1]||(s[1]=L(m=>i.$emit("submit"),["enter"])),onChange:$,onInput:x,onFocus:N,onBlur:B}),null,16,R)),[[A,t.value]]):q((c(),d("textarea",V({key:1,ref_key:"input",ref:l},i.$attrs,{"onUpdate:modelValue":s[2]||(s[2]=m=>t.value=m),placeholder:" ",required:!!e.required,class:"input is-textarea",onChange:$,onInput:x,onFocus:N,onBlur:B}),null,16,W)),[[D,t.value]]),k("label",{class:E(["at-input__label",{"is-active":!!t.value||f(u),"is-disabled":!!i.$attrs.disabled}]),for:e.name},g(f(n)),11,G),i.$attrs.maxlength?(c(),d("small",J,g((t.value||"").length)+" / "+g(i.$attrs.maxlength),1)):y("",!0)]),e.removable?(c(),d("button",{key:0,type:"button",class:"at-input__closer",onClick:s[3]||(s[3]=K(m=>i.$emit("killed"),["prevent"]))},[P(b,{name:"mdi:close"})])):y("",!0),f(p)?(c(),d("span",Q,g(f(p)),1)):y("",!0)])}}}),se=Object.assign(X,{__name:"AtInput"}),Y={class:"at-select"},ee=["id","required","name"],te=["disabled"],ae=["for"],ne={key:0,class:"message is-error small at-select__error"},re=C({__name:"AtSelect",props:I({noNull:{type:Boolean},canSelectNull:{type:Boolean},errors:{default:()=>({})},name:{},formName:{default:""},validators:{},nativePatternMessage:{},placeholder:{default:""},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const r=j(e,"modelValue"),{error:t,validate:v}=_(e.validators,e.nativePatternMessage),{placeholderMessage:h}=O(e.placeholder,e.required),a=M(),o=w(()=>
3{if(Object.keys(e.errors).includes(e.name)){const u=e.errors[e.name].filter(l=>"message"in l).map(l=>l.message);return u.length>1?`Errors: 4- ${u.join(` 5- `)}`:u[0]}return t.value}),n=()=>{v(r,a.value)};return(u,l)=>{const p=S;return c(),d("div",Y,[q(k("select",V({id:e.name,ref_key:"input",ref:a},u.$attrs,{"onUpdate:modelValue":l[0]||(l[0]=$=>r.value=$),required:!!e.required,name:e.formName,onInput:n}),[e.noNull?y("",!0):(c(),d("option",{key:0,disabled:!e.canSelectNull,value:"",selected:""},null,8,te)),Z(u.$slots,"default")],16,ee),[[T,r.value]]),k("label",{class:E(["at-select__label",{"is-active":!!r.value}]),for:e.name},g(f(h)),11,ae),P(p,{name:"mdi:chevron-down",class:"at-select__arrow"}),f(o)?(c(),d("span",ne,g(f(o)),1)):y("",!0)])}}}),ie=Object.assign(re,{__name:"AtSelect"});export{se as _,ie as a};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.