p3x-redis-ui-material
Version:
💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity
1 lines • 8.85 kB
JavaScript
import{A as e,C as t,Ct as n,G as r,H as i,I as a,Kt as o,R as s,V as c,Wt as l,Y as u,_t as d,dt as f,et as p,ht as m,nt as h,w as g,yt as _,z as v}from"./i18n.store-Bbsc3Bab.js";import{Bt as y,Ct as b,F as x,H as S,J as C,P as w,Pt as T,Rt as E,U as D,Vt as O,X as k,Y as A,Zn as j,dn as M,fn as N,gt as P,ht as F,lr as I,mt as L,nr as R,nt as z,pt as B,rt as ee,vt as V,x as H,zt as U}from"./_plugin-vue_export-helper-D1H5elb2.js";import{g as te}from"./transitions-Bp2Q4Qu5.js";var ne=O({text:String,onClick:M(),...y(),...z()},`VLabel`),re=T()({name:`VLabel`,props:ne(),setup(e,{slots:t}){return b(()=>g(`label`,{class:l([`v-label`,{"v-label--clickable":!!e.onClick},e.class]),style:o(e.style),onClick:e.onClick},[e.text,t.default?.()])),{}}});function W(t){let{t:n}=B();function r({name:r,color:i,...a}){let o={prepend:`prependAction`,prependInner:`prependAction`,append:`appendAction`,appendInner:`appendAction`,clear:`clear`}[r],c=t[`onClick:${r}`];function l(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),N(c,new PointerEvent(`click`,e)))}let u=c&&o?n(`$vuetify.input.${o}`,t.label??``):void 0;return e(H,s({icon:t[`${r}Icon`],"aria-label":u,onClick:c,onKeydown:l,color:i},a),null)}return{InputIcon:r}}var ie=O({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...y(),...D({transition:{component:te,leaveAbsolute:!0,group:!0}})},`VMessages`),G=T()({name:`VMessages`,props:ie(),setup(n,{slots:r}){let i=t(()=>R(n.messages)),{textColorClasses:a,textColorStyles:s}=C(()=>n.color);return b(()=>e(S,{transition:n.transition,tag:`div`,class:l([`v-messages`,a.value,n.class]),style:o([s.value,n.style])},{default:()=>[n.active&&i.value.map((e,t)=>g(`div`,{class:`v-messages__message`,key:`${t}-${i.value}`},[r.message?r.message({message:e}):e]))]})),{}}}),K=O({focused:Boolean,"onUpdate:focused":M()},`focus`);function q(e,t=U()){let n=F(e,`focused`),r=_(()=>({[`${t}--focused`]:n.value}));function i(){n.value=!0}function a(){n.value=!1}return{focusClasses:r,isFocused:n,focus:i,blur:a}}var J=Symbol.for(`vuetify:form`),ae=O({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:`input`}},`form`);function oe(e){let t=F(e,`modelValue`),n=_(()=>e.disabled),r=_(()=>e.readonly),i=d(!1),a=m([]),o=m([]);async function s(){let t=[],n=!0;o.value=[],i.value=!0;for(let r of a.value){let i=await r.validate();if(i.length>0&&(n=!1,t.push({id:r.id,errorMessages:i})),!n&&e.fastFail)break}return o.value=t,i.value=!1,{valid:n,errors:o.value}}function c(){a.value.forEach(e=>e.reset())}function l(){a.value.forEach(e=>e.resetValidation())}return h(a,()=>{let e=0,n=0,r=[];for(let t of a.value)t.isValid===!1?(n++,r.push({id:t.id,errorMessages:t.errorMessages})):t.isValid===!0&&e++;o.value=r,t.value=n>0?!1:e===a.value.length?!0:null},{deep:!0,flush:`post`}),u(J,{register:({id:e,vm:t,validate:n,reset:r,resetValidation:i})=>{a.value.some(t=>t.id===e)&&I(`Duplicate input name "${e}"`),a.value.push({id:e,validate:n,reset:r,resetValidation:i,vm:f(t),isValid:null,errorMessages:[]})},unregister:e=>{a.value=a.value.filter(t=>t.id!==e)},update:(e,t,n)=>{let r=a.value.find(t=>t.id===e);r&&(r.isValid=t,r.errorMessages=n)},isDisabled:n,isReadonly:r,isValidating:i,isValid:t,items:a,validateOn:_(()=>e.validateOn)}),{errors:o,isDisabled:n,isReadonly:r,isValidating:i,isValid:t,items:a,validate:s,reset:c,resetValidation:l}}function Y(e){let n=a(J,null);return{...n,isReadonly:t(()=>!!(e?.readonly??n?.isReadonly.value)),isDisabled:t(()=>!!(e?.disabled??n?.isDisabled.value))}}var X=Symbol.for(`vuetify:rules`);function se(e){let t=a(X,null);if(!e){if(!t)throw Error(`Could not find Vuetify rules injection`);return t.aliases}return t?.resolve(e)??_(e)}var Z=O({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...K()},`validation`);function Q(e,a=U(),o=p()){let s=F(e,`modelValue`),l=t(()=>e.validationValue===void 0?s.value:e.validationValue),u=Y(e),f=se(()=>e.rules),g=m([]),_=d(!0),y=t(()=>!!(R(s.value===``?null:s.value).length||R(l.value===``?null:l.value).length)),b=t(()=>e.errorMessages?.length?R(e.errorMessages).concat(g.value).slice(0,Math.max(0,Number(e.maxErrors))):g.value),x=t(()=>{let t=(e.validateOn??u.validateOn?.value)||`input`;t===`lazy`&&(t=`input lazy`),t===`eager`&&(t=`input eager`);let n=new Set(t?.split(` `)??[]);return{input:n.has(`input`),blur:n.has(`blur`)||n.has(`input`)||n.has(`invalid-input`),invalidInput:n.has(`invalid-input`),lazy:n.has(`lazy`),eager:n.has(`eager`)}}),S=t(()=>e.error||e.errorMessages?.length?!1:e.rules.length?_.value?g.value.length||x.value.lazy?null:!0:!g.value.length:!0),C=d(!1),w=t(()=>({[`${a}--error`]:S.value===!1,[`${a}--dirty`]:y.value,[`${a}--disabled`]:u.isDisabled.value,[`${a}--readonly`]:u.isReadonly.value})),T=E(`validation`),D=t(()=>e.name??n(o));c(()=>{u.register?.({id:D.value,vm:T,validate:A,reset:O,resetValidation:k})}),i(()=>{u.unregister?.(D.value)}),r(async()=>{x.value.lazy||await A(!x.value.eager),u.update?.(D.value,S.value,b.value)}),P(()=>x.value.input||x.value.invalidInput&&S.value===!1,()=>{h(l,()=>{if(l.value!=null)A();else if(e.focused){let t=h(()=>e.focused,e=>{e||A(),t()})}})}),P(()=>x.value.blur,()=>{h(()=>e.focused,e=>{e||A()})}),h([S,b],()=>{u.update?.(D.value,S.value,b.value)});async function O(){s.value=null,await v(),await k()}async function k(){_.value=!0,x.value.lazy?g.value=[]:await A(!x.value.eager)}async function A(t=!1){let n=[];C.value=!0;for(let t of f.value){if(n.length>=Number(e.maxErrors??1))break;let r=await(typeof t==`function`?t:()=>t)(l.value);if(r!==!0){if(r!==!1&&typeof r!=`string`){console.warn(`${r} is not a valid value. Rule functions must return boolean true or a string.`);continue}n.push(r||``)}}return g.value=n,C.value=!1,_.value=t,g.value}return{errorMessages:b,isDirty:y,isDisabled:u.isDisabled,isReadonly:u.isReadonly,isPristine:_,isValid:S,isValidating:C,reset:O,resetValidation:k,validate:A,validationClasses:w}}var $=O({id:String,appendIcon:V,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:V,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,indentDetails:{type:Boolean,default:null},persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:`horizontal`,validator:e=>[`horizontal`,`vertical`].includes(e)},"onClick:prepend":M(),"onClick:append":M(),...y(),...w(),...j(A(),[`maxWidth`,`minWidth`,`width`]),...z(),...Z()},`VInput`),ce=T()({name:`VInput`,props:{...$()},emits:{"update:modelValue":e=>!0},setup(n,{attrs:r,slots:i,emit:a}){let{densityClasses:s}=x(n),{dimensionStyles:c}=k(n),{themeClasses:u}=ee(n),{rtlClasses:d}=L(),{InputIcon:f}=W(n),m=p(),h=t(()=>n.id||`input-${m}`),{errorMessages:v,isDirty:y,isDisabled:S,isReadonly:C,isPristine:w,isValid:T,isValidating:E,reset:D,resetValidation:O,validate:A,validationClasses:j}=Q(n,`v-input`,h),M=t(()=>n.errorMessages?.length||!w.value&&v.value.length?v.value:n.hint&&(n.persistentHint||n.focused)?n.hint:n.messages),N=_(()=>M.value.length>0),P=_(()=>!n.hideDetails||n.hideDetails===`auto`&&(N.value||!!i.details)),F=t(()=>P.value?`${h.value}-messages`:void 0),I=t(()=>({id:h,messagesId:F,isDirty:y,isDisabled:S,isReadonly:C,isPristine:w,isValid:T,isValidating:E,hasDetails:P,reset:D,resetValidation:O,validate:A})),R=_(()=>n.error||n.disabled?void 0:n.focused?n.color:n.baseColor),z=_(()=>{if(n.iconColor)return n.iconColor===!0?R.value:n.iconColor});return b(()=>{let t=!!(i.prepend||n.prependIcon),r=!!(i.append||n.appendIcon);return g(`div`,{class:l([`v-input`,`v-input--${n.direction}`,{"v-input--center-affix":n.centerAffix,"v-input--focused":n.focused,"v-input--glow":n.glow,"v-input--hide-spin-buttons":n.hideSpinButtons,"v-input--indent-details":n.indentDetails},s.value,u.value,d.value,j.value,n.class]),style:o([c.value,n.style])},[t&&g(`div`,{key:`prepend`,class:`v-input__prepend`},[i.prepend?i.prepend(I.value):n.prependIcon&&e(f,{key:`prepend-icon`,name:`prepend`,color:z.value},null)]),i.default&&g(`div`,{class:`v-input__control`},[i.default?.(I.value)]),r&&g(`div`,{key:`append`,class:`v-input__append`},[i.append?i.append(I.value):n.appendIcon&&e(f,{key:`append-icon`,name:`append`,color:z.value},null)]),P.value&&g(`div`,{id:F.value,class:`v-input__details`,role:`alert`,"aria-live":`polite`},[e(G,{active:N.value,messages:M.value},{message:i.message}),i.details?.(I.value)])])}),{reset:D,resetValidation:O,validate:A,isValid:T,errorMessages:v}}});export{oe as a,K as c,W as d,re as f,Q as i,q as l,$ as n,ae as o,Z as r,Y as s,ce as t,G as u};