@volverjs/ui-vue 0.0.5-beta.4 → 0.0.5-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -436,7 +436,7 @@ function useGroupProps(props, emit) {
436
436
  const readonly = computed(
437
437
  () => {
438
438
  var _a;
439
- return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
439
+ return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.readonly.value));
440
440
  }
441
441
  );
442
442
  const disabled = computed(
@@ -1 +1 @@
1
- !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@vueuse/core"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","nanoid"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvCheckbox=l(e.vue,e.core,e.nanoid)}(this,(function(e,l,n){"use strict";var a=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(a||{}),t=(e=>(e.before="before",e.after="after",e))(t||{}),u=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(u||{});const o=Symbol.for("checkGroup"),i={valid:Boolean,validLabel:[String,Array]},r={invalid:Boolean,invalidLabel:[String,Array]},d={disabled:Boolean},v=(Boolean,Boolean,{label:[String,Number]}),s={readonly:Boolean},c={modifiers:[String,Array]},f={hintLabel:{type:String,default:""}};t.before;const p={tabindex:{type:[String,Number],default:0}},m={id:[String,Number]};a.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const b={...{...m,name:{type:String,required:!0}},...p,...i,...r,...f,...d,...s,...c,...v,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String]};function h(e,l,n){return n?g(e,n)===g(l,n):y(e,l)}function y(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const n=Array.isArray(e),a=Array.isArray(l);let t,u,o;if(n&&a){if(u=e.length,u!=l.length)return!1;for(t=u;0!=t--;)if(!y(e[t],l[t]))return!1;return!0}if(n!=a)return!1;const i=e instanceof Date,r=l instanceof Date;if(i!=r)return!1;if(i&&r)return e.getTime()==l.getTime();const d=e instanceof RegExp,v=l instanceof RegExp;if(d!=v)return!1;if(d&&v)return e.toString()==l.toString();const s=Object.keys(e);if(u=s.length,u!==Object.keys(l).length)return!1;for(t=u;0!=t--;)if(!Object.prototype.hasOwnProperty.call(l,s[t]))return!1;for(t=u;0!=t--;)if(o=s[t],!y(e[o],l[o]))return!1;return!0}return e!=e&&l!=l}function g(e,l){if(e&&Object.keys(e).length&&l){if(-1===l.indexOf("."))return e[l];{const n=l.split(".");let a=e;for(let l=0,t=n.length;l<t;++l){if(null==e)return null;a=a[n[l]]}return a}}return null}function S(l){return null==(n=e.unref(l))||""===n||Array.isArray(n)&&0===n.length||!(n instanceof Date)&&"object"==typeof n&&0===Object.keys(n).length;var n}u.button;const A={...b,...c,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean};function B(l,n){const{group:a,isInGroup:t,getGroupOrLocalRef:u}=function(l){const n=e.inject(l,void 0),a=e.computed((()=>!S(n)));return{group:n,isInGroup:a,getGroupOrLocalRef:function(l,a,t){if(null==n?void 0:n.value){const a=e.unref(n.value)[l];return e.computed({get:()=>null==a?void 0:a.value,set(e){a.value=e}})}const u=e.toRef(a,l);return e.computed({get:()=>u.value,set(e){t&&t(`update:${l}`,e)}})}}}(o),{id:i,switch:r,indeterminate:d}=e.toRefs(l),v=u("modelValue",l,n),s=u("valid",l),c=u("invalid",l),f=e.computed((()=>{var e;return Boolean(l.readonly||(null==(e=null==a?void 0:a.value)?void 0:e.disabled.value))})),p=e.computed((()=>{var e;return Boolean(l.disabled||(null==(e=null==a?void 0:a.value)?void 0:e.disabled.value))}));return{id:i,propsSwitch:r,indeterminate:d,group:a,isInGroup:t,modelValue:v,valid:s,invalid:c,readonly:f,disabled:p}}function V(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}const k=["for"],x=["id","name","disabled","value","tabindex","aria-invalid"];return e.defineComponent({name:"VvCheckbox",props:A,emits:["click","update:modelValue","change","blur"],setup(a,{emit:t}){const u=a,o=e.useSlots(),{id:i,disabled:r,readonly:d,valid:v,invalid:s,propsSwitch:c,modelValue:f,indeterminate:p,isInGroup:m}=B(u,t),b=(l=>e.computed((()=>String((null==l?void 0:l.value)||n.nanoid()))))(i),y=e.computed((()=>L.value?-1:u.tabindex)),A=e.ref(),j=e.computed((()=>void 0!==u.uncheckedValue&&!m.value)),L=e.computed((()=>r.value||d.value)),O=e.computed((()=>!0===s.value||!0!==v.value&&void 0)),w=e.computed((()=>j.value?f.value===u.value:Array.isArray(f.value)?function(e,l){if(null!=e&&l&&l.length)for(const n of l)if(h(e,n))return!0;return!1}(u.value,f.value):h(u.value,f.value))),R=e.computed((()=>!!p.value||!(w.value||!j.value||u.uncheckedValue===f.value))),N=e.computed((()=>{if(!j.value)return!["string","number","boolean"].includes(typeof u.value)||u.value})),C=e.computed({get:()=>w.value,set(e){if(j.value)f.value=e?u.value:u.uncheckedValue;else if(Array.isArray(f.value)||m.value){const l=new Set(Array.isArray(f.value)?f.value:void 0!==f.value?[f.value]:[]);e?l.add(u.value):l.delete(u.value),f.value=[...l]}else f.value=e?u.value:void 0;t("change",e)}}),{modifiers:E}=e.toRefs(u),G=function(l,n,a){return e.computed((()=>{const t={[l]:!0},u="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return u&&Array.isArray(u)&&u.forEach((e=>{e&&(t[`${l}--${e}`]=!0)})),a&&Object.keys(a.value).forEach((n=>{t[`${l}--${n}`]=e.unref(a.value[n])})),t}))}("vv-checkbox",E,e.computed((()=>({switch:c.value,valid:v.value,invalid:s.value,disabled:r.value,readonly:d.value,indeterminate:p.value}))));e.watchEffect((()=>{j.value&&Array.isArray(f.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")})),e.watch((()=>R.value),(e=>{A.value.indeterminate=!!e})),e.onMounted((()=>{R.value&&(A.value.indeterminate=!0)}));const{HintSlot:I}=function(n,a){const{invalid:t,valid:u,hint:o,loading:i}=a,{hintLabel:r,modelValue:d,valid:v,validLabel:s,invalid:c,invalidLabel:f,...p}=e.toRefs(n),m=g(p,"loading"),b=g(p,"loadingLabel"),h=e.computed((()=>!(!c.value||(!c.value||!t)&&!((null==f?void 0:f.value)&&Array.isArray(f.value)&&f.value.length>0)&&(!(null==f?void 0:f.value)||S(f))))),y=e.computed((()=>!!(r&&r.value||o))),A=e.computed((()=>!!(s&&s.value||u))),B=e.computed((()=>!!((null==m?void 0:m.value)&&i||(null==m?void 0:m.value)&&(null==b?void 0:b.value)))),k=e.computed((()=>y.value||A.value||h.value||B.value));return{hasInvalid:h,hasHint:y,hasValid:A,hasLoading:B,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(n){const a=e.computed((()=>{const e=l.toReactive({hintLabel:r,modelValue:d,valid:v,validLabel:s,invalid:c,invalidLabel:f,loading:m,loadingLabel:b,...n.params});return(null==c?void 0:c.value)?(null==t?void 0:t(e))||V(null==f?void 0:f.value)||(null==r?void 0:r.value):(null==v?void 0:v.value)?(null==u?void 0:u(e))||V(null==s?void 0:s.value)||(null==r?void 0:r.value):(null==m?void 0:m.value)?(null==i?void 0:i(e))||V(null==b?void 0:b.value)||(null==r?void 0:r.value):(null==o?void 0:o(e))||V(null==r?void 0:r.value)||(null==r?void 0:r.value)}));return{isVisible:k,hasInvalid:h,hasValid:A,hintContent:a}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}(u,o);return(l,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(G)),for:e.unref(b)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(b),ref_key:"input",ref:A,"onUpdate:modelValue":n[0]||(n[0]=l=>e.isRef(C)?C.value=l:null),type:"checkbox",class:"vv-checkbox__input",name:l.name,disabled:e.unref(L),value:e.unref(N),tabindex:e.unref(y),"aria-invalid":e.unref(O)},null,8,x),[[e.vModelCheckbox,e.unref(C)]]),e.renderSlot(l.$slots,"default",{value:e.unref(f)},(()=>[e.createTextVNode(e.toDisplayString(l.label),1)])),e.createVNode(e.unref(I),{class:"vv-checkbox__hint",params:{value:e.unref(f)}},null,8,["params"])],10,k))}})}));
1
+ !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@vueuse/core"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","nanoid"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvCheckbox=l(e.vue,e.core,e.nanoid)}(this,(function(e,l,n){"use strict";var a=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(a||{}),t=(e=>(e.before="before",e.after="after",e))(t||{}),u=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(u||{});const o=Symbol.for("checkGroup"),i={valid:Boolean,validLabel:[String,Array]},r={invalid:Boolean,invalidLabel:[String,Array]},d={disabled:Boolean},v=(Boolean,Boolean,{label:[String,Number]}),s={readonly:Boolean},c={modifiers:[String,Array]},f={hintLabel:{type:String,default:""}};t.before;const p={tabindex:{type:[String,Number],default:0}},m={id:[String,Number]};a.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const b={...{...m,name:{type:String,required:!0}},...p,...i,...r,...f,...d,...s,...c,...v,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String]};function h(e,l,n){return n?g(e,n)===g(l,n):y(e,l)}function y(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const n=Array.isArray(e),a=Array.isArray(l);let t,u,o;if(n&&a){if(u=e.length,u!=l.length)return!1;for(t=u;0!=t--;)if(!y(e[t],l[t]))return!1;return!0}if(n!=a)return!1;const i=e instanceof Date,r=l instanceof Date;if(i!=r)return!1;if(i&&r)return e.getTime()==l.getTime();const d=e instanceof RegExp,v=l instanceof RegExp;if(d!=v)return!1;if(d&&v)return e.toString()==l.toString();const s=Object.keys(e);if(u=s.length,u!==Object.keys(l).length)return!1;for(t=u;0!=t--;)if(!Object.prototype.hasOwnProperty.call(l,s[t]))return!1;for(t=u;0!=t--;)if(o=s[t],!y(e[o],l[o]))return!1;return!0}return e!=e&&l!=l}function g(e,l){if(e&&Object.keys(e).length&&l){if(-1===l.indexOf("."))return e[l];{const n=l.split(".");let a=e;for(let l=0,t=n.length;l<t;++l){if(null==e)return null;a=a[n[l]]}return a}}return null}function S(l){return null==(n=e.unref(l))||""===n||Array.isArray(n)&&0===n.length||!(n instanceof Date)&&"object"==typeof n&&0===Object.keys(n).length;var n}u.button;const A={...b,...c,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean};function B(l,n){const{group:a,isInGroup:t,getGroupOrLocalRef:u}=function(l){const n=e.inject(l,void 0),a=e.computed((()=>!S(n)));return{group:n,isInGroup:a,getGroupOrLocalRef:function(l,a,t){if(null==n?void 0:n.value){const a=e.unref(n.value)[l];return e.computed({get:()=>null==a?void 0:a.value,set(e){a.value=e}})}const u=e.toRef(a,l);return e.computed({get:()=>u.value,set(e){t&&t(`update:${l}`,e)}})}}}(o),{id:i,switch:r,indeterminate:d}=e.toRefs(l),v=u("modelValue",l,n),s=u("valid",l),c=u("invalid",l),f=e.computed((()=>{var e;return Boolean(l.readonly||(null==(e=null==a?void 0:a.value)?void 0:e.readonly.value))})),p=e.computed((()=>{var e;return Boolean(l.disabled||(null==(e=null==a?void 0:a.value)?void 0:e.disabled.value))}));return{id:i,propsSwitch:r,indeterminate:d,group:a,isInGroup:t,modelValue:v,valid:s,invalid:c,readonly:f,disabled:p}}function V(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}const k=["for"],x=["id","name","disabled","value","tabindex","aria-invalid"];return e.defineComponent({name:"VvCheckbox",props:A,emits:["click","update:modelValue","change","blur"],setup(a,{emit:t}){const u=a,o=e.useSlots(),{id:i,disabled:r,readonly:d,valid:v,invalid:s,propsSwitch:c,modelValue:f,indeterminate:p,isInGroup:m}=B(u,t),b=(l=>e.computed((()=>String((null==l?void 0:l.value)||n.nanoid()))))(i),y=e.computed((()=>L.value?-1:u.tabindex)),A=e.ref(),j=e.computed((()=>void 0!==u.uncheckedValue&&!m.value)),L=e.computed((()=>r.value||d.value)),O=e.computed((()=>!0===s.value||!0!==v.value&&void 0)),w=e.computed((()=>j.value?f.value===u.value:Array.isArray(f.value)?function(e,l){if(null!=e&&l&&l.length)for(const n of l)if(h(e,n))return!0;return!1}(u.value,f.value):h(u.value,f.value))),R=e.computed((()=>!!p.value||!(w.value||!j.value||u.uncheckedValue===f.value))),N=e.computed((()=>{if(!j.value)return!["string","number","boolean"].includes(typeof u.value)||u.value})),C=e.computed({get:()=>w.value,set(e){if(j.value)f.value=e?u.value:u.uncheckedValue;else if(Array.isArray(f.value)||m.value){const l=new Set(Array.isArray(f.value)?f.value:void 0!==f.value?[f.value]:[]);e?l.add(u.value):l.delete(u.value),f.value=[...l]}else f.value=e?u.value:void 0;t("change",e)}}),{modifiers:E}=e.toRefs(u),G=function(l,n,a){return e.computed((()=>{const t={[l]:!0},u="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return u&&Array.isArray(u)&&u.forEach((e=>{e&&(t[`${l}--${e}`]=!0)})),a&&Object.keys(a.value).forEach((n=>{t[`${l}--${n}`]=e.unref(a.value[n])})),t}))}("vv-checkbox",E,e.computed((()=>({switch:c.value,valid:v.value,invalid:s.value,disabled:r.value,readonly:d.value,indeterminate:p.value}))));e.watchEffect((()=>{j.value&&Array.isArray(f.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")})),e.watch((()=>R.value),(e=>{A.value.indeterminate=!!e})),e.onMounted((()=>{R.value&&(A.value.indeterminate=!0)}));const{HintSlot:I}=function(n,a){const{invalid:t,valid:u,hint:o,loading:i}=a,{hintLabel:r,modelValue:d,valid:v,validLabel:s,invalid:c,invalidLabel:f,...p}=e.toRefs(n),m=g(p,"loading"),b=g(p,"loadingLabel"),h=e.computed((()=>!(!c.value||(!c.value||!t)&&!((null==f?void 0:f.value)&&Array.isArray(f.value)&&f.value.length>0)&&(!(null==f?void 0:f.value)||S(f))))),y=e.computed((()=>!!(r&&r.value||o))),A=e.computed((()=>!!(s&&s.value||u))),B=e.computed((()=>!!((null==m?void 0:m.value)&&i||(null==m?void 0:m.value)&&(null==b?void 0:b.value)))),k=e.computed((()=>y.value||A.value||h.value||B.value));return{hasInvalid:h,hasHint:y,hasValid:A,hasLoading:B,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(n){const a=e.computed((()=>{const e=l.toReactive({hintLabel:r,modelValue:d,valid:v,validLabel:s,invalid:c,invalidLabel:f,loading:m,loadingLabel:b,...n.params});return(null==c?void 0:c.value)?(null==t?void 0:t(e))||V(null==f?void 0:f.value)||(null==r?void 0:r.value):(null==v?void 0:v.value)?(null==u?void 0:u(e))||V(null==s?void 0:s.value)||(null==r?void 0:r.value):(null==m?void 0:m.value)?(null==i?void 0:i(e))||V(null==b?void 0:b.value)||(null==r?void 0:r.value):(null==o?void 0:o(e))||V(null==r?void 0:r.value)||(null==r?void 0:r.value)}));return{isVisible:k,hasInvalid:h,hasValid:A,hintContent:a}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}(u,o);return(l,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(G)),for:e.unref(b)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(b),ref_key:"input",ref:A,"onUpdate:modelValue":n[0]||(n[0]=l=>e.isRef(C)?C.value=l:null),type:"checkbox",class:"vv-checkbox__input",name:l.name,disabled:e.unref(L),value:e.unref(N),tabindex:e.unref(y),"aria-invalid":e.unref(O)},null,8,x),[[e.vModelCheckbox,e.unref(C)]]),e.renderSlot(l.$slots,"default",{value:e.unref(f)},(()=>[e.createTextVNode(e.toDisplayString(l.label),1)])),e.createVNode(e.unref(I),{class:"vv-checkbox__hint",params:{value:e.unref(f)}},null,8,["params"])],10,k))}})}));
@@ -586,7 +586,7 @@ function useGroupProps(props, emit) {
586
586
  const readonly = computed(
587
587
  () => {
588
588
  var _a;
589
- return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
589
+ return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.readonly.value));
590
590
  }
591
591
  );
592
592
  const disabled = computed(
@@ -1 +1 @@
1
- !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@vueuse/core"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","nanoid"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvCheckboxGroup=l(e.vue,e.core,e.nanoid)}(this,(function(e,l,n){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),a=(e=>(e.before="before",e.after="after",e))(a||{}),o=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(o||{});const u=Symbol.for("checkGroup");function i(e,l,n){return n?d(e,n)===d(l,n):r(e,l)}function r(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const n=Array.isArray(e),t=Array.isArray(l);let a,o,u;if(n&&t){if(o=e.length,o!=l.length)return!1;for(a=o;0!=a--;)if(!r(e[a],l[a]))return!1;return!0}if(n!=t)return!1;const i=e instanceof Date,d=l instanceof Date;if(i!=d)return!1;if(i&&d)return e.getTime()==l.getTime();const v=e instanceof RegExp,s=l instanceof RegExp;if(v!=s)return!1;if(v&&s)return e.toString()==l.toString();const c=Object.keys(e);if(o=c.length,o!==Object.keys(l).length)return!1;for(a=o;0!=a--;)if(!Object.prototype.hasOwnProperty.call(l,c[a]))return!1;for(a=o;0!=a--;)if(u=c[a],!r(e[u],l[u]))return!1;return!0}return e!=e&&l!=l}function d(e,l){if(e&&Object.keys(e).length&&l){if(-1===l.indexOf("."))return e[l];{const n=l.split(".");let t=e;for(let l=0,a=n.length;l<a;++l){if(null==e)return null;t=t[n[l]]}return t}}return null}function v(l){return null==(n=e.unref(l))||""===n||Array.isArray(n)&&0===n.length||!(n instanceof Date)&&"object"==typeof n&&0===Object.keys(n).length;var n}function s(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}function c(n,t){const{invalid:a,valid:o,hint:u,loading:i}=t,{hintLabel:r,modelValue:c,valid:f,validLabel:p,invalid:m,invalidLabel:b,...y}=e.toRefs(n),g=d(y,"loading"),h=d(y,"loadingLabel"),k=e.computed((()=>!!m.value&&(!(!m.value||!a)||(!!((null==b?void 0:b.value)&&Array.isArray(b.value)&&b.value.length>0)||!(!(null==b?void 0:b.value)||v(b)))))),S=e.computed((()=>!!(r&&r.value||u))),V=e.computed((()=>!!(p&&p.value||o))),B=e.computed((()=>!!((null==g?void 0:g.value)&&i||(null==g?void 0:g.value)&&(null==h?void 0:h.value)))),A=e.computed((()=>S.value||V.value||k.value||B.value));return{hasInvalid:k,hasHint:S,hasValid:V,hasLoading:B,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(n){const t=e.computed((()=>{const e=l.toReactive({hintLabel:r,modelValue:c,valid:f,validLabel:p,invalid:m,invalidLabel:b,loading:g,loadingLabel:h,...n.params});return(null==m?void 0:m.value)?(null==a?void 0:a(e))||s(null==b?void 0:b.value)||(null==r?void 0:r.value):(null==f?void 0:f.value)?(null==o?void 0:o(e))||s(null==p?void 0:p.value)||(null==r?void 0:r.value):(null==g?void 0:g.value)?(null==i?void 0:i(e))||s(null==h?void 0:h.value)||(null==r?void 0:r.value):(null==u?void 0:u(e))||s(null==r?void 0:r.value)||(null==r?void 0:r.value)}));return{isVisible:A,hasInvalid:k,hasValid:V,hintContent:t}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}const f={valid:Boolean,validLabel:[String,Array]},p={invalid:Boolean,invalidLabel:[String,Array]},m={disabled:Boolean},b=(Boolean,Boolean,{label:[String,Number]}),y={readonly:Boolean},g={modifiers:[String,Array]},h={hintLabel:{type:String,default:""}},k={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}};a.before;const S={tabindex:{type:[String,Number],default:0}},V={id:[String,Number]};t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const B={...{...V,name:{type:String,required:!0}},...S,...f,...p,...h,...m,...y,...g,...b,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String]},A={...f,...p,...k,...h,...m,...y,...g,...b,modelValue:[String,Array,Boolean,Number,Symbol],name:{type:String,required:!0},vertical:Boolean};o.button;const x={...B,...g,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean};function O(l,n){const{group:t,isInGroup:a,getGroupOrLocalRef:o}=function(l){const n=e.inject(l,void 0),t=e.computed((()=>!v(n)));return{group:n,isInGroup:t,getGroupOrLocalRef:function(l,t,a){if(null==n?void 0:n.value){const t=e.unref(n.value)[l];return e.computed({get:()=>null==t?void 0:t.value,set(e){t.value=e}})}const o=e.toRef(t,l);return e.computed({get:()=>o.value,set(e){a&&a(`update:${l}`,e)}})}}}(u),{id:i,switch:r,indeterminate:d}=e.toRefs(l),s=o("modelValue",l,n),c=o("valid",l),f=o("invalid",l),p=e.computed((()=>{var e;return Boolean(l.readonly||(null==(e=null==t?void 0:t.value)?void 0:e.disabled.value))})),m=e.computed((()=>{var e;return Boolean(l.disabled||(null==(e=null==t?void 0:t.value)?void 0:e.disabled.value))}));return{id:i,propsSwitch:r,indeterminate:d,group:t,isInGroup:a,modelValue:s,valid:c,invalid:f,readonly:p,disabled:m}}function j(l,n,t){return e.computed((()=>{const a={[l]:!0},o="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return o&&Array.isArray(o)&&o.forEach((e=>{e&&(a[`${l}--${e}`]=!0)})),t&&Object.keys(t.value).forEach((n=>{a[`${l}--${n}`]=e.unref(t.value[n])})),a}))}const L=["for"],C=["id","name","disabled","value","tabindex","aria-invalid"],w=e.defineComponent({name:"VvCheckbox",props:x,emits:["click","update:modelValue","change","blur"],setup(l,{emit:t}){const a=l,o=e.useSlots(),{id:u,disabled:r,readonly:d,valid:v,invalid:s,propsSwitch:f,modelValue:p,indeterminate:m,isInGroup:b}=O(a,t),y=(l=>e.computed((()=>String((null==l?void 0:l.value)||n.nanoid()))))(u),g=e.computed((()=>S.value?-1:a.tabindex)),h=e.ref(),k=e.computed((()=>void 0!==a.uncheckedValue&&!b.value)),S=e.computed((()=>r.value||d.value)),V=e.computed((()=>!0===s.value||!0!==v.value&&void 0)),B=e.computed((()=>k.value?p.value===a.value:Array.isArray(p.value)?function(e,l){if(null!=e&&l&&l.length)for(const n of l)if(i(e,n))return!0;return!1}(a.value,p.value):i(a.value,p.value))),A=e.computed((()=>!!m.value||!(B.value||!k.value||a.uncheckedValue===p.value))),x=e.computed((()=>{if(!k.value)return!["string","number","boolean"].includes(typeof a.value)||a.value})),w=e.computed({get:()=>B.value,set(e){if(k.value)p.value=e?a.value:a.uncheckedValue;else if(Array.isArray(p.value)||b.value){const l=new Set(Array.isArray(p.value)?p.value:void 0!==p.value?[p.value]:[]);e?l.add(a.value):l.delete(a.value),p.value=[...l]}else p.value=e?a.value:void 0;t("change",e)}}),{modifiers:N}=e.toRefs(a),R=j("vv-checkbox",N,e.computed((()=>({switch:f.value,valid:v.value,invalid:s.value,disabled:r.value,readonly:d.value,indeterminate:m.value}))));e.watchEffect((()=>{k.value&&Array.isArray(p.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")})),e.watch((()=>A.value),(e=>{h.value.indeterminate=!!e})),e.onMounted((()=>{A.value&&(h.value.indeterminate=!0)}));const{HintSlot:E}=c(a,o);return(l,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(R)),for:e.unref(y)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(y),ref_key:"input",ref:h,"onUpdate:modelValue":n[0]||(n[0]=l=>e.isRef(w)?w.value=l:null),type:"checkbox",class:"vv-checkbox__input",name:l.name,disabled:e.unref(S),value:e.unref(x),tabindex:e.unref(g),"aria-invalid":e.unref(V)},null,8,C),[[e.vModelCheckbox,e.unref(w)]]),e.renderSlot(l.$slots,"default",{value:e.unref(p)},(()=>[e.createTextVNode(e.toDisplayString(l.label),1)])),e.createVNode(e.unref(E),{class:"vv-checkbox__hint",params:{value:e.unref(p)}},null,8,["params"])],10,L))}}),N=A;const R=["textContent"],E={class:"vv-checkbox-group__wrapper"};return e.defineComponent({name:"VvCheckboxGroup",props:N,emits:["update:modelValue","change"],setup(n,{emit:t}){const a=n,o=e.useSlots(),i=l.useVModel(a,"modelValue",t),{disabled:r,readonly:d,vertical:v,valid:s,invalid:f,modifiers:p}=e.toRefs(a);!function(l){if(Object.keys(l).some((n=>"key"!==n&&!e.isRef(l[n]))))throw Error("One or more groupState props aren't ref.");e.provide(l.key,e.computed((()=>l)))}({key:u,modelValue:i,disabled:r,readonly:d,valid:s,invalid:f});const{getOptionLabel:m,getOptionValue:b}=function(l){const{options:n,labelKey:t,valueKey:a,disabledKey:o}=e.toRefs(l);return{options:n,getOptionLabel:e=>"object"!=typeof e&&null!==e?e:"function"==typeof t.value?t.value(e):e[t.value],getOptionValue:e=>"object"!=typeof e&&null!==e?e:"function"==typeof a.value?a.value(e):e[a.value],getOptionDisabled:e=>("object"==typeof e||null===e)&&("function"==typeof o.value?o.value(e):e[o.value]),getOptionGrouped:e=>"object"!=typeof e&&null!==e?[]:e.options||[]}}(a),y=j("vv-checkbox-group",p,e.computed((()=>({disabled:r.value,readonly:d.value,horizontal:!v.value,valid:s.value,invalid:f.value})))),{HintSlot:g}=c(a,o);return(l,n)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(y))},[l.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(l.label)},null,8,R)):e.createCommentVNode("",!0),e.createElementVNode("div",E,[l.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(l.options,((l,n)=>(e.openBlock(),e.createBlock(w,e.mergeProps({key:n},((e,l)=>({id:`${a.name}_opt${l}`,name:a.name,label:m(e),value:b(e)}))(l,n)),null,16)))),128)):e.renderSlot(l.$slots,"default",{key:1})]),e.createVNode(e.unref(g),{class:"vv-checkbox-group__hint"})],2))}})}));
1
+ !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@vueuse/core"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","nanoid"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvCheckboxGroup=l(e.vue,e.core,e.nanoid)}(this,(function(e,l,n){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),a=(e=>(e.before="before",e.after="after",e))(a||{}),o=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(o||{});const u=Symbol.for("checkGroup");function i(e,l,n){return n?d(e,n)===d(l,n):r(e,l)}function r(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const n=Array.isArray(e),t=Array.isArray(l);let a,o,u;if(n&&t){if(o=e.length,o!=l.length)return!1;for(a=o;0!=a--;)if(!r(e[a],l[a]))return!1;return!0}if(n!=t)return!1;const i=e instanceof Date,d=l instanceof Date;if(i!=d)return!1;if(i&&d)return e.getTime()==l.getTime();const v=e instanceof RegExp,c=l instanceof RegExp;if(v!=c)return!1;if(v&&c)return e.toString()==l.toString();const s=Object.keys(e);if(o=s.length,o!==Object.keys(l).length)return!1;for(a=o;0!=a--;)if(!Object.prototype.hasOwnProperty.call(l,s[a]))return!1;for(a=o;0!=a--;)if(u=s[a],!r(e[u],l[u]))return!1;return!0}return e!=e&&l!=l}function d(e,l){if(e&&Object.keys(e).length&&l){if(-1===l.indexOf("."))return e[l];{const n=l.split(".");let t=e;for(let l=0,a=n.length;l<a;++l){if(null==e)return null;t=t[n[l]]}return t}}return null}function v(l){return null==(n=e.unref(l))||""===n||Array.isArray(n)&&0===n.length||!(n instanceof Date)&&"object"==typeof n&&0===Object.keys(n).length;var n}function c(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}function s(n,t){const{invalid:a,valid:o,hint:u,loading:i}=t,{hintLabel:r,modelValue:s,valid:f,validLabel:p,invalid:m,invalidLabel:b,...y}=e.toRefs(n),g=d(y,"loading"),h=d(y,"loadingLabel"),k=e.computed((()=>!!m.value&&(!(!m.value||!a)||(!!((null==b?void 0:b.value)&&Array.isArray(b.value)&&b.value.length>0)||!(!(null==b?void 0:b.value)||v(b)))))),S=e.computed((()=>!!(r&&r.value||u))),V=e.computed((()=>!!(p&&p.value||o))),B=e.computed((()=>!!((null==g?void 0:g.value)&&i||(null==g?void 0:g.value)&&(null==h?void 0:h.value)))),A=e.computed((()=>S.value||V.value||k.value||B.value));return{hasInvalid:k,hasHint:S,hasValid:V,hasLoading:B,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(n){const t=e.computed((()=>{const e=l.toReactive({hintLabel:r,modelValue:s,valid:f,validLabel:p,invalid:m,invalidLabel:b,loading:g,loadingLabel:h,...n.params});return(null==m?void 0:m.value)?(null==a?void 0:a(e))||c(null==b?void 0:b.value)||(null==r?void 0:r.value):(null==f?void 0:f.value)?(null==o?void 0:o(e))||c(null==p?void 0:p.value)||(null==r?void 0:r.value):(null==g?void 0:g.value)?(null==i?void 0:i(e))||c(null==h?void 0:h.value)||(null==r?void 0:r.value):(null==u?void 0:u(e))||c(null==r?void 0:r.value)||(null==r?void 0:r.value)}));return{isVisible:A,hasInvalid:k,hasValid:V,hintContent:t}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}const f={valid:Boolean,validLabel:[String,Array]},p={invalid:Boolean,invalidLabel:[String,Array]},m={disabled:Boolean},b=(Boolean,Boolean,{label:[String,Number]}),y={readonly:Boolean},g={modifiers:[String,Array]},h={hintLabel:{type:String,default:""}},k={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}};a.before;const S={tabindex:{type:[String,Number],default:0}},V={id:[String,Number]};t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const B={...{...V,name:{type:String,required:!0}},...S,...f,...p,...h,...m,...y,...g,...b,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String]},A={...f,...p,...k,...h,...m,...y,...g,...b,modelValue:[String,Array,Boolean,Number,Symbol],name:{type:String,required:!0},vertical:Boolean};o.button;const x={...B,...g,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean};function O(l,n){const{group:t,isInGroup:a,getGroupOrLocalRef:o}=function(l){const n=e.inject(l,void 0),t=e.computed((()=>!v(n)));return{group:n,isInGroup:t,getGroupOrLocalRef:function(l,t,a){if(null==n?void 0:n.value){const t=e.unref(n.value)[l];return e.computed({get:()=>null==t?void 0:t.value,set(e){t.value=e}})}const o=e.toRef(t,l);return e.computed({get:()=>o.value,set(e){a&&a(`update:${l}`,e)}})}}}(u),{id:i,switch:r,indeterminate:d}=e.toRefs(l),c=o("modelValue",l,n),s=o("valid",l),f=o("invalid",l),p=e.computed((()=>{var e;return Boolean(l.readonly||(null==(e=null==t?void 0:t.value)?void 0:e.readonly.value))})),m=e.computed((()=>{var e;return Boolean(l.disabled||(null==(e=null==t?void 0:t.value)?void 0:e.disabled.value))}));return{id:i,propsSwitch:r,indeterminate:d,group:t,isInGroup:a,modelValue:c,valid:s,invalid:f,readonly:p,disabled:m}}function j(l,n,t){return e.computed((()=>{const a={[l]:!0},o="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return o&&Array.isArray(o)&&o.forEach((e=>{e&&(a[`${l}--${e}`]=!0)})),t&&Object.keys(t.value).forEach((n=>{a[`${l}--${n}`]=e.unref(t.value[n])})),a}))}const L=["for"],C=["id","name","disabled","value","tabindex","aria-invalid"],w=e.defineComponent({name:"VvCheckbox",props:x,emits:["click","update:modelValue","change","blur"],setup(l,{emit:t}){const a=l,o=e.useSlots(),{id:u,disabled:r,readonly:d,valid:v,invalid:c,propsSwitch:f,modelValue:p,indeterminate:m,isInGroup:b}=O(a,t),y=(l=>e.computed((()=>String((null==l?void 0:l.value)||n.nanoid()))))(u),g=e.computed((()=>S.value?-1:a.tabindex)),h=e.ref(),k=e.computed((()=>void 0!==a.uncheckedValue&&!b.value)),S=e.computed((()=>r.value||d.value)),V=e.computed((()=>!0===c.value||!0!==v.value&&void 0)),B=e.computed((()=>k.value?p.value===a.value:Array.isArray(p.value)?function(e,l){if(null!=e&&l&&l.length)for(const n of l)if(i(e,n))return!0;return!1}(a.value,p.value):i(a.value,p.value))),A=e.computed((()=>!!m.value||!(B.value||!k.value||a.uncheckedValue===p.value))),x=e.computed((()=>{if(!k.value)return!["string","number","boolean"].includes(typeof a.value)||a.value})),w=e.computed({get:()=>B.value,set(e){if(k.value)p.value=e?a.value:a.uncheckedValue;else if(Array.isArray(p.value)||b.value){const l=new Set(Array.isArray(p.value)?p.value:void 0!==p.value?[p.value]:[]);e?l.add(a.value):l.delete(a.value),p.value=[...l]}else p.value=e?a.value:void 0;t("change",e)}}),{modifiers:N}=e.toRefs(a),R=j("vv-checkbox",N,e.computed((()=>({switch:f.value,valid:v.value,invalid:c.value,disabled:r.value,readonly:d.value,indeterminate:m.value}))));e.watchEffect((()=>{k.value&&Array.isArray(p.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")})),e.watch((()=>A.value),(e=>{h.value.indeterminate=!!e})),e.onMounted((()=>{A.value&&(h.value.indeterminate=!0)}));const{HintSlot:E}=s(a,o);return(l,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(R)),for:e.unref(y)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(y),ref_key:"input",ref:h,"onUpdate:modelValue":n[0]||(n[0]=l=>e.isRef(w)?w.value=l:null),type:"checkbox",class:"vv-checkbox__input",name:l.name,disabled:e.unref(S),value:e.unref(x),tabindex:e.unref(g),"aria-invalid":e.unref(V)},null,8,C),[[e.vModelCheckbox,e.unref(w)]]),e.renderSlot(l.$slots,"default",{value:e.unref(p)},(()=>[e.createTextVNode(e.toDisplayString(l.label),1)])),e.createVNode(e.unref(E),{class:"vv-checkbox__hint",params:{value:e.unref(p)}},null,8,["params"])],10,L))}}),N=A;const R=["textContent"],E={class:"vv-checkbox-group__wrapper"};return e.defineComponent({name:"VvCheckboxGroup",props:N,emits:["update:modelValue","change"],setup(n,{emit:t}){const a=n,o=e.useSlots(),i=l.useVModel(a,"modelValue",t),{disabled:r,readonly:d,vertical:v,valid:c,invalid:f,modifiers:p}=e.toRefs(a);!function(l){if(Object.keys(l).some((n=>"key"!==n&&!e.isRef(l[n]))))throw Error("One or more groupState props aren't ref.");e.provide(l.key,e.computed((()=>l)))}({key:u,modelValue:i,disabled:r,readonly:d,valid:c,invalid:f});const{getOptionLabel:m,getOptionValue:b}=function(l){const{options:n,labelKey:t,valueKey:a,disabledKey:o}=e.toRefs(l);return{options:n,getOptionLabel:e=>"object"!=typeof e&&null!==e?e:"function"==typeof t.value?t.value(e):e[t.value],getOptionValue:e=>"object"!=typeof e&&null!==e?e:"function"==typeof a.value?a.value(e):e[a.value],getOptionDisabled:e=>("object"==typeof e||null===e)&&("function"==typeof o.value?o.value(e):e[o.value]),getOptionGrouped:e=>"object"!=typeof e&&null!==e?[]:e.options||[]}}(a),y=j("vv-checkbox-group",p,e.computed((()=>({disabled:r.value,readonly:d.value,horizontal:!v.value,valid:c.value,invalid:f.value})))),{HintSlot:g}=s(a,o);return(l,n)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(y))},[l.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(l.label)},null,8,R)):e.createCommentVNode("",!0),e.createElementVNode("div",E,[l.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(l.options,((l,n)=>(e.openBlock(),e.createBlock(w,e.mergeProps({key:n},((e,l)=>({id:`${a.name}_opt${l}`,name:a.name,label:m(e),value:b(e)}))(l,n)),null,16)))),128)):e.renderSlot(l.$slots,"default",{key:1})]),e.createVNode(e.unref(g),{class:"vv-checkbox-group__hint"})],2))}})}));
@@ -421,7 +421,7 @@ function useGroupProps(props, emit) {
421
421
  const readonly = computed(
422
422
  () => {
423
423
  var _a;
424
- return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
424
+ return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.readonly.value));
425
425
  }
426
426
  );
427
427
  const disabled = computed(
@@ -1 +1 @@
1
- !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@vueuse/core"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","nanoid"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvRadio=l(e.vue,e.core,e.nanoid)}(this,(function(e,l,n){"use strict";var a=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(a||{}),t=(e=>(e.before="before",e.after="after",e))(t||{}),o=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(o||{});const u=Symbol.for("radioGroup"),i={valid:Boolean,validLabel:[String,Array]},r={invalid:Boolean,invalidLabel:[String,Array]},d={disabled:Boolean},v=(Boolean,Boolean,{label:[String,Number]}),s={readonly:Boolean},f={modifiers:[String,Array]},c={hintLabel:{type:String,default:""}};t.before;const p={tabindex:{type:[String,Number],default:0}},m={id:[String,Number]};a.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const b={...{...m,name:{type:String,required:!0}},...p,...i,...r,...c,...d,...s,...f,...v,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String]};function g(e,l,n){return n?h(e,n)===h(l,n):y(e,l)}function y(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const n=Array.isArray(e),a=Array.isArray(l);let t,o,u;if(n&&a){if(o=e.length,o!=l.length)return!1;for(t=o;0!=t--;)if(!y(e[t],l[t]))return!1;return!0}if(n!=a)return!1;const i=e instanceof Date,r=l instanceof Date;if(i!=r)return!1;if(i&&r)return e.getTime()==l.getTime();const d=e instanceof RegExp,v=l instanceof RegExp;if(d!=v)return!1;if(d&&v)return e.toString()==l.toString();const s=Object.keys(e);if(o=s.length,o!==Object.keys(l).length)return!1;for(t=o;0!=t--;)if(!Object.prototype.hasOwnProperty.call(l,s[t]))return!1;for(t=o;0!=t--;)if(u=s[t],!y(e[u],l[u]))return!1;return!0}return e!=e&&l!=l}function h(e,l){if(e&&Object.keys(e).length&&l){if(-1===l.indexOf("."))return e[l];{const n=l.split(".");let a=e;for(let l=0,t=n.length;l<t;++l){if(null==e)return null;a=a[n[l]]}return a}}return null}function S(l){return null==(n=e.unref(l))||""===n||Array.isArray(n)&&0===n.length||!(n instanceof Date)&&"object"==typeof n&&0===Object.keys(n).length;var n}o.button;const B=b;function A(l,n){const{id:a}=e.toRefs(l),{group:t,isInGroup:o,getGroupOrLocalRef:i}=function(l){const n=e.inject(l,void 0),a=e.computed((()=>!S(n)));return{group:n,isInGroup:a,getGroupOrLocalRef:function(l,a,t){if(null==n?void 0:n.value){const a=e.unref(n.value)[l];return e.computed({get:()=>null==a?void 0:a.value,set(e){a.value=e}})}const o=e.toRef(a,l);return e.computed({get:()=>o.value,set(e){t&&t(`update:${l}`,e)}})}}}(u),r=i("modelValue",l,n),d=i("valid",l),v=i("invalid",l),s=e.computed((()=>{var e;return Boolean(l.readonly||(null==(e=null==t?void 0:t.value)?void 0:e.disabled.value))})),f=e.computed((()=>{var e;return Boolean(l.disabled||(null==(e=null==t?void 0:t.value)?void 0:e.disabled.value))}));return{id:a,group:t,isInGroup:o,modelValue:r,valid:d,invalid:v,readonly:s,disabled:f}}function V(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}const j=["for"],L=["id","name","disabled","value","tabindex","aria-invalid"];return e.defineComponent({name:"VvRadio",props:B,emits:["click","update:modelValue","change","blur"],setup(a,{emit:t}){const o=a,u=e.useSlots(),{id:i,disabled:r,readonly:d,modelValue:v,valid:s,invalid:f}=A(o,t),c=(l=>e.computed((()=>String((null==l?void 0:l.value)||n.nanoid()))))(i),p=e.computed((()=>b.value?-1:o.tabindex)),m=e.ref(),b=e.computed((()=>r.value||d.value)),y=e.computed((()=>!0===f.value||!0!==s.value&&void 0)),B=e.computed((()=>Array.isArray(v.value)?function(e,l){if(null!=e&&l&&l.length)for(const n of l)if(g(e,n))return!0;return!1}(o.value,v.value):g(o.value,v.value))),R=e.computed((()=>!["string","number","boolean"].includes(typeof o.value)||o.value)),O=e.computed({get:()=>B.value?R.value:null,set(e){Array.isArray(v.value)?v.value=[o.value]:v.value=o.value,t("change",e)}}),{modifiers:x}=e.toRefs(o),k=function(l,n,a){return e.computed((()=>{const t={[l]:!0},o="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return o&&Array.isArray(o)&&o.forEach((e=>{e&&(t[`${l}--${e}`]=!0)})),a&&Object.keys(a.value).forEach((n=>{t[`${l}--${n}`]=e.unref(a.value[n])})),t}))}("vv-radio",x,e.computed((()=>({valid:s.value,invalid:f.value,disabled:r.value,readonly:d.value})))),{HintSlot:N}=function(n,a){const{invalid:t,valid:o,hint:u,loading:i}=a,{hintLabel:r,modelValue:d,valid:v,validLabel:s,invalid:f,invalidLabel:c,...p}=e.toRefs(n),m=h(p,"loading"),b=h(p,"loadingLabel"),g=e.computed((()=>!(!f.value||(!f.value||!t)&&!((null==c?void 0:c.value)&&Array.isArray(c.value)&&c.value.length>0)&&(!(null==c?void 0:c.value)||S(c))))),y=e.computed((()=>!!(r&&r.value||u))),B=e.computed((()=>!!(s&&s.value||o))),A=e.computed((()=>!!((null==m?void 0:m.value)&&i||(null==m?void 0:m.value)&&(null==b?void 0:b.value)))),j=e.computed((()=>y.value||B.value||g.value||A.value));return{hasInvalid:g,hasHint:y,hasValid:B,hasLoading:A,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(n){const a=e.computed((()=>{const e=l.toReactive({hintLabel:r,modelValue:d,valid:v,validLabel:s,invalid:f,invalidLabel:c,loading:m,loadingLabel:b,...n.params});return(null==f?void 0:f.value)?(null==t?void 0:t(e))||V(null==c?void 0:c.value)||(null==r?void 0:r.value):(null==v?void 0:v.value)?(null==o?void 0:o(e))||V(null==s?void 0:s.value)||(null==r?void 0:r.value):(null==m?void 0:m.value)?(null==i?void 0:i(e))||V(null==b?void 0:b.value)||(null==r?void 0:r.value):(null==u?void 0:u(e))||V(null==r?void 0:r.value)||(null==r?void 0:r.value)}));return{isVisible:j,hasInvalid:g,hasValid:B,hintContent:a}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}(o,u);return(l,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(k)),for:e.unref(c)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(c),ref_key:"input",ref:m,"onUpdate:modelValue":n[0]||(n[0]=l=>e.isRef(O)?O.value=l:null),type:"radio",class:"vv-radio__input",name:l.name,disabled:e.unref(b),value:e.unref(R),tabindex:e.unref(p),"aria-invalid":e.unref(y)},null,8,L),[[e.vModelRadio,e.unref(O)]]),e.renderSlot(l.$slots,"default",{value:e.unref(v)},(()=>[e.createTextVNode(e.toDisplayString(l.label),1)])),e.createVNode(e.unref(N),{class:"vv-radio__hint",params:{value:e.unref(v)}},null,8,["params"])],10,j))}})}));
1
+ !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@vueuse/core"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","nanoid"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvRadio=l(e.vue,e.core,e.nanoid)}(this,(function(e,l,n){"use strict";var a=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(a||{}),t=(e=>(e.before="before",e.after="after",e))(t||{}),o=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(o||{});const u=Symbol.for("radioGroup"),i={valid:Boolean,validLabel:[String,Array]},r={invalid:Boolean,invalidLabel:[String,Array]},d={disabled:Boolean},v=(Boolean,Boolean,{label:[String,Number]}),s={readonly:Boolean},f={modifiers:[String,Array]},c={hintLabel:{type:String,default:""}};t.before;const p={tabindex:{type:[String,Number],default:0}},m={id:[String,Number]};a.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const b={...{...m,name:{type:String,required:!0}},...p,...i,...r,...c,...d,...s,...f,...v,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String]};function g(e,l,n){return n?h(e,n)===h(l,n):y(e,l)}function y(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const n=Array.isArray(e),a=Array.isArray(l);let t,o,u;if(n&&a){if(o=e.length,o!=l.length)return!1;for(t=o;0!=t--;)if(!y(e[t],l[t]))return!1;return!0}if(n!=a)return!1;const i=e instanceof Date,r=l instanceof Date;if(i!=r)return!1;if(i&&r)return e.getTime()==l.getTime();const d=e instanceof RegExp,v=l instanceof RegExp;if(d!=v)return!1;if(d&&v)return e.toString()==l.toString();const s=Object.keys(e);if(o=s.length,o!==Object.keys(l).length)return!1;for(t=o;0!=t--;)if(!Object.prototype.hasOwnProperty.call(l,s[t]))return!1;for(t=o;0!=t--;)if(u=s[t],!y(e[u],l[u]))return!1;return!0}return e!=e&&l!=l}function h(e,l){if(e&&Object.keys(e).length&&l){if(-1===l.indexOf("."))return e[l];{const n=l.split(".");let a=e;for(let l=0,t=n.length;l<t;++l){if(null==e)return null;a=a[n[l]]}return a}}return null}function S(l){return null==(n=e.unref(l))||""===n||Array.isArray(n)&&0===n.length||!(n instanceof Date)&&"object"==typeof n&&0===Object.keys(n).length;var n}o.button;const B=b;function A(l,n){const{id:a}=e.toRefs(l),{group:t,isInGroup:o,getGroupOrLocalRef:i}=function(l){const n=e.inject(l,void 0),a=e.computed((()=>!S(n)));return{group:n,isInGroup:a,getGroupOrLocalRef:function(l,a,t){if(null==n?void 0:n.value){const a=e.unref(n.value)[l];return e.computed({get:()=>null==a?void 0:a.value,set(e){a.value=e}})}const o=e.toRef(a,l);return e.computed({get:()=>o.value,set(e){t&&t(`update:${l}`,e)}})}}}(u),r=i("modelValue",l,n),d=i("valid",l),v=i("invalid",l),s=e.computed((()=>{var e;return Boolean(l.readonly||(null==(e=null==t?void 0:t.value)?void 0:e.readonly.value))})),f=e.computed((()=>{var e;return Boolean(l.disabled||(null==(e=null==t?void 0:t.value)?void 0:e.disabled.value))}));return{id:a,group:t,isInGroup:o,modelValue:r,valid:d,invalid:v,readonly:s,disabled:f}}function V(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}const j=["for"],L=["id","name","disabled","value","tabindex","aria-invalid"];return e.defineComponent({name:"VvRadio",props:B,emits:["click","update:modelValue","change","blur"],setup(a,{emit:t}){const o=a,u=e.useSlots(),{id:i,disabled:r,readonly:d,modelValue:v,valid:s,invalid:f}=A(o,t),c=(l=>e.computed((()=>String((null==l?void 0:l.value)||n.nanoid()))))(i),p=e.computed((()=>b.value?-1:o.tabindex)),m=e.ref(),b=e.computed((()=>r.value||d.value)),y=e.computed((()=>!0===f.value||!0!==s.value&&void 0)),B=e.computed((()=>Array.isArray(v.value)?function(e,l){if(null!=e&&l&&l.length)for(const n of l)if(g(e,n))return!0;return!1}(o.value,v.value):g(o.value,v.value))),R=e.computed((()=>!["string","number","boolean"].includes(typeof o.value)||o.value)),O=e.computed({get:()=>B.value?R.value:null,set(e){Array.isArray(v.value)?v.value=[o.value]:v.value=o.value,t("change",e)}}),{modifiers:x}=e.toRefs(o),k=function(l,n,a){return e.computed((()=>{const t={[l]:!0},o="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return o&&Array.isArray(o)&&o.forEach((e=>{e&&(t[`${l}--${e}`]=!0)})),a&&Object.keys(a.value).forEach((n=>{t[`${l}--${n}`]=e.unref(a.value[n])})),t}))}("vv-radio",x,e.computed((()=>({valid:s.value,invalid:f.value,disabled:r.value,readonly:d.value})))),{HintSlot:N}=function(n,a){const{invalid:t,valid:o,hint:u,loading:i}=a,{hintLabel:r,modelValue:d,valid:v,validLabel:s,invalid:f,invalidLabel:c,...p}=e.toRefs(n),m=h(p,"loading"),b=h(p,"loadingLabel"),g=e.computed((()=>!(!f.value||(!f.value||!t)&&!((null==c?void 0:c.value)&&Array.isArray(c.value)&&c.value.length>0)&&(!(null==c?void 0:c.value)||S(c))))),y=e.computed((()=>!!(r&&r.value||u))),B=e.computed((()=>!!(s&&s.value||o))),A=e.computed((()=>!!((null==m?void 0:m.value)&&i||(null==m?void 0:m.value)&&(null==b?void 0:b.value)))),j=e.computed((()=>y.value||B.value||g.value||A.value));return{hasInvalid:g,hasHint:y,hasValid:B,hasLoading:A,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(n){const a=e.computed((()=>{const e=l.toReactive({hintLabel:r,modelValue:d,valid:v,validLabel:s,invalid:f,invalidLabel:c,loading:m,loadingLabel:b,...n.params});return(null==f?void 0:f.value)?(null==t?void 0:t(e))||V(null==c?void 0:c.value)||(null==r?void 0:r.value):(null==v?void 0:v.value)?(null==o?void 0:o(e))||V(null==s?void 0:s.value)||(null==r?void 0:r.value):(null==m?void 0:m.value)?(null==i?void 0:i(e))||V(null==b?void 0:b.value)||(null==r?void 0:r.value):(null==u?void 0:u(e))||V(null==r?void 0:r.value)||(null==r?void 0:r.value)}));return{isVisible:j,hasInvalid:g,hasValid:B,hintContent:a}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}(o,u);return(l,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(k)),for:e.unref(c)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(c),ref_key:"input",ref:m,"onUpdate:modelValue":n[0]||(n[0]=l=>e.isRef(O)?O.value=l:null),type:"radio",class:"vv-radio__input",name:l.name,disabled:e.unref(b),value:e.unref(R),tabindex:e.unref(p),"aria-invalid":e.unref(y)},null,8,L),[[e.vModelRadio,e.unref(O)]]),e.renderSlot(l.$slots,"default",{value:e.unref(v)},(()=>[e.createTextVNode(e.toDisplayString(l.label),1)])),e.createVNode(e.unref(N),{class:"vv-radio__hint",params:{value:e.unref(v)}},null,8,["params"])],10,j))}})}));
@@ -571,7 +571,7 @@ function useGroupProps(props, emit) {
571
571
  const readonly = computed(
572
572
  () => {
573
573
  var _a;
574
- return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
574
+ return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.readonly.value));
575
575
  }
576
576
  );
577
577
  const disabled = computed(
@@ -1 +1 @@
1
- !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@vueuse/core"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","nanoid"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvRadioGroup=l(e.vue,e.core,e.nanoid)}(this,(function(e,l,n){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),o=(e=>(e.before="before",e.after="after",e))(o||{}),a=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(a||{});const u=Symbol.for("radioGroup");function i(e,l,n){return n?d(e,n)===d(l,n):r(e,l)}function r(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const n=Array.isArray(e),t=Array.isArray(l);let o,a,u;if(n&&t){if(a=e.length,a!=l.length)return!1;for(o=a;0!=o--;)if(!r(e[o],l[o]))return!1;return!0}if(n!=t)return!1;const i=e instanceof Date,d=l instanceof Date;if(i!=d)return!1;if(i&&d)return e.getTime()==l.getTime();const v=e instanceof RegExp,s=l instanceof RegExp;if(v!=s)return!1;if(v&&s)return e.toString()==l.toString();const c=Object.keys(e);if(a=c.length,a!==Object.keys(l).length)return!1;for(o=a;0!=o--;)if(!Object.prototype.hasOwnProperty.call(l,c[o]))return!1;for(o=a;0!=o--;)if(u=c[o],!r(e[u],l[u]))return!1;return!0}return e!=e&&l!=l}function d(e,l){if(e&&Object.keys(e).length&&l){if(-1===l.indexOf("."))return e[l];{const n=l.split(".");let t=e;for(let l=0,o=n.length;l<o;++l){if(null==e)return null;t=t[n[l]]}return t}}return null}function v(l){return null==(n=e.unref(l))||""===n||Array.isArray(n)&&0===n.length||!(n instanceof Date)&&"object"==typeof n&&0===Object.keys(n).length;var n}function s(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}function c(n,t){const{invalid:o,valid:a,hint:u,loading:i}=t,{hintLabel:r,modelValue:c,valid:f,validLabel:p,invalid:m,invalidLabel:b,...y}=e.toRefs(n),g=d(y,"loading"),h=d(y,"loadingLabel"),S=e.computed((()=>!!m.value&&(!(!m.value||!o)||(!!((null==b?void 0:b.value)&&Array.isArray(b.value)&&b.value.length>0)||!(!(null==b?void 0:b.value)||v(b)))))),B=e.computed((()=>!!(r&&r.value||u))),V=e.computed((()=>!!(p&&p.value||a))),k=e.computed((()=>!!((null==g?void 0:g.value)&&i||(null==g?void 0:g.value)&&(null==h?void 0:h.value)))),A=e.computed((()=>B.value||V.value||S.value||k.value));return{hasInvalid:S,hasHint:B,hasValid:V,hasLoading:k,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(n){const t=e.computed((()=>{const e=l.toReactive({hintLabel:r,modelValue:c,valid:f,validLabel:p,invalid:m,invalidLabel:b,loading:g,loadingLabel:h,...n.params});return(null==m?void 0:m.value)?(null==o?void 0:o(e))||s(null==b?void 0:b.value)||(null==r?void 0:r.value):(null==f?void 0:f.value)?(null==a?void 0:a(e))||s(null==p?void 0:p.value)||(null==r?void 0:r.value):(null==g?void 0:g.value)?(null==i?void 0:i(e))||s(null==h?void 0:h.value)||(null==r?void 0:r.value):(null==u?void 0:u(e))||s(null==r?void 0:r.value)||(null==r?void 0:r.value)}));return{isVisible:A,hasInvalid:S,hasValid:V,hintContent:t}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}const f={valid:Boolean,validLabel:[String,Array]},p={invalid:Boolean,invalidLabel:[String,Array]},m={disabled:Boolean},b=(Boolean,Boolean,{label:[String,Number]}),y={readonly:Boolean},g={modifiers:[String,Array]},h={hintLabel:{type:String,default:""}},S={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}};o.before;const B={tabindex:{type:[String,Number],default:0}},V={id:[String,Number]};t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const k={...{...V,name:{type:String,required:!0}},...B,...f,...p,...h,...m,...y,...g,...b,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String]},A={...f,...p,...S,...h,...m,...y,...g,...b,modelValue:[String,Array,Boolean,Number,Symbol],name:{type:String,required:!0},vertical:Boolean};a.button;const O=k;function j(l,n){const{id:t}=e.toRefs(l),{group:o,isInGroup:a,getGroupOrLocalRef:i}=function(l){const n=e.inject(l,void 0),t=e.computed((()=>!v(n)));return{group:n,isInGroup:t,getGroupOrLocalRef:function(l,t,o){if(null==n?void 0:n.value){const t=e.unref(n.value)[l];return e.computed({get:()=>null==t?void 0:t.value,set(e){t.value=e}})}const a=e.toRef(t,l);return e.computed({get:()=>a.value,set(e){o&&o(`update:${l}`,e)}})}}}(u),r=i("modelValue",l,n),d=i("valid",l),s=i("invalid",l),c=e.computed((()=>{var e;return Boolean(l.readonly||(null==(e=null==o?void 0:o.value)?void 0:e.disabled.value))})),f=e.computed((()=>{var e;return Boolean(l.disabled||(null==(e=null==o?void 0:o.value)?void 0:e.disabled.value))}));return{id:t,group:o,isInGroup:a,modelValue:r,valid:d,invalid:s,readonly:c,disabled:f}}function L(l,n,t){return e.computed((()=>{const o={[l]:!0},a="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(o[`${l}--${e}`]=!0)})),t&&Object.keys(t.value).forEach((n=>{o[`${l}--${n}`]=e.unref(t.value[n])})),o}))}const R=["for"],x=["id","name","disabled","value","tabindex","aria-invalid"],N=e.defineComponent({name:"VvRadio",props:O,emits:["click","update:modelValue","change","blur"],setup(l,{emit:t}){const o=l,a=e.useSlots(),{id:u,disabled:r,readonly:d,modelValue:v,valid:s,invalid:f}=j(o,t),p=(l=>e.computed((()=>String((null==l?void 0:l.value)||n.nanoid()))))(u),m=e.computed((()=>y.value?-1:o.tabindex)),b=e.ref(),y=e.computed((()=>r.value||d.value)),g=e.computed((()=>!0===f.value||!0!==s.value&&void 0)),h=e.computed((()=>Array.isArray(v.value)?function(e,l){if(null!=e&&l&&l.length)for(const n of l)if(i(e,n))return!0;return!1}(o.value,v.value):i(o.value,v.value))),S=e.computed((()=>!["string","number","boolean"].includes(typeof o.value)||o.value)),B=e.computed({get:()=>h.value?S.value:null,set(e){Array.isArray(v.value)?v.value=[o.value]:v.value=o.value,t("change",e)}}),{modifiers:V}=e.toRefs(o),k=L("vv-radio",V,e.computed((()=>({valid:s.value,invalid:f.value,disabled:r.value,readonly:d.value})))),{HintSlot:A}=c(o,a);return(l,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(k)),for:e.unref(p)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(p),ref_key:"input",ref:b,"onUpdate:modelValue":n[0]||(n[0]=l=>e.isRef(B)?B.value=l:null),type:"radio",class:"vv-radio__input",name:l.name,disabled:e.unref(y),value:e.unref(S),tabindex:e.unref(m),"aria-invalid":e.unref(g)},null,8,x),[[e.vModelRadio,e.unref(B)]]),e.renderSlot(l.$slots,"default",{value:e.unref(v)},(()=>[e.createTextVNode(e.toDisplayString(l.label),1)])),e.createVNode(e.unref(A),{class:"vv-radio__hint",params:{value:e.unref(v)}},null,8,["params"])],10,R))}}),E=A;const _=["textContent"],C={class:"vv-radio-group__wrapper"};return e.defineComponent({name:"VvRadioGroup",props:E,emits:["update:modelValue","change"],setup(n,{emit:t}){const o=n,a=e.useSlots(),i=l.useVModel(o,"modelValue",t),{disabled:r,readonly:d,vertical:v,valid:s,invalid:f,modifiers:p}=e.toRefs(o);!function(l){if(Object.keys(l).some((n=>"key"!==n&&!e.isRef(l[n]))))throw Error("One or more groupState props aren't ref.");e.provide(l.key,e.computed((()=>l)))}({key:u,modelValue:i,disabled:r,readonly:d,valid:s,invalid:f});const{getOptionLabel:m,getOptionValue:b}=function(l){const{options:n,labelKey:t,valueKey:o,disabledKey:a}=e.toRefs(l);return{options:n,getOptionLabel:e=>"object"!=typeof e&&null!==e?e:"function"==typeof t.value?t.value(e):e[t.value],getOptionValue:e=>"object"!=typeof e&&null!==e?e:"function"==typeof o.value?o.value(e):e[o.value],getOptionDisabled:e=>("object"==typeof e||null===e)&&("function"==typeof a.value?a.value(e):e[a.value]),getOptionGrouped:e=>"object"!=typeof e&&null!==e?[]:e.options||[]}}(o),y=L("vv-radio-group",p,e.computed((()=>({disabled:r.value,readonly:d.value,horizontal:!v.value,valid:s.value,invalid:f.value})))),{HintSlot:g}=c(o,a);return(l,n)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(y))},[l.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(l.label)},null,8,_)):e.createCommentVNode("",!0),e.createElementVNode("div",C,[l.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(l.options,((l,n)=>(e.openBlock(),e.createBlock(N,e.mergeProps({key:n},((e,l)=>({id:`${o.name}_opt${l}`,name:o.name,label:m(e),value:b(e)}))(l,n)),null,16)))),128)):e.renderSlot(l.$slots,"default",{key:1})]),e.createVNode(e.unref(g),{class:"vv-radio-group__hint"})],2))}})}));
1
+ !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@vueuse/core"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","nanoid"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvRadioGroup=l(e.vue,e.core,e.nanoid)}(this,(function(e,l,n){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),o=(e=>(e.before="before",e.after="after",e))(o||{}),a=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(a||{});const u=Symbol.for("radioGroup");function i(e,l,n){return n?d(e,n)===d(l,n):r(e,l)}function r(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const n=Array.isArray(e),t=Array.isArray(l);let o,a,u;if(n&&t){if(a=e.length,a!=l.length)return!1;for(o=a;0!=o--;)if(!r(e[o],l[o]))return!1;return!0}if(n!=t)return!1;const i=e instanceof Date,d=l instanceof Date;if(i!=d)return!1;if(i&&d)return e.getTime()==l.getTime();const v=e instanceof RegExp,s=l instanceof RegExp;if(v!=s)return!1;if(v&&s)return e.toString()==l.toString();const c=Object.keys(e);if(a=c.length,a!==Object.keys(l).length)return!1;for(o=a;0!=o--;)if(!Object.prototype.hasOwnProperty.call(l,c[o]))return!1;for(o=a;0!=o--;)if(u=c[o],!r(e[u],l[u]))return!1;return!0}return e!=e&&l!=l}function d(e,l){if(e&&Object.keys(e).length&&l){if(-1===l.indexOf("."))return e[l];{const n=l.split(".");let t=e;for(let l=0,o=n.length;l<o;++l){if(null==e)return null;t=t[n[l]]}return t}}return null}function v(l){return null==(n=e.unref(l))||""===n||Array.isArray(n)&&0===n.length||!(n instanceof Date)&&"object"==typeof n&&0===Object.keys(n).length;var n}function s(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}function c(n,t){const{invalid:o,valid:a,hint:u,loading:i}=t,{hintLabel:r,modelValue:c,valid:f,validLabel:p,invalid:m,invalidLabel:b,...y}=e.toRefs(n),g=d(y,"loading"),h=d(y,"loadingLabel"),S=e.computed((()=>!!m.value&&(!(!m.value||!o)||(!!((null==b?void 0:b.value)&&Array.isArray(b.value)&&b.value.length>0)||!(!(null==b?void 0:b.value)||v(b)))))),B=e.computed((()=>!!(r&&r.value||u))),V=e.computed((()=>!!(p&&p.value||a))),k=e.computed((()=>!!((null==g?void 0:g.value)&&i||(null==g?void 0:g.value)&&(null==h?void 0:h.value)))),A=e.computed((()=>B.value||V.value||S.value||k.value));return{hasInvalid:S,hasHint:B,hasValid:V,hasLoading:k,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(n){const t=e.computed((()=>{const e=l.toReactive({hintLabel:r,modelValue:c,valid:f,validLabel:p,invalid:m,invalidLabel:b,loading:g,loadingLabel:h,...n.params});return(null==m?void 0:m.value)?(null==o?void 0:o(e))||s(null==b?void 0:b.value)||(null==r?void 0:r.value):(null==f?void 0:f.value)?(null==a?void 0:a(e))||s(null==p?void 0:p.value)||(null==r?void 0:r.value):(null==g?void 0:g.value)?(null==i?void 0:i(e))||s(null==h?void 0:h.value)||(null==r?void 0:r.value):(null==u?void 0:u(e))||s(null==r?void 0:r.value)||(null==r?void 0:r.value)}));return{isVisible:A,hasInvalid:S,hasValid:V,hintContent:t}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}const f={valid:Boolean,validLabel:[String,Array]},p={invalid:Boolean,invalidLabel:[String,Array]},m={disabled:Boolean},b=(Boolean,Boolean,{label:[String,Number]}),y={readonly:Boolean},g={modifiers:[String,Array]},h={hintLabel:{type:String,default:""}},S={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}};o.before;const B={tabindex:{type:[String,Number],default:0}},V={id:[String,Number]};t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const k={...{...V,name:{type:String,required:!0}},...B,...f,...p,...h,...m,...y,...g,...b,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String]},A={...f,...p,...S,...h,...m,...y,...g,...b,modelValue:[String,Array,Boolean,Number,Symbol],name:{type:String,required:!0},vertical:Boolean};a.button;const O=k;function j(l,n){const{id:t}=e.toRefs(l),{group:o,isInGroup:a,getGroupOrLocalRef:i}=function(l){const n=e.inject(l,void 0),t=e.computed((()=>!v(n)));return{group:n,isInGroup:t,getGroupOrLocalRef:function(l,t,o){if(null==n?void 0:n.value){const t=e.unref(n.value)[l];return e.computed({get:()=>null==t?void 0:t.value,set(e){t.value=e}})}const a=e.toRef(t,l);return e.computed({get:()=>a.value,set(e){o&&o(`update:${l}`,e)}})}}}(u),r=i("modelValue",l,n),d=i("valid",l),s=i("invalid",l),c=e.computed((()=>{var e;return Boolean(l.readonly||(null==(e=null==o?void 0:o.value)?void 0:e.readonly.value))})),f=e.computed((()=>{var e;return Boolean(l.disabled||(null==(e=null==o?void 0:o.value)?void 0:e.disabled.value))}));return{id:t,group:o,isInGroup:a,modelValue:r,valid:d,invalid:s,readonly:c,disabled:f}}function L(l,n,t){return e.computed((()=>{const o={[l]:!0},a="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(o[`${l}--${e}`]=!0)})),t&&Object.keys(t.value).forEach((n=>{o[`${l}--${n}`]=e.unref(t.value[n])})),o}))}const R=["for"],x=["id","name","disabled","value","tabindex","aria-invalid"],N=e.defineComponent({name:"VvRadio",props:O,emits:["click","update:modelValue","change","blur"],setup(l,{emit:t}){const o=l,a=e.useSlots(),{id:u,disabled:r,readonly:d,modelValue:v,valid:s,invalid:f}=j(o,t),p=(l=>e.computed((()=>String((null==l?void 0:l.value)||n.nanoid()))))(u),m=e.computed((()=>y.value?-1:o.tabindex)),b=e.ref(),y=e.computed((()=>r.value||d.value)),g=e.computed((()=>!0===f.value||!0!==s.value&&void 0)),h=e.computed((()=>Array.isArray(v.value)?function(e,l){if(null!=e&&l&&l.length)for(const n of l)if(i(e,n))return!0;return!1}(o.value,v.value):i(o.value,v.value))),S=e.computed((()=>!["string","number","boolean"].includes(typeof o.value)||o.value)),B=e.computed({get:()=>h.value?S.value:null,set(e){Array.isArray(v.value)?v.value=[o.value]:v.value=o.value,t("change",e)}}),{modifiers:V}=e.toRefs(o),k=L("vv-radio",V,e.computed((()=>({valid:s.value,invalid:f.value,disabled:r.value,readonly:d.value})))),{HintSlot:A}=c(o,a);return(l,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(k)),for:e.unref(p)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(p),ref_key:"input",ref:b,"onUpdate:modelValue":n[0]||(n[0]=l=>e.isRef(B)?B.value=l:null),type:"radio",class:"vv-radio__input",name:l.name,disabled:e.unref(y),value:e.unref(S),tabindex:e.unref(m),"aria-invalid":e.unref(g)},null,8,x),[[e.vModelRadio,e.unref(B)]]),e.renderSlot(l.$slots,"default",{value:e.unref(v)},(()=>[e.createTextVNode(e.toDisplayString(l.label),1)])),e.createVNode(e.unref(A),{class:"vv-radio__hint",params:{value:e.unref(v)}},null,8,["params"])],10,R))}}),E=A;const _=["textContent"],C={class:"vv-radio-group__wrapper"};return e.defineComponent({name:"VvRadioGroup",props:E,emits:["update:modelValue","change"],setup(n,{emit:t}){const o=n,a=e.useSlots(),i=l.useVModel(o,"modelValue",t),{disabled:r,readonly:d,vertical:v,valid:s,invalid:f,modifiers:p}=e.toRefs(o);!function(l){if(Object.keys(l).some((n=>"key"!==n&&!e.isRef(l[n]))))throw Error("One or more groupState props aren't ref.");e.provide(l.key,e.computed((()=>l)))}({key:u,modelValue:i,disabled:r,readonly:d,valid:s,invalid:f});const{getOptionLabel:m,getOptionValue:b}=function(l){const{options:n,labelKey:t,valueKey:o,disabledKey:a}=e.toRefs(l);return{options:n,getOptionLabel:e=>"object"!=typeof e&&null!==e?e:"function"==typeof t.value?t.value(e):e[t.value],getOptionValue:e=>"object"!=typeof e&&null!==e?e:"function"==typeof o.value?o.value(e):e[o.value],getOptionDisabled:e=>("object"==typeof e||null===e)&&("function"==typeof a.value?a.value(e):e[a.value]),getOptionGrouped:e=>"object"!=typeof e&&null!==e?[]:e.options||[]}}(o),y=L("vv-radio-group",p,e.computed((()=>({disabled:r.value,readonly:d.value,horizontal:!v.value,valid:s.value,invalid:f.value})))),{HintSlot:g}=c(o,a);return(l,n)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(y))},[l.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(l.label)},null,8,_)):e.createCommentVNode("",!0),e.createElementVNode("div",C,[l.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(l.options,((l,n)=>(e.openBlock(),e.createBlock(N,e.mergeProps({key:n},((e,l)=>({id:`${o.name}_opt${l}`,name:o.name,label:m(e),value:b(e)}))(l,n)),null,16)))),128)):e.renderSlot(l.$slots,"default",{key:1})]),e.createVNode(e.unref(g),{class:"vv-radio-group__hint"})],2))}})}));
@@ -1688,7 +1688,7 @@ function useGroupProps$1(props, emit) {
1688
1688
  const readonly = computed(
1689
1689
  () => {
1690
1690
  var _a;
1691
- return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
1691
+ return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.readonly.value));
1692
1692
  }
1693
1693
  );
1694
1694
  const disabled = computed(
@@ -4549,7 +4549,7 @@ function useGroupProps(props, emit) {
4549
4549
  const readonly = computed(
4550
4550
  () => {
4551
4551
  var _a;
4552
- return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
4552
+ return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.readonly.value));
4553
4553
  }
4554
4554
  );
4555
4555
  const disabled = computed(