@volverjs/ui-vue 0.0.3 → 0.0.4

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.
Files changed (145) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +52 -13
  3. package/dist/Volver.d.ts +5 -1
  4. package/dist/components/VvAccordion/VvAccordion.es.js +113 -66
  5. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  6. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +159 -101
  7. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  8. package/dist/components/VvAction/VvAction.es.js +170 -0
  9. package/dist/components/VvAction/VvAction.umd.js +1 -0
  10. package/dist/components/VvAction/VvAction.vue.d.ts +63 -0
  11. package/dist/components/VvAction/index.d.ts +24 -0
  12. package/dist/components/VvBadge/VvBadge.es.js +86 -16
  13. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  14. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +97 -41
  15. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  16. package/dist/components/VvButton/VvButton.es.js +434 -251
  17. package/dist/components/VvButton/VvButton.umd.js +1 -1
  18. package/dist/components/VvButton/VvButton.vue.d.ts +50 -50
  19. package/dist/components/VvButton/index.d.ts +22 -67
  20. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +118 -43
  21. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  22. package/dist/components/VvCard/VvCard.es.js +38 -25
  23. package/dist/components/VvCard/VvCard.umd.js +1 -1
  24. package/dist/components/VvCheckbox/VvCheckbox.es.js +334 -154
  25. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  26. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +2 -2
  27. package/dist/components/VvCheckbox/index.d.ts +1 -1
  28. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +401 -204
  29. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  30. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +2 -2
  31. package/dist/components/VvCheckboxGroup/index.d.ts +1 -1
  32. package/dist/components/VvCombobox/VvCombobox.es.js +950 -594
  33. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  34. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +54 -30
  35. package/dist/components/VvCombobox/index.d.ts +18 -13
  36. package/dist/components/VvDialog/VvDialog.es.js +139 -64
  37. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  38. package/dist/components/VvDropdown/VvDropdown.es.js +276 -158
  39. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  40. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +9 -9
  41. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +61 -0
  42. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +52 -0
  43. package/dist/components/VvDropdown/index.d.ts +6 -9
  44. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +251 -0
  45. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -0
  46. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +30 -15
  47. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  48. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +176 -0
  49. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -0
  50. package/dist/components/VvIcon/VvIcon.es.js +48 -32
  51. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  52. package/dist/components/VvInputText/VvInputText.es.js +508 -344
  53. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  54. package/dist/components/VvInputText/VvInputText.vue.d.ts +11 -4
  55. package/dist/components/VvInputText/index.d.ts +13 -2
  56. package/dist/components/VvProgress/VvProgress.es.js +90 -20
  57. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  58. package/dist/components/VvRadio/VvRadio.es.js +305 -125
  59. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  60. package/dist/components/VvRadio/VvRadio.vue.d.ts +2 -2
  61. package/dist/components/VvRadio/index.d.ts +1 -1
  62. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +372 -175
  63. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  64. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +2 -2
  65. package/dist/components/VvRadioGroup/index.d.ts +1 -1
  66. package/dist/components/VvSelect/VvSelect.es.js +371 -216
  67. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  68. package/dist/components/VvSelect/VvSelect.vue.d.ts +11 -4
  69. package/dist/components/VvSelect/index.d.ts +5 -5
  70. package/dist/components/VvTextarea/VvTextarea.es.js +408 -244
  71. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  72. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +11 -4
  73. package/dist/components/VvTextarea/index.d.ts +5 -5
  74. package/dist/components/VvTooltip/VvTooltip.es.js +88 -18
  75. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  76. package/dist/components/index.es.js +1913 -1521
  77. package/dist/components/index.umd.js +1 -1
  78. package/dist/composables/dropdown/useInjectDropdown.d.ts +1 -1
  79. package/dist/composables/dropdown/useProvideDropdown.d.ts +2 -2
  80. package/dist/constants.d.ts +30 -0
  81. package/dist/directives/index.es.js +128 -0
  82. package/dist/directives/index.umd.js +1 -0
  83. package/dist/directives/v-tooltip.es.js +126 -0
  84. package/dist/directives/v-tooltip.umd.js +1 -0
  85. package/dist/icons.es.js +3 -3
  86. package/dist/icons.umd.js +1 -1
  87. package/dist/index.es.js +2102 -1761
  88. package/dist/index.umd.js +1 -1
  89. package/dist/props/index.d.ts +179 -11
  90. package/dist/resolvers/unplugin.d.ts +8 -8
  91. package/dist/resolvers/unplugin.es.js +51 -30
  92. package/dist/resolvers/unplugin.umd.js +1 -1
  93. package/dist/stories/Combobox/Combobox.settings.d.ts +44 -0
  94. package/dist/stories/Dropdown/Dropdown.settings.d.ts +3 -2
  95. package/package.json +60 -34
  96. package/src/Volver.ts +12 -5
  97. package/src/assets/icons/detailed.json +1 -1
  98. package/src/assets/icons/normal.json +1 -1
  99. package/src/assets/icons/simple.json +1 -1
  100. package/src/components/VvAction/VvAction.vue +144 -0
  101. package/src/components/VvAction/index.ts +5 -0
  102. package/src/components/VvButton/VvButton.vue +31 -114
  103. package/src/components/VvButton/index.ts +6 -79
  104. package/src/components/VvCombobox/VvCombobox.vue +54 -42
  105. package/src/components/VvCombobox/index.ts +11 -9
  106. package/src/components/VvDropdown/VvDropdownAction.vue +44 -0
  107. package/src/components/VvDropdown/VvDropdownOption.vue +65 -0
  108. package/src/components/VvDropdown/index.ts +4 -9
  109. package/src/components/VvSelect/index.ts +2 -4
  110. package/src/composables/dropdown/useInjectDropdown.ts +1 -1
  111. package/src/composables/dropdown/useProvideDropdown.ts +7 -9
  112. package/src/composables/useModifiers.ts +4 -7
  113. package/src/constants.ts +36 -0
  114. package/src/props/index.ts +106 -14
  115. package/src/resolvers/unplugin.ts +81 -48
  116. package/src/stories/Accordion/AccordionSlots.stories.mdx +2 -2
  117. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +2 -1
  118. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +2 -1
  119. package/src/stories/Button/Button.stories.mdx +4 -2
  120. package/src/stories/Button/Button.test.ts +3 -1
  121. package/src/stories/Button/ButtonModifiers.stories.mdx +2 -2
  122. package/src/stories/Button/ButtonSlots.stories.mdx +8 -7
  123. package/src/stories/Button/ButtonState.stories.mdx +2 -11
  124. package/src/stories/Card/Card.stories.mdx +2 -1
  125. package/src/stories/Checkbox/Checkbox.stories.mdx +2 -1
  126. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +2 -1
  127. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +2 -1
  128. package/src/stories/Combobox/Combobox.settings.ts +44 -0
  129. package/src/stories/Combobox/Combobox.stories.mdx +40 -1
  130. package/src/stories/Dialog/Dialog.stories.mdx +2 -1
  131. package/src/stories/Dropdown/Dropdown.settings.ts +3 -2
  132. package/src/stories/Dropdown/Dropdown.stories.mdx +14 -12
  133. package/src/stories/Dropdown/DropdownMultilevel.stories.mdx +56 -0
  134. package/src/stories/Dropdown/DropdownSlots.stories.mdx +14 -13
  135. package/src/stories/Icon/Icon.stories.mdx +2 -1
  136. package/src/stories/Icon/IconsCollection.stories.mdx +2 -1
  137. package/src/stories/InputText/InputText.stories.mdx +2 -1
  138. package/src/stories/Progress/Progress.stories.mdx +2 -1
  139. package/src/stories/Radio/Radio.stories.mdx +2 -1
  140. package/src/stories/RadioGroup/RadioGroup.stories.mdx +2 -1
  141. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +2 -1
  142. package/src/stories/Select/Select.stories.mdx +2 -1
  143. package/src/stories/Textarea/Textarea.stories.mdx +2 -1
  144. package/src/stories/Tooltip/Tooltip.stories.mdx +2 -1
  145. package/src/stories/Tooltip/TooltipDirective.stories.mdx +2 -1
@@ -1 +1 @@
1
- (function(e,b){typeof exports=="object"&&typeof module<"u"?module.exports=b(require("vue")):typeof define=="function"&&define.amd?define(["vue"],b):(e=typeof globalThis<"u"?globalThis:e||self,e.VvRadioGroup=b(e.vue))})(this,function(e){"use strict";var b=(t=>(t.left="left",t.right="right",t.top="top",t.bottom="bottom",t))(b||{}),N=(t=>(t.topStart="top-start",t.topEnd="top-end",t.bottomStart="bottom-start",t.bottomEnd="bottom-end",t.leftStart="left-start",t.leftEnd="left-end",t.rightStart="right-start",t.rightEnd="right-end",t))(N||{}),R=(t=>(t.before="before",t.after="after",t))(R||{});const P=Symbol.for("radioGroup");function O(t){return Array.isArray(t)?t.filter(f=>isString(f)).join(" "):t}function j(t,f){const{invalid:a,valid:m,hint:v,loading:r}=f,{hintLabel:o,modelValue:s,valid:c,validLabel:i,invalid:d,invalidLabel:n,..._}=toRefs(t),l=resolveFieldData(_,"loading"),p=resolveFieldData(_,"loadingLabel"),g=computed(()=>d.value?!!(d.value&&a||n!=null&&n.value&&Array.isArray(n.value)&&n.value.length>0||n!=null&&n.value&&!isEmpty(n)):!1),u=computed(()=>!!(o&&o.value||v)),y=computed(()=>!!(i&&i.value||m)),B=computed(()=>!!(l!=null&&l.value&&r||l!=null&&l.value&&(p!=null&&p.value))),k=computed(()=>u.value||y.value||g.value||B.value);return{hasInvalid:g,hasHint:u,hasValid:y,hasLoading:B,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(C){const S=computed(()=>{const V=toReactive({hintLabel:o,modelValue:s,valid:c,validLabel:i,invalid:d,invalidLabel:n,loading:l,loadingLabel:p,...C.params});return d!=null&&d.value?(a==null?void 0:a(V))||O(n==null?void 0:n.value)||(o==null?void 0:o.value):c!=null&&c.value?(m==null?void 0:m(V))||O(i==null?void 0:i.value)||(o==null?void 0:o.value):l!=null&&l.value?(r==null?void 0:r(V))||O(p==null?void 0:p.value)||(o==null?void 0:o.value):(v==null?void 0:v(V))||O(o==null?void 0:o.value)||(o==null?void 0:o.value)});return{isVisible:k,hasInvalid:g,hasValid:y,hintContent:S}},render(){if(this.isVisible)return h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}const E={valid:Boolean,validLabel:[String,Array]},A={invalid:Boolean,invalidLabel:[String,Array]},I={disabled:Boolean},G={readonly:Boolean},D={modifiers:[String,Array]},F={hintLabel:{type:String,default:""}},$={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}};R.before;const H={tabindex:{type:[String,Number],default:0}},x={id:[String,Number]};b.bottom;const M={...{...x,name:{type:String,required:!0}},...H,...E,...A,...F,...I,...G,...D,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String],label:String},q={...E,...A,...$,...F,...I,...G,...D,modelValue:[String,Array],label:String,name:{type:String,required:!0},vertical:Boolean},T=M,z=["click","update:modelValue","change","blur"];function K(t,f){const{id:a}=toRefs(t),{group:m,isInGroup:v,getGroupOrLocalRef:r}=useInjectedGroupState(P),o=r("modelValue",t,f),s=r("readonly",t),c=r("disabled",t),i=r("valid",t),d=r("invalid",t);return{id:a,group:m,isInGroup:v,modelValue:o,readonly:s,disabled:c,valid:i,invalid:d}}const w=["for"],U=["id","name","disabled","value","tabindex","aria-invalid"],J={name:"VvRadio"},W=e.defineComponent({...J,props:T,emits:z,setup(t,{emit:f}){const a=t,m=useSlots(),{id:v,disabled:r,readonly:o,modelValue:s,valid:c,invalid:i}=K(a,f),d=useUniqueId(v),n=computed(()=>l.value?-1:a.tabindex),_=ref(),l=computed(()=>r.value||o.value),p=computed(()=>{if(i.value===!0)return!0;if(c.value===!0)return!1}),g=computed(()=>Array.isArray(s.value)?contains(a.value,s.value):equals(a.value,s.value)),u=computed(()=>["string","number","boolean"].includes(typeof a.value)?a.value:!0),y=computed({get(){return g.value?u.value:null},set(S){Array.isArray(s.value)?s.value=[a.value]:s.value=a.value,f("change",S)}}),{modifiers:B}=toRefs(a),k=useBemModifiers("vv-radio",B,computed(()=>({valid:c.value,invalid:i.value,disabled:r.value,readonly:o.value}))),{HintSlot:C}=j(a,m);return(S,V)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(k)),for:e.unref(d)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(d),ref_key:"input",ref:_,"onUpdate:modelValue":V[0]||(V[0]=ee=>e.isRef(y)?y.value=ee:null),type:"radio",class:"vv-radio__input",name:S.name,disabled:e.unref(l),value:e.unref(u),tabindex:e.unref(n),"aria-invalid":e.unref(p)},null,8,U),[[e.vModelRadio,e.unref(y)]]),e.renderSlot(S.$slots,"default",{value:e.unref(s)},()=>[e.createTextVNode(e.toDisplayString(S.label),1)]),e.createVNode(e.unref(C),{class:"vv-radio__hint",params:{value:e.unref(s)}},null,8,["params"])],10,w))}}),Y=q,Q=["update:modelValue","change"],X=["textContent"],Z={class:"vv-radio-group__wrapper"},L={name:"VvRadioGroup"};return e.defineComponent({...L,props:Y,emits:Q,setup(t,{emit:f}){const a=t,m=useSlots(),v=useVModel(a,"modelValue",f),{disabled:r,readonly:o,vertical:s,valid:c,invalid:i,modifiers:d}=toRefs(a);useProvideGroupState({key:P,modelValue:v,disabled:r,readonly:o,valid:c,invalid:i});const{getOptionLabel:n,getOptionValue:_}=useOptions(a),l=useBemModifiers("vv-radio-group",d,computed(()=>({disabled:r.value,readonly:o.value,horizontal:!s.value,valid:c.value,invalid:i.value}))),p=(u,y)=>({id:`${a.name}_opt${y}`,name:a.name,label:n(u),value:_(u)}),{HintSlot:g}=j(a,m);return(u,y)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(l))},[u.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(u.label)},null,8,X)):e.createCommentVNode("",!0),e.createElementVNode("div",Z,[u.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(u.options,(B,k)=>(e.openBlock(),e.createBlock(W,e.mergeProps({key:k},p(B,k)),null,16))),128)):e.renderSlot(u.$slots,"default",{key:1})]),e.createVNode(e.unref(g),{class:"vv-radio-group__hint"})],2))}})});
1
+ (function(t,O){typeof exports=="object"&&typeof module<"u"?module.exports=O(require("vue"),require("@vueuse/core"),require("nanoid")):typeof define=="function"&&define.amd?define(["vue","@vueuse/core","nanoid"],O):(t=typeof globalThis<"u"?globalThis:t||self,t.VvRadioGroup=O(t.vue,t.core,t.nanoid))})(this,function(t,O,U){"use strict";var B=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(B||{}),N=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(N||{}),R=(e=>(e.before="before",e.after="after",e))(R||{}),A=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(A||{}),G=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(G||{});const $=Symbol.for("radioGroup");function D(e,n,r){return r?k(e,r)===k(n,r):E(e,n)}function E(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){const r=Array.isArray(e),u=Array.isArray(n);let a,l,s;if(r&&u){if(l=e.length,l!=n.length)return!1;for(a=l;a--!==0;)if(!E(e[a],n[a]))return!1;return!0}if(r!=u)return!1;const c=e instanceof Date,o=n instanceof Date;if(c!=o)return!1;if(c&&o)return e.getTime()==n.getTime();const d=e instanceof RegExp,f=n instanceof RegExp;if(d!=f)return!1;if(d&&f)return e.toString()==n.toString();const i=Object.keys(e);if(l=i.length,l!==Object.keys(n).length)return!1;for(a=l;a--!==0;)if(!Object.prototype.hasOwnProperty.call(n,i[a]))return!1;for(a=l;a--!==0;)if(s=i[a],!E(e[s],n[s]))return!1;return!0}return e!==e&&n!==n}function k(e,n){if(e&&Object.keys(e).length&&n){if(n.indexOf(".")===-1)return e[n];{const r=n.split(".");let u=e;for(let a=0,l=r.length;a<l;++a){if(e==null)return null;u=u[r[a]]}return u}}else return null}function T(e,n){if(e!=null&&n&&n.length){for(const r of n)if(D(e,r))return!0}return!1}function x(e){return(n=>n==null||n===""||Array.isArray(n)&&n.length===0||!(n instanceof Date)&&typeof n=="object"&&Object.keys(n).length===0)(t.unref(e))}function J(e){return typeof e=="string"||e instanceof String}function j(e){return Array.isArray(e)?e.filter(n=>J(n)).join(" "):e}function q(e,n){const{invalid:r,valid:u,hint:a,loading:l}=n,{hintLabel:s,modelValue:c,valid:o,validLabel:d,invalid:f,invalidLabel:i,...S}=t.toRefs(e),p=k(S,"loading"),m=k(S,"loadingLabel"),v=t.computed(()=>f.value?!!(f.value&&r||i!=null&&i.value&&Array.isArray(i.value)&&i.value.length>0||i!=null&&i.value&&!x(i)):!1),y=t.computed(()=>!!(s&&s.value||a)),g=t.computed(()=>!!(d&&d.value||u)),_=t.computed(()=>!!(p!=null&&p.value&&l||p!=null&&p.value&&(m!=null&&m.value))),V=t.computed(()=>y.value||g.value||v.value||_.value);return{hasInvalid:v,hasHint:y,hasValid:g,hasLoading:_,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(I){const b=t.computed(()=>{const h=O.toReactive({hintLabel:s,modelValue:c,valid:o,validLabel:d,invalid:f,invalidLabel:i,loading:p,loadingLabel:m,...I.params});return f!=null&&f.value?(r==null?void 0:r(h))||j(i==null?void 0:i.value)||(s==null?void 0:s.value):o!=null&&o.value?(u==null?void 0:u(h))||j(d==null?void 0:d.value)||(s==null?void 0:s.value):p!=null&&p.value?(l==null?void 0:l(h))||j(m==null?void 0:m.value)||(s==null?void 0:s.value):(a==null?void 0:a(h))||j(s==null?void 0:s.value)||(s==null?void 0:s.value)});return{isVisible:V,hasInvalid:v,hasValid:g,hintContent:b}},render(){if(this.isVisible)return t.h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}const W={to:{type:[String,Object]},href:String,target:{type:String,validator:e=>Object.values(G).includes(e)},rel:{type:String,default:"noopener noreferrer"}},F={valid:Boolean,validLabel:[String,Array]},H={invalid:Boolean,invalidLabel:[String,Array]},P={disabled:Boolean},Y={active:Boolean},Q={pressed:Boolean},C={label:[String,Number]},K={readonly:Boolean},w={modifiers:[String,Array]},M={hintLabel:{type:String,default:""}},X={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}};R.before;const Z={tabindex:{type:[String,Number],default:0}},L={id:[String,Number]};B.bottom;const ee={...{...L,name:{type:String,required:!0}},...Z,...F,...H,...M,...P,...K,...w,...C,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String]},te={...F,...H,...X,...M,...P,...K,...w,...C,modelValue:[String,Array],name:{type:String,required:!0},vertical:Boolean};({...P,...C,...Q,...Y,...W,type:A.button});function ne(e){const n=t.inject(e,void 0),r=t.computed(()=>!x(n));function u(a,l,s){if(n!=null&&n.value){const o=t.unref(n.value)[a];return t.computed({get(){return o==null?void 0:o.value},set(d){o.value=d}})}const c=t.toRef(l,a);return t.computed({get(){return c.value},set(o){s&&s(`update:${a}`,o)}})}return{group:n,isInGroup:r,getGroupOrLocalRef:u}}const re=ee,oe=["click","update:modelValue","change","blur"];function ae(e,n){const{id:r}=t.toRefs(e),{group:u,isInGroup:a,getGroupOrLocalRef:l}=ne($),s=l("modelValue",e,n),c=l("readonly",e),o=l("disabled",e),d=l("valid",e),f=l("invalid",e);return{id:r,group:u,isInGroup:a,modelValue:s,readonly:c,disabled:o,valid:d,invalid:f}}const le=e=>t.computed(()=>String((e==null?void 0:e.value)||U.nanoid()));function z(e,n,r){return t.computed(()=>{const u={[e]:!0},a=typeof(n==null?void 0:n.value)=="string"?n.value.split(" "):n==null?void 0:n.value;return a&&Array.isArray(a)&&a.forEach(l=>{u[`${e}--${l}`]=!0}),r&&Object.keys(r.value).forEach(l=>{u[`${e}--${l}`]=t.unref(r.value[l])}),u})}const se=["for"],ue=["id","name","disabled","value","tabindex","aria-invalid"],ie={name:"VvRadio"},ce=t.defineComponent({...ie,props:re,emits:oe,setup(e,{emit:n}){const r=e,u=t.useSlots(),{id:a,disabled:l,readonly:s,modelValue:c,valid:o,invalid:d}=ae(r,n),f=le(a),i=t.computed(()=>p.value?-1:r.tabindex),S=t.ref(),p=t.computed(()=>l.value||s.value),m=t.computed(()=>{if(d.value===!0)return!0;if(o.value===!0)return!1}),v=t.computed(()=>Array.isArray(c.value)?T(r.value,c.value):D(r.value,c.value)),y=t.computed(()=>["string","number","boolean"].includes(typeof r.value)?r.value:!0),g=t.computed({get(){return v.value?y.value:null},set(b){Array.isArray(c.value)?c.value=[r.value]:c.value=r.value,n("change",b)}}),{modifiers:_}=t.toRefs(r),V=z("vv-radio",_,t.computed(()=>({valid:o.value,invalid:d.value,disabled:l.value,readonly:s.value}))),{HintSlot:I}=q(r,u);return(b,h)=>(t.openBlock(),t.createElementBlock("label",{class:t.normalizeClass(t.unref(V)),for:t.unref(f)},[t.withDirectives(t.createElementVNode("input",{id:t.unref(f),ref_key:"input",ref:S,"onUpdate:modelValue":h[0]||(h[0]=be=>t.isRef(g)?g.value=be:null),type:"radio",class:"vv-radio__input",name:b.name,disabled:t.unref(p),value:t.unref(y),tabindex:t.unref(i),"aria-invalid":t.unref(m)},null,8,ue),[[t.vModelRadio,t.unref(g)]]),t.renderSlot(b.$slots,"default",{value:t.unref(c)},()=>[t.createTextVNode(t.toDisplayString(b.label),1)]),t.createVNode(t.unref(I),{class:"vv-radio__hint",params:{value:t.unref(c)}},null,8,["params"])],10,se))}}),de=te,fe=["update:modelValue","change"];function pe(e){if(Object.keys(e).some(n=>n!=="key"&&!t.isRef(e[n])))throw Error("One or more groupState props aren't ref.");t.provide(e.key,t.computed(()=>e))}function ye(e){const{options:n,labelKey:r,valueKey:u,disabledKey:a}=t.toRefs(e);return{options:n,getOptionLabel:o=>typeof o!="object"&&o!==null?o:typeof r.value=="function"?r.value(o):o[r.value],getOptionValue:o=>typeof o!="object"&&o!==null?o:typeof u.value=="function"?u.value(o):o[u.value],getOptionDisabled:o=>typeof o!="object"&&o!==null?!1:typeof a.value=="function"?a.value(o):o[a.value]}}const me=["textContent"],ge={class:"vv-radio-group__wrapper"},ve={name:"VvRadioGroup"};return t.defineComponent({...ve,props:de,emits:fe,setup(e,{emit:n}){const r=e,u=t.useSlots(),a=O.useVModel(r,"modelValue",n),{disabled:l,readonly:s,vertical:c,valid:o,invalid:d,modifiers:f}=t.toRefs(r);pe({key:$,modelValue:a,disabled:l,readonly:s,valid:o,invalid:d});const{getOptionLabel:i,getOptionValue:S}=ye(r),p=z("vv-radio-group",f,t.computed(()=>({disabled:l.value,readonly:s.value,horizontal:!c.value,valid:o.value,invalid:d.value}))),m=(y,g)=>({id:`${r.name}_opt${g}`,name:r.name,label:i(y),value:S(y)}),{HintSlot:v}=q(r,u);return(y,g)=>(t.openBlock(),t.createElementBlock("fieldset",{class:t.normalizeClass(t.unref(p))},[y.label?(t.openBlock(),t.createElementBlock("legend",{key:0,textContent:t.toDisplayString(y.label)},null,8,me)):t.createCommentVNode("",!0),t.createElementVNode("div",ge,[y.options.length>0?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(y.options,(_,V)=>(t.openBlock(),t.createBlock(ce,t.mergeProps({key:V},m(_,V)),null,16))),128)):t.renderSlot(y.$slots,"default",{key:1})]),t.createVNode(t.unref(v),{class:"vv-radio-group__hint"})],2))}})});
@@ -1,12 +1,12 @@
1
1
  import type { Option } from '@/types/generic';
2
2
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
3
3
  modelValue: (StringConstructor | ArrayConstructor)[];
4
- label: StringConstructor;
5
4
  name: {
6
5
  type: StringConstructor;
7
6
  required: boolean;
8
7
  };
9
8
  vertical: BooleanConstructor;
9
+ label: (StringConstructor | NumberConstructor)[];
10
10
  modifiers: import("vue").PropType<string | string[]>;
11
11
  readonly: BooleanConstructor;
12
12
  disabled: BooleanConstructor;
@@ -36,12 +36,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
36
36
  validLabel: (StringConstructor | ArrayConstructor)[];
37
37
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
38
  modelValue: (StringConstructor | ArrayConstructor)[];
39
- label: StringConstructor;
40
39
  name: {
41
40
  type: StringConstructor;
42
41
  required: boolean;
43
42
  };
44
43
  vertical: BooleanConstructor;
44
+ label: (StringConstructor | NumberConstructor)[];
45
45
  modifiers: import("vue").PropType<string | string[]>;
46
46
  readonly: BooleanConstructor;
47
47
  disabled: BooleanConstructor;
@@ -1,11 +1,11 @@
1
1
  export declare const VvRadioGroupProps: {
2
2
  modelValue: (StringConstructor | ArrayConstructor)[];
3
- label: StringConstructor;
4
3
  name: {
5
4
  type: StringConstructor;
6
5
  required: boolean;
7
6
  };
8
7
  vertical: BooleanConstructor;
8
+ label: (StringConstructor | NumberConstructor)[];
9
9
  modifiers: import("vue").PropType<string | string[]>;
10
10
  readonly: BooleanConstructor;
11
11
  disabled: BooleanConstructor;