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 • 4.92 kB
JavaScript
import{A as e,C as t,I as n,Kt as r,R as i,Wt as a,Y as o,_t as s,at as c,et as l,ft as u,ht as d,w as f,y as p,yt as m,z as h}from"./i18n.store-B-qxQMr8.js";import{Bt as g,Ct as _,En as v,F as y,J as b,Kn as x,Lt as S,P as C,Pt as w,Vt as T,c as E,ht as D,jt as O,nr as k,nt as A,q as j,vt as M,x as N}from"./_plugin-vue_export-helper-Cw5qm5mn.js";import{f as P}from"./VInput-B3gWXlJ0.js";var F=Symbol.for(`vuetify:selection-control-group`),I=T({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:M,trueIcon:M,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:O},...g(),...C(),...A()},`SelectionControlGroup`),L=T({...I({defaultsTarget:`VSelectionControl`})},`VSelectionControlGroup`),R=w()({name:`VSelectionControlGroup`,props:L(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=D(e,`modelValue`),i=l(),s=m(()=>e.id||`v-selection-control-group-${i}`),c=m(()=>e.name||s.value),d=new Set;return o(F,{modelValue:n,forceUpdate:()=>{d.forEach(e=>e())},onForceUpdate:e=>{d.add(e),u(()=>{d.delete(e)})}}),S({[e.defaultsTarget]:{color:m(()=>e.color),disabled:m(()=>e.disabled),density:m(()=>e.density),error:m(()=>e.error),inline:m(()=>e.inline),modelValue:n,multiple:m(()=>!!e.multiple||e.multiple==null&&Array.isArray(n.value)),name:c,falseIcon:m(()=>e.falseIcon),trueIcon:m(()=>e.trueIcon),readonly:m(()=>e.readonly),ripple:m(()=>e.ripple),type:m(()=>e.type),valueComparator:m(()=>e.valueComparator)}}),_(()=>f(`div`,{class:a([`v-selection-control-group`,{"v-selection-control-group--inline":e.inline},e.class]),style:r(e.style),role:e.type===`radio`?`radiogroup`:void 0},[t.default?.()])),{}}}),z=T({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...g(),...I()},`VSelectionControl`);function B(e){let r=n(F,void 0),{densityClasses:i}=y(e),a=D(e,`modelValue`),o=t(()=>e.trueValue===void 0?e.value===void 0?!0:e.value:e.trueValue),s=t(()=>e.falseValue===void 0?!1:e.falseValue),c=t(()=>!!e.multiple||e.multiple==null&&Array.isArray(a.value)),l=t({get(){let t=r?r.modelValue.value:a.value;return c.value?k(t).some(t=>e.valueComparator(t,o.value)):e.valueComparator(t,o.value)},set(t){if(e.readonly)return;let n=t?o.value:s.value,i=n;c.value&&(i=t?[...k(a.value),n]:k(a.value).filter(t=>!e.valueComparator(t,o.value))),r?r.modelValue.value=i:a.value=i}}),{textColorClasses:u,textColorStyles:d}=b(()=>{if(!(e.error||e.disabled))return l.value?e.color:e.baseColor}),{backgroundColorClasses:f,backgroundColorStyles:p}=j(()=>l.value&&!e.error&&!e.disabled?e.color:e.baseColor);return{group:r,densityClasses:i,trueValue:o,falseValue:s,model:l,textColorClasses:u,textColorStyles:d,backgroundColorClasses:f,backgroundColorStyles:p,icon:t(()=>l.value?e.trueIcon:e.falseIcon)}}var V=w()({name:`VSelectionControl`,directives:{vRipple:E},inheritAttrs:!1,props:z(),emits:{"update:modelValue":e=>!0},setup(t,{attrs:n,slots:o}){let{group:u,densityClasses:g,icon:y,model:b,textColorClasses:S,textColorStyles:C,backgroundColorClasses:w,backgroundColorStyles:T,trueValue:D}=B(t),O=l(),k=s(!1),A=s(!1),j=d(),M=m(()=>t.id||`input-${O}`),F=m(()=>!t.disabled&&!t.readonly);u?.onForceUpdate(()=>{j.value&&(j.value.checked=b.value)});function I(e){F.value&&(k.value=!0,x(e.target,`:focus-visible`)!==!1&&(A.value=!0))}function L(){k.value=!1,A.value=!1}function R(e){e.stopPropagation()}function z(e){if(!F.value){j.value&&(j.value.checked=b.value);return}t.readonly&&u&&h(()=>u.forceUpdate()),b.value=e.target.checked}return _(()=>{let s=o.label?o.label({label:t.label,props:{for:M.value}}):t.label,[l,u]=v(n),d=f(`input`,i({ref:j,checked:b.value,disabled:!!t.disabled,id:M.value,onBlur:L,onFocus:I,onInput:z,"aria-disabled":!!t.disabled,"aria-label":t.label,type:t.type,value:D.value,name:t.name,"aria-checked":t.type===`checkbox`?b.value:void 0},u),null);return f(`div`,i({class:[`v-selection-control`,{"v-selection-control--dirty":b.value,"v-selection-control--disabled":t.disabled,"v-selection-control--error":t.error,"v-selection-control--focused":k.value,"v-selection-control--focus-visible":A.value,"v-selection-control--inline":t.inline},g.value,t.class]},l,{style:t.style}),[f(`div`,{class:a([`v-selection-control__wrapper`,S.value]),style:r(C.value)},[o.default?.({backgroundColorClasses:w,backgroundColorStyles:T}),c(f(`div`,{class:a([`v-selection-control__input`])},[o.input?.({model:b,textColorClasses:S,textColorStyles:C,backgroundColorClasses:w,backgroundColorStyles:T,inputNode:d,icon:y.value,props:{onFocus:I,onBlur:L,id:M.value}})??f(p,null,[y.value&&e(N,{key:`icon`,icon:y.value},null),d])]),[[E,!t.disabled&&!t.readonly&&t.ripple,null,{center:!0,circle:!0}]])]),s&&e(P,{for:M.value,onClick:R},{default:()=>[s]})])}),{isFocused:k,input:j}}});export{I as i,z as n,R as r,V as t};