@vuetify/nightly 3.9.0-master.2025-07-10 → 3.9.0-master.2025-07-11

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.
@@ -229,6 +229,7 @@ export const VField = genericComponent()({
229
229
  "class": _normalizeClass([textColorClasses.value]),
230
230
  "floating": true,
231
231
  "for": id.value,
232
+ "aria-hidden": !isActive.value,
232
233
  "style": _normalizeStyle(textColorStyles.value)
233
234
  }, {
234
235
  default: () => [label()]
@@ -299,7 +300,8 @@ export const VField = genericComponent()({
299
300
  }, [_createVNode(VFieldLabel, {
300
301
  "ref": floatingLabelRef,
301
302
  "floating": true,
302
- "for": id.value
303
+ "for": id.value,
304
+ "aria-hidden": !isActive.value
303
305
  }, {
304
306
  default: () => [label()]
305
307
  })]), _createElementVNode("div", {
@@ -307,7 +309,8 @@ export const VField = genericComponent()({
307
309
  }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && _createVNode(VFieldLabel, {
308
310
  "ref": floatingLabelRef,
309
311
  "floating": true,
310
- "for": id.value
312
+ "for": id.value,
313
+ "aria-hidden": !isActive.value
311
314
  }, {
312
315
  default: () => [label()]
313
316
  })])]);
@@ -1 +1 @@
1
- {"version":3,"file":"VField.js","names":["VFieldLabel","VExpandXTransition","VDefaultsProvider","useInputIcon","useBackgroundColor","useTextColor","makeComponentProps","makeFocusProps","useFocus","IconValue","LoaderSlot","makeLoaderProps","useLoader","useRtl","makeRoundedProps","useRounded","makeThemeProps","provideTheme","computed","ref","toRef","useId","watch","animate","convertToUnit","EventProp","genericComponent","nullifyTransforms","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","centerAffix","undefined","color","baseColor","dirty","disabled","glow","error","flat","iconColor","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","value","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","roundedClasses","rtlClasses","isActive","hasLabel","hasFloatingLabel","uid","messagesId","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","val","el","$el","targetEl","requestAnimationFrame","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","e","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","_createElementVNode","_mergeProps","class","_createVNode","loading","loader","_normalizeClass","_normalizeStyle","_withDirectives","stopPropagation","VIcon","icon","onFocus","onBlur","tabindex","_vShow","_Fragment","fieldIconColor"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VFieldLabel } from './VFieldLabel'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, useId, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n centerAffix: {\n type: Boolean,\n default: undefined,\n },\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null,\n },\n glow: Boolean,\n error: Boolean,\n flat: Boolean,\n iconColor: [Boolean, String],\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp<[MouseEvent]>(),\n 'onClick:appendInner': EventProp<[MouseEvent]>(),\n 'onClick:prependInner': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'VField')\n\nexport type VFieldSlots = {\n clear: DefaultInputSlot & { props: Record<string, any> }\n 'prepend-inner': DefaultInputSlot\n 'append-inner': DefaultInputSlot\n label: DefaultInputSlot & { label: string | undefined, props: Record<string, any> }\n loader: LoaderSlotProps\n default: VFieldSlot\n}\n\nexport const VField = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VFieldSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n const { roundedClasses } = useRounded(props)\n const { rtlClasses } = useRtl()\n\n const isActive = toRef(() => props.dirty || props.active)\n const hasLabel = toRef(() => !!(props.label || slots.label))\n const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = toRef(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n const color = computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\n })\n const iconColor = computed(() => {\n if (!props.iconColor || (props.glow && !isFocused.value)) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n watch(isActive, val => {\n if (hasFloatingLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear) && !props.disabled\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = () => (\n slots.label\n ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n )\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--glow': props.glow,\n 'v-field--flat': props.flat,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label(),\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n roundedClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ !!props.loading }\n color={ props.error ? 'error' : (typeof props.loading === 'string' ? props.loading : props.color) }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prependInner\"\n color={ iconColor.value }\n />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n style={ textColorStyles.value }\n >\n { label() }\n </VFieldLabel>\n )}\n\n { hasLabel.value && (\n <VFieldLabel key=\"label\" ref={ labelRef } for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot) ?? (\n <div\n id={ id.value }\n class=\"v-field__input\"\n aria-describedby={ messagesId.value }\n />\n )}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: props.clearIcon,\n },\n }}\n >\n { slots.clear\n ? slots.clear({\n ...slotProps.value,\n props: {\n onFocus: focus,\n onBlur: blur,\n onClick: props['onClick:clear'],\n tabindex: -1,\n },\n })\n : (\n <InputIcon\n name=\"clear\"\n onFocus={ focus }\n onBlur={ blur }\n tabindex={ -1 }\n />\n )}\n </VDefaultsProvider>\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"appendInner\"\n color={ iconColor.value }\n />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasFloatingLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label() }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n { isPlainOrUnderlined.value && hasFloatingLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n fieldIconColor: iconColor,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VField.js","names":["VFieldLabel","VExpandXTransition","VDefaultsProvider","useInputIcon","useBackgroundColor","useTextColor","makeComponentProps","makeFocusProps","useFocus","IconValue","LoaderSlot","makeLoaderProps","useLoader","useRtl","makeRoundedProps","useRounded","makeThemeProps","provideTheme","computed","ref","toRef","useId","watch","animate","convertToUnit","EventProp","genericComponent","nullifyTransforms","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","centerAffix","undefined","color","baseColor","dirty","disabled","glow","error","flat","iconColor","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","value","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","roundedClasses","rtlClasses","isActive","hasLabel","hasFloatingLabel","uid","messagesId","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","val","el","$el","targetEl","requestAnimationFrame","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","e","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","_createElementVNode","_mergeProps","class","_createVNode","loading","loader","_normalizeClass","_normalizeStyle","_withDirectives","stopPropagation","VIcon","icon","onFocus","onBlur","tabindex","_vShow","_Fragment","fieldIconColor"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VFieldLabel } from './VFieldLabel'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, useId, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n centerAffix: {\n type: Boolean,\n default: undefined,\n },\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null,\n },\n glow: Boolean,\n error: Boolean,\n flat: Boolean,\n iconColor: [Boolean, String],\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp<[MouseEvent]>(),\n 'onClick:appendInner': EventProp<[MouseEvent]>(),\n 'onClick:prependInner': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'VField')\n\nexport type VFieldSlots = {\n clear: DefaultInputSlot & { props: Record<string, any> }\n 'prepend-inner': DefaultInputSlot\n 'append-inner': DefaultInputSlot\n label: DefaultInputSlot & { label: string | undefined, props: Record<string, any> }\n loader: LoaderSlotProps\n default: VFieldSlot\n}\n\nexport const VField = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VFieldSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n const { roundedClasses } = useRounded(props)\n const { rtlClasses } = useRtl()\n\n const isActive = toRef(() => props.dirty || props.active)\n const hasLabel = toRef(() => !!(props.label || slots.label))\n const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = toRef(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n const color = computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\n })\n const iconColor = computed(() => {\n if (!props.iconColor || (props.glow && !isFocused.value)) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n watch(isActive, val => {\n if (hasFloatingLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear) && !props.disabled\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = () => (\n slots.label\n ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n )\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--glow': props.glow,\n 'v-field--flat': props.flat,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label(),\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n roundedClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ !!props.loading }\n color={ props.error ? 'error' : (typeof props.loading === 'string' ? props.loading : props.color) }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prependInner\"\n color={ iconColor.value }\n />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n aria-hidden={ !isActive.value }\n style={ textColorStyles.value }\n >\n { label() }\n </VFieldLabel>\n )}\n\n { hasLabel.value && (\n <VFieldLabel key=\"label\" ref={ labelRef } for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot) ?? (\n <div\n id={ id.value }\n class=\"v-field__input\"\n aria-describedby={ messagesId.value }\n />\n )}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: props.clearIcon,\n },\n }}\n >\n { slots.clear\n ? slots.clear({\n ...slotProps.value,\n props: {\n onFocus: focus,\n onBlur: blur,\n onClick: props['onClick:clear'],\n tabindex: -1,\n },\n })\n : (\n <InputIcon\n name=\"clear\"\n onFocus={ focus }\n onBlur={ blur }\n tabindex={ -1 }\n />\n )}\n </VDefaultsProvider>\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"appendInner\"\n color={ iconColor.value }\n />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasFloatingLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value } aria-hidden={ !isActive.value }>\n { label() }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n { isPlainOrUnderlined.value && hasFloatingLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value } aria-hidden={ !isActive.value }>\n { label() }\n </VFieldLabel>\n )}\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n fieldIconColor: iconColor,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,WAAW;AAAA,SACXC,kBAAkB;AAAA,SAClBC,iBAAiB;AAAA,SACjBC,YAAY,kCAErB;AAAA,SACSC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB;AAAA,SAClBC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,SAAS;AAAA,SACTC,UAAU,EAAEC,eAAe,EAAEC,SAAS;AAAA,SACtCC,MAAM;AAAA,SACNC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,cAAc,EAAEC,YAAY,sCAErC;AACA,SAASC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAEtDC,OAAO,EACPC,aAAa,EACbC,SAAS,EACTC,gBAAgB,EAChBC,iBAAiB,EACjBC,YAAY,EACZC,cAAc,EACdC,SAAS,+BAGX;AAKA,MAAMC,eAAe,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,CAAU;AAetH,OAAO,MAAMC,eAAe,GAAGJ,YAAY,CAAC;EAC1CK,eAAe,EAAExB,SAAS;EAC1ByB,OAAO,EAAEC,MAAM;EACfC,SAAS,EAAEC,OAAO;EAClBC,SAAS,EAAE;IACTC,IAAI,EAAE9B,SAAS;IACf+B,OAAO,EAAE;EACX,CAAC;EACDC,MAAM,EAAEJ,OAAO;EACfK,WAAW,EAAE;IACXH,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAEG;EACX,CAAC;EACDC,KAAK,EAAET,MAAM;EACbU,SAAS,EAAEV,MAAM;EACjBW,KAAK,EAAET,OAAO;EACdU,QAAQ,EAAE;IACRR,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAE;EACX,CAAC;EACDQ,IAAI,EAAEX,OAAO;EACbY,KAAK,EAAEZ,OAAO;EACda,IAAI,EAAEb,OAAO;EACbc,SAAS,EAAE,CAACd,OAAO,EAAEF,MAAM,CAAC;EAC5BiB,KAAK,EAAEjB,MAAM;EACbkB,eAAe,EAAEhB,OAAO;EACxBiB,gBAAgB,EAAE7C,SAAS;EAC3B8C,OAAO,EAAElB,OAAO;EAChBmB,UAAU,EAAEnB,OAAO;EACnBoB,OAAO,EAAE;IACPlB,IAAI,EAAEJ,MAA2B;IACjCK,OAAO,EAAE,QAAQ;IACjBkB,SAAS,EAAGC,CAAM,IAAK5B,eAAe,CAAC6B,QAAQ,CAACD,CAAC;EACnD,CAAC;EAED,eAAe,EAAElC,SAAS,CAAe,CAAC;EAC1C,qBAAqB,EAAEA,SAAS,CAAe,CAAC;EAChD,sBAAsB,EAAEA,SAAS,CAAe,CAAC;EAEjD,GAAGnB,kBAAkB,CAAC,CAAC;EACvB,GAAGK,eAAe,CAAC,CAAC;EACpB,GAAGG,gBAAgB,CAAC,CAAC;EACrB,GAAGE,cAAc,CAAC;AACpB,CAAC,EAAE,QAAQ,CAAC;AAWZ,OAAO,MAAM6C,MAAM,GAAGnC,gBAAgB,CAMS,CAAC,CAAC;EAC/CoC,IAAI,EAAE,QAAQ;EAEdC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAE;IACLC,EAAE,EAAE9B,MAAM;IAEV,GAAG5B,cAAc,CAAC,CAAC;IACnB,GAAGyB,eAAe,CAAC;EACrB,CAAC;EAEDkC,KAAK,EAAE;IACL,gBAAgB,EAAGC,OAAgB,IAAK,IAAI;IAC5C,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEL,KAAK,EAAAM,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IAClC,MAAM;MAAEI;IAAa,CAAC,GAAGzD,YAAY,CAAC+C,KAAK,CAAC;IAC5C,MAAM;MAAEW;IAAc,CAAC,GAAG/D,SAAS,CAACoD,KAAK,CAAC;IAC1C,MAAM;MAAEY,YAAY;MAAEC,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGvE,QAAQ,CAACwD,KAAK,CAAC;IAChE,MAAM;MAAEgB;IAAU,CAAC,GAAG7E,YAAY,CAAC6D,KAAK,CAAC;IACzC,MAAM;MAAEiB;IAAe,CAAC,GAAGlE,UAAU,CAACiD,KAAK,CAAC;IAC5C,MAAM;MAAEkB;IAAW,CAAC,GAAGrE,MAAM,CAAC,CAAC;IAE/B,MAAMsE,QAAQ,GAAG/D,KAAK,CAAC,MAAM4C,KAAK,CAAClB,KAAK,IAAIkB,KAAK,CAACvB,MAAM,CAAC;IACzD,MAAM2C,QAAQ,GAAGhE,KAAK,CAAC,MAAM,CAAC,EAAE4C,KAAK,CAACZ,KAAK,IAAIqB,KAAK,CAACrB,KAAK,CAAC,CAAC;IAC5D,MAAMiC,gBAAgB,GAAGjE,KAAK,CAAC,MAAM,CAAC4C,KAAK,CAACR,UAAU,IAAI4B,QAAQ,CAAChB,KAAK,CAAC;IAEzE,MAAMkB,GAAG,GAAGjE,KAAK,CAAC,CAAC;IACnB,MAAM4C,EAAE,GAAG/C,QAAQ,CAAC,MAAM8C,KAAK,CAACC,EAAE,IAAI,SAASqB,GAAG,EAAE,CAAC;IACrD,MAAMC,UAAU,GAAGnE,KAAK,CAAC,MAAM,GAAG6C,EAAE,CAACG,KAAK,WAAW,CAAC;IAEtD,MAAMoB,QAAQ,GAAGrE,GAAG,CAAc,CAAC;IACnC,MAAMsE,gBAAgB,GAAGtE,GAAG,CAAc,CAAC;IAC3C,MAAMuE,UAAU,GAAGvE,GAAG,CAAc,CAAC;IACrC,MAAMwE,mBAAmB,GAAGzE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC0C,QAAQ,CAACI,KAAK,CAACP,OAAO,CAAC,CAAC;IAC3F,MAAMb,KAAK,GAAG1B,QAAQ,CAAC,MAAM;MAC3B,OAAO8C,KAAK,CAACf,KAAK,IAAIe,KAAK,CAACjB,QAAQ,GAAGJ,SAAS,GAC5CwC,QAAQ,CAACf,KAAK,IAAIS,SAAS,CAACT,KAAK,GAAGJ,KAAK,CAACpB,KAAK,GAC/CoB,KAAK,CAACnB,SAAS;IACrB,CAAC,CAAC;IACF,MAAMM,SAAS,GAAGjC,QAAQ,CAAC,MAAM;MAC/B,IAAI,CAAC8C,KAAK,CAACb,SAAS,IAAKa,KAAK,CAAChB,IAAI,IAAI,CAAC6B,SAAS,CAACT,KAAM,EAAE,OAAOzB,SAAS;MAE1E,OAAOqB,KAAK,CAACb,SAAS,KAAK,IAAI,GAAGP,KAAK,CAACwB,KAAK,GAAGJ,KAAK,CAACb,SAAS;IACjE,CAAC,CAAC;IAEF,MAAM;MAAEyC,sBAAsB;MAAEC;IAAsB,CAAC,GAAGzF,kBAAkB,CAAC,MAAM4D,KAAK,CAAC9B,OAAO,CAAC;IACjG,MAAM;MAAE4D,gBAAgB;MAAEC;IAAgB,CAAC,GAAG1F,YAAY,CAACuC,KAAK,CAAC;IAEjEtB,KAAK,CAAC6D,QAAQ,EAAEa,GAAG,IAAI;MACrB,IAAIX,gBAAgB,CAACjB,KAAK,EAAE;QAC1B,MAAM6B,EAAe,GAAGT,QAAQ,CAACpB,KAAK,CAAE8B,GAAG;QAC3C,MAAMC,QAAqB,GAAGV,gBAAgB,CAACrB,KAAK,CAAE8B,GAAG;QAEzDE,qBAAqB,CAAC,MAAM;UAC1B,MAAMC,IAAI,GAAG1E,iBAAiB,CAACsE,EAAE,CAAC;UAClC,MAAMK,UAAU,GAAGH,QAAQ,CAACI,qBAAqB,CAAC,CAAC;UAEnD,MAAMC,CAAC,GAAGF,UAAU,CAACE,CAAC,GAAGH,IAAI,CAACG,CAAC;UAC/B,MAAMC,CAAC,GAAGH,UAAU,CAACG,CAAC,GAAGJ,IAAI,CAACI,CAAC,IAAIJ,IAAI,CAACK,MAAM,GAAG,CAAC,GAAGJ,UAAU,CAACI,MAAM,GAAG,CAAC,CAAC;UAE3E,MAAMC,WAAW,GAAGL,UAAU,CAACM,KAAK,GAAG,IAAI;UAC3C,MAAMA,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACH,WAAW,GAAGN,IAAI,CAACO,KAAK,CAAC,GAAG,CAAC,GAChD;YAAEG,QAAQ,EAAEvF,aAAa,CAACmF,WAAW;UAAE,CAAC,GACxChE,SAAS;UAEb,MAAMqE,KAAK,GAAGC,gBAAgB,CAAChB,EAAE,CAAC;UAClC,MAAMiB,WAAW,GAAGD,gBAAgB,CAACd,QAAQ,CAAC;UAC9C,MAAMgB,QAAQ,GAAGC,UAAU,CAACJ,KAAK,CAACK,kBAAkB,CAAC,GAAG,IAAI,IAAI,GAAG;UACnE,MAAMC,KAAK,GAAGF,UAAU,CAACF,WAAW,CAACK,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;UAC/E,MAAM3E,KAAK,GAAGsE,WAAW,CAACK,gBAAgB,CAAC,OAAO,CAAC;UAEnDtB,EAAE,CAACe,KAAK,CAACQ,UAAU,GAAG,SAAS;UAC/BrB,QAAQ,CAACa,KAAK,CAACQ,UAAU,GAAG,QAAQ;UAEpCjG,OAAO,CAAC0E,EAAE,EAAE;YACVwB,SAAS,EAAE,aAAajB,CAAC,OAAOC,CAAC,aAAaa,KAAK,GAAG;YACtD1E,KAAK;YACL,GAAGgE;UACL,CAAC,EAAE;YACDO,QAAQ;YACRO,MAAM,EAAE7F,cAAc;YACtB8F,SAAS,EAAE3B,GAAG,GAAG,QAAQ,GAAG;UAC9B,CAAC,CAAC,CAAC4B,QAAQ,CAACC,IAAI,CAAC,MAAM;YACrB5B,EAAE,CAACe,KAAK,CAACc,cAAc,CAAC,YAAY,CAAC;YACrC3B,QAAQ,CAACa,KAAK,CAACc,cAAc,CAAC,YAAY,CAAC;UAC7C,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF,CAAC,EAAE;MAAEC,KAAK,EAAE;IAAO,CAAC,CAAC;IAErB,MAAMC,SAAS,GAAG9G,QAAQ,CAAmB,OAAO;MAClDiE,QAAQ;MACRN,SAAS;MACTa,UAAU;MACVX,IAAI;MACJD;IACF,CAAC,CAAC,CAAC;IAEH,SAASmD,OAAOA,CAAEC,CAAa,EAAE;MAC/B,IAAIA,CAAC,CAACC,MAAM,KAAKC,QAAQ,CAACC,aAAa,EAAE;QACvCH,CAAC,CAACI,cAAc,CAAC,CAAC;MACpB;IACF;IAEAxG,SAAS,CAAC,MAAM;MACd,MAAMyG,UAAU,GAAGvE,KAAK,CAACP,OAAO,KAAK,UAAU;MAC/C,MAAM+E,UAAU,GAAG,CAAC,EAAE/D,KAAK,CAAC,eAAe,CAAC,IAAIT,KAAK,CAACV,gBAAgB,CAAC;MACvE,MAAMmF,QAAQ,GAAG,CAAC,EAAEzE,KAAK,CAAC5B,SAAS,IAAIqC,KAAK,CAACiE,KAAK,CAAC,IAAI,CAAC1E,KAAK,CAACjB,QAAQ;MACtE,MAAM4F,SAAS,GAAG,CAAC,EAAElE,KAAK,CAAC,cAAc,CAAC,IAAIT,KAAK,CAAC/B,eAAe,IAAIwG,QAAQ,CAAC;MAChF,MAAMrF,KAAK,GAAGA,CAAA,KACZqB,KAAK,CAACrB,KAAK,GACPqB,KAAK,CAACrB,KAAK,CAAC;QACZ,GAAG4E,SAAS,CAAC5D,KAAK;QAClBhB,KAAK,EAAEY,KAAK,CAACZ,KAAK;QAClBY,KAAK,EAAE;UAAE4E,GAAG,EAAE3E,EAAE,CAACG;QAAM;MACzB,CAAC,CAAC,GACAJ,KAAK,CAACZ,KACX;MAED,OAAAyF,mBAAA,QAAAC,WAAA;QAAA,SAEW,CACL,SAAS,EACT;UACE,iBAAiB,EAAE3D,QAAQ,CAACf,KAAK;UACjC,mBAAmB,EAAEuE,SAAS;UAC9B,uBAAuB,EAAE3E,KAAK,CAACtB,WAAW,IAAI,CAACiD,mBAAmB,CAACvB,KAAK;UACxE,mBAAmB,EAAEJ,KAAK,CAACjB,QAAQ;UACnC,gBAAgB,EAAEiB,KAAK,CAAClB,KAAK;UAC7B,gBAAgB,EAAEkB,KAAK,CAACf,KAAK;UAC7B,eAAe,EAAEe,KAAK,CAAChB,IAAI;UAC3B,eAAe,EAAEgB,KAAK,CAACd,IAAI;UAC3B,yBAAyB,EAAE,CAAC,CAACc,KAAK,CAAC9B,OAAO;UAC1C,2BAA2B,EAAE8B,KAAK,CAACX,eAAe;UAClD,oBAAoB,EAAEmF,UAAU;UAChC,kBAAkB,EAAExE,KAAK,CAACT,OAAO;UACjC,sBAAsB,EAAES,KAAK,CAACR,UAAU;UACxC,mBAAmB,EAAE,CAACJ,KAAK,CAAC,CAAC;UAC7B,CAAC,oBAAoBY,KAAK,CAACP,OAAO,EAAE,GAAG;QACzC,CAAC,EACDiB,YAAY,CAACN,KAAK,EAClBwB,sBAAsB,CAACxB,KAAK,EAC5BQ,YAAY,CAACR,KAAK,EAClBO,aAAa,CAACP,KAAK,EACnBa,cAAc,CAACb,KAAK,EACpBc,UAAU,CAACd,KAAK,EAChBJ,KAAK,CAAC+E,KAAK,CACZ;QAAA,SACM,CACLlD,qBAAqB,CAACzB,KAAK,EAC3BJ,KAAK,CAACgD,KAAK,CACZ;QAAA,WACSiB;MAAO,GACZ1D,KAAK,IAAAsE,mBAAA;QAAA;MAAA,UAAAG,YAAA,CAAAtI,UAAA;QAAA;QAAA,UAMC,CAAC,CAACsD,KAAK,CAACiF,OAAO;QAAA,SAChBjF,KAAK,CAACf,KAAK,GAAG,OAAO,GAAI,OAAOe,KAAK,CAACiF,OAAO,KAAK,QAAQ,GAAGjF,KAAK,CAACiF,OAAO,GAAGjF,KAAK,CAACpB;MAAM,GACxF;QAAEJ,OAAO,EAAEiC,KAAK,CAACyE;MAAO,CAAC,GAGlCV,UAAU,IAAAK,mBAAA;QAAA;QAAA;MAAA,IAEN7E,KAAK,CAACV,gBAAgB,IAAA0F,YAAA,CAAAhE,SAAA;QAAA;QAAA;QAAA,SAIZ7B,SAAS,CAACiB;MAAK,QAE1B,EAECK,KAAK,CAAC,eAAe,CAAC,GAAGuD,SAAS,CAAC5D,KAAK,CAAC,EAE9C,EAAAyE,mBAAA;QAAA;QAAA;MAAA,IAGE,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,CAACjF,QAAQ,CAACI,KAAK,CAACP,OAAO,CAAC,IAAI4B,gBAAgB,CAACjB,KAAK,IAAA4E,YAAA,CAAAhJ,WAAA;QAAA;QAAA,OAG3FyF,gBAAgB;QAAA,SAAA0D,eAAA,CACf,CAACrD,gBAAgB,CAAC1B,KAAK,CAAC;QAAA;QAAA,OAEzBH,EAAE,CAACG,KAAK;QAAA,eACA,CAACe,QAAQ,CAACf,KAAK;QAAA,SAAAgF,eAAA,CACrBrD,eAAe,CAAC3B,KAAK;MAAA;QAAA5B,OAAA,EAAAA,CAAA,MAE3BY,KAAK,CAAC,CAAC;MAAA,EAEZ,EAECgC,QAAQ,CAAChB,KAAK,IAAA4E,YAAA,CAAAhJ,WAAA;QAAA;QAAA,OACiBwF,QAAQ;QAAA,OAASvB,EAAE,CAACG;MAAK;QAAA5B,OAAA,EAAAA,CAAA,MACpDY,KAAK,CAAC,CAAC;MAAA,EAEZ,EAECqB,KAAK,CAACjC,OAAO,GAAG;QAChB,GAAGwF,SAAS,CAAC5D,KAAK;QAClBJ,KAAK,EAAE;UACLC,EAAE,EAAEA,EAAE,CAACG,KAAK;UACZ2E,KAAK,EAAE,gBAAgB;UACvB,kBAAkB,EAAExD,UAAU,CAACnB;QACjC,CAAC;QACDU,KAAK;QACLC;MACF,CAAe,CAAC,IAAA8D,mBAAA;QAAA,MAEP5E,EAAE,CAACG,KAAK;QAAA;QAAA,oBAEMmB,UAAU,CAACnB;MAAK,QAEtC,IAGDqE,QAAQ,IAAAO,YAAA,CAAA/I,kBAAA;QAAA;MAAA;QAAAuC,OAAA,EAAAA,CAAA,MAAA6G,eAAA,CAAAR,mBAAA;UAAA;UAAA,eAKWX,CAAa,IAAK;YAC/BA,CAAC,CAACI,cAAc,CAAC,CAAC;YAClBJ,CAAC,CAACoB,eAAe,CAAC,CAAC;UACrB;QAAC,IAAAN,YAAA,CAAA9I,iBAAA;UAAA,YAGS;YACRqJ,KAAK,EAAE;cACLC,IAAI,EAAExF,KAAK,CAAC1B;YACd;UACF;QAAC;UAAAE,OAAA,EAAAA,CAAA,MAECiC,KAAK,CAACiE,KAAK,GACTjE,KAAK,CAACiE,KAAK,CAAC;YACZ,GAAGV,SAAS,CAAC5D,KAAK;YAClBJ,KAAK,EAAE;cACLyF,OAAO,EAAE3E,KAAK;cACd4E,MAAM,EAAE3E,IAAI;cACZkD,OAAO,EAAEjE,KAAK,CAAC,eAAe,CAAC;cAC/B2F,QAAQ,EAAE,CAAC;YACb;UACF,CAAC,CAAC,GAAAX,YAAA,CAAAhE,SAAA;YAAA;YAAA,WAIYF,KAAK;YAAA,UACNC,IAAI;YAAA,YACF,CAAC;UAAC,QAEhB;QAAA,QAAA6E,MAAA,EA9BM5F,KAAK,CAAClB,KAAK;MAAA,EAkCzB,EAEC6F,SAAS,IAAAE,mBAAA;QAAA;QAAA;MAAA,IAELpE,KAAK,CAAC,cAAc,CAAC,GAAGuD,SAAS,CAAC5D,KAAK,CAAC,EAExCJ,KAAK,CAAC/B,eAAe,IAAA+G,YAAA,CAAAhE,SAAA;QAAA;QAAA;QAAA,SAIX7B,SAAS,CAACiB;MAAK,QAE1B,EAEJ,EAAAyE,mBAAA;QAAA,SAAAM,eAAA,CAGQ,CACL,kBAAkB,EAClBrD,gBAAgB,CAAC1B,KAAK,CACvB;QAAA,SAAAgF,eAAA,CACOrD,eAAe,CAAC3B,KAAK;MAAA,IAE3BmE,UAAU,IAAAM,mBAAA,CAAAgB,SAAA,SAAAhB,mBAAA;QAAA;MAAA,UAINxD,gBAAgB,CAACjB,KAAK,IAAAyE,mBAAA;QAAA;MAAA,IAAAG,YAAA,CAAAhJ,WAAA;QAAA,OAEDyF,gBAAgB;QAAA;QAAA,OAAkBxB,EAAE,CAACG,KAAK;QAAA,eAAiB,CAACe,QAAQ,CAACf;MAAK;QAAA5B,OAAA,EAAAA,CAAA,MACzFY,KAAK,CAAC,CAAC;MAAA,IAGd,EAAAyF,mBAAA;QAAA;MAAA,UAIJ,EAEClD,mBAAmB,CAACvB,KAAK,IAAIiB,gBAAgB,CAACjB,KAAK,IAAA4E,YAAA,CAAAhJ,WAAA;QAAA,OAChCyF,gBAAgB;QAAA;QAAA,OAAkBxB,EAAE,CAACG,KAAK;QAAA,eAAiB,CAACe,QAAQ,CAACf;MAAK;QAAA5B,OAAA,EAAAA,CAAA,MACzFY,KAAK,CAAC,CAAC;MAAA,EAEZ;IAIT,CAAC,CAAC;IAEF,OAAO;MACLsC,UAAU;MACVoE,cAAc,EAAE3G;IAClB,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
@@ -18,8 +18,7 @@ export const VFieldLabel = genericComponent()({
18
18
  "class": _normalizeClass(['v-field-label', {
19
19
  'v-field-label--floating': props.floating
20
20
  }, props.class]),
21
- "style": _normalizeStyle(props.style),
22
- "aria-hidden": props.floating || undefined
21
+ "style": _normalizeStyle(props.style)
23
22
  }, slots));
24
23
  return {};
25
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VFieldLabel.js","names":["VLabel","makeComponentProps","genericComponent","propsFactory","useRender","makeVFieldLabelProps","floating","Boolean","VFieldLabel","name","props","setup","_ref","slots","_createVNode","_normalizeClass","class","_normalizeStyle","style","undefined"],"sources":["../../../src/components/VField/VFieldLabel.tsx"],"sourcesContent":["// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFieldLabelProps = propsFactory({\n floating: Boolean,\n\n ...makeComponentProps(),\n}, 'VFieldLabel')\n\nexport const VFieldLabel = genericComponent()({\n name: 'VFieldLabel',\n\n props: makeVFieldLabelProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n props.class,\n ]}\n style={ props.style }\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n"],"mappings":";AAAA;AAAA,SACSA,MAAM,8BAEf;AAAA,SACSC,kBAAkB,0CAE3B;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,oBAAoB,GAAGF,YAAY,CAAC;EAC/CG,QAAQ,EAAEC,OAAO;EAEjB,GAAGN,kBAAkB,CAAC;AACxB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMO,WAAW,GAAGN,gBAAgB,CAAC,CAAC,CAAC;EAC5CO,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEL,oBAAoB,CAAC,CAAC;EAE7BM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBR,SAAS,CAAC,MAAAU,YAAA,CAAAd,MAAA;MAAA,SAAAe,eAAA,CAEC,CACL,eAAe,EACf;QAAE,yBAAyB,EAAEL,KAAK,CAACJ;MAAS,CAAC,EAC7CI,KAAK,CAACM,KAAK,CACZ;MAAA,SAAAC,eAAA,CACOP,KAAK,CAACQ,KAAK;MAAA,eACLR,KAAK,CAACJ,QAAQ,IAAIa;IAAS,GAC/BN,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VFieldLabel.js","names":["VLabel","makeComponentProps","genericComponent","propsFactory","useRender","makeVFieldLabelProps","floating","Boolean","VFieldLabel","name","props","setup","_ref","slots","_createVNode","_normalizeClass","class","_normalizeStyle","style"],"sources":["../../../src/components/VField/VFieldLabel.tsx"],"sourcesContent":["// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFieldLabelProps = propsFactory({\n floating: Boolean,\n\n ...makeComponentProps(),\n}, 'VFieldLabel')\n\nexport const VFieldLabel = genericComponent()({\n name: 'VFieldLabel',\n\n props: makeVFieldLabelProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n props.class,\n ]}\n style={ props.style }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n"],"mappings":";AAAA;AAAA,SACSA,MAAM,8BAEf;AAAA,SACSC,kBAAkB,0CAE3B;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,oBAAoB,GAAGF,YAAY,CAAC;EAC/CG,QAAQ,EAAEC,OAAO;EAEjB,GAAGN,kBAAkB,CAAC;AACxB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMO,WAAW,GAAGN,gBAAgB,CAAC,CAAC,CAAC;EAC5CO,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEL,oBAAoB,CAAC,CAAC;EAE7BM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBR,SAAS,CAAC,MAAAU,YAAA,CAAAd,MAAA;MAAA,SAAAe,eAAA,CAEC,CACL,eAAe,EACf;QAAE,yBAAyB,EAAEL,KAAK,CAACJ;MAAS,CAAC,EAC7CI,KAAK,CAACM,KAAK,CACZ;MAAA,SAAAC,eAAA,CACOP,KAAK,CAACQ,KAAK;IAAA,GACTL,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -99,7 +99,7 @@ export function useDateFormat(props, locale) {
99
99
  return !!parseDate(text);
100
100
  }
101
101
  function formatDate(value) {
102
- const parts = adapter.toISO(value).split('-');
102
+ const parts = adapter.toISO(value).split('T')[0].split('-');
103
103
  return currentFormat.value.order.split('').map(sign => parts['ymd'.indexOf(sign)]).join(currentFormat.value.separator);
104
104
  }
105
105
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"dateFormat.js","names":["useDate","toRef","consoleWarn","propsFactory","DateFormatSpec","constructor","order","separator","format","split","map","sign","join","replace","canBeParsed","v","lowercase","toLowerCase","every","includes","some","parse","Error","filter","c","i","all","indexOf","find","makeDateFormatProps","inputFormat","type","String","validator","useDateFormat","props","locale","adapter","inferFromLocale","localeForDateFormat","value","formatFromLocale","Intl","DateTimeFormat","year","month","day","toJsDate","parseISO","currentFormat","parseDate","dateString","parseDateParts","text","parts","trim","y","Number","m","d","validateDateParts","dateParts","autoFixYear","currentYear","getYear","date","currentCentury","validatedParts","pad","padStart","isValid","formatDate","toISO","parserFormat"],"sources":["../../src/composables/dateFormat.ts"],"sourcesContent":["// Composables\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Types\nexport interface DateFormatProps {\n inputFormat?: string\n}\n\nclass DateFormatSpec {\n constructor (\n public readonly order: string, // mdy | dmy | ymd\n public readonly separator: string // / | - | .\n ) { }\n\n get format () {\n return this.order.split('')\n .map(sign => `${sign}${sign}`)\n .join(this.separator)\n .replace('yy', 'yyyy')\n }\n\n static canBeParsed (v: any) {\n if (typeof v !== 'string') return false\n const lowercase = v.toLowerCase()\n return ['y', 'm', 'd'].every(sign => lowercase.includes(sign)) &&\n ['/', '-', '.'].some(sign => v.includes(sign))\n }\n\n static parse (v: string) {\n if (!DateFormatSpec.canBeParsed(v)) {\n throw new Error(`[${v}] cannot be parsed into date format specification`)\n }\n const order = v.toLowerCase().split('')\n .filter((c, i, all) => 'dmy'.includes(c) && all.indexOf(c) === i)\n .join('')\n const separator = ['/', '-', '.'].find(sign => v.includes(sign))!\n return new DateFormatSpec(order, separator)\n }\n}\n\nexport const makeDateFormatProps = propsFactory({\n inputFormat: {\n type: String,\n validator: (v: string) => !v || DateFormatSpec.canBeParsed(v),\n },\n}, 'date-format')\n\nexport function useDateFormat (props: DateFormatProps, locale: Ref<string>) {\n const adapter = useDate()\n\n function inferFromLocale () {\n const localeForDateFormat = locale.value ?? 'en-US'\n const formatFromLocale = Intl.DateTimeFormat(localeForDateFormat, { year: 'numeric', month: '2-digit', day: '2-digit' })\n .format(adapter.toJsDate(adapter.parseISO('1999-12-07')))\n .replace(/(07)|(٠٧)|(٢٩)|(۱۶)|(০৭)/, 'dd')\n .replace(/(12)|(١٢)|(٠٨)|(۰۹)|(১২)/, 'mm')\n .replace(/(1999)|(2542)|(١٩٩٩)|(١٤٢٠)|(۱۳۷۸)|(১৯৯৯)/, 'yyyy')\n .replace(/[^ymd\\-/.]/g, '')\n .replace(/\\.$/, '')\n\n if (!DateFormatSpec.canBeParsed(formatFromLocale)) {\n consoleWarn(`Date format inferred from locale [${localeForDateFormat}] is invalid: [${formatFromLocale}]`)\n return 'mm/dd/yyyy'\n }\n\n return formatFromLocale\n }\n\n const currentFormat = toRef(() => {\n return DateFormatSpec.canBeParsed(props.inputFormat)\n ? DateFormatSpec.parse(props.inputFormat!)\n : DateFormatSpec.parse(inferFromLocale())\n })\n\n function parseDate (dateString: string) {\n function parseDateParts (text: string): Record<'y' |'m' | 'd', number> {\n const parts = text.trim().split(currentFormat.value.separator)\n\n return {\n y: Number(parts[currentFormat.value.order.indexOf('y')]),\n m: Number(parts[currentFormat.value.order.indexOf('m')]),\n d: Number(parts[currentFormat.value.order.indexOf('d')]),\n }\n }\n\n function validateDateParts (dateParts: Record<string, number>) {\n const { y: year, m: month, d: day } = dateParts\n if (!year || !month || !day) return null\n if (month < 1 || month > 12) return null\n if (day < 1 || day > 31) return null\n\n return { year: autoFixYear(year), month, day }\n }\n\n function autoFixYear (year: number) {\n const currentYear = adapter.getYear(adapter.date())\n if (year > 100 || currentYear % 100 >= 50) {\n return year\n }\n\n const currentCentury = ~~(currentYear / 100) * 100\n\n return year < 50\n ? currentCentury + year\n : (currentCentury - 100) + year\n }\n\n const dateParts = parseDateParts(dateString)\n const validatedParts = validateDateParts(dateParts)\n\n if (!validatedParts) return null\n\n const { year, month, day } = validatedParts\n\n const pad = (v: number) => String(v).padStart(2, '0')\n\n return adapter.parseISO(`${year}-${pad(month)}-${pad(day)}`)\n }\n\n function isValid (text: string) {\n return !!parseDate(text)\n }\n\n function formatDate (value: unknown) {\n const parts = adapter.toISO(value).split('-')\n\n return currentFormat.value.order.split('')\n .map(sign => parts['ymd'.indexOf(sign)])\n .join(currentFormat.value.separator)\n }\n\n return {\n isValid,\n parseDate,\n formatDate,\n parserFormat: toRef(() => currentFormat.value.format),\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"dateFormat.js","names":["useDate","toRef","consoleWarn","propsFactory","DateFormatSpec","constructor","order","separator","format","split","map","sign","join","replace","canBeParsed","v","lowercase","toLowerCase","every","includes","some","parse","Error","filter","c","i","all","indexOf","find","makeDateFormatProps","inputFormat","type","String","validator","useDateFormat","props","locale","adapter","inferFromLocale","localeForDateFormat","value","formatFromLocale","Intl","DateTimeFormat","year","month","day","toJsDate","parseISO","currentFormat","parseDate","dateString","parseDateParts","text","parts","trim","y","Number","m","d","validateDateParts","dateParts","autoFixYear","currentYear","getYear","date","currentCentury","validatedParts","pad","padStart","isValid","formatDate","toISO","parserFormat"],"sources":["../../src/composables/dateFormat.ts"],"sourcesContent":["// Composables\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Types\nexport interface DateFormatProps {\n inputFormat?: string\n}\n\nclass DateFormatSpec {\n constructor (\n public readonly order: string, // mdy | dmy | ymd\n public readonly separator: string // / | - | .\n ) { }\n\n get format () {\n return this.order.split('')\n .map(sign => `${sign}${sign}`)\n .join(this.separator)\n .replace('yy', 'yyyy')\n }\n\n static canBeParsed (v: any) {\n if (typeof v !== 'string') return false\n const lowercase = v.toLowerCase()\n return ['y', 'm', 'd'].every(sign => lowercase.includes(sign)) &&\n ['/', '-', '.'].some(sign => v.includes(sign))\n }\n\n static parse (v: string) {\n if (!DateFormatSpec.canBeParsed(v)) {\n throw new Error(`[${v}] cannot be parsed into date format specification`)\n }\n const order = v.toLowerCase().split('')\n .filter((c, i, all) => 'dmy'.includes(c) && all.indexOf(c) === i)\n .join('')\n const separator = ['/', '-', '.'].find(sign => v.includes(sign))!\n return new DateFormatSpec(order, separator)\n }\n}\n\nexport const makeDateFormatProps = propsFactory({\n inputFormat: {\n type: String,\n validator: (v: string) => !v || DateFormatSpec.canBeParsed(v),\n },\n}, 'date-format')\n\nexport function useDateFormat (props: DateFormatProps, locale: Ref<string>) {\n const adapter = useDate()\n\n function inferFromLocale () {\n const localeForDateFormat = locale.value ?? 'en-US'\n const formatFromLocale = Intl.DateTimeFormat(localeForDateFormat, { year: 'numeric', month: '2-digit', day: '2-digit' })\n .format(adapter.toJsDate(adapter.parseISO('1999-12-07')))\n .replace(/(07)|(٠٧)|(٢٩)|(۱۶)|(০৭)/, 'dd')\n .replace(/(12)|(١٢)|(٠٨)|(۰۹)|(১২)/, 'mm')\n .replace(/(1999)|(2542)|(١٩٩٩)|(١٤٢٠)|(۱۳۷۸)|(১৯৯৯)/, 'yyyy')\n .replace(/[^ymd\\-/.]/g, '')\n .replace(/\\.$/, '')\n\n if (!DateFormatSpec.canBeParsed(formatFromLocale)) {\n consoleWarn(`Date format inferred from locale [${localeForDateFormat}] is invalid: [${formatFromLocale}]`)\n return 'mm/dd/yyyy'\n }\n\n return formatFromLocale\n }\n\n const currentFormat = toRef(() => {\n return DateFormatSpec.canBeParsed(props.inputFormat)\n ? DateFormatSpec.parse(props.inputFormat!)\n : DateFormatSpec.parse(inferFromLocale())\n })\n\n function parseDate (dateString: string) {\n function parseDateParts (text: string): Record<'y' |'m' | 'd', number> {\n const parts = text.trim().split(currentFormat.value.separator)\n\n return {\n y: Number(parts[currentFormat.value.order.indexOf('y')]),\n m: Number(parts[currentFormat.value.order.indexOf('m')]),\n d: Number(parts[currentFormat.value.order.indexOf('d')]),\n }\n }\n\n function validateDateParts (dateParts: Record<string, number>) {\n const { y: year, m: month, d: day } = dateParts\n if (!year || !month || !day) return null\n if (month < 1 || month > 12) return null\n if (day < 1 || day > 31) return null\n\n return { year: autoFixYear(year), month, day }\n }\n\n function autoFixYear (year: number) {\n const currentYear = adapter.getYear(adapter.date())\n if (year > 100 || currentYear % 100 >= 50) {\n return year\n }\n\n const currentCentury = ~~(currentYear / 100) * 100\n\n return year < 50\n ? currentCentury + year\n : (currentCentury - 100) + year\n }\n\n const dateParts = parseDateParts(dateString)\n const validatedParts = validateDateParts(dateParts)\n\n if (!validatedParts) return null\n\n const { year, month, day } = validatedParts\n\n const pad = (v: number) => String(v).padStart(2, '0')\n\n return adapter.parseISO(`${year}-${pad(month)}-${pad(day)}`)\n }\n\n function isValid (text: string) {\n return !!parseDate(text)\n }\n\n function formatDate (value: unknown) {\n const parts = adapter.toISO(value).split('T')[0].split('-')\n\n return currentFormat.value.order.split('')\n .map(sign => parts['ymd'.indexOf(sign)])\n .join(currentFormat.value.separator)\n }\n\n return {\n isValid,\n parseDate,\n formatDate,\n parserFormat: toRef(() => currentFormat.value.format),\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.9.0-master.2025-07-10";
19
+ export const version = "3.9.0-master.2025-07-11";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2577,44 +2577,41 @@ declare module 'vue' {
2577
2577
  $children?: VNodeChild
2578
2578
  }
2579
2579
  export interface GlobalComponents {
2580
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2581
+ VApp: typeof import('vuetify/components')['VApp']
2582
+ VAlert: typeof import('vuetify/components')['VAlert']
2583
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2580
2584
  VAppBar: typeof import('vuetify/components')['VAppBar']
2581
2585
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2582
2586
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2583
- VApp: typeof import('vuetify/components')['VApp']
2584
- VAvatar: typeof import('vuetify/components')['VAvatar']
2585
2587
  VBadge: typeof import('vuetify/components')['VBadge']
2588
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2589
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2586
2590
  VBanner: typeof import('vuetify/components')['VBanner']
2587
2591
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2588
2592
  VBannerText: typeof import('vuetify/components')['VBannerText']
2593
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2589
2594
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2590
2595
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2591
2596
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2592
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2593
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2594
- VAlert: typeof import('vuetify/components')['VAlert']
2595
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2596
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2597
+ VBtn: typeof import('vuetify/components')['VBtn']
2597
2598
  VCard: typeof import('vuetify/components')['VCard']
2598
2599
  VCardActions: typeof import('vuetify/components')['VCardActions']
2599
2600
  VCardItem: typeof import('vuetify/components')['VCardItem']
2600
2601
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2601
2602
  VCardText: typeof import('vuetify/components')['VCardText']
2602
2603
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2603
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2604
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2605
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2604
2606
  VChip: typeof import('vuetify/components')['VChip']
2605
2607
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2606
- VCombobox: typeof import('vuetify/components')['VCombobox']
2607
- VCode: typeof import('vuetify/components')['VCode']
2608
2608
  VCarousel: typeof import('vuetify/components')['VCarousel']
2609
2609
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2610
2610
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2611
+ VCode: typeof import('vuetify/components')['VCode']
2612
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2611
2613
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2612
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
2613
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2614
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2615
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2616
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2617
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2614
+ VCounter: typeof import('vuetify/components')['VCounter']
2618
2615
  VDataTable: typeof import('vuetify/components')['VDataTable']
2619
2616
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2620
2617
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2622,33 +2619,34 @@ declare module 'vue' {
2622
2619
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2623
2620
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2624
2621
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2622
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
2623
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2624
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2625
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2626
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2627
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2625
2628
  VDivider: typeof import('vuetify/components')['VDivider']
2626
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2627
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2628
- VDialog: typeof import('vuetify/components')['VDialog']
2629
- VCounter: typeof import('vuetify/components')['VCounter']
2629
+ VFab: typeof import('vuetify/components')['VFab']
2630
2630
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2631
2631
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2632
2632
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2633
2633
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2634
2634
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
2635
- VFab: typeof import('vuetify/components')['VFab']
2636
- VFileInput: typeof import('vuetify/components')['VFileInput']
2635
+ VField: typeof import('vuetify/components')['VField']
2636
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2637
+ VDialog: typeof import('vuetify/components')['VDialog']
2637
2638
  VFooter: typeof import('vuetify/components')['VFooter']
2638
2639
  VIcon: typeof import('vuetify/components')['VIcon']
2639
2640
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2640
2641
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2641
2642
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2642
2643
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2643
- VField: typeof import('vuetify/components')['VField']
2644
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2644
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2645
2645
  VImg: typeof import('vuetify/components')['VImg']
2646
2646
  VInput: typeof import('vuetify/components')['VInput']
2647
- VKbd: typeof import('vuetify/components')['VKbd']
2648
2647
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2649
- VLabel: typeof import('vuetify/components')['VLabel']
2650
- VMain: typeof import('vuetify/components')['VMain']
2651
- VMessages: typeof import('vuetify/components')['VMessages']
2648
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
2649
+ VItem: typeof import('vuetify/components')['VItem']
2652
2650
  VList: typeof import('vuetify/components')['VList']
2653
2651
  VListGroup: typeof import('vuetify/components')['VListGroup']
2654
2652
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2658,21 +2656,27 @@ declare module 'vue' {
2658
2656
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2659
2657
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2660
2658
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2659
+ VKbd: typeof import('vuetify/components')['VKbd']
2660
+ VMenu: typeof import('vuetify/components')['VMenu']
2661
+ VLabel: typeof import('vuetify/components')['VLabel']
2662
+ VMain: typeof import('vuetify/components')['VMain']
2661
2663
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2662
- VOverlay: typeof import('vuetify/components')['VOverlay']
2663
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
2664
+ VMessages: typeof import('vuetify/components')['VMessages']
2665
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2664
2666
  VPagination: typeof import('vuetify/components')['VPagination']
2667
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
2668
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2665
2669
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2666
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2667
2670
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2671
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2668
2672
  VRating: typeof import('vuetify/components')['VRating']
2669
2673
  VSelect: typeof import('vuetify/components')['VSelect']
2674
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2675
+ VSheet: typeof import('vuetify/components')['VSheet']
2670
2676
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2671
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2672
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2673
2677
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2674
2678
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2675
- VSheet: typeof import('vuetify/components')['VSheet']
2679
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2676
2680
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2677
2681
  VSlider: typeof import('vuetify/components')['VSlider']
2678
2682
  VStepper: typeof import('vuetify/components')['VStepper']
@@ -2681,54 +2685,53 @@ declare module 'vue' {
2681
2685
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2682
2686
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2683
2687
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2688
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2689
+ VTable: typeof import('vuetify/components')['VTable']
2684
2690
  VSwitch: typeof import('vuetify/components')['VSwitch']
2685
- VTextarea: typeof import('vuetify/components')['VTextarea']
2686
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2687
2691
  VTextField: typeof import('vuetify/components')['VTextField']
2688
- VTable: typeof import('vuetify/components')['VTable']
2689
2692
  VTab: typeof import('vuetify/components')['VTab']
2690
2693
  VTabs: typeof import('vuetify/components')['VTabs']
2691
2694
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2692
2695
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2696
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2697
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2698
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2699
+ VTreeview: typeof import('vuetify/components')['VTreeview']
2700
+ VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2701
+ VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2693
2702
  VToolbar: typeof import('vuetify/components')['VToolbar']
2694
2703
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2695
2704
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2696
- VTimeline: typeof import('vuetify/components')['VTimeline']
2697
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2698
2705
  VTimePicker: typeof import('vuetify/components')['VTimePicker']
2699
2706
  VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2700
2707
  VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2701
- VTooltip: typeof import('vuetify/components')['VTooltip']
2702
2708
  VWindow: typeof import('vuetify/components')['VWindow']
2703
2709
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2704
- VTreeview: typeof import('vuetify/components')['VTreeview']
2705
- VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2706
- VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2707
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
2708
- VItem: typeof import('vuetify/components')['VItem']
2709
- VMenu: typeof import('vuetify/components')['VMenu']
2710
- VBtn: typeof import('vuetify/components')['VBtn']
2711
2710
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2712
2711
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2713
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2714
2712
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2713
+ VForm: typeof import('vuetify/components')['VForm']
2715
2714
  VContainer: typeof import('vuetify/components')['VContainer']
2716
2715
  VCol: typeof import('vuetify/components')['VCol']
2717
2716
  VRow: typeof import('vuetify/components')['VRow']
2718
2717
  VSpacer: typeof import('vuetify/components')['VSpacer']
2719
2718
  VHover: typeof import('vuetify/components')['VHover']
2720
2719
  VLazy: typeof import('vuetify/components')['VLazy']
2721
- VRadio: typeof import('vuetify/components')['VRadio']
2720
+ VLayout: typeof import('vuetify/components')['VLayout']
2721
+ VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2722
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2722
2723
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2723
2724
  VParallax: typeof import('vuetify/components')['VParallax']
2724
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2725
+ VRadio: typeof import('vuetify/components')['VRadio']
2725
2726
  VResponsive: typeof import('vuetify/components')['VResponsive']
2726
- VSparkline: typeof import('vuetify/components')['VSparkline']
2727
- VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2728
2727
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2728
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2729
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2730
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2731
+ VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2732
+ VValidation: typeof import('vuetify/components')['VValidation']
2729
2733
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2730
2734
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2731
- VValidation: typeof import('vuetify/components')['VValidation']
2732
2735
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2733
2736
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2734
2737
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2745,27 +2748,24 @@ declare module 'vue' {
2745
2748
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2746
2749
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2747
2750
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2748
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2749
- VLayout: typeof import('vuetify/components')['VLayout']
2750
- VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2751
- VForm: typeof import('vuetify/components')['VForm']
2751
+ VSparkline: typeof import('vuetify/components')['VSparkline']
2752
2752
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2753
2753
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2754
2754
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2755
2755
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2756
2756
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2757
2757
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2758
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2759
2758
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2760
2759
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2761
2760
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2762
2761
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2763
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2762
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2764
2763
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2765
2764
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2766
2765
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2767
- VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2766
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2768
2767
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2768
+ VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2769
2769
  VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2770
2770
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2771
2771
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.9.0-master.2025-07-10";
112
+ export const version = "3.9.0-master.2025-07-11";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.9.0-master.2025-07-10",
4
+ "version": "3.9.0-master.2025-07-11",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"