vuetify 3.1.14 → 3.1.16

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 (113) hide show
  1. package/dist/json/attributes.json +193 -141
  2. package/dist/json/importMap.json +8 -8
  3. package/dist/json/tags.json +13 -0
  4. package/dist/json/web-types.json +513 -282
  5. package/dist/vuetify-labs.css +465 -457
  6. package/dist/vuetify-labs.d.ts +521 -163
  7. package/dist/vuetify-labs.esm.js +272 -179
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +272 -179
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +17 -9
  12. package/dist/vuetify.d.ts +470 -145
  13. package/dist/vuetify.esm.js +178 -106
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +178 -106
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +638 -624
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAutocomplete/VAutocomplete.css +9 -0
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs +50 -6
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  23. package/lib/components/VAutocomplete/VAutocomplete.sass +10 -0
  24. package/lib/components/VAutocomplete/index.d.ts +29 -17
  25. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +31 -16
  26. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  27. package/lib/components/VBreadcrumbs/index.d.ts +3 -3
  28. package/lib/components/VCard/VCard.mjs.map +1 -1
  29. package/lib/components/VCard/index.d.ts +21 -16
  30. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  31. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  32. package/lib/components/VCheckbox/index.d.ts +22 -1
  33. package/lib/components/VCombobox/VCombobox.css +1 -1
  34. package/lib/components/VCombobox/VCombobox.mjs +6 -4
  35. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  36. package/lib/components/VCombobox/VCombobox.sass +1 -1
  37. package/lib/components/VCombobox/index.d.ts +29 -17
  38. package/lib/components/VDialog/VDialog.mjs +2 -2
  39. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  40. package/lib/components/VField/VField.css +0 -1
  41. package/lib/components/VField/VField.sass +0 -1
  42. package/lib/components/VField/index.d.ts +6 -0
  43. package/lib/components/VFileInput/VFileInput.mjs +13 -17
  44. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  45. package/lib/components/VFileInput/index.d.ts +68 -23
  46. package/lib/components/VInput/VInput.mjs +14 -7
  47. package/lib/components/VInput/VInput.mjs.map +1 -1
  48. package/lib/components/VInput/index.d.ts +22 -1
  49. package/lib/components/VList/VList.mjs +3 -22
  50. package/lib/components/VList/VList.mjs.map +1 -1
  51. package/lib/components/VOverlay/locationStrategies.mjs +9 -4
  52. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  53. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  54. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  55. package/lib/components/VRadioGroup/index.d.ts +22 -1
  56. package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -2
  57. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  58. package/lib/components/VRangeSlider/index.d.ts +22 -1
  59. package/lib/components/VSelect/VSelect.mjs +6 -0
  60. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  61. package/lib/components/VSelect/index.d.ts +32 -17
  62. package/lib/components/VSlideGroup/VSlideGroup.mjs +2 -2
  63. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  64. package/lib/components/VSlider/VSlider.mjs +2 -2
  65. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  66. package/lib/components/VSlider/index.d.ts +22 -1
  67. package/lib/components/VSwitch/VSwitch.mjs +5 -3
  68. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  69. package/lib/components/VSwitch/index.d.ts +43 -1
  70. package/lib/components/VTextField/VTextField.mjs +4 -12
  71. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  72. package/lib/components/VTextField/index.d.ts +70 -22
  73. package/lib/components/VTextarea/VTextarea.mjs +4 -12
  74. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  75. package/lib/components/VTextarea/index.d.ts +61 -22
  76. package/lib/components/VTreeview/_mixins.sass +0 -0
  77. package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -0
  78. package/lib/components/VValidation/index.d.ts +10 -1
  79. package/lib/components/index.d.ts +468 -143
  80. package/lib/composables/focus.mjs +3 -2
  81. package/lib/composables/focus.mjs.map +1 -1
  82. package/lib/composables/items.mjs +7 -2
  83. package/lib/composables/items.mjs.map +1 -1
  84. package/lib/entry-bundler.mjs +1 -1
  85. package/lib/framework.mjs +1 -1
  86. package/lib/iconsets/mdi-svg.mjs +2 -2
  87. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  88. package/lib/index.d.ts +2 -2
  89. package/lib/labs/VDataTable/VDataTable.mjs +3 -3
  90. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  91. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  92. package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
  93. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  94. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
  95. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  96. package/lib/labs/VDataTable/VDataTableRows.mjs +52 -44
  97. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  98. package/lib/labs/VDataTable/VDataTableServer.mjs +3 -2
  99. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  100. package/lib/labs/VDataTable/VDataTableVirtual.mjs +0 -1
  101. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  102. package/lib/labs/VDataTable/composables/options.mjs +2 -1
  103. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  104. package/lib/labs/VDataTable/index.d.ts +44 -11
  105. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +1 -0
  106. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  107. package/lib/labs/VSkeletonLoader/index.d.ts +9 -9
  108. package/lib/labs/components.d.ts +53 -20
  109. package/lib/locale/el.mjs +0 -0
  110. package/lib/locale/index.mjs +0 -0
  111. package/lib/util/helpers.mjs +26 -0
  112. package/lib/util/helpers.mjs.map +1 -1
  113. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"VTextarea.mjs","names":["filterFieldProps","makeVFieldProps","filterInputProps","makeVInputProps","VInput","VCounter","VField","Intersect","forwardRefs","useFocus","useProxiedModel","computed","nextTick","onBeforeUnmount","onMounted","ref","watch","callEvent","clamp","convertToUnit","filterInputAttrs","genericComponent","useRender","VTextarea","name","directives","inheritAttrs","props","autoGrow","Boolean","autofocus","counter","Number","String","counterValue","Function","hint","persistentHint","prefix","placeholder","persistentPlaceholder","persistentCounter","noResize","rows","type","default","validator","v","isNaN","parseFloat","maxRows","suffix","modelModifiers","Object","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","value","toString","length","max","maxlength","undefined","onIntersect","isIntersecting","entries","target","vInputRef","vFieldRef","controlHeight","textareaRef","isActive","messages","onFocus","document","activeElement","onControlClick","onControlMousedown","onClear","stopPropagation","onInput","el","trim","caretPosition","selectionStart","selectionEnd","sizerRef","calculateInputHeight","style","getComputedStyle","fieldStyle","$el","padding","getPropertyValue","height","scrollHeight","lineHeight","minHeight","Math","maxHeight","Infinity","density","observer","ResizeObserver","observe","disconnect","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","fieldProps","_createVNode","_mergeProps","$event","includes","variant","_ref2","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","class","fieldClass","slotProps","_Fragment","_withDirectives","_resolveDirective","handler","once","_vModelText"],"sources":["../../../src/components/VTextarea/VTextarea.tsx"],"sourcesContent":["// Styles\nimport './VTextarea.sass'\nimport '../VTextField/VTextField.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { callEvent, clamp, convertToUnit, filterInputAttrs, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport const VTextarea = genericComponent<Omit<VInputSlots & VFieldSlots, 'default'>>()({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as string | number\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const controlHeight = ref('')\n const textareaRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n isFocused.value ||\n props.persistentPlaceholder\n ))\n\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isFocused.value || props.persistentHint) ? props.hint : ''\n })\n\n function onFocus () {\n if (textareaRef.value !== document.activeElement) {\n textareaRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLTextAreaElement\n model.value = el.value\n if (props.modelModifiers?.trim) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value || !vFieldRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n const fieldStyle = getComputedStyle(vFieldRef.value.$el)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-input-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = Math.max(\n parseFloat(props.rows) * lineHeight + padding,\n parseFloat(fieldStyle.getPropertyValue('--v-input-control-height'))\n )\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n\n controlHeight.value = convertToUnit(clamp(height ?? 0, minHeight, maxHeight))\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n watch(() => props.density, calculateInputHeight)\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-textarea v-text-field',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n 'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant),\n },\n ]}\n onClick:prepend={ props['onClick:prepend'] }\n onClick:append={ props['onClick:append'] }\n { ...rootAttrs }\n { ...inputProps }\n focused={ isFocused.value }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n style={{\n '--v-textarea-control-height': controlHeight.value,\n }}\n onClick={ onControlClick }\n onMousedown={ onControlMousedown }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n role=\"textbox\"\n { ...fieldProps }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n )}\n\n <textarea\n ref={ textareaRef }\n class={ fieldClass }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n name={ props.name }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n )}\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, textareaRef)\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VTextarea.mjs","names":["filterFieldProps","makeVFieldProps","makeVInputProps","VInput","VCounter","VField","Intersect","forwardRefs","useFocus","useProxiedModel","computed","nextTick","onBeforeUnmount","onMounted","ref","watch","callEvent","clamp","convertToUnit","filterInputAttrs","genericComponent","useRender","VTextarea","name","directives","inheritAttrs","props","autoGrow","Boolean","autofocus","counter","Number","String","counterValue","Function","prefix","placeholder","persistentPlaceholder","persistentCounter","noResize","rows","type","default","validator","v","isNaN","parseFloat","maxRows","suffix","modelModifiers","Object","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","value","toString","length","max","maxlength","undefined","onIntersect","isIntersecting","entries","target","vInputRef","vFieldRef","controlHeight","textareaRef","isActive","onFocus","document","activeElement","onControlClick","onControlMousedown","onClear","stopPropagation","onInput","el","trim","caretPosition","selectionStart","selectionEnd","sizerRef","calculateInputHeight","style","getComputedStyle","fieldStyle","$el","padding","getPropertyValue","height","scrollHeight","lineHeight","minHeight","Math","maxHeight","Infinity","density","observer","ResizeObserver","observe","disconnect","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","includes","variant","_ref2","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","class","fieldClass","slotProps","_Fragment","_withDirectives","_resolveDirective","handler","once","_vModelText"],"sources":["../../../src/components/VTextarea/VTextarea.tsx"],"sourcesContent":["// Styles\nimport './VTextarea.sass'\nimport '../VTextField/VTextField.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { callEvent, clamp, convertToUnit, filterInputAttrs, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport const VTextarea = genericComponent<Omit<VInputSlots & VFieldSlots, 'default'>>()({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as string | number\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const controlHeight = ref('')\n const textareaRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n isFocused.value ||\n props.persistentPlaceholder\n ))\n\n function onFocus () {\n if (textareaRef.value !== document.activeElement) {\n textareaRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLTextAreaElement\n model.value = el.value\n if (props.modelModifiers?.trim) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value || !vFieldRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n const fieldStyle = getComputedStyle(vFieldRef.value.$el)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-input-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = Math.max(\n parseFloat(props.rows) * lineHeight + padding,\n parseFloat(fieldStyle.getPropertyValue('--v-input-control-height'))\n )\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n\n controlHeight.value = convertToUnit(clamp(height ?? 0, minHeight, maxHeight))\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n watch(() => props.density, calculateInputHeight)\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = VInput.filterProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-textarea v-text-field',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n 'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant),\n },\n ]}\n { ...rootAttrs }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n style={{\n '--v-textarea-control-height': controlHeight.value,\n }}\n onClick={ onControlClick }\n onMousedown={ onControlMousedown }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n role=\"textbox\"\n { ...fieldProps }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n )}\n\n <textarea\n ref={ textareaRef }\n class={ fieldClass }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n name={ props.name }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n )}\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, textareaRef)\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n"],"mappings":"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"}
@@ -63,11 +63,11 @@ declare const VTextarea: {
63
63
  errorMessages: string | string[];
64
64
  maxErrors: string | number;
65
65
  rules: ValidationRule[];
66
+ persistentHint: boolean;
66
67
  clearable: boolean;
67
68
  dirty: boolean;
68
69
  persistentClear: boolean;
69
70
  singleLine: boolean;
70
- persistentHint: boolean;
71
71
  persistentPlaceholder: boolean;
72
72
  persistentCounter: boolean;
73
73
  autoGrow: boolean;
@@ -89,11 +89,11 @@ declare const VTextarea: {
89
89
  errorMessages: string | string[];
90
90
  maxErrors: string | number;
91
91
  rules: ValidationRule[];
92
+ persistentHint: boolean;
92
93
  clearable: boolean;
93
94
  dirty: boolean;
94
95
  persistentClear: boolean;
95
96
  singleLine: boolean;
96
- persistentHint: boolean;
97
97
  persistentPlaceholder: boolean;
98
98
  persistentCounter: boolean;
99
99
  autoGrow: boolean;
@@ -120,10 +120,11 @@ declare const VTextarea: {
120
120
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
121
121
  'onClick:appendInner'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
122
122
  'onClick:prependInner'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
123
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
123
124
  validateOn?: "input" | "blur" | "submit" | undefined;
124
125
  validationValue?: any;
125
- hideDetails?: boolean | "auto" | undefined;
126
126
  hint?: string | undefined;
127
+ hideDetails?: boolean | "auto" | undefined;
127
128
  suffix?: string | undefined;
128
129
  counterValue?: ((value: any) => number) | undefined;
129
130
  modelModifiers?: Record<string, boolean> | undefined;
@@ -173,7 +174,7 @@ declare const VTextarea: {
173
174
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
174
175
  "onClick:control"?: ((e: MouseEvent) => any) | undefined;
175
176
  "onMousedown:control"?: ((e: MouseEvent) => any) | undefined;
176
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "error" | "active" | "direction" | "autofocus" | "disabled" | "readonly" | "messages" | "density" | "variant" | "clearIcon" | "focused" | "errorMessages" | "maxErrors" | "rules" | "clearable" | "dirty" | "persistentClear" | "singleLine" | "persistentHint" | "persistentPlaceholder" | "persistentCounter" | "autoGrow" | "noResize" | "rows">;
177
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "error" | "active" | "direction" | "autofocus" | "disabled" | "readonly" | "messages" | "density" | "variant" | "clearIcon" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "clearable" | "dirty" | "persistentClear" | "singleLine" | "persistentPlaceholder" | "persistentCounter" | "autoGrow" | "noResize" | "rows">;
177
178
  $attrs: {
178
179
  [x: string]: unknown;
179
180
  };
@@ -203,11 +204,11 @@ declare const VTextarea: {
203
204
  errorMessages: string | string[];
204
205
  maxErrors: string | number;
205
206
  rules: ValidationRule[];
207
+ persistentHint: boolean;
206
208
  clearable: boolean;
207
209
  dirty: boolean;
208
210
  persistentClear: boolean;
209
211
  singleLine: boolean;
210
- persistentHint: boolean;
211
212
  persistentPlaceholder: boolean;
212
213
  persistentCounter: boolean;
213
214
  autoGrow: boolean;
@@ -234,10 +235,11 @@ declare const VTextarea: {
234
235
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
235
236
  'onClick:appendInner'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
236
237
  'onClick:prependInner'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
238
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
237
239
  validateOn?: "input" | "blur" | "submit" | undefined;
238
240
  validationValue?: any;
239
- hideDetails?: boolean | "auto" | undefined;
240
241
  hint?: string | undefined;
242
+ hideDetails?: boolean | "auto" | undefined;
241
243
  suffix?: string | undefined;
242
244
  counterValue?: ((value: any) => number) | undefined;
243
245
  modelModifiers?: Record<string, boolean> | undefined;
@@ -301,6 +303,7 @@ declare const VTextarea: {
301
303
  errorMessages: string | string[];
302
304
  maxErrors: string | number;
303
305
  rules: ValidationRule[];
306
+ persistentHint: boolean;
304
307
  }> & Omit<{
305
308
  error: boolean;
306
309
  direction: "horizontal" | "vertical";
@@ -312,6 +315,7 @@ declare const VTextarea: {
312
315
  errorMessages: string | string[];
313
316
  maxErrors: string | number;
314
317
  rules: ValidationRule[];
318
+ persistentHint: boolean;
315
319
  } & {
316
320
  id?: string | undefined;
317
321
  name?: string | undefined;
@@ -321,8 +325,10 @@ declare const VTextarea: {
321
325
  appendIcon?: IconValue | undefined;
322
326
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
323
327
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
328
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
324
329
  validateOn?: "input" | "blur" | "submit" | undefined;
325
330
  validationValue?: any;
331
+ hint?: string | undefined;
326
332
  hideDetails?: boolean | "auto" | undefined;
327
333
  } & {
328
334
  $children?: {} | vue.VNodeChild | {
@@ -350,7 +356,7 @@ declare const VTextarea: {
350
356
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
351
357
  } & {
352
358
  "onUpdate:modelValue"?: ((val: any) => any) | undefined;
353
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules">;
359
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint">;
354
360
  $attrs: {
355
361
  [x: string]: unknown;
356
362
  };
@@ -375,6 +381,7 @@ declare const VTextarea: {
375
381
  errorMessages: string | string[];
376
382
  maxErrors: string | number;
377
383
  rules: ValidationRule[];
384
+ persistentHint: boolean;
378
385
  } & {
379
386
  id?: string | undefined;
380
387
  name?: string | undefined;
@@ -384,8 +391,10 @@ declare const VTextarea: {
384
391
  appendIcon?: IconValue | undefined;
385
392
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
386
393
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
394
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
387
395
  validateOn?: "input" | "blur" | "submit" | undefined;
388
396
  validationValue?: any;
397
+ hint?: string | undefined;
389
398
  hideDetails?: boolean | "auto" | undefined;
390
399
  } & {
391
400
  $children?: {} | vue.VNodeChild | {
@@ -430,6 +439,7 @@ declare const VTextarea: {
430
439
  errorMessages: string | string[];
431
440
  maxErrors: string | number;
432
441
  rules: ValidationRule[];
442
+ persistentHint: boolean;
433
443
  }, {}, string> & {
434
444
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
435
445
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -461,6 +471,7 @@ declare const VTextarea: {
461
471
  errorMessages: string | string[];
462
472
  maxErrors: string | number;
463
473
  rules: ValidationRule[];
474
+ persistentHint: boolean;
464
475
  } & {
465
476
  id?: string | undefined;
466
477
  name?: string | undefined;
@@ -470,8 +481,10 @@ declare const VTextarea: {
470
481
  appendIcon?: IconValue | undefined;
471
482
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
472
483
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
484
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
473
485
  validateOn?: "input" | "blur" | "submit" | undefined;
474
486
  validationValue?: any;
487
+ hint?: string | undefined;
475
488
  hideDetails?: boolean | "auto" | undefined;
476
489
  } & {
477
490
  $children?: {} | vue.VNodeChild | {
@@ -503,7 +516,7 @@ declare const VTextarea: {
503
516
  reset: () => void;
504
517
  resetValidation: () => void;
505
518
  validate: () => Promise<string[]>;
506
- }> & {} & vue.ComponentCustomProperties & {}, "id" | "name" | "label" | "$children" | "v-slot:default" | "$slots" | "v-slots" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "prependIcon" | "appendIcon" | "onClick:append" | "onClick:prepend" | "validateOn" | "validationValue" | "hideDetails" | ("error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules") | "v-slot:details">, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
519
+ }> & {} & vue.ComponentCustomProperties & {}, "id" | "name" | "label" | "$children" | "v-slot:default" | "$slots" | "v-slots" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "prependIcon" | "appendIcon" | "onClick:append" | "onClick:prepend" | "onUpdate:focused" | "validateOn" | "validationValue" | "hint" | "hideDetails" | ("error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint") | "v-slot:details">, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
507
520
  'click:control': (e: MouseEvent) => true;
508
521
  'mousedown:control': (e: MouseEvent) => true;
509
522
  'update:focused': (focused: boolean) => true;
@@ -524,11 +537,11 @@ declare const VTextarea: {
524
537
  errorMessages: string | string[];
525
538
  maxErrors: string | number;
526
539
  rules: ValidationRule[];
540
+ persistentHint: boolean;
527
541
  clearable: boolean;
528
542
  dirty: boolean;
529
543
  persistentClear: boolean;
530
544
  singleLine: boolean;
531
- persistentHint: boolean;
532
545
  persistentPlaceholder: boolean;
533
546
  persistentCounter: boolean;
534
547
  autoGrow: boolean;
@@ -570,11 +583,11 @@ declare const VTextarea: {
570
583
  errorMessages: string | string[];
571
584
  maxErrors: string | number;
572
585
  rules: ValidationRule[];
586
+ persistentHint: boolean;
573
587
  clearable: boolean;
574
588
  dirty: boolean;
575
589
  persistentClear: boolean;
576
590
  singleLine: boolean;
577
- persistentHint: boolean;
578
591
  persistentPlaceholder: boolean;
579
592
  persistentCounter: boolean;
580
593
  autoGrow: boolean;
@@ -601,10 +614,11 @@ declare const VTextarea: {
601
614
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
602
615
  'onClick:appendInner'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
603
616
  'onClick:prependInner'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
617
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
604
618
  validateOn?: "input" | "blur" | "submit" | undefined;
605
619
  validationValue?: any;
606
- hideDetails?: boolean | "auto" | undefined;
607
620
  hint?: string | undefined;
621
+ hideDetails?: boolean | "auto" | undefined;
608
622
  suffix?: string | undefined;
609
623
  counterValue?: ((value: any) => number) | undefined;
610
624
  modelModifiers?: Record<string, boolean> | undefined;
@@ -668,6 +682,7 @@ declare const VTextarea: {
668
682
  errorMessages: string | string[];
669
683
  maxErrors: string | number;
670
684
  rules: ValidationRule[];
685
+ persistentHint: boolean;
671
686
  }> & Omit<{
672
687
  error: boolean;
673
688
  direction: "horizontal" | "vertical";
@@ -679,6 +694,7 @@ declare const VTextarea: {
679
694
  errorMessages: string | string[];
680
695
  maxErrors: string | number;
681
696
  rules: ValidationRule[];
697
+ persistentHint: boolean;
682
698
  } & {
683
699
  id?: string | undefined;
684
700
  name?: string | undefined;
@@ -688,8 +704,10 @@ declare const VTextarea: {
688
704
  appendIcon?: IconValue | undefined;
689
705
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
690
706
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
707
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
691
708
  validateOn?: "input" | "blur" | "submit" | undefined;
692
709
  validationValue?: any;
710
+ hint?: string | undefined;
693
711
  hideDetails?: boolean | "auto" | undefined;
694
712
  } & {
695
713
  $children?: {} | vue.VNodeChild | {
@@ -717,7 +735,7 @@ declare const VTextarea: {
717
735
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
718
736
  } & {
719
737
  "onUpdate:modelValue"?: ((val: any) => any) | undefined;
720
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules">;
738
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint">;
721
739
  $attrs: {
722
740
  [x: string]: unknown;
723
741
  };
@@ -742,6 +760,7 @@ declare const VTextarea: {
742
760
  errorMessages: string | string[];
743
761
  maxErrors: string | number;
744
762
  rules: ValidationRule[];
763
+ persistentHint: boolean;
745
764
  } & {
746
765
  id?: string | undefined;
747
766
  name?: string | undefined;
@@ -751,8 +770,10 @@ declare const VTextarea: {
751
770
  appendIcon?: IconValue | undefined;
752
771
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
753
772
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
773
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
754
774
  validateOn?: "input" | "blur" | "submit" | undefined;
755
775
  validationValue?: any;
776
+ hint?: string | undefined;
756
777
  hideDetails?: boolean | "auto" | undefined;
757
778
  } & {
758
779
  $children?: {} | vue.VNodeChild | {
@@ -797,6 +818,7 @@ declare const VTextarea: {
797
818
  errorMessages: string | string[];
798
819
  maxErrors: string | number;
799
820
  rules: ValidationRule[];
821
+ persistentHint: boolean;
800
822
  }, {}, string> & {
801
823
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
802
824
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -828,6 +850,7 @@ declare const VTextarea: {
828
850
  errorMessages: string | string[];
829
851
  maxErrors: string | number;
830
852
  rules: ValidationRule[];
853
+ persistentHint: boolean;
831
854
  } & {
832
855
  id?: string | undefined;
833
856
  name?: string | undefined;
@@ -837,8 +860,10 @@ declare const VTextarea: {
837
860
  appendIcon?: IconValue | undefined;
838
861
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
839
862
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
863
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
840
864
  validateOn?: "input" | "blur" | "submit" | undefined;
841
865
  validationValue?: any;
866
+ hint?: string | undefined;
842
867
  hideDetails?: boolean | "auto" | undefined;
843
868
  } & {
844
869
  $children?: {} | vue.VNodeChild | {
@@ -870,7 +895,7 @@ declare const VTextarea: {
870
895
  reset: () => void;
871
896
  resetValidation: () => void;
872
897
  validate: () => Promise<string[]>;
873
- }> & {} & vue.ComponentCustomProperties & {}, "id" | "name" | "label" | "$children" | "v-slot:default" | "$slots" | "v-slots" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "prependIcon" | "appendIcon" | "onClick:append" | "onClick:prepend" | "validateOn" | "validationValue" | "hideDetails" | ("error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules") | "v-slot:details">, `$${any}`>> & {} & vue.ComponentCustomProperties & {};
898
+ }> & {} & vue.ComponentCustomProperties & {}, "id" | "name" | "label" | "$children" | "v-slot:default" | "$slots" | "v-slots" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "prependIcon" | "appendIcon" | "onClick:append" | "onClick:prepend" | "onUpdate:focused" | "validateOn" | "validationValue" | "hint" | "hideDetails" | ("error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint") | "v-slot:details">, `$${any}`>> & {} & vue.ComponentCustomProperties & {};
874
899
  __isFragment?: undefined;
875
900
  __isTeleport?: undefined;
876
901
  __isSuspense?: undefined;
@@ -890,11 +915,11 @@ declare const VTextarea: {
890
915
  errorMessages: string | string[];
891
916
  maxErrors: string | number;
892
917
  rules: ValidationRule[];
918
+ persistentHint: boolean;
893
919
  clearable: boolean;
894
920
  dirty: boolean;
895
921
  persistentClear: boolean;
896
922
  singleLine: boolean;
897
- persistentHint: boolean;
898
923
  persistentPlaceholder: boolean;
899
924
  persistentCounter: boolean;
900
925
  autoGrow: boolean;
@@ -921,10 +946,11 @@ declare const VTextarea: {
921
946
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
922
947
  'onClick:appendInner'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
923
948
  'onClick:prependInner'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
949
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
924
950
  validateOn?: "input" | "blur" | "submit" | undefined;
925
951
  validationValue?: any;
926
- hideDetails?: boolean | "auto" | undefined;
927
952
  hint?: string | undefined;
953
+ hideDetails?: boolean | "auto" | undefined;
928
954
  suffix?: string | undefined;
929
955
  counterValue?: ((value: any) => number) | undefined;
930
956
  modelModifiers?: Record<string, boolean> | undefined;
@@ -988,6 +1014,7 @@ declare const VTextarea: {
988
1014
  errorMessages: string | string[];
989
1015
  maxErrors: string | number;
990
1016
  rules: ValidationRule[];
1017
+ persistentHint: boolean;
991
1018
  }> & Omit<{
992
1019
  error: boolean;
993
1020
  direction: "horizontal" | "vertical";
@@ -999,6 +1026,7 @@ declare const VTextarea: {
999
1026
  errorMessages: string | string[];
1000
1027
  maxErrors: string | number;
1001
1028
  rules: ValidationRule[];
1029
+ persistentHint: boolean;
1002
1030
  } & {
1003
1031
  id?: string | undefined;
1004
1032
  name?: string | undefined;
@@ -1008,8 +1036,10 @@ declare const VTextarea: {
1008
1036
  appendIcon?: IconValue | undefined;
1009
1037
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
1010
1038
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
1039
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
1011
1040
  validateOn?: "input" | "blur" | "submit" | undefined;
1012
1041
  validationValue?: any;
1042
+ hint?: string | undefined;
1013
1043
  hideDetails?: boolean | "auto" | undefined;
1014
1044
  } & {
1015
1045
  $children?: {} | vue.VNodeChild | {
@@ -1037,7 +1067,7 @@ declare const VTextarea: {
1037
1067
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
1038
1068
  } & {
1039
1069
  "onUpdate:modelValue"?: ((val: any) => any) | undefined;
1040
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules">;
1070
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint">;
1041
1071
  $attrs: {
1042
1072
  [x: string]: unknown;
1043
1073
  };
@@ -1062,6 +1092,7 @@ declare const VTextarea: {
1062
1092
  errorMessages: string | string[];
1063
1093
  maxErrors: string | number;
1064
1094
  rules: ValidationRule[];
1095
+ persistentHint: boolean;
1065
1096
  } & {
1066
1097
  id?: string | undefined;
1067
1098
  name?: string | undefined;
@@ -1071,8 +1102,10 @@ declare const VTextarea: {
1071
1102
  appendIcon?: IconValue | undefined;
1072
1103
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
1073
1104
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
1105
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
1074
1106
  validateOn?: "input" | "blur" | "submit" | undefined;
1075
1107
  validationValue?: any;
1108
+ hint?: string | undefined;
1076
1109
  hideDetails?: boolean | "auto" | undefined;
1077
1110
  } & {
1078
1111
  $children?: {} | vue.VNodeChild | {
@@ -1117,6 +1150,7 @@ declare const VTextarea: {
1117
1150
  errorMessages: string | string[];
1118
1151
  maxErrors: string | number;
1119
1152
  rules: ValidationRule[];
1153
+ persistentHint: boolean;
1120
1154
  }, {}, string> & {
1121
1155
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
1122
1156
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -1148,6 +1182,7 @@ declare const VTextarea: {
1148
1182
  errorMessages: string | string[];
1149
1183
  maxErrors: string | number;
1150
1184
  rules: ValidationRule[];
1185
+ persistentHint: boolean;
1151
1186
  } & {
1152
1187
  id?: string | undefined;
1153
1188
  name?: string | undefined;
@@ -1157,8 +1192,10 @@ declare const VTextarea: {
1157
1192
  appendIcon?: IconValue | undefined;
1158
1193
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
1159
1194
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
1195
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
1160
1196
  validateOn?: "input" | "blur" | "submit" | undefined;
1161
1197
  validationValue?: any;
1198
+ hint?: string | undefined;
1162
1199
  hideDetails?: boolean | "auto" | undefined;
1163
1200
  } & {
1164
1201
  $children?: {} | vue.VNodeChild | {
@@ -1190,7 +1227,7 @@ declare const VTextarea: {
1190
1227
  reset: () => void;
1191
1228
  resetValidation: () => void;
1192
1229
  validate: () => Promise<string[]>;
1193
- }> & {} & vue.ComponentCustomProperties & {}, "id" | "name" | "label" | "$children" | "v-slot:default" | "$slots" | "v-slots" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "prependIcon" | "appendIcon" | "onClick:append" | "onClick:prepend" | "validateOn" | "validationValue" | "hideDetails" | ("error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules") | "v-slot:details">, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1230
+ }> & {} & vue.ComponentCustomProperties & {}, "id" | "name" | "label" | "$children" | "v-slot:default" | "$slots" | "v-slots" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "prependIcon" | "appendIcon" | "onClick:append" | "onClick:prepend" | "onUpdate:focused" | "validateOn" | "validationValue" | "hint" | "hideDetails" | ("error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint") | "v-slot:details">, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1194
1231
  'click:control': (e: MouseEvent) => true;
1195
1232
  'mousedown:control': (e: MouseEvent) => true;
1196
1233
  'update:focused': (focused: boolean) => true;
@@ -1211,11 +1248,11 @@ declare const VTextarea: {
1211
1248
  errorMessages: string | string[];
1212
1249
  maxErrors: string | number;
1213
1250
  rules: ValidationRule[];
1251
+ persistentHint: boolean;
1214
1252
  clearable: boolean;
1215
1253
  dirty: boolean;
1216
1254
  persistentClear: boolean;
1217
1255
  singleLine: boolean;
1218
- persistentHint: boolean;
1219
1256
  persistentPlaceholder: boolean;
1220
1257
  persistentCounter: boolean;
1221
1258
  autoGrow: boolean;
@@ -1250,6 +1287,7 @@ declare const VTextarea: {
1250
1287
  'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
1251
1288
  'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
1252
1289
  focused: BooleanConstructor;
1290
+ 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
1253
1291
  errorMessages: {
1254
1292
  type: PropType<string | string[]>;
1255
1293
  default: () => never[];
@@ -1276,6 +1314,8 @@ declare const VTextarea: {
1276
1314
  appendIcon: PropType<IconValue>;
1277
1315
  prependIcon: PropType<IconValue>;
1278
1316
  hideDetails: PropType<boolean | "auto">;
1317
+ hint: StringConstructor;
1318
+ persistentHint: BooleanConstructor;
1279
1319
  messages: {
1280
1320
  type: PropType<string | string[]>;
1281
1321
  default: () => never[];
@@ -1291,8 +1331,6 @@ declare const VTextarea: {
1291
1331
  autofocus: BooleanConstructor;
1292
1332
  counter: PropType<string | number | true>;
1293
1333
  counterValue: PropType<(value: any) => number>;
1294
- hint: StringConstructor;
1295
- persistentHint: BooleanConstructor;
1296
1334
  prefix: StringConstructor;
1297
1335
  placeholder: StringConstructor;
1298
1336
  persistentPlaceholder: BooleanConstructor;
@@ -1338,6 +1376,7 @@ declare const VTextarea: {
1338
1376
  'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
1339
1377
  'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
1340
1378
  focused: BooleanConstructor;
1379
+ 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
1341
1380
  errorMessages: {
1342
1381
  type: PropType<string | string[]>;
1343
1382
  default: () => never[];
@@ -1364,6 +1403,8 @@ declare const VTextarea: {
1364
1403
  appendIcon: PropType<IconValue>;
1365
1404
  prependIcon: PropType<IconValue>;
1366
1405
  hideDetails: PropType<boolean | "auto">;
1406
+ hint: StringConstructor;
1407
+ persistentHint: BooleanConstructor;
1367
1408
  messages: {
1368
1409
  type: PropType<string | string[]>;
1369
1410
  default: () => never[];
@@ -1379,8 +1420,6 @@ declare const VTextarea: {
1379
1420
  autofocus: BooleanConstructor;
1380
1421
  counter: PropType<string | number | true>;
1381
1422
  counterValue: PropType<(value: any) => number>;
1382
- hint: StringConstructor;
1383
- persistentHint: BooleanConstructor;
1384
1423
  prefix: StringConstructor;
1385
1424
  placeholder: StringConstructor;
1386
1425
  persistentPlaceholder: BooleanConstructor;
File without changes
File without changes
@@ -1,10 +1,13 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, PropType } from 'vue';
3
3
 
4
4
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
5
  filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
6
6
  }
7
7
 
8
+ type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[];
9
+ declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T, (...args: T) => any>>;
10
+
8
11
  type ValidationResult = string | boolean;
9
12
  type ValidationRule = ValidationResult | PromiseLike<ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike<ValidationResult>);
10
13
 
@@ -32,6 +35,7 @@ declare const VValidation: {
32
35
  name?: string | undefined;
33
36
  label?: string | undefined;
34
37
  modelValue?: any;
38
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
35
39
  validateOn?: "input" | "blur" | "submit" | undefined;
36
40
  validationValue?: any;
37
41
  } & {
@@ -74,6 +78,7 @@ declare const VValidation: {
74
78
  name?: string | undefined;
75
79
  label?: string | undefined;
76
80
  modelValue?: any;
81
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
77
82
  validateOn?: "input" | "blur" | "submit" | undefined;
78
83
  validationValue?: any;
79
84
  } & {
@@ -134,6 +139,7 @@ declare const VValidation: {
134
139
  name?: string | undefined;
135
140
  label?: string | undefined;
136
141
  modelValue?: any;
142
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
137
143
  validateOn?: "input" | "blur" | "submit" | undefined;
138
144
  validationValue?: any;
139
145
  } & {
@@ -168,6 +174,7 @@ declare const VValidation: {
168
174
  name?: string | undefined;
169
175
  label?: string | undefined;
170
176
  modelValue?: any;
177
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
171
178
  validateOn?: "input" | "blur" | "submit" | undefined;
172
179
  validationValue?: any;
173
180
  } & {
@@ -198,6 +205,7 @@ declare const VValidation: {
198
205
  rules: ValidationRule[];
199
206
  }, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
200
207
  focused: BooleanConstructor;
208
+ 'onUpdate:focused': vue.PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
201
209
  disabled: BooleanConstructor;
202
210
  error: BooleanConstructor;
203
211
  errorMessages: {
@@ -220,6 +228,7 @@ declare const VValidation: {
220
228
  validationValue: null;
221
229
  }, vue.ExtractPropTypes<{
222
230
  focused: BooleanConstructor;
231
+ 'onUpdate:focused': vue.PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
223
232
  disabled: BooleanConstructor;
224
233
  error: BooleanConstructor;
225
234
  errorMessages: {