@vuetify/nightly 3.9.0-master.2025-07-10 → 3.9.0-master.2025-07-12
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.
- package/CHANGELOG.md +9 -3
- package/dist/json/attributes.json +1672 -1628
- package/dist/json/importMap-labs.json +18 -18
- package/dist/json/importMap.json +180 -180
- package/dist/json/tags.json +11 -0
- package/dist/json/web-types.json +3410 -3088
- package/dist/vuetify-labs.cjs +42 -27
- package/dist/vuetify-labs.css +3015 -3015
- package/dist/vuetify-labs.d.ts +845 -297
- package/dist/vuetify-labs.esm.js +42 -27
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +42 -27
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +34 -24
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3254 -3254
- package/dist/vuetify.d.ts +591 -220
- package/dist/vuetify.esm.js +34 -24
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +34 -24
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +15 -15
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +121 -36
- package/lib/components/VCombobox/VCombobox.d.ts +121 -36
- package/lib/components/VField/VField.d.ts +13 -0
- package/lib/components/VField/VField.js +7 -3
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VField/VFieldLabel.js +1 -2
- package/lib/components/VField/VFieldLabel.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.d.ts +13 -0
- package/lib/components/VFileInput/VFileInput.js +3 -1
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VInput/VInput.d.ts +2 -1
- package/lib/components/VInput/VInput.js +15 -14
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +116 -36
- package/lib/components/VSelect/VSelect.d.ts +121 -36
- package/lib/components/VTextField/VTextField.d.ts +40 -9
- package/lib/components/VTextField/VTextField.js +2 -0
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.d.ts +13 -0
- package/lib/components/VTextarea/VTextarea.js +3 -1
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/composables/dateFormat.js +1 -1
- package/lib/composables/dateFormat.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +66 -66
- package/lib/framework.js +1 -1
- package/lib/labs/VColorInput/VColorInput.d.ts +13 -0
- package/lib/labs/VDateInput/VDateInput.d.ts +145 -44
- package/lib/labs/VDateInput/VDateInput.js +4 -1
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/VMaskInput/VMaskInput.d.ts +121 -36
- package/lib/labs/VMaskInput/VMaskInput.js +4 -2
- package/lib/labs/VMaskInput/VMaskInput.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VInput.js","names":["useInputIcon","VMessages","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","IconValue","useRtl","makeThemeProps","provideTheme","makeValidationProps","useValidation","computed","toRef","useId","EventProp","genericComponent","pick","propsFactory","useRender","makeVInputProps","id","String","appendIcon","baseColor","centerAffix","type","Boolean","default","color","glow","iconColor","prependIcon","hideDetails","hideSpinButtons","hint","persistentHint","messages","Array","direction","validator","v","includes","VInput","name","props","emits","value","setup","_ref","attrs","slots","emit","densityClasses","dimensionStyles","themeClasses","rtlClasses","InputIcon","uid","messagesId","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","error","disabled","undefined","focused","length","hasPrepend","prepend","hasAppend","append","hasMessages","hasDetails","details","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","_createVNode","message"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMessages } from '@/components/VMessages/VMessages'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed, toRef, useId } from 'vue'\nimport { EventProp, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { VMessageSlot } from '@/components/VMessages/VMessages'\nimport type { GenericProps } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n baseColor: String,\n centerAffix: {\n type: Boolean,\n default: true,\n },\n color: String,\n glow: Boolean,\n iconColor: [Boolean, String],\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | readonly string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp<[MouseEvent]>(),\n 'onClick:append': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...pick(makeDimensionProps(), [\n 'maxWidth',\n 'minWidth',\n 'width',\n ]),\n ...makeThemeProps(),\n ...makeValidationProps(),\n}, 'VInput')\n\nexport type VInputSlots = {\n default: VInputSlot\n prepend: VInputSlot\n append: VInputSlot\n details: VInputSlot\n message: VMessageSlot\n}\n\nexport const VInput = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VInputSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { InputIcon } = useInputIcon(props)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n const color = toRef(() => {\n return props.error || props.disabled ? undefined\n : props.focused ? props.color\n : props.baseColor\n })\n\n const iconColor = toRef(() => {\n if (!props.iconColor) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const messages = computed(() => {\n if (props.errorMessages?.length || (!isPristine.value && errorMessages.value.length)) {\n return errorMessages.value\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint\n } else {\n return props.messages\n }\n })\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = messages.value.length > 0\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div\n class={[\n 'v-input',\n `v-input--${props.direction}`,\n {\n 'v-input--center-affix': props.centerAffix,\n 'v-input--focused': props.focused,\n 'v-input--glow': props.glow,\n 'v-input--hide-spin-buttons': props.hideSpinButtons,\n },\n densityClasses.value,\n themeClasses.value,\n rtlClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n color={ iconColor.value }\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n color={ iconColor.value }\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div\n id={ messagesId.value }\n class=\"v-input__details\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n <VMessages\n active={ hasMessages }\n messages={ messages.value }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n isValid,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VInput.js","names":["useInputIcon","VMessages","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","IconValue","useRtl","makeThemeProps","provideTheme","makeValidationProps","useValidation","computed","toRef","useId","EventProp","genericComponent","pick","propsFactory","useRender","makeVInputProps","id","String","appendIcon","baseColor","centerAffix","type","Boolean","default","color","glow","iconColor","prependIcon","hideDetails","hideSpinButtons","hint","persistentHint","messages","Array","direction","validator","v","includes","VInput","name","props","emits","value","setup","_ref","attrs","slots","emit","densityClasses","dimensionStyles","themeClasses","rtlClasses","InputIcon","uid","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","length","focused","hasMessages","hasDetails","details","messagesId","undefined","slotProps","error","disabled","hasPrepend","prepend","hasAppend","append","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","_createVNode","message"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMessages } from '@/components/VMessages/VMessages'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed, toRef, useId } from 'vue'\nimport { EventProp, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { VMessageSlot } from '@/components/VMessages/VMessages'\nimport type { GenericProps } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string | undefined>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n hasDetails: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n baseColor: String,\n centerAffix: {\n type: Boolean,\n default: true,\n },\n color: String,\n glow: Boolean,\n iconColor: [Boolean, String],\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | readonly string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp<[MouseEvent]>(),\n 'onClick:append': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...pick(makeDimensionProps(), [\n 'maxWidth',\n 'minWidth',\n 'width',\n ]),\n ...makeThemeProps(),\n ...makeValidationProps(),\n}, 'VInput')\n\nexport type VInputSlots = {\n default: VInputSlot\n prepend: VInputSlot\n append: VInputSlot\n details: VInputSlot\n message: VMessageSlot\n}\n\nexport const VInput = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VInputSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { InputIcon } = useInputIcon(props)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const messages = computed(() => {\n if (props.errorMessages?.length || (!isPristine.value && errorMessages.value.length)) {\n return errorMessages.value\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint\n } else {\n return props.messages\n }\n })\n\n const hasMessages = toRef(() => messages.value.length > 0)\n\n const hasDetails = toRef(() => !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages.value || !!slots.details)\n ))\n\n const messagesId = computed(() => hasDetails.value ? `${id.value}-messages` : undefined)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n hasDetails,\n reset,\n resetValidation,\n validate,\n }))\n\n const color = toRef(() => {\n return props.error || props.disabled ? undefined\n : props.focused ? props.color\n : props.baseColor\n })\n\n const iconColor = toRef(() => {\n if (!props.iconColor) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n\n return (\n <div\n class={[\n 'v-input',\n `v-input--${props.direction}`,\n {\n 'v-input--center-affix': props.centerAffix,\n 'v-input--focused': props.focused,\n 'v-input--glow': props.glow,\n 'v-input--hide-spin-buttons': props.hideSpinButtons,\n },\n densityClasses.value,\n themeClasses.value,\n rtlClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n color={ iconColor.value }\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n color={ iconColor.value }\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails.value && (\n <div\n id={ messagesId.value }\n class=\"v-input__details\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n <VMessages\n active={ hasMessages.value }\n messages={ messages.value }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n isValid,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":"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","ignoreList":[]}
|