@volverjs/ui-vue 0.0.1-beta.5 → 0.0.1-beta.8

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 (82) hide show
  1. package/README.md +61 -2
  2. package/dist/components/VvButton/vv-button.es.js +56 -58
  3. package/dist/components/VvButton/vv-button.umd.js +1 -1
  4. package/dist/components/VvCheckGroup/vv-check-group.es.js +221 -203
  5. package/dist/components/VvCheckGroup/vv-check-group.umd.js +2 -2
  6. package/dist/components/VvInputText/VvInputText.d.ts +14 -0
  7. package/dist/components/VvInputText/VvInputText.vue.d.ts +36 -1
  8. package/dist/components/VvInputText/VvInputTextActions.d.ts +3 -0
  9. package/dist/components/VvInputText/vv-input-text.es.js +509 -380
  10. package/dist/components/VvInputText/vv-input-text.umd.js +2 -2
  11. package/dist/components/VvNativeSelect/vv-native-select.es.js +180 -161
  12. package/dist/components/VvNativeSelect/vv-native-select.umd.js +2 -2
  13. package/dist/components/VvRadioGroup/vv-radio-group.es.js +211 -193
  14. package/dist/components/VvRadioGroup/vv-radio-group.umd.js +2 -2
  15. package/dist/components/VvSelect/vv-select.es.js +189 -171
  16. package/dist/components/VvSelect/vv-select.umd.js +2 -2
  17. package/dist/components/VvTextarea/VvTextarea.d.ts +43 -22
  18. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +140 -85
  19. package/dist/components/VvTextarea/vv-textarea.es.js +364 -288
  20. package/dist/components/VvTextarea/vv-textarea.umd.js +2 -2
  21. package/dist/composables/debouncedInput/useDebouncedInput.d.ts +2 -0
  22. package/dist/composables/icons/useComponentIcons.d.ts +6 -0
  23. package/dist/composables/textLimit/useTextLimit.d.ts +14 -0
  24. package/dist/composables/useModifiers.d.ts +3 -2
  25. package/dist/icons.es.js +3 -3
  26. package/dist/icons.umd.js +1 -1
  27. package/dist/props/index.d.ts +42 -0
  28. package/dist/stories/utils.d.ts +5 -0
  29. package/dist/ui-vue.es.js +417 -401
  30. package/dist/ui-vue.umd.js +2 -2
  31. package/package.json +3 -1
  32. package/src/assets/icons/detailed.json +1 -1
  33. package/src/assets/icons/normal.json +1 -1
  34. package/src/assets/icons/simple.json +1 -1
  35. package/src/components/VvButton/VvButton.vue +1 -2
  36. package/src/components/VvInputText/VvInputText.ts +19 -2
  37. package/src/components/VvInputText/VvInputText.vue +123 -149
  38. package/src/components/VvInputText/VvInputTextActions.ts +151 -0
  39. package/src/components/VvTextarea/VvTextarea.ts +25 -16
  40. package/src/components/VvTextarea/VvTextarea.vue +89 -93
  41. package/src/components/common/HintSlot.ts +31 -13
  42. package/src/composables/debouncedInput/useDebouncedInput.ts +19 -0
  43. package/src/composables/icons/useComponentIcons.ts +35 -0
  44. package/src/composables/textLimit/useTextLimit.ts +44 -0
  45. package/src/composables/useModifiers.ts +47 -1
  46. package/src/props/index.ts +39 -0
  47. package/src/stories/InputText/InputTextMaxLength.stories.mdx +21 -0
  48. package/src/stories/Textarea/Textarea.stories.mdx +33 -51
  49. package/src/stories/Textarea/TextareaAutoclear.stories.mdx +23 -0
  50. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +10 -2
  51. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +5 -1
  52. package/src/stories/Textarea/TextareaDebounce.stories.mdx +23 -0
  53. package/src/stories/Textarea/TextareaDisabled.stories.mdx +5 -1
  54. package/src/stories/Textarea/TextareaError.stories.mdx +6 -3
  55. package/src/stories/Textarea/TextareaErrorLabel.stories.mdx +37 -0
  56. package/src/stories/Textarea/TextareaFloating.stories.mdx +7 -2
  57. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +5 -1
  58. package/src/stories/Textarea/TextareaIcon.stories.mdx +5 -1
  59. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +9 -1
  60. package/src/stories/Textarea/TextareaId.stories.mdx +19 -0
  61. package/src/stories/Textarea/TextareaLabel.stories.mdx +5 -1
  62. package/src/stories/Textarea/TextareaLimit.stories.mdx +50 -0
  63. package/src/stories/Textarea/TextareaLoading.stories.mdx +6 -3
  64. package/src/stories/Textarea/TextareaLoadingLabel.stories.mdx +23 -0
  65. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +6 -2
  66. package/src/stories/Textarea/TextareaMinLength.stories.mdx +5 -1
  67. package/src/stories/Textarea/TextareaModifiers.stories.mdx +24 -0
  68. package/src/stories/Textarea/TextareaName.stories.mdx +23 -0
  69. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +5 -1
  70. package/src/stories/Textarea/TextareaReadonly.stories.mdx +5 -1
  71. package/src/stories/Textarea/TextareaRequired.stories.mdx +22 -0
  72. package/src/stories/Textarea/TextareaResizable.stories.mdx +22 -0
  73. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +9 -1
  74. package/src/stories/Textarea/TextareaValid.stories.mdx +7 -4
  75. package/src/stories/Textarea/TextareaValidLabel.stories.mdx +35 -0
  76. package/src/stories/stories.scss +11 -0
  77. package/src/stories/utils.ts +12 -0
  78. package/src/stories/volver-ui-vue.stories.mdx +7 -1
  79. package/dist/components/VvInputText/useInputNumber.d.ts +0 -16
  80. package/dist/components/VvInputText/useInputPassword.d.ts +0 -16
  81. package/src/components/VvInputText/useInputNumber.ts +0 -40
  82. package/src/components/VvInputText/useInputPassword.ts +0 -38
@@ -1,2 +1,2 @@
1
- (function(t,k){typeof exports=="object"&&typeof module<"u"?module.exports=k(require("vue"),require("@vueuse/core"),require("uuid")):typeof define=="function"&&define.amd?define(["vue","@vueuse/core","uuid"],k):(t=typeof globalThis<"u"?globalThis:t||self,t.VvSelect=k(t.vue,t.core,t.uuid))})(this,function(t,k,O){"use strict";const y={equals(r,n,e){return e?this.resolveFieldData(r,e)===this.resolveFieldData(n,e):this.deepEquals(r,n)},deepEquals(r,n){if(r===n)return!0;if(r&&n&&typeof r=="object"&&typeof n=="object"){const e=Array.isArray(r),a=Array.isArray(n);let l,s,d;if(e&&a){if(s=r.length,s!=n.length)return!1;for(l=s;l--!==0;)if(!this.deepEquals(r[l],n[l]))return!1;return!0}if(e!=a)return!1;const i=r instanceof Date,h=n instanceof Date;if(i!=h)return!1;if(i&&h)return r.getTime()==n.getTime();const m=r instanceof RegExp,V=n instanceof RegExp;if(m!=V)return!1;if(m&&V)return r.toString()==n.toString();const o=Object.keys(r);if(s=o.length,s!==Object.keys(n).length)return!1;for(l=s;l--!==0;)if(!Object.prototype.hasOwnProperty.call(n,o[l]))return!1;for(l=s;l--!==0;)if(d=o[l],!this.deepEquals(r[d],n[d]))return!1;return!0}return r!==r&&n!==n},resolveFieldData(r,n){if(r&&Object.keys(r).length&&n){if(n.indexOf(".")===-1)return r[n];{const e=n.split(".");let a=r;for(let l=0,s=e.length;l<s;++l){if(r==null)return null;a=a[e[l]]}return a}}else return null},isFunction(r){return!!(r&&r.constructor&&r.call&&r.apply)},findIndexInList(r,n){let e=-1;if(n){for(let a=0;a<n.length;a++)if(this.equals(n[a],r)){e=a;break}}return e},contains(r,n){if(r!=null&&n&&n.length){for(const e of n)if(this.equals(r,e))return!0}return!1},isEmpty(r){return r==null||r===""||Array.isArray(r)&&r.length===0||!(r instanceof Date)&&typeof r=="object"&&Object.keys(r).length===0},isNotEmpty(r){return!this.isEmpty(r)},pickBy(r,n){return Object.fromEntries(Object.entries(r).filter(([e])=>n(e)))},removeFromList(r,n){const e=this.findIndexInList(r,n);return e>-1?n.filter((a,l)=>l!==e):n},isString(r){return typeof r=="string"||r instanceof String},propsToObject(r){return Object.keys(r).reduce((n,e)=>{var a,l,s,d,i;return this.isFunction(r[e])?n[e]=r[e]():Array.isArray(r[e])?n[e]=r[e][0]():(a=r[e])!=null&&a.type&&(Array.isArray(r[e].type)?n[e]=((l=r[e])==null?void 0:l.default)||((s=r[e])==null?void 0:s.type[0]()):n[e]=((d=r[e])==null?void 0:d.default)||((i=r[e])==null?void 0:i.type())),n},{})},filterArray(r,n,e){return r.filter(a=>n.some(l=>typeof l=="string"?a[e]==l:this.equals(a[e],l[e])))},kebabCase(r){var n,e;if(r)return(e=(n=r.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:n.join("-"))==null?void 0:e.toLowerCase()}},_={valid:Boolean,validLabel:[String,Array]},K={error:Boolean,errorLabel:[String,Array]},q={loading:Boolean,loadingLabel:String},N={disabled:Boolean},P={readonly:Boolean},w={modifiers:[String,Array]},$={..._,...K,...{hintLabel:{type:String,default:""}},...q,...N,...P,...w,modelValue:[String,Array,Object],label:String,labelNoResult:{type:String,default:"No results"},placeholder:String,searchable:Boolean,searchPlaceholder:String,debounceSearch:{type:[Number,String],default:0},options:{type:Array,required:!0},useObject:Boolean,multiple:Boolean,maxValues:[Number,String],separator:{type:String,default:", "},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},iconLeft:String,iconRight:String};function x(r){return Array.isArray(r)?r.filter(n=>y.isString(n)).reduce((n,e)=>n.length>0?n+`
2
- `+e:e,""):r}function F(r,n){return{name:"HintSlot",setup(){const e=t.toRefs(r),{error:a,valid:l,hint:s,loading:d}=n,{hintLabel:i,modelValue:h,valid:m,validLabel:V,error:o,errorLabel:c}=e,u=y.resolveFieldData(e,"loading"),g=y.resolveFieldData(e,"loadingLabel"),b=t.computed(()=>o.value?!!(o.value&&a||(c==null?void 0:c.value)&&Array.isArray(c.value)&&c.value.length>0||(c==null?void 0:c.value)&&y.isNotEmpty(c.value)):!1),A=t.computed(()=>!!(i&&i.value||s||l||V&&V.value||b.value||(u==null?void 0:u.value)&&d||(u==null?void 0:u.value)&&(g==null?void 0:g.value))),B=t.computed(()=>Array.isArray(c==null?void 0:c.value)?x((c==null?void 0:c.value)||""):c==null?void 0:c.value),j=t.computed(()=>{const C={modelValue:h,error:o,valid:m};return o!=null&&o.value?(a==null?void 0:a(C))||(B==null?void 0:B.value)||(i==null?void 0:i.value):m!=null&&m.value?(l==null?void 0:l(C))||(V==null?void 0:V.value)||(i==null?void 0:i.value):u!=null&&u.value?(d==null?void 0:d(C))||(g==null?void 0:g.value)||(i==null?void 0:i.value):(s==null?void 0:s(C))||(i==null?void 0:i.value)||(i==null?void 0:i.value)});return{hasHint:A,hintContent:j}},render(){if(this.hasHint)return t.h("span",null,this.hintContent)}}}function D(r,n){const e={[`${r}`]:!0};return{bemCssClasses:t.computed(()=>Object.keys(n).reduce((l,s)=>{const d=t.unref(n[s])||!1;if(!d)return l;if(s==="modifiers"){const i=Array.isArray(d)?d:[d];return{...l,...i.reduce((h,m)=>({...h,[`${r}--${y.kebabCase(m)}`]:!0}),{})}}else return{...l,[`${r}--${y.kebabCase(s)}`]:d}},e)||{})}}const R={...N,...w,modelValue:[String,Array,Object],labelNoResult:{type:String,default:"No results"},options:{type:Array,required:!0},useObject:Boolean,multiple:Boolean,maxValues:[Number,String],labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"}},T={key:0},H=["for"],I=["id","type","value","checked","disabled"],z=t.defineComponent({__name:"VvDropdown",props:R,emits:["update:modelValue"],setup(r,{emit:n}){const e=r,a=O.v4(),{modifiers:l,disabled:s}=t.toRefs(e),{bemCssClasses:d}=D("vv-dropdown",{modifiers:l,disabled:s});function i(o){return Array.isArray(e.modelValue)?y.contains(o,e.modelValue)||y.contains(h(o),e.modelValue):y.equals(o,e.modelValue)||y.equals(h(o),e.modelValue)}function h(o){return typeof o=="string"?o:String(o[e.valueKey])}function m(o){return typeof o=="string"?o:o[e.labelKey]}function V(o){var b,A;const c=o.target;let u=c.value;if(u=(e.useObject?(b=e.options)==null?void 0:b.find(B=>B[e.valueKey]==u):null)||u,e.multiple){if(typeof e.maxValues<"u"&&e.maxValues>=0&&((A=e.modelValue)==null?void 0:A.length)>=e.maxValues&&(Array.isArray(e.modelValue)&&!y.contains(u,e.modelValue)||e.maxValues==0)){c.checked=!1;return}Array.isArray(e.modelValue)?u=y.contains(u,e.modelValue)?y.removeFromList(u,e.modelValue):[...e.modelValue,u]:u=[u]}n("update:modelValue",u)}return(o,c)=>{var u;return t.openBlock(),t.createElementBlock("ul",{class:t.normalizeClass(t.unref(d)),role:"listbox"},[(u=o.options)!=null&&u.length?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("li",T,[t.createElementVNode("label",null,t.toDisplayString(o.labelNoResult),1)])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.options,(g,b)=>{var A;return t.openBlock(),t.createElementBlock("li",{key:b},[t.createElementVNode("label",{for:`dropdown-${b}-${t.unref(a)}`},[t.createElementVNode("input",{id:`dropdown-${b}-${t.unref(a)}`,type:o.multiple?"checkbox":"radio",value:h(g),checked:i(g),disabled:typeof g=="object"&&(A=g.disabled)!=null?A:t.unref(s),onInput:V},null,40,I),t.createTextVNode(" "+t.toDisplayString(m(g)),1)],8,H)])}),128))],2)}}}),Z=["id"],M={key:0,for:"select"},U=["placeholder"];return t.defineComponent({__name:"VvSelect",props:$,emits:["update:modelValue","change:search"],setup(r,{emit:n}){const e=r,a=t.useSlots(),l=F(e,a),s=t.ref(),d=t.ref();k.useFocus(d,{initialValue:!0});const i=O.v4(),h=t.ref(""),m=k.refDebounced(h,Number(e.debounceSearch)),V=t.ref(!1),{modifiers:o,disabled:c,readonly:u,loading:g,iconLeft:b,iconRight:A,valid:B,error:j}=t.toRefs(e);t.watch(m,()=>n("change:search",m.value));const{bemCssClasses:C}=D("vv-select",{modifiers:o,disabled:c,loading:g,readonly:u,iconLeft:b,iconRight:A,valid:B,invalid:j,dirty:t.computed(()=>y.isNotEmpty(e.modelValue))}),G=t.computed(()=>{var f;return(f=e.options)==null?void 0:f.every(p=>typeof p=="object")}),J=t.computed(()=>e.searchable?Q.value:e.options),Q=t.computed(()=>{var f;return(f=e.options)==null?void 0:f.filter(p=>typeof p=="string"?p.toLowerCase().includes(m.value.toLowerCase().trim()):p[e.labelKey].toLowerCase().includes(m.value.toLowerCase().trim()))}),W=t.computed(()=>{var p,S;if(e.multiple&&((p=e.modelValue)==null?void 0:p.length)&&Array.isArray(e.modelValue))return G.value?y.filterArray(e.options,e.modelValue,e.valueKey).map(E=>E[e.labelKey]).join(e.separator):e.modelValue.join(e.separator);const f=e.useObject?e.modelValue:(S=e.options)==null?void 0:S.find(E=>typeof E=="object"?E[e.valueKey]==e.modelValue:E==e.modelValue);return typeof f=="object"?f==null?void 0:f[e.labelKey]:f});k.onClickOutside(s,()=>{s.value.open=!1});function X(f){const p=f.target;V.value=p.open}function Y(f){s.value&&!e.multiple&&(s.value.open=!1),n("update:modelValue",f)}return(f,p)=>(t.openBlock(),t.createElementBlock("div",{id:t.unref(i),class:t.normalizeClass(t.unref(C))},[f.label?(t.openBlock(),t.createElementBlock("label",M,t.toDisplayString(f.label),1)):t.createCommentVNode("",!0),t.createElementVNode("details",{ref_key:"dropdown",ref:s,role:"list",class:"vv-select__wrapper",onClick:p[2]||(p[2]=S=>t.unref(c)||t.unref(u)?S.preventDefault():null),onKeyup:p[3]||(p[3]=t.withKeys(S=>s.value.open=!1,["esc"])),onToggle:X},[t.createElementVNode("summary",{class:"vv-select__input","aria-haspopup":"listbox",onKeyup:p[1]||(p[1]=t.withKeys(S=>f.searchable?S.preventDefault():null,["space"]))},[f.searchable&&V.value?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:0,ref_key:"inputSearch",ref:d,"onUpdate:modelValue":p[0]||(p[0]=S=>h.value=S),placeholder:f.searchPlaceholder},null,8,U)),[[t.vModelText,h.value]]):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(t.unref(W)||f.placeholder),1)],64))],32),t.createVNode(z,t.mergeProps({...e,options:t.unref(J)},{"onUpdate:modelValue":Y}),null,16)],544),t.createVNode(t.unref(l),{class:"vv-select__hint"})],10,Z))}})});
1
+ (function(t,k){typeof exports=="object"&&typeof module<"u"?module.exports=k(require("vue"),require("@vueuse/core"),require("uuid")):typeof define=="function"&&define.amd?define(["vue","@vueuse/core","uuid"],k):(t=typeof globalThis<"u"?globalThis:t||self,t.VvSelect=k(t.vue,t.core,t.uuid))})(this,function(t,k,N){"use strict";const g={equals(r,n,e){return e?this.resolveFieldData(r,e)===this.resolveFieldData(n,e):this.deepEquals(r,n)},deepEquals(r,n){if(r===n)return!0;if(r&&n&&typeof r=="object"&&typeof n=="object"){const e=Array.isArray(r),u=Array.isArray(n);let l,s,c;if(e&&u){if(s=r.length,s!=n.length)return!1;for(l=s;l--!==0;)if(!this.deepEquals(r[l],n[l]))return!1;return!0}if(e!=u)return!1;const m=r instanceof Date,a=n instanceof Date;if(m!=a)return!1;if(m&&a)return r.getTime()==n.getTime();const h=r instanceof RegExp,b=n instanceof RegExp;if(h!=b)return!1;if(h&&b)return r.toString()==n.toString();const o=Object.keys(r);if(s=o.length,s!==Object.keys(n).length)return!1;for(l=s;l--!==0;)if(!Object.prototype.hasOwnProperty.call(n,o[l]))return!1;for(l=s;l--!==0;)if(c=o[l],!this.deepEquals(r[c],n[c]))return!1;return!0}return r!==r&&n!==n},resolveFieldData(r,n){if(r&&Object.keys(r).length&&n){if(n.indexOf(".")===-1)return r[n];{const e=n.split(".");let u=r;for(let l=0,s=e.length;l<s;++l){if(r==null)return null;u=u[e[l]]}return u}}else return null},isFunction(r){return!!(r&&r.constructor&&r.call&&r.apply)},findIndexInList(r,n){let e=-1;if(n){for(let u=0;u<n.length;u++)if(this.equals(n[u],r)){e=u;break}}return e},contains(r,n){if(r!=null&&n&&n.length){for(const e of n)if(this.equals(r,e))return!0}return!1},isEmpty(r){return r==null||r===""||Array.isArray(r)&&r.length===0||!(r instanceof Date)&&typeof r=="object"&&Object.keys(r).length===0},isNotEmpty(r){return!this.isEmpty(r)},pickBy(r,n){return Object.fromEntries(Object.entries(r).filter(([e])=>n(e)))},removeFromList(r,n){const e=this.findIndexInList(r,n);return e>-1?n.filter((u,l)=>l!==e):n},isString(r){return typeof r=="string"||r instanceof String},propsToObject(r){return Object.keys(r).reduce((n,e)=>{var u,l,s,c,m;return this.isFunction(r[e])?n[e]=r[e]():Array.isArray(r[e])?n[e]=r[e][0]():(u=r[e])!=null&&u.type&&(Array.isArray(r[e].type)?n[e]=((l=r[e])==null?void 0:l.default)||((s=r[e])==null?void 0:s.type[0]()):n[e]=((c=r[e])==null?void 0:c.default)||((m=r[e])==null?void 0:m.type())),n},{})},filterArray(r,n,e){return r.filter(u=>n.some(l=>typeof l=="string"?u[e]==l:this.equals(u[e],l[e])))},kebabCase(r){var n,e;if(r)return(e=(n=r.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:n.join("-"))==null?void 0:e.toLowerCase()}},K={valid:Boolean,validLabel:[String,Array]},q={error:Boolean,errorLabel:[String,Array]},P={loading:Boolean,loadingLabel:String},w={disabled:Boolean},$={readonly:Boolean},D={modifiers:[String,Array]},x={...K,...q,...{hintLabel:{type:String,default:""}},...P,...w,...$,...D,modelValue:[String,Array,Object],label:String,labelNoResult:{type:String,default:"No results"},placeholder:String,searchable:Boolean,searchPlaceholder:String,debounceSearch:{type:[Number,String],default:0},options:{type:Array,required:!0},useObject:Boolean,multiple:Boolean,maxValues:[Number,String],separator:{type:String,default:", "},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},iconLeft:String,iconRight:String};function E(r){return Array.isArray(r)?r.filter(n=>g.isString(n)).reduce((n,e)=>n.length>0?n+`
2
+ `+e:e,""):r}function F(r,n){return{name:"HintSlot",props:{params:{type:Object,default:()=>{}}},setup(e){const u=t.toRefs(r),{error:l,valid:s,hint:c,loading:m}=n,{hintLabel:a,modelValue:h,valid:b,validLabel:o,error:V,errorLabel:i}=u,f=g.resolveFieldData(u,"loading"),y=g.resolveFieldData(u,"loadingLabel"),S=t.computed(()=>V.value?!!(V.value&&l||(i==null?void 0:i.value)&&Array.isArray(i.value)&&i.value.length>0||(i==null?void 0:i.value)&&g.isNotEmpty(i.value)):!1),C=t.computed(()=>!!(a&&a.value||c||s||o&&o.value||S.value||(f==null?void 0:f.value)&&m||(f==null?void 0:f.value)&&(y==null?void 0:y.value))),O=t.computed(()=>{const B=k.toReactive({hintLabel:a,modelValue:h,valid:b,validLabel:o,error:V,errorLabel:i,loading:f,loadingLabel:y,...e.params});return V!=null&&V.value?(l==null?void 0:l(B))||E(i==null?void 0:i.value)||(a==null?void 0:a.value):b!=null&&b.value?(s==null?void 0:s(B))||E(o==null?void 0:o.value)||(a==null?void 0:a.value):f!=null&&f.value?(m==null?void 0:m(B))||E(y==null?void 0:y.value)||(a==null?void 0:a.value):(c==null?void 0:c(B))||E(a==null?void 0:a.value)||(a==null?void 0:a.value)});return{hasHint:C,hintContent:O}},render(){if(this.hasHint)return t.h("pre",{style:{"white-space":"pre"}},this.hintContent)}}}function _(r,n){const e={[`${r}`]:!0};return{bemCssClasses:t.computed(()=>Object.keys(n).reduce((l,s)=>{const c=t.unref(n[s])||!1;if(!c)return l;if(s==="modifiers"){const m=Array.isArray(c)?c:[c];return{...l,...m.reduce((a,h)=>({...a,[`${r}--${g.kebabCase(h)}`]:!0}),{})}}else return{...l,[`${r}--${g.kebabCase(s)}`]:c}},e)||{})}}const R={...w,...D,modelValue:[String,Array,Object],labelNoResult:{type:String,default:"No results"},options:{type:Array,required:!0},useObject:Boolean,multiple:Boolean,maxValues:[Number,String],labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"}},T={key:0},H=["for"],I=["id","type","value","checked","disabled"],z=t.defineComponent({__name:"VvDropdown",props:R,emits:["update:modelValue"],setup(r,{emit:n}){const e=r,u=N.v4(),{modifiers:l,disabled:s}=t.toRefs(e),{bemCssClasses:c}=_("vv-dropdown",{modifiers:l,disabled:s});function m(o){return Array.isArray(e.modelValue)?g.contains(o,e.modelValue)||g.contains(a(o),e.modelValue):g.equals(o,e.modelValue)||g.equals(a(o),e.modelValue)}function a(o){return typeof o=="string"?o:String(o[e.valueKey])}function h(o){return typeof o=="string"?o:o[e.labelKey]}function b(o){var y,S;const V=o.target;let i=V.value;if(i=(e.useObject?(y=e.options)==null?void 0:y.find(C=>C[e.valueKey]==i):null)||i,e.multiple){if(typeof e.maxValues<"u"&&e.maxValues>=0&&((S=e.modelValue)==null?void 0:S.length)>=e.maxValues&&(Array.isArray(e.modelValue)&&!g.contains(i,e.modelValue)||e.maxValues==0)){V.checked=!1;return}Array.isArray(e.modelValue)?i=g.contains(i,e.modelValue)?g.removeFromList(i,e.modelValue):[...e.modelValue,i]:i=[i]}n("update:modelValue",i)}return(o,V)=>{var i;return t.openBlock(),t.createElementBlock("ul",{class:t.normalizeClass(t.unref(c)),role:"listbox"},[(i=o.options)!=null&&i.length?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("li",T,[t.createElementVNode("label",null,t.toDisplayString(o.labelNoResult),1)])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.options,(f,y)=>{var S;return t.openBlock(),t.createElementBlock("li",{key:y},[t.createElementVNode("label",{for:`dropdown-${y}-${t.unref(u)}`},[t.createElementVNode("input",{id:`dropdown-${y}-${t.unref(u)}`,type:o.multiple?"checkbox":"radio",value:a(f),checked:m(f),disabled:typeof f=="object"&&(S=f.disabled)!=null?S:t.unref(s),onInput:b},null,40,I),t.createTextVNode(" "+t.toDisplayString(h(f)),1)],8,H)])}),128))],2)}}}),M=["id"],Z={key:0,for:"select"},U=["placeholder"];return t.defineComponent({__name:"VvSelect",props:x,emits:["update:modelValue","change:search"],setup(r,{emit:n}){const e=r,u=t.useSlots(),l=F(e,u),s=t.ref(),c=t.ref();k.useFocus(c,{initialValue:!0});const m=N.v4(),a=t.ref(""),h=k.refDebounced(a,Number(e.debounceSearch)),b=t.ref(!1),{modifiers:o,disabled:V,readonly:i,loading:f,iconLeft:y,iconRight:S,valid:C,error:O}=t.toRefs(e);t.watch(h,()=>n("change:search",h.value));const{bemCssClasses:B}=_("vv-select",{modifiers:o,disabled:V,loading:f,readonly:i,iconLeft:y,iconRight:S,valid:C,invalid:O,dirty:t.computed(()=>g.isNotEmpty(e.modelValue))}),L=t.computed(()=>{var d;return(d=e.options)==null?void 0:d.every(p=>typeof p=="object")}),G=t.computed(()=>e.searchable?J.value:e.options),J=t.computed(()=>{var d;return(d=e.options)==null?void 0:d.filter(p=>typeof p=="string"?p.toLowerCase().includes(h.value.toLowerCase().trim()):p[e.labelKey].toLowerCase().includes(h.value.toLowerCase().trim()))}),Q=t.computed(()=>{var p,A;if(e.multiple&&((p=e.modelValue)==null?void 0:p.length)&&Array.isArray(e.modelValue))return L.value?g.filterArray(e.options,e.modelValue,e.valueKey).map(j=>j[e.labelKey]).join(e.separator):e.modelValue.join(e.separator);const d=e.useObject?e.modelValue:(A=e.options)==null?void 0:A.find(j=>typeof j=="object"?j[e.valueKey]==e.modelValue:j==e.modelValue);return typeof d=="object"?d==null?void 0:d[e.labelKey]:d});k.onClickOutside(s,()=>{s.value.open=!1});function W(d){const p=d.target;b.value=p.open}function X(d){s.value&&!e.multiple&&(s.value.open=!1),n("update:modelValue",d)}return(d,p)=>(t.openBlock(),t.createElementBlock("div",{id:t.unref(m),class:t.normalizeClass(t.unref(B))},[d.label?(t.openBlock(),t.createElementBlock("label",Z,t.toDisplayString(d.label),1)):t.createCommentVNode("",!0),t.createElementVNode("details",{ref_key:"dropdown",ref:s,role:"list",class:"vv-select__wrapper",onClick:p[2]||(p[2]=A=>t.unref(V)||t.unref(i)?A.preventDefault():null),onKeyup:p[3]||(p[3]=t.withKeys(A=>s.value.open=!1,["esc"])),onToggle:W},[t.createElementVNode("summary",{class:"vv-select__input","aria-haspopup":"listbox",onKeyup:p[1]||(p[1]=t.withKeys(A=>d.searchable?A.preventDefault():null,["space"]))},[d.searchable&&b.value?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:0,ref_key:"inputSearch",ref:c,"onUpdate:modelValue":p[0]||(p[0]=A=>a.value=A),placeholder:d.searchPlaceholder},null,8,U)),[[t.vModelText,a.value]]):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(t.unref(Q)||d.placeholder),1)],64))],32),t.createVNode(z,t.mergeProps({...e,options:t.unref(G)},{"onUpdate:modelValue":X}),null,16)],544),t.createVNode(t.unref(l),{class:"vv-select__hint"})],10,M))}})});
@@ -1,20 +1,15 @@
1
+ import type { ExtractPropTypes } from 'vue';
1
2
  export declare const VvTextareaEvents: string[];
2
3
  export declare const VvTextareaProps: {
3
4
  modelValue: null;
4
- id: StringConstructor;
5
- name: {
6
- type: StringConstructor;
7
- required: boolean;
5
+ cols: {
6
+ type: NumberConstructor;
7
+ default: number;
8
8
  };
9
- autocomplete: {
10
- type: StringConstructor;
11
- default: string;
9
+ rows: {
10
+ type: NumberConstructor;
11
+ default: number;
12
12
  };
13
- autofocus: BooleanConstructor;
14
- minlength: NumberConstructor;
15
- maxlength: NumberConstructor;
16
- label: StringConstructor;
17
- placeholder: StringConstructor;
18
13
  /**
19
14
  * Nome dell'icona
20
15
  * @see DsIcon
@@ -35,15 +30,6 @@ export declare const VvTextareaProps: {
35
30
  * True = label flottante
36
31
  */
37
32
  floating: BooleanConstructor;
38
- debounce: NumberConstructor;
39
- cols: {
40
- type: NumberConstructor;
41
- default: number;
42
- };
43
- rows: {
44
- type: NumberConstructor;
45
- default: number;
46
- };
47
33
  /**
48
34
  * Specifica come il testo sarà wrappato
49
35
  * @see Documentation https://www.w3schools.com/tags/att_textarea_wrap.asp
@@ -52,8 +38,40 @@ export declare const VvTextareaProps: {
52
38
  type: StringConstructor;
53
39
  default: string;
54
40
  };
55
- readonly: BooleanConstructor;
41
+ /**
42
+ * Se true, attiva la possibilità di cancellare il testo nella textarea
43
+ */
44
+ autoclear: BooleanConstructor;
45
+ /**
46
+ * Se true, la textbox può essere ridimensionata verticalmente.
47
+ * @description
48
+ * Il resize è pilotato via css. Al momento è attivo solamente il resize verticale
49
+ */
50
+ resizable: BooleanConstructor;
51
+ debounce: NumberConstructor;
52
+ id: StringConstructor;
53
+ name: {
54
+ type: StringConstructor;
55
+ required: boolean;
56
+ };
57
+ autocomplete: {
58
+ type: StringConstructor;
59
+ default: string;
60
+ };
61
+ autofocus: BooleanConstructor;
62
+ minlength: NumberConstructor;
63
+ maxlength: NumberConstructor;
64
+ label: StringConstructor;
65
+ placeholder: StringConstructor;
66
+ required: BooleanConstructor;
56
67
  disabled: BooleanConstructor;
68
+ readonly: BooleanConstructor;
69
+ limit: {
70
+ type: (StringConstructor | BooleanConstructor)[];
71
+ default: boolean;
72
+ validator: (value: string) => boolean;
73
+ };
74
+ modifiers: (StringConstructor | ArrayConstructor)[];
57
75
  loading: BooleanConstructor;
58
76
  loadingLabel: StringConstructor;
59
77
  hintLabel: {
@@ -65,3 +83,6 @@ export declare const VvTextareaProps: {
65
83
  valid: BooleanConstructor;
66
84
  validLabel: (StringConstructor | ArrayConstructor)[];
67
85
  };
86
+ declare type VvTextareaPropsType = typeof VvTextareaProps;
87
+ export declare type VvTextareaPropsTypes = ExtractPropTypes<VvTextareaPropsType>;
88
+ export {};
@@ -3,6 +3,7 @@ declare const _default: {
3
3
  $: import("vue").ComponentInternalInstance;
4
4
  $data: {};
5
5
  $props: Partial<{
6
+ required: boolean;
6
7
  disabled: boolean;
7
8
  readonly: boolean;
8
9
  icon: string;
@@ -14,25 +15,22 @@ declare const _default: {
14
15
  autocomplete: string;
15
16
  autofocus: boolean;
16
17
  floating: boolean;
18
+ autoclear: boolean;
19
+ limit: string | boolean;
17
20
  cols: number;
18
21
  rows: number;
19
22
  wrap: string;
23
+ resizable: boolean;
20
24
  }> & Omit<Readonly<import("vue").ExtractPropTypes<{
21
25
  modelValue: null;
22
- id: StringConstructor;
23
- name: {
24
- type: StringConstructor;
25
- required: boolean;
26
+ cols: {
27
+ type: NumberConstructor;
28
+ default: number;
26
29
  };
27
- autocomplete: {
28
- type: StringConstructor;
29
- default: string;
30
+ rows: {
31
+ type: NumberConstructor;
32
+ default: number;
30
33
  };
31
- autofocus: BooleanConstructor;
32
- minlength: NumberConstructor;
33
- maxlength: NumberConstructor;
34
- label: StringConstructor;
35
- placeholder: StringConstructor;
36
34
  icon: {
37
35
  type: StringConstructor;
38
36
  default: string;
@@ -43,21 +41,36 @@ declare const _default: {
43
41
  default: string;
44
42
  };
45
43
  floating: BooleanConstructor;
46
- debounce: NumberConstructor;
47
- cols: {
48
- type: NumberConstructor;
49
- default: number;
44
+ wrap: {
45
+ type: StringConstructor;
46
+ default: string;
50
47
  };
51
- rows: {
52
- type: NumberConstructor;
53
- default: number;
48
+ autoclear: BooleanConstructor;
49
+ resizable: BooleanConstructor;
50
+ debounce: NumberConstructor;
51
+ id: StringConstructor;
52
+ name: {
53
+ type: StringConstructor;
54
+ required: boolean;
54
55
  };
55
- wrap: {
56
+ autocomplete: {
56
57
  type: StringConstructor;
57
58
  default: string;
58
59
  };
59
- readonly: BooleanConstructor;
60
+ autofocus: BooleanConstructor;
61
+ minlength: NumberConstructor;
62
+ maxlength: NumberConstructor;
63
+ label: StringConstructor;
64
+ placeholder: StringConstructor;
65
+ required: BooleanConstructor;
60
66
  disabled: BooleanConstructor;
67
+ readonly: BooleanConstructor;
68
+ limit: {
69
+ type: (StringConstructor | BooleanConstructor)[];
70
+ default: boolean;
71
+ validator: (value: string) => boolean;
72
+ };
73
+ modifiers: (StringConstructor | ArrayConstructor)[];
61
74
  loading: BooleanConstructor;
62
75
  loadingLabel: StringConstructor;
63
76
  hintLabel: {
@@ -70,7 +83,7 @@ declare const _default: {
70
83
  validLabel: (StringConstructor | ArrayConstructor)[];
71
84
  }>> & {
72
85
  [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
73
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "readonly" | "icon" | "iconPosition" | "loading" | "error" | "valid" | "hintLabel" | "autocomplete" | "autofocus" | "floating" | "cols" | "rows" | "wrap">;
86
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "required" | "disabled" | "readonly" | "icon" | "iconPosition" | "loading" | "error" | "valid" | "hintLabel" | "autocomplete" | "autofocus" | "floating" | "autoclear" | "limit" | "cols" | "rows" | "wrap" | "resizable">;
74
87
  $attrs: {
75
88
  [x: string]: unknown;
76
89
  };
@@ -86,20 +99,14 @@ declare const _default: {
86
99
  $el: any;
87
100
  $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
88
101
  modelValue: null;
89
- id: StringConstructor;
90
- name: {
91
- type: StringConstructor;
92
- required: boolean;
102
+ cols: {
103
+ type: NumberConstructor;
104
+ default: number;
93
105
  };
94
- autocomplete: {
95
- type: StringConstructor;
96
- default: string;
106
+ rows: {
107
+ type: NumberConstructor;
108
+ default: number;
97
109
  };
98
- autofocus: BooleanConstructor;
99
- minlength: NumberConstructor;
100
- maxlength: NumberConstructor;
101
- label: StringConstructor;
102
- placeholder: StringConstructor;
103
110
  icon: {
104
111
  type: StringConstructor;
105
112
  default: string;
@@ -110,21 +117,36 @@ declare const _default: {
110
117
  default: string;
111
118
  };
112
119
  floating: BooleanConstructor;
113
- debounce: NumberConstructor;
114
- cols: {
115
- type: NumberConstructor;
116
- default: number;
120
+ wrap: {
121
+ type: StringConstructor;
122
+ default: string;
117
123
  };
118
- rows: {
119
- type: NumberConstructor;
120
- default: number;
124
+ autoclear: BooleanConstructor;
125
+ resizable: BooleanConstructor;
126
+ debounce: NumberConstructor;
127
+ id: StringConstructor;
128
+ name: {
129
+ type: StringConstructor;
130
+ required: boolean;
121
131
  };
122
- wrap: {
132
+ autocomplete: {
123
133
  type: StringConstructor;
124
134
  default: string;
125
135
  };
126
- readonly: BooleanConstructor;
136
+ autofocus: BooleanConstructor;
137
+ minlength: NumberConstructor;
138
+ maxlength: NumberConstructor;
139
+ label: StringConstructor;
140
+ placeholder: StringConstructor;
141
+ required: BooleanConstructor;
127
142
  disabled: BooleanConstructor;
143
+ readonly: BooleanConstructor;
144
+ limit: {
145
+ type: (StringConstructor | BooleanConstructor)[];
146
+ default: boolean;
147
+ validator: (value: string) => boolean;
148
+ };
149
+ modifiers: (StringConstructor | ArrayConstructor)[];
128
150
  loading: BooleanConstructor;
129
151
  loadingLabel: StringConstructor;
130
152
  hintLabel: {
@@ -138,6 +160,7 @@ declare const _default: {
138
160
  }>> & {
139
161
  [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
140
162
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, {
163
+ required: boolean;
141
164
  disabled: boolean;
142
165
  readonly: boolean;
143
166
  icon: string;
@@ -149,9 +172,12 @@ declare const _default: {
149
172
  autocomplete: string;
150
173
  autofocus: boolean;
151
174
  floating: boolean;
175
+ autoclear: boolean;
176
+ limit: string | boolean;
152
177
  cols: number;
153
178
  rows: number;
154
179
  wrap: string;
180
+ resizable: boolean;
155
181
  }, {}, string> & {
156
182
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
157
183
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -174,20 +200,14 @@ declare const _default: {
174
200
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
175
201
  } & Readonly<import("vue").ExtractPropTypes<{
176
202
  modelValue: null;
177
- id: StringConstructor;
178
- name: {
179
- type: StringConstructor;
180
- required: boolean;
203
+ cols: {
204
+ type: NumberConstructor;
205
+ default: number;
181
206
  };
182
- autocomplete: {
183
- type: StringConstructor;
184
- default: string;
207
+ rows: {
208
+ type: NumberConstructor;
209
+ default: number;
185
210
  };
186
- autofocus: BooleanConstructor;
187
- minlength: NumberConstructor;
188
- maxlength: NumberConstructor;
189
- label: StringConstructor;
190
- placeholder: StringConstructor;
191
211
  icon: {
192
212
  type: StringConstructor;
193
213
  default: string;
@@ -198,21 +218,36 @@ declare const _default: {
198
218
  default: string;
199
219
  };
200
220
  floating: BooleanConstructor;
201
- debounce: NumberConstructor;
202
- cols: {
203
- type: NumberConstructor;
204
- default: number;
221
+ wrap: {
222
+ type: StringConstructor;
223
+ default: string;
205
224
  };
206
- rows: {
207
- type: NumberConstructor;
208
- default: number;
225
+ autoclear: BooleanConstructor;
226
+ resizable: BooleanConstructor;
227
+ debounce: NumberConstructor;
228
+ id: StringConstructor;
229
+ name: {
230
+ type: StringConstructor;
231
+ required: boolean;
209
232
  };
210
- wrap: {
233
+ autocomplete: {
211
234
  type: StringConstructor;
212
235
  default: string;
213
236
  };
214
- readonly: BooleanConstructor;
237
+ autofocus: BooleanConstructor;
238
+ minlength: NumberConstructor;
239
+ maxlength: NumberConstructor;
240
+ label: StringConstructor;
241
+ placeholder: StringConstructor;
242
+ required: BooleanConstructor;
215
243
  disabled: BooleanConstructor;
244
+ readonly: BooleanConstructor;
245
+ limit: {
246
+ type: (StringConstructor | BooleanConstructor)[];
247
+ default: boolean;
248
+ validator: (value: string) => boolean;
249
+ };
250
+ modifiers: (StringConstructor | ArrayConstructor)[];
216
251
  loading: BooleanConstructor;
217
252
  loadingLabel: StringConstructor;
218
253
  hintLabel: {
@@ -231,20 +266,14 @@ declare const _default: {
231
266
  __isSuspense?: undefined;
232
267
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
233
268
  modelValue: null;
234
- id: StringConstructor;
235
- name: {
236
- type: StringConstructor;
237
- required: boolean;
269
+ cols: {
270
+ type: NumberConstructor;
271
+ default: number;
238
272
  };
239
- autocomplete: {
240
- type: StringConstructor;
241
- default: string;
273
+ rows: {
274
+ type: NumberConstructor;
275
+ default: number;
242
276
  };
243
- autofocus: BooleanConstructor;
244
- minlength: NumberConstructor;
245
- maxlength: NumberConstructor;
246
- label: StringConstructor;
247
- placeholder: StringConstructor;
248
277
  icon: {
249
278
  type: StringConstructor;
250
279
  default: string;
@@ -255,21 +284,36 @@ declare const _default: {
255
284
  default: string;
256
285
  };
257
286
  floating: BooleanConstructor;
258
- debounce: NumberConstructor;
259
- cols: {
260
- type: NumberConstructor;
261
- default: number;
287
+ wrap: {
288
+ type: StringConstructor;
289
+ default: string;
262
290
  };
263
- rows: {
264
- type: NumberConstructor;
265
- default: number;
291
+ autoclear: BooleanConstructor;
292
+ resizable: BooleanConstructor;
293
+ debounce: NumberConstructor;
294
+ id: StringConstructor;
295
+ name: {
296
+ type: StringConstructor;
297
+ required: boolean;
266
298
  };
267
- wrap: {
299
+ autocomplete: {
268
300
  type: StringConstructor;
269
301
  default: string;
270
302
  };
271
- readonly: BooleanConstructor;
303
+ autofocus: BooleanConstructor;
304
+ minlength: NumberConstructor;
305
+ maxlength: NumberConstructor;
306
+ label: StringConstructor;
307
+ placeholder: StringConstructor;
308
+ required: BooleanConstructor;
272
309
  disabled: BooleanConstructor;
310
+ readonly: BooleanConstructor;
311
+ limit: {
312
+ type: (StringConstructor | BooleanConstructor)[];
313
+ default: boolean;
314
+ validator: (value: string) => boolean;
315
+ };
316
+ modifiers: (StringConstructor | ArrayConstructor)[];
273
317
  loading: BooleanConstructor;
274
318
  loadingLabel: StringConstructor;
275
319
  hintLabel: {
@@ -283,6 +327,7 @@ declare const _default: {
283
327
  }>> & {
284
328
  [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
285
329
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, {
330
+ required: boolean;
286
331
  disabled: boolean;
287
332
  readonly: boolean;
288
333
  icon: string;
@@ -294,21 +339,31 @@ declare const _default: {
294
339
  autocomplete: string;
295
340
  autofocus: boolean;
296
341
  floating: boolean;
342
+ autoclear: boolean;
343
+ limit: string | boolean;
297
344
  cols: number;
298
345
  rows: number;
299
346
  wrap: string;
347
+ resizable: boolean;
300
348
  }, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
301
349
  $slots: {
302
350
  'icon-left': (_: {
303
351
  valid: boolean;
304
352
  error: boolean;
305
353
  modelValue: any;
354
+ hintLabel: string;
355
+ maxlength: number | undefined;
356
+ textLength: import("vue").ComputedRef<number>;
306
357
  }) => any;
307
358
  'icon-right': (_: {
308
359
  valid: boolean;
309
360
  error: boolean;
310
361
  modelValue: any;
362
+ hintLabel: string;
363
+ maxlength: number | undefined;
364
+ textLength: import("vue").ComputedRef<number>;
311
365
  }) => any;
366
+ limit: (_: {}) => any;
312
367
  };
313
368
  });
314
369
  export default _default;